comparison src/share/vm/runtime/frame.hpp @ 14508:78112be27ba0

8035396: Introduce accessor for tmp_oop in frame. Summary: Avoid #ifs by introducing the accessor function interpreter_frame_temp_oop_addr(). Reviewed-by: kvn, twisti
author goetz
date Wed, 26 Feb 2014 11:33:34 -0800
parents 2b8e28fdf503
children 16c705d792be 4af19b914f53
comparison
equal deleted inserted replaced
14507:fae50ee0308d 14508:78112be27ba0
312 // template based interpreter deoptimization support 312 // template based interpreter deoptimization support
313 void set_interpreter_frame_sender_sp(intptr_t* sender_sp); 313 void set_interpreter_frame_sender_sp(intptr_t* sender_sp);
314 void interpreter_frame_set_monitor_end(BasicObjectLock* value); 314 void interpreter_frame_set_monitor_end(BasicObjectLock* value);
315 #endif // CC_INTERP 315 #endif // CC_INTERP
316 316
317 // Address of the temp oop in the frame. Needed as GC root.
318 oop* interpreter_frame_temp_oop_addr() const;
319
317 // BasicObjectLocks: 320 // BasicObjectLocks:
318 // 321 //
319 // interpreter_frame_monitor_begin is higher in memory than interpreter_frame_monitor_end 322 // interpreter_frame_monitor_begin is higher in memory than interpreter_frame_monitor_end
320 // Interpreter_frame_monitor_begin points to one element beyond the oldest one, 323 // Interpreter_frame_monitor_begin points to one element beyond the oldest one,
321 // interpreter_frame_monitor_end points to the youngest one, or if there are none, 324 // interpreter_frame_monitor_end points to the youngest one, or if there are none,
348 // Method & constant pool cache 351 // Method & constant pool cache
349 Method* interpreter_frame_method() const; 352 Method* interpreter_frame_method() const;
350 void interpreter_frame_set_method(Method* method); 353 void interpreter_frame_set_method(Method* method);
351 Method** interpreter_frame_method_addr() const; 354 Method** interpreter_frame_method_addr() const;
352 ConstantPoolCache** interpreter_frame_cache_addr() const; 355 ConstantPoolCache** interpreter_frame_cache_addr() const;
353 #ifdef PPC32
354 oop* interpreter_frame_mirror_addr() const;
355 #endif
356 356
357 public: 357 public:
358 // Entry frames 358 // Entry frames
359 JavaCallWrapper* entry_frame_call_wrapper() const { return *entry_frame_call_wrapper_addr(); } 359 JavaCallWrapper* entry_frame_call_wrapper() const { return *entry_frame_call_wrapper_addr(); }
360 JavaCallWrapper* entry_frame_call_wrapper_if_safe(JavaThread* thread) const; 360 JavaCallWrapper* entry_frame_call_wrapper_if_safe(JavaThread* thread) const;