< prev index next >

src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp

Print this page
@@ -986,11 +986,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;
  
    // x11: Method*
    // x30: sender sp

@@ -1409,11 +1409,11 @@
  }
  
  //
  // Generic interpreted method entry to (asm) interpreter
  //
- address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
+ address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized, bool runtime_upcalls) {
  
    // determine code generation flags
    const bool inc_counter  = UseCompiler || CountCompiledCalls;
  
    // t0: sender sp

@@ -1825,10 +1825,20 @@
    generate_and_dispatch(t);
  }
  
  //-----------------------------------------------------------------------------
  
+ void TemplateInterpreterGenerator::count_bytecode() {
+   __ mv(x7, (address) &BytecodeCounter::_counter_value);
+   __ atomic_addw(noreg, 1, x7);
+ }
+ 
+ void TemplateInterpreterGenerator::histogram_bytecode(Template* t) {
+   __ mv(x7, (address) &BytecodeHistogram::_counters[t->bytecode()]);
+   __ atomic_addw(noreg, 1, x7);
+ }
+ 
  // Non-product code
  #ifndef PRODUCT
  address TemplateInterpreterGenerator::generate_trace_code(TosState state) {
    address entry = __ pc();
  

@@ -1843,20 +1853,10 @@
    __ ret();                                   // return from result handler
  
    return entry;
  }
  
- void TemplateInterpreterGenerator::count_bytecode() {
-   __ mv(x7, (address) &BytecodeCounter::_counter_value);
-   __ atomic_addw(noreg, 1, x7);
- }
- 
- void TemplateInterpreterGenerator::histogram_bytecode(Template* t) {
-   __ mv(x7, (address) &BytecodeHistogram::_counters[t->bytecode()]);
-   __ atomic_addw(noreg, 1, x7);
- }
- 
  void TemplateInterpreterGenerator::histogram_bytecode_pair(Template* t) {
    // Calculate new index for counter:
    //   _index = (_index >> log2_number_of_codes) |
    //            (bytecode << log2_number_of_codes);
    Register index_addr = t1;
< prev index next >