< prev index next >

src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp

Print this page
@@ -1304,11 +1304,11 @@
  }
  
  // Interpreter stub for calling a native method. (asm interpreter).
  // This sets up a somewhat different looking stack for calling the
  // native method than the typical interpreter frame setup.
- address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
+ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized, bool runtime_upcalls) {
    // Determine code generation flags.
    bool inc_counter = UseCompiler || CountCompiledCalls;
  
    // Interpreter entry for ordinary Java methods.
    //

@@ -1660,11 +1660,11 @@
  }
  
  //
  // Generic interpreted method entry to template interpreter.
  //
- address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
+ address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized, bool runtime_upcalls) {
    address entry_point = __ pc();
  
    bool inc_counter = UseCompiler || CountCompiledCalls;
  
    // Interpreter entry for ordinary Java methods.

@@ -2305,10 +2305,21 @@
    generate_and_dispatch(t);
  }
  
  //-----------------------------------------------------------------------------
  
+ // Make feasible for old CPUs.
+ void TemplateInterpreterGenerator::count_bytecode() {
+   __ load_absolute_address(Z_R1_scratch, (address) &BytecodeCounter::_counter_value);
+   __ add2mem_32(Address(Z_R1_scratch), 1, Z_R0_scratch);
+ }
+ 
+ void TemplateInterpreterGenerator::histogram_bytecode(Template * t) {
+   __ load_absolute_address(Z_R1_scratch, (address)&BytecodeHistogram::_counters[ t->bytecode() ]);
+   __ add2mem_32(Address(Z_R1_scratch), 1, Z_tmp_1);
+ }
+ 
  #ifndef PRODUCT
  address TemplateInterpreterGenerator::generate_trace_code(TosState state) {
    address entry = __ pc();
    NearLabel counter_below_trace_threshold;
  

@@ -2341,21 +2352,10 @@
    __ z_br(Z_R14); // return
  
    return entry;
  }
  
- // Make feasible for old CPUs.
- void TemplateInterpreterGenerator::count_bytecode() {
-   __ load_absolute_address(Z_R1_scratch, (address) &BytecodeCounter::_counter_value);
-   __ add2mem_32(Address(Z_R1_scratch), 1, Z_R0_scratch);
- }
- 
- void TemplateInterpreterGenerator::histogram_bytecode(Template * t) {
-   __ load_absolute_address(Z_R1_scratch, (address)&BytecodeHistogram::_counters[ t->bytecode() ]);
-   __ add2mem_32(Address(Z_R1_scratch), 1, Z_tmp_1);
- }
- 
  void TemplateInterpreterGenerator::histogram_bytecode_pair(Template * t) {
    Address  index_addr(Z_tmp_1, (intptr_t) 0);
    Register index = Z_tmp_2;
  
    // Load previous index.
< prev index next >