< prev index next > src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp
Print this page
}
//
// Generic interpreted method entry to (asm) interpreter
//
! address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
// determine code generation flags
bool inc_counter = UseCompiler || CountCompiledCalls;
// Rmethod: Method*
// Rthread: thread
}
//
// Generic interpreted method entry to (asm) interpreter
//
! address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized, bool object_init) {
// determine code generation flags
bool inc_counter = UseCompiler || CountCompiledCalls;
// Rmethod: Method*
// Rthread: thread
__ bind(L);
}
#endif
}
+ // Issue a StoreStore barrier on entry to Object_init if the
+ // class has strict field fields. Be lazy, always do it.
+ if (object_init) {
+ __ membar(MacroAssembler::StoreStore, R1_tmp);
+ }
+
// start execution
#ifdef ASSERT
{ Label L;
__ ldr(Rtemp, Address(FP, frame::interpreter_frame_monitor_block_top_offset * wordSize));
__ cmp(Rtemp, Rstack_top);
< prev index next >