[jit] Avoid nullifying class init trampolines for recursive calls to class initialize...
authorZoltan Varga <vargaz@gmail.com>
Sat, 4 Jan 2014 00:15:06 +0000 (01:15 +0100)
committerZoltan Varga <vargaz@gmail.com>
Sat, 4 Jan 2014 00:15:21 +0000 (01:15 +0100)
mono/mini/mini-trampolines.c

index b95ccf557c24c6aa6198cfd45e8c87b4cb256228..3cdfbe9b66bbe74b69926d92531db0a9b2f4e028 100644 (file)
@@ -894,10 +894,11 @@ mono_class_init_trampoline (mgreg_t *regs, guint8 *code, MonoVTable *vtable, gui
 
        mono_runtime_class_init (vtable);
 
-       if (plt_entry) {
-               mono_arch_nullify_plt_entry (plt_entry, regs);
-       } else {
-               mono_arch_nullify_class_init_trampoline (code, regs);
+       if (vtable->initialized) {
+               if (plt_entry)
+                       mono_arch_nullify_plt_entry (plt_entry, regs);
+               else
+                       mono_arch_nullify_class_init_trampoline (code, regs);
        }
 }