< prev index next >

src/hotspot/cpu/riscv/frame_riscv.hpp

Print this page

 94 //           | local variables |   |
 95 //   $fp --> |       ...       |   |
 96 //           +-----------------+   |
 97 //           | return address  |   |
 98 //           |   previous fp ------+
 99 //           | saved registers |
100 //   $sp --> | local variables |
101 //           +-----------------+
102 // ------------------------------ C Frame ------------------------------------------------
103 
104  public:
105   enum {
106     pc_return_offset                                 =  0,
107 
108     // All frames
109     link_offset                                      = -2,
110     return_addr_offset                               = -1,
111     sender_sp_offset                                 =  0,
112 
113     // Interpreter frames
114     interpreter_frame_oop_temp_offset                =  1, // for native calls only

115 
116     interpreter_frame_sender_sp_offset               = -3,
117     // outgoing sp before a call to an invoked method
118     interpreter_frame_last_sp_offset                 = interpreter_frame_sender_sp_offset - 1,
119     interpreter_frame_method_offset                  = interpreter_frame_last_sp_offset - 1,
120     interpreter_frame_mdp_offset                     = interpreter_frame_method_offset - 1,
121     interpreter_frame_extended_sp_offset             = interpreter_frame_mdp_offset - 1,
122     interpreter_frame_mirror_offset                  = interpreter_frame_extended_sp_offset - 1,
123     interpreter_frame_cache_offset                   = interpreter_frame_mirror_offset - 1,
124     interpreter_frame_locals_offset                  = interpreter_frame_cache_offset - 1,
125     interpreter_frame_bcp_offset                     = interpreter_frame_locals_offset - 1,
126     interpreter_frame_initial_sp_offset              = interpreter_frame_bcp_offset - 1,
127 
128     interpreter_frame_monitor_block_top_offset       = interpreter_frame_initial_sp_offset,
129     interpreter_frame_monitor_block_bottom_offset    = interpreter_frame_initial_sp_offset,
130 
131     // Entry frames
132     // n.b. these values are determined by the layout defined in
133     // stubGenerator for the Java call stub
134     entry_frame_after_call_words                     =  35,

 94 //           | local variables |   |
 95 //   $fp --> |       ...       |   |
 96 //           +-----------------+   |
 97 //           | return address  |   |
 98 //           |   previous fp ------+
 99 //           | saved registers |
100 //   $sp --> | local variables |
101 //           +-----------------+
102 // ------------------------------ C Frame ------------------------------------------------
103 
104  public:
105   enum {
106     pc_return_offset                                 =  0,
107 
108     // All frames
109     link_offset                                      = -2,
110     return_addr_offset                               = -1,
111     sender_sp_offset                                 =  0,
112 
113     // Interpreter frames
114     interpreter_frame_result_handler_offset          =  1, // for native calls only
115     interpreter_frame_oop_temp_offset                =  0, // for native calls only
116 
117     interpreter_frame_sender_sp_offset               = -3,
118     // outgoing sp before a call to an invoked method
119     interpreter_frame_last_sp_offset                 = interpreter_frame_sender_sp_offset - 1,
120     interpreter_frame_method_offset                  = interpreter_frame_last_sp_offset - 1,
121     interpreter_frame_mdp_offset                     = interpreter_frame_method_offset - 1,
122     interpreter_frame_extended_sp_offset             = interpreter_frame_mdp_offset - 1,
123     interpreter_frame_mirror_offset                  = interpreter_frame_extended_sp_offset - 1,
124     interpreter_frame_cache_offset                   = interpreter_frame_mirror_offset - 1,
125     interpreter_frame_locals_offset                  = interpreter_frame_cache_offset - 1,
126     interpreter_frame_bcp_offset                     = interpreter_frame_locals_offset - 1,
127     interpreter_frame_initial_sp_offset              = interpreter_frame_bcp_offset - 1,
128 
129     interpreter_frame_monitor_block_top_offset       = interpreter_frame_initial_sp_offset,
130     interpreter_frame_monitor_block_bottom_offset    = interpreter_frame_initial_sp_offset,
131 
132     // Entry frames
133     // n.b. these values are determined by the layout defined in
134     // stubGenerator for the Java call stub
135     entry_frame_after_call_words                     =  35,
< prev index next >