< prev index next >

src/hotspot/cpu/riscv/interp_masm_riscv.hpp

Print this page

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





 62   void jump_to_entry(address entry);
 63 
 64   virtual void check_and_handle_popframe(Register java_thread);
 65   virtual void check_and_handle_earlyret(Register java_thread);
 66 
 67   // Interpreter-specific registers
 68   void save_bcp() {
 69     sd(xbcp, Address(fp, frame::interpreter_frame_bcp_offset * wordSize));
 70   }
 71 
 72   void restore_bcp() {
 73     ld(xbcp, Address(fp, frame::interpreter_frame_bcp_offset * wordSize));
 74   }
 75 
 76   void restore_locals() {
 77     ld(xlocals, Address(fp, frame::interpreter_frame_locals_offset * wordSize));
 78     shadd(xlocals, xlocals, fp, t0, LogBytesPerWord);
 79   }
 80 
 81   void restore_constant_pool_cache() {

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