< prev index next >
src/hotspot/share/c1/c1_LIRAssembler.cpp
Print this page
*** 160,169 ****
--- 160,172 ----
bool LIR_Assembler::needs_icache(ciMethod* method) const {
return !method->is_static();
}
+ bool LIR_Assembler::needs_clinit_barrier_on_entry(ciMethod* method) const {
+ return UseFastClassInitChecks && method->needs_clinit_barrier();
+ }
int LIR_Assembler::code_offset() const {
return _masm->offset();
}
*** 619,628 ****
--- 622,634 ----
if (needs_icache(compilation()->method())) {
check_icache();
}
offsets()->set_value(CodeOffsets::Verified_Entry, _masm->offset());
_masm->verified_entry();
+ if (needs_clinit_barrier_on_entry(compilation()->method())) {
+ clinit_barrier(compilation()->method());
+ }
build_frame();
offsets()->set_value(CodeOffsets::Frame_Complete, _masm->offset());
break;
case lir_osr_entry:
< prev index next >