From: Zoltan Varga Date: Wed, 15 Jun 2016 21:54:31 +0000 (-0400) Subject: [llvm] Enable support for Selector.GetHandle (). Enable it for Xamarin.Mac as well. X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=fd2a1249268d6d250dea05770529a9b51d8278da;p=mono.git [llvm] Enable support for Selector.GetHandle (). Enable it for Xamarin.Mac as well. --- diff --git a/mono/mini/method-to-ir.c b/mono/mini/method-to-ir.c index 382bd377664..7df45ee2556 100644 --- a/mono/mini/method-to-ir.c +++ b/mono/mini/method-to-ir.c @@ -6780,23 +6780,19 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign !strcmp (cmethod->klass->image->assembly->aname.name, "monotouch")) && !strcmp (cmethod->klass->name_space, "XamCore.ObjCRuntime") && !strcmp (cmethod->klass->name, "Selector")) || - (!strcmp (cmethod->klass->image->assembly->aname.name, "Xamarin.iOS") && + ((!strcmp (cmethod->klass->image->assembly->aname.name, "Xamarin.iOS") || + !strcmp (cmethod->klass->image->assembly->aname.name, "Xamarin.Mac")) && !strcmp (cmethod->klass->name_space, "ObjCRuntime") && !strcmp (cmethod->klass->name, "Selector")) ) { - if (cfg->backend->have_objc_get_selector && + if ((cfg->backend->have_objc_get_selector || cfg->compile_llvm) && !strcmp (cmethod->name, "GetHandle") && fsig->param_count == 1 && (args [0]->opcode == OP_GOT_ENTRY || args [0]->opcode == OP_AOTCONST) && - cfg->compile_aot && !cfg->llvm_only) { + cfg->compile_aot) { MonoInst *pi; MonoJumpInfoToken *ji; char *s; - // FIXME: llvmonly - - cfg->exception_message = g_strdup ("GetHandle"); - cfg->disable_llvm = TRUE; - if (args [0]->opcode == OP_GOT_ENTRY) { pi = (MonoInst *)args [0]->inst_p1; g_assert (pi->opcode == OP_PATCH_INFO);