Tue, 18 Jan 2011 18:00:06 -0800
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 | file | annotate | diff | comparison | revisions | |
src/cpu/x86/vm/templateInterpreter_x86_64.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Tue Jan 18 17:10:03 2011 -0800 1.2 +++ b/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Tue Jan 18 18:00:06 2011 -0800 1.3 @@ -1369,6 +1369,7 @@ 1.4 __ bind(profile_method); 1.5 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method)); 1.6 __ set_method_data_pointer_for_bcp(); 1.7 + __ get_method(rbx); 1.8 __ jmp(profile_method_continue); 1.9 } 1.10 // Handle overflow of counter and compile method
2.1 --- a/src/cpu/x86/vm/templateInterpreter_x86_64.cpp Tue Jan 18 17:10:03 2011 -0800 2.2 +++ b/src/cpu/x86/vm/templateInterpreter_x86_64.cpp Tue Jan 18 18:00:06 2011 -0800 2.3 @@ -1385,6 +1385,7 @@ 2.4 __ bind(profile_method); 2.5 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method)); 2.6 __ set_method_data_pointer_for_bcp(); 2.7 + __ get_method(rbx); 2.8 __ jmp(profile_method_continue); 2.9 } 2.10 // Handle overflow of counter and compile method