[runtime] Register imt trampolines
authorVlad Brezae <brezaevlad@gmail.com>
Tue, 2 Jun 2015 19:04:38 +0000 (12:04 -0700)
committerVlad Brezae <brezaevlad@gmail.com>
Wed, 29 Jul 2015 22:06:37 +0000 (15:06 -0700)
mono/mini/mini-amd64.c
mono/mini/mini-arm.c
mono/mini/mini-ia64.c
mono/mini/mini-mips.c
mono/mini/mini-ppc.c
mono/mini/mini-s390x.c
mono/mini/mini-sparc.c
mono/mini/mini-x86.c

index 06ba12665998d00a6ad1381b8d7df378b7e2ea54..bdd8ee9fc8cc0c4c8734708270580937d2cc7e89 100644 (file)
@@ -8220,6 +8220,8 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
        nacl_domain_code_validate(domain, &start, size, &code);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_IMT_TRAMPOLINE, NULL);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL));
+
        return start;
 }
 
index b1587adea7ab55cfb77d6f19000bf29146f4c91c..ac688d9f694c57c12ecde7c122786b9c59798480 100644 (file)
@@ -7238,6 +7238,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
        mono_stats.imt_thunks_size += code - start;
 
        g_assert (DISTANCE (start, code) <= size);
+
+       mono_tramp_info_register (mono_tramp_info_create (NULL, (guint8*)start, DISTANCE (start, code), NULL, NULL));
+
        return start;
 }
 
index d3e3f9338cc50e871d5b50a967790b7e5286016e..edf2b36485518fbe98c4a4736bab3bcef001ef14 100644 (file)
@@ -4618,6 +4618,8 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
 
        mono_stats.imt_thunks_size += size;
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, size, NULL, NULL));
+
        return start;
 }
 
index 3e131db40fe9c1e8231a090385f695d9de999e3b..4e1d43e0f6a541ebc1141d2e5ef5118aa4f4b1f5 100644 (file)
@@ -6010,6 +6010,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                mono_stats.imt_thunks_size += code - start;
        g_assert (code - start <= size);
        mono_arch_flush_icache (start, size);
+
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL));
+
        return start;
 }
 
index ca0b2b8e797f172b958216de5fe4bf8aae565910..7da1055798f3e40412c383f216c4d7138bf29b10 100644 (file)
@@ -5747,6 +5747,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                mono_stats.imt_thunks_size += code - start;
        g_assert (code - start <= size);
        mono_arch_flush_icache (start, size);
+
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL));
+
        return start;
 }
 
index ff765a9c6a0ec725727650687d67efbfc62ae42b..995b42d2823ce7c5ed418ffe0aaa20472e8f34a8 100644 (file)
@@ -6034,6 +6034,8 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain,
 
        g_assert (code - start <= size);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL));
+
        return (start);
 }
 
index f5c0f5e89d10e3863b6f3a1112f117460673d036..787dcd793993d4765630926437d5f14c369b8c84 100644 (file)
@@ -2352,6 +2352,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
 
        mono_stats.imt_thunks_size += (code - start) * 4;
        g_assert (code - start <= size);
+
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL));
+
        return start;
 }
 
index eca883a63d769ac8bf6e0cdb0975c7d754e6ec11..179181f3d569f6e463f4a62f676f105eb0b795f1 100644 (file)
@@ -5884,6 +5884,8 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
        nacl_domain_code_validate (domain, &start, size, &code);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_IMT_TRAMPOLINE, NULL);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL));
+
        return start;
 }