< prev index next >

src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp

Print this page

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





 61   void jump_to_entry(address entry);
 62 
 63   virtual void check_and_handle_popframe(Register java_thread);
 64   virtual void check_and_handle_earlyret(Register java_thread);
 65 
 66   // Interpreter-specific registers
 67   void save_bcp() {
 68     str(rbcp, Address(rfp, frame::interpreter_frame_bcp_offset * wordSize));
 69   }
 70 
 71   void restore_bcp() {
 72     ldr(rbcp, Address(rfp, frame::interpreter_frame_bcp_offset * wordSize));
 73   }
 74 
 75   void restore_locals() {
 76     ldr(rlocals, Address(rfp, frame::interpreter_frame_locals_offset * wordSize));
 77     lea(rlocals, Address(rfp, rlocals, Address::lsl(3)));
 78   }
 79 
 80   void restore_constant_pool_cache() {

 41 
 42   virtual void call_VM_leaf_base(address entry_point,
 43                                  int number_of_arguments);
 44 
 45   virtual void call_VM_base(Register oop_result,
 46                             Register java_thread,
 47                             Register last_java_sp,
 48                             address  entry_point,
 49                             int number_of_arguments,
 50                             bool check_exceptions);
 51 
 52   // base routine for all dispatches
 53   void dispatch_base(TosState state, address* table,
 54                      bool verifyoop = true, bool generate_poll = false);
 55 
 56  public:
 57   InterpreterMacroAssembler(CodeBuffer* code) : MacroAssembler(code) {}
 58 
 59   void load_earlyret_value(TosState state);
 60 
 61   void call_VM_preemptable(Register oop_result,
 62                            address entry_point,
 63                            Register arg_1);
 64   void restore_after_resume(bool is_native);
 65 
 66   void jump_to_entry(address entry);
 67 
 68   virtual void check_and_handle_popframe(Register java_thread);
 69   virtual void check_and_handle_earlyret(Register java_thread);
 70 
 71   // Interpreter-specific registers
 72   void save_bcp() {
 73     str(rbcp, Address(rfp, frame::interpreter_frame_bcp_offset * wordSize));
 74   }
 75 
 76   void restore_bcp() {
 77     ldr(rbcp, Address(rfp, frame::interpreter_frame_bcp_offset * wordSize));
 78   }
 79 
 80   void restore_locals() {
 81     ldr(rlocals, Address(rfp, frame::interpreter_frame_locals_offset * wordSize));
 82     lea(rlocals, Address(rfp, rlocals, Address::lsl(3)));
 83   }
 84 
 85   void restore_constant_pool_cache() {
< prev index next >