< prev index next >

src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp

Print this page
*** 1223,15 ***
  //   R15_esp       - intptr_t* sender tos
  //
  //   abstract stack (grows up)
  //     [  IJava (caller of JNI callee)  ]  <-- ASP
  //        ...
! address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
  
    address entry = __ pc();
  
!   const bool inc_counter = UseCompiler || CountCompiledCalls;
  
    // -----------------------------------------------------------------------------
    // Allocate a new frame that represents the native callee (i2n frame).
    // This is not a full-blown interpreter frame, but in particular, the
    // following registers are valid after this:
--- 1223,15 ---
  //   R15_esp       - intptr_t* sender tos
  //
  //   abstract stack (grows up)
  //     [  IJava (caller of JNI callee)  ]  <-- ASP
  //        ...
! address TemplateInterpreterGenerator::generate_native_entry(bool synchronized, bool runtime_upcalls) {
  
    address entry = __ pc();
  
!   const bool inc_counter = (UseCompiler || CountCompiledCalls) && !PreloadOnly;
  
    // -----------------------------------------------------------------------------
    // Allocate a new frame that represents the native callee (i2n frame).
    // This is not a full-blown interpreter frame, but in particular, the
    // following registers are valid after this:

*** 1682,12 ***
    return entry;
  }
  
  // Generic interpreted method entry to (asm) interpreter.
  //
! address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
!   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.
  
--- 1682,12 ---
    return entry;
  }
  
  // Generic interpreted method entry to (asm) interpreter.
  //
! address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized, bool runtime_upcalls) {
!   bool inc_counter = (UseCompiler || CountCompiledCalls) && !PreloadOnly;
    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.
  

*** 2351,10 ***
--- 2351,11 ---
    }
    __ blr();
    BLOCK_COMMENT("} trace_code");
    return entry;
  }
+ #endif //PRODUCT
  
  void TemplateInterpreterGenerator::count_bytecode() {
    int offs = __ load_const_optimized(R11_scratch1, (address) &BytecodeCounter::_counter_value, R12_scratch2, true);
    __ ld(R12_scratch2, offs, R11_scratch1);
    __ addi(R12_scratch2, R12_scratch2, 1);

*** 2366,10 ***
--- 2367,11 ---
    __ lwz(R12_scratch2, offs, R11_scratch1);
    __ addi(R12_scratch2, R12_scratch2, 1);
    __ stw(R12_scratch2, offs, R11_scratch1);
  }
  
+ #ifndef PRODUCT
  void TemplateInterpreterGenerator::histogram_bytecode_pair(Template* t) {
    const Register addr = R11_scratch1,
                   tmp  = R12_scratch2;
    // Get index, shift out old bytecode, bring in new bytecode, and store it.
    // _index = (_index >> log2_number_of_codes) |
< prev index next >