From 0479b6e09d6632255f25179d3378e9f2391dcabd Mon Sep 17 00:00:00 2001 From: iveresov Date: Tue, 18 Jan 2011 18:00:06 -0800 Subject: [PATCH] 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32 Summary: Interpreter expects to see methodOop in rbx on method entry, which needs to be restored after call to profile_method. Reviewed-by: kvn, never --- src/cpu/x86/vm/templateInterpreter_x86_32.cpp | 1 + src/cpu/x86/vm/templateInterpreter_x86_64.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/cpu/x86/vm/templateInterpreter_x86_32.cpp b/src/cpu/x86/vm/templateInterpreter_x86_32.cpp index 6471c2153..74c4b6e3f 100644 --- a/src/cpu/x86/vm/templateInterpreter_x86_32.cpp +++ b/src/cpu/x86/vm/templateInterpreter_x86_32.cpp @@ -1369,6 +1369,7 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) { __ bind(profile_method); __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method)); __ set_method_data_pointer_for_bcp(); + __ get_method(rbx); __ jmp(profile_method_continue); } // Handle overflow of counter and compile method diff --git a/src/cpu/x86/vm/templateInterpreter_x86_64.cpp b/src/cpu/x86/vm/templateInterpreter_x86_64.cpp index 4bbf0ff51..8191a2387 100644 --- a/src/cpu/x86/vm/templateInterpreter_x86_64.cpp +++ b/src/cpu/x86/vm/templateInterpreter_x86_64.cpp @@ -1385,6 +1385,7 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) { __ bind(profile_method); __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method)); __ set_method_data_pointer_for_bcp(); + __ get_method(rbx); __ jmp(profile_method_continue); } // Handle overflow of counter and compile method -- GitLab