comparison src/cpu/sparc/vm/frame_sparc.hpp @ 7232:310a68c63b69

Merge.
author Christian Haeubl <haeubl@ssw.jku.at>
date Fri, 14 Dec 2012 15:19:38 +0100
parents cd3d6a6b95d9
children 7f77d17d0f13
comparison
equal deleted inserted replaced
7231:c0806f4ff3ea 7232:310a68c63b69
202 202
203 // Assumes reg is an out register 203 // Assumes reg is an out register
204 intptr_t* out_register_addr(Register reg) const { 204 intptr_t* out_register_addr(Register reg) const {
205 return younger_sp_addr_at(reg->after_save()->sp_offset_in_saved_window()); 205 return younger_sp_addr_at(reg->after_save()->sp_offset_in_saved_window());
206 } 206 }
207 intptr_t* memory_param_addr(int param_ix, bool is_in) const {
208 int offset = callee_register_argument_save_area_sp_offset + param_ix;
209 if (is_in)
210 return fp_addr_at(offset);
211 else
212 return sp_addr_at(offset);
213 }
214 intptr_t* param_addr(int param_ix, bool is_in) const {
215 if (param_ix >= callee_register_argument_save_area_words)
216 return memory_param_addr(param_ix, is_in);
217 else if (is_in)
218 return register_addr(Argument(param_ix, true).as_register());
219 else {
220 // the registers are stored in the next younger frame
221 // %%% is this really necessary?
222 ShouldNotReachHere();
223 return NULL;
224 }
225 }
226 207
227 208
228 // Interpreter frames 209 // Interpreter frames
229 210
230 public: 211 public:
267 ConstantPoolCache** interpreter_frame_cpoolcache_addr() const; 248 ConstantPoolCache** interpreter_frame_cpoolcache_addr() const;
268 249
269 #ifndef CC_INTERP 250 #ifndef CC_INTERP
270 251
271 // where Lmonitors is saved: 252 // where Lmonitors is saved:
272 BasicObjectLock** interpreter_frame_monitors_addr() const { 253 inline BasicObjectLock** interpreter_frame_monitors_addr() const;
273 return (BasicObjectLock**) sp_addr_at(Lmonitors->sp_offset_in_saved_window()); 254 inline intptr_t** interpreter_frame_esp_addr() const;
274 }
275 intptr_t** interpreter_frame_esp_addr() const {
276 return (intptr_t**)sp_addr_at(Lesp->sp_offset_in_saved_window());
277 }
278 255
279 inline void interpreter_frame_set_tos_address(intptr_t* x); 256 inline void interpreter_frame_set_tos_address(intptr_t* x);
280 257
281 // monitors: 258 // monitors:
282 259