From 9b95be6e5bba2239c55061fda1dd39b6176d493c Mon Sep 17 00:00:00 2001 From: Ben Maurer Date: Wed, 22 Dec 2004 03:54:01 +0000 Subject: [PATCH] * mini.c (mono_method_to_ir): It turns out that some of the x-appdomain wrappers are lax with types, so just ignore this for all wrappers. svn path=/trunk/mono/; revision=38047 --- mono/mini/ChangeLog | 4 ++++ mono/mini/mini.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index de7849c2f02..aa6772d30e2 100644 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,5 +1,9 @@ 2004-12-21 Ben Maurer + * mini.c (mono_method_to_ir): It turns out that some of the + x-appdomain wrappers are lax with types, so just ignore this for + all wrappers. + * inssel.brg (OP_CHECK_ARRAY_TYPE): Optimize this by only looking at the vtable->klass. If it is non-shared code we can just use the vtable. diff --git a/mono/mini/mini.c b/mono/mini/mini.c index d07aa41935c..584ebba6e41 100644 --- a/mono/mini/mini.c +++ b/mono/mini/mini.c @@ -5050,10 +5050,10 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b klass = mono_class_get_full (image, read32 (ip + 1), generic_context); /* we need to make sure that this array is exactly the type it needs - * to be for correctness. the stelemref wrapper is lax with its usage - * so we need to ignore it there + * to be for correctness. the wrappers are lax with their usage + * so we need to ignore them here */ - if (!klass->valuetype && method->wrapper_type != MONO_WRAPPER_STELEMREF) { + if (!klass->valuetype && method->wrapper_type == MONO_WRAPPER_NONE) { MonoInst* check; MONO_INST_NEW (cfg, check, OP_CHECK_ARRAY_TYPE); check->cil_code = ip; -- 2.11.4.GIT