Mercurial > hg > graal-compiler
comparison src/cpu/x86/vm/templateInterpreter_x86_32.cpp @ 2141:b599a4c6c2df
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
author | iveresov |
---|---|
date | Tue, 18 Jan 2011 18:00:06 -0800 |
parents | dd031b2226de |
children | 638119ce7cfd |
comparison
equal
deleted
inserted
replaced
2140:85c73c0edb06 | 2141:b599a4c6c2df |
---|---|
1367 if (ProfileInterpreter) { | 1367 if (ProfileInterpreter) { |
1368 // We have decided to profile this method in the interpreter | 1368 // We have decided to profile this method in the interpreter |
1369 __ bind(profile_method); | 1369 __ bind(profile_method); |
1370 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method)); | 1370 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method)); |
1371 __ set_method_data_pointer_for_bcp(); | 1371 __ set_method_data_pointer_for_bcp(); |
1372 __ get_method(rbx); | |
1372 __ jmp(profile_method_continue); | 1373 __ jmp(profile_method_continue); |
1373 } | 1374 } |
1374 // Handle overflow of counter and compile method | 1375 // Handle overflow of counter and compile method |
1375 __ bind(invocation_counter_overflow); | 1376 __ bind(invocation_counter_overflow); |
1376 generate_counter_overflow(&continue_after_compile); | 1377 generate_counter_overflow(&continue_after_compile); |