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,
|