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
--- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Tue Jan 18 17:10:03 2011 -0800
+++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Tue Jan 18 18:00:06 2011 -0800
@@ -1369,6 +1369,7 @@
__ 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
--- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp Tue Jan 18 17:10:03 2011 -0800
+++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp Tue Jan 18 18:00:06 2011 -0800
@@ -1385,6 +1385,7 @@
__ 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