src/cpu/x86/vm/frame_x86.inline.hpp

Print this page
rev 5992 : 8035396: Introduce accessor for tmp_oop in frame.


 230 // Method
 231 
 232 inline Method** frame::interpreter_frame_method_addr() const {
 233   return (Method**)addr_at(interpreter_frame_method_offset);
 234 }
 235 
 236 // top of expression stack
 237 inline intptr_t* frame::interpreter_frame_tos_address() const {
 238   intptr_t* last_sp = interpreter_frame_last_sp();
 239   if (last_sp == NULL) {
 240     return sp();
 241   } else {
 242     // sp() may have been extended or shrunk by an adapter.  At least
 243     // check that we don't fall behind the legal region.
 244     // For top deoptimized frame last_sp == interpreter_frame_monitor_end.
 245     assert(last_sp <= (intptr_t*) interpreter_frame_monitor_end(), "bad tos");
 246     return last_sp;
 247   }
 248 }
 249 




 250 #endif /* CC_INTERP */
 251 
 252 inline int frame::pd_oop_map_offset_adjustment() const {
 253   return 0;
 254 }
 255 
 256 inline int frame::interpreter_frame_monitor_size() {
 257   return BasicObjectLock::size();
 258 }
 259 
 260 
 261 // expression stack
 262 // (the max_stack arguments are used by the GC; see class FrameClosure)
 263 
 264 inline intptr_t* frame::interpreter_frame_expression_stack() const {
 265   intptr_t* monitor_end = (intptr_t*) interpreter_frame_monitor_end();
 266   return monitor_end-1;
 267 }
 268 
 269 




 230 // Method
 231 
 232 inline Method** frame::interpreter_frame_method_addr() const {
 233   return (Method**)addr_at(interpreter_frame_method_offset);
 234 }
 235 
 236 // top of expression stack
 237 inline intptr_t* frame::interpreter_frame_tos_address() const {
 238   intptr_t* last_sp = interpreter_frame_last_sp();
 239   if (last_sp == NULL) {
 240     return sp();
 241   } else {
 242     // sp() may have been extended or shrunk by an adapter.  At least
 243     // check that we don't fall behind the legal region.
 244     // For top deoptimized frame last_sp == interpreter_frame_monitor_end.
 245     assert(last_sp <= (intptr_t*) interpreter_frame_monitor_end(), "bad tos");
 246     return last_sp;
 247   }
 248 }
 249 
 250 inline oop* frame::interpreter_frame_temp_oop_addr() const {
 251   return (oop *)(fp() + interpreter_frame_oop_temp_offset);
 252 }
 253 
 254 #endif /* CC_INTERP */
 255 
 256 inline int frame::pd_oop_map_offset_adjustment() const {
 257   return 0;
 258 }
 259 
 260 inline int frame::interpreter_frame_monitor_size() {
 261   return BasicObjectLock::size();
 262 }
 263 
 264 
 265 // expression stack
 266 // (the max_stack arguments are used by the GC; see class FrameClosure)
 267 
 268 inline intptr_t* frame::interpreter_frame_expression_stack() const {
 269   intptr_t* monitor_end = (intptr_t*) interpreter_frame_monitor_end();
 270   return monitor_end-1;
 271 }
 272 
 273