From: Rodrigo Kumpera Date: Thu, 1 Dec 2016 19:16:10 +0000 (-0800) Subject: Merge pull request #4048 from kumpera/iface_casting_cleanup X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=mono.git;a=commitdiff_plain;h=ce166860ea51867004930efea92cb7c86178900f Merge pull request #4048 from kumpera/iface_casting_cleanup [mini] Reorg casting code + optimize casting of magic array interfaces. --- ce166860ea51867004930efea92cb7c86178900f diff --cc mono/mini/method-to-ir.c index 87a0974d0d6,cada92ac7bc..1b82009833f --- a/mono/mini/method-to-ir.c +++ b/mono/mini/method-to-ir.c @@@ -3679,12 -3418,12 +3420,12 @@@ emit_rgctx_fetch (MonoCompile *cfg, Mon return mono_emit_abs_call (cfg, MONO_PATCH_INFO_RGCTX_FETCH, entry, helper_sig_rgctx_lazy_fetch_trampoline, &rgctx); } - static MonoInst* - emit_get_rgctx_klass (MonoCompile *cfg, int context_used, + MonoInst* + mini_emit_get_rgctx_klass (MonoCompile *cfg, int context_used, MonoClass *klass, MonoRgctxInfoType rgctx_type) { - MonoJumpInfoRgctxEntry *entry = mono_patch_info_rgctx_entry_new (cfg->mempool, cfg->current_method, context_used & MONO_GENERIC_CONTEXT_USED_METHOD, MONO_PATCH_INFO_CLASS, klass, rgctx_type); - MonoInst *rgctx = emit_get_rgctx (cfg, cfg->current_method, context_used); + MonoJumpInfoRgctxEntry *entry = mono_patch_info_rgctx_entry_new (cfg->mempool, cfg->method, context_used & MONO_GENERIC_CONTEXT_USED_METHOD, MONO_PATCH_INFO_CLASS, klass, rgctx_type); + MonoInst *rgctx = emit_get_rgctx (cfg, cfg->method, context_used); return emit_rgctx_fetch (cfg, rgctx, entry); }