< prev index next >

src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp

Print this page
@@ -1704,11 +1704,11 @@
    return entry;
  }
  
  // Generic interpreted method entry to (asm) interpreter.
  //
- address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
+ address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized, bool object_init) {
    bool inc_counter = UseCompiler || CountCompiledCalls;
    address entry = __ pc();
    // Generate the code to allocate the interpreter stack frame.
    Register Rsize_of_parameters = R4_ARG2, // Written by generate_fixed_frame.
             Rsize_of_locals     = R5_ARG3; // Written by generate_fixed_frame.

@@ -1799,10 +1799,17 @@
  
    // --------------------------------------------------------------------------
    // JVMTI support
    __ notify_method_entry();
  
+   // --------------------------------------------------------------------------
+   // 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(Assembler::StoreStore);
+   }
+ 
    // --------------------------------------------------------------------------
    // Start executing instructions.
    __ dispatch_next(vtos);
  
    // --------------------------------------------------------------------------
< prev index next >