hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp
changeset 35214 d86005e0b4c2
parent 35166 23125410af16
child 35594 cc13089c6327
equal deleted inserted replaced
35211:3771329165d4 35214:d86005e0b4c2
    25 
    25 
    26 #include "precompiled.hpp"
    26 #include "precompiled.hpp"
    27 #include "asm/macroAssembler.inline.hpp"
    27 #include "asm/macroAssembler.inline.hpp"
    28 #include "interpreter/bytecodeHistogram.hpp"
    28 #include "interpreter/bytecodeHistogram.hpp"
    29 #include "interpreter/interpreter.hpp"
    29 #include "interpreter/interpreter.hpp"
    30 #include "interpreter/interpreterGenerator.hpp"
       
    31 #include "interpreter/interpreterRuntime.hpp"
    30 #include "interpreter/interpreterRuntime.hpp"
    32 #include "interpreter/interp_masm.hpp"
    31 #include "interpreter/interp_masm.hpp"
       
    32 #include "interpreter/templateInterpreterGenerator.hpp"
    33 #include "interpreter/templateTable.hpp"
    33 #include "interpreter/templateTable.hpp"
    34 #include "oops/arrayOop.hpp"
    34 #include "oops/arrayOop.hpp"
    35 #include "oops/methodData.hpp"
    35 #include "oops/methodData.hpp"
    36 #include "oops/method.hpp"
    36 #include "oops/method.hpp"
    37 #include "oops/oop.inline.hpp"
    37 #include "oops/oop.inline.hpp"
   414   return entry;
   414   return entry;
   415 }
   415 }
   416 
   416 
   417 // Abstract method entry.
   417 // Abstract method entry.
   418 //
   418 //
   419 address InterpreterGenerator::generate_abstract_entry(void) {
   419 address TemplateInterpreterGenerator::generate_abstract_entry(void) {
   420   address entry = __ pc();
   420   address entry = __ pc();
   421 
   421 
   422   //
   422   //
   423   // Registers alive
   423   // Registers alive
   424   //   R16_thread     - JavaThread*
   424   //   R16_thread     - JavaThread*
   472 //    into R8 and return quickly
   472 //    into R8 and return quickly
   473 // 2. If G1 is active we *must* execute this intrinsic for corrrectness:
   473 // 2. If G1 is active we *must* execute this intrinsic for corrrectness:
   474 //    It contains a GC barrier which puts the reference into the satb buffer
   474 //    It contains a GC barrier which puts the reference into the satb buffer
   475 //    to indicate that someone holds a strong reference to the object the
   475 //    to indicate that someone holds a strong reference to the object the
   476 //    weak ref points to!
   476 //    weak ref points to!
   477 address InterpreterGenerator::generate_Reference_get_entry(void) {
   477 address TemplateInterpreterGenerator::generate_Reference_get_entry(void) {
   478   // Code: _aload_0, _getfield, _areturn
   478   // Code: _aload_0, _getfield, _areturn
   479   // parameter size = 1
   479   // parameter size = 1
   480   //
   480   //
   481   // The code that gets generated by this routine is split into 2 parts:
   481   // The code that gets generated by this routine is split into 2 parts:
   482   //    1. the "intrinsified" code for G1 (or any SATB based GC),
   482   //    1. the "intrinsified" code for G1 (or any SATB based GC),