[release/6.0] [MonoVM] Fix calculation of code size for AOT assemblies mixing JIT...
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Thu, 2 Sep 2021 07:00:51 +0000 (09:00 +0200)
committerGitHub <noreply@github.com>
Thu, 2 Sep 2021 07:00:51 +0000 (09:00 +0200)
Co-authored-by: Filip Navara <navara@emclient.com>
src/mono/mono/mini/aot-runtime.c

index 3b753a4..4d27652 100644 (file)
@@ -3534,7 +3534,17 @@ mono_aot_find_jit_info (MonoImage *image, gpointer addr)
                else
                        code_len = amodule->llvm_code_end - code;
        } else {
-               code_len = (guint8*)methods [pos + 1] - (guint8*)methods [pos];
+               guint8* code_end = (guint8*)methods [pos + 1];
+
+               if (code >= amodule->jit_code_start && code < amodule->jit_code_end && code_end > amodule->jit_code_end) {
+                       code_end = amodule->jit_code_end;
+               }
+
+               if (code >= amodule->llvm_code_start && code < amodule->llvm_code_end && code_end > amodule->llvm_code_end) {
+                       code_end = amodule->llvm_code_end;
+               }
+
+               code_len = code_end - code;
        }
 #endif