projects
/
mono.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c486ddc
)
[llvm] Enable support for Selector.GetHandle (). Enable it for Xamarin.Mac as well.
author
Zoltan Varga
<vargaz@gmail.com>
Wed, 15 Jun 2016 21:54:31 +0000
(17:54 -0400)
committer
Zoltan Varga
<vargaz@gmail.com>
Wed, 15 Jun 2016 21:54:36 +0000
(17:54 -0400)
mono/mini/method-to-ir.c
patch
|
blob
|
history
diff --git
a/mono/mini/method-to-ir.c
b/mono/mini/method-to-ir.c
index 382bd377664760dc314bfa7cf908401031d89225..7df45ee2556f8ea504cc06ddbe7435fbaa49df3e 100644
(file)
--- 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, "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"))
) {
!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) &&
!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;
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);
if (args [0]->opcode == OP_GOT_ENTRY) {
pi = (MonoInst *)args [0]->inst_p1;
g_assert (pi->opcode == OP_PATCH_INFO);