< prev index next >
src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp
Print this page
rev 9031 : 8138892: C1: Improve counter overflow checking
Reviewed-by:
*** 92,103 ****
}
void CounterOverflowStub::emit_code(LIR_Assembler* ce) {
__ bind(_entry);
__ set(_bci, G4);
__ call(Runtime1::entry_for(Runtime1::counter_overflow_id), relocInfo::runtime_call_type);
! __ delayed()->mov_or_nop(_method->as_register(), G5);
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
__ br(Assembler::always, true, Assembler::pt, _continuation);
__ delayed()->nop();
--- 92,105 ----
}
void CounterOverflowStub::emit_code(LIR_Assembler* ce) {
__ bind(_entry);
__ set(_bci, G4);
+ Metadata *m = _method->as_constant_ptr()->as_metadata();
+ __ set_metadata_constant(m, G5);
__ call(Runtime1::entry_for(Runtime1::counter_overflow_id), relocInfo::runtime_call_type);
! __ delayed()->nop();
ce->add_call_info_here(_info);
ce->verify_oop_map(_info);
__ br(Assembler::always, true, Assembler::pt, _continuation);
__ delayed()->nop();
< prev index next >