< prev index next >

src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp

Print this page




  21  * or visit www.oracle.com if you need additional information or have any
  22  * questions.
  23  *
  24  */
  25 
  26 #ifndef CPU_AARCH64_INTERP_MASM_AARCH64_HPP
  27 #define CPU_AARCH64_INTERP_MASM_AARCH64_HPP
  28 
  29 #include "asm/macroAssembler.hpp"
  30 #include "interpreter/invocationCounter.hpp"
  31 #include "runtime/frame.hpp"
  32 
  33 // This file specializes the assember with interpreter-specific macros
  34 
  35 typedef ByteSize (*OffsetFunction)(uint);
  36 
  37 class InterpreterMacroAssembler: public MacroAssembler {
  38  protected:
  39 
  40  protected:


  41   // Interpreter specific version of call_VM_base
  42   using MacroAssembler::call_VM_leaf_base;
  43 
  44   virtual void call_VM_leaf_base(address entry_point,
  45                                  int number_of_arguments);
  46 
  47   virtual void call_VM_base(Register oop_result,
  48                             Register java_thread,
  49                             Register last_java_sp,
  50                             address  entry_point,
  51                             int number_of_arguments,
  52                             bool check_exceptions);
  53 
  54   // base routine for all dispatches
  55   void dispatch_base(TosState state, address* table,
  56                      bool verifyoop = true, bool generate_poll = false);
  57 
  58  public:
  59   InterpreterMacroAssembler(CodeBuffer* code) : MacroAssembler(code) {}
  60 




  21  * or visit www.oracle.com if you need additional information or have any
  22  * questions.
  23  *
  24  */
  25 
  26 #ifndef CPU_AARCH64_INTERP_MASM_AARCH64_HPP
  27 #define CPU_AARCH64_INTERP_MASM_AARCH64_HPP
  28 
  29 #include "asm/macroAssembler.hpp"
  30 #include "interpreter/invocationCounter.hpp"
  31 #include "runtime/frame.hpp"
  32 
  33 // This file specializes the assember with interpreter-specific macros
  34 
  35 typedef ByteSize (*OffsetFunction)(uint);
  36 
  37 class InterpreterMacroAssembler: public MacroAssembler {
  38  protected:
  39 
  40  protected:
  41   using MacroAssembler::call_VM_leaf_base;
  42 
  43   // Interpreter specific version of call_VM_base
  44   using MacroAssembler::call_VM_leaf_base;
  45 
  46   virtual void call_VM_leaf_base(address entry_point,
  47                                  int number_of_arguments);
  48 
  49   virtual void call_VM_base(Register oop_result,
  50                             Register java_thread,
  51                             Register last_java_sp,
  52                             address  entry_point,
  53                             int number_of_arguments,
  54                             bool check_exceptions);
  55 
  56   // base routine for all dispatches
  57   void dispatch_base(TosState state, address* table,
  58                      bool verifyoop = true, bool generate_poll = false);
  59 
  60  public:
  61   InterpreterMacroAssembler(CodeBuffer* code) : MacroAssembler(code) {}
  62 


< prev index next >