Fri, 07 May 2010 04:20:56 -0700
6950617: Zero/Shark interface updates
Summary: Zero needs a couple of new methods to allow Shark to access the new frame anchor field.
Reviewed-by: twisti
Contributed-by: Gary Benson <gbenson@redhat.com>
1.1 --- a/src/cpu/zero/vm/frame_zero.cpp Thu May 06 02:09:18 2010 -0700 1.2 +++ b/src/cpu/zero/vm/frame_zero.cpp Fri May 07 04:20:56 2010 -0700 1.3 @@ -36,6 +36,10 @@ 1.4 return zeroframe()->is_interpreter_frame(); 1.5 } 1.6 1.7 +bool frame::is_fake_stub_frame() const { 1.8 + return zeroframe()->is_fake_stub_frame(); 1.9 +} 1.10 + 1.11 frame frame::sender_for_entry_frame(RegisterMap *map) const { 1.12 assert(zeroframe()->is_entry_frame(), "wrong type of frame"); 1.13 assert(map != NULL, "map must be set");
2.1 --- a/src/cpu/zero/vm/frame_zero.hpp Thu May 06 02:09:18 2010 -0700 2.2 +++ b/src/cpu/zero/vm/frame_zero.hpp Fri May 07 04:20:56 2010 -0700 2.3 @@ -62,6 +62,9 @@ 2.4 } 2.5 2.6 public: 2.7 + bool is_fake_stub_frame() const; 2.8 + 2.9 + public: 2.10 frame sender_for_nonentry_frame(RegisterMap* map) const; 2.11 2.12 public:
3.1 --- a/src/cpu/zero/vm/javaFrameAnchor_zero.hpp Thu May 06 02:09:18 2010 -0700 3.2 +++ b/src/cpu/zero/vm/javaFrameAnchor_zero.hpp Fri May 07 04:20:56 2010 -0700 3.3 @@ -81,3 +81,7 @@ 3.4 ZeroFrame* last_Java_fp() const { 3.5 return _last_Java_fp; 3.6 } 3.7 + 3.8 + static ByteSize last_Java_fp_offset() { 3.9 + return byte_offset_of(JavaFrameAnchor, _last_Java_fp); 3.10 + }
4.1 --- a/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp Thu May 06 02:09:18 2010 -0700 4.2 +++ b/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp Fri May 07 04:20:56 2010 -0700 4.3 @@ -89,6 +89,12 @@ 4.4 } 4.5 4.6 public: 4.7 + static ByteSize last_Java_fp_offset() { 4.8 + return byte_offset_of(JavaThread, _anchor) + 4.9 + JavaFrameAnchor::last_Java_fp_offset(); 4.10 + } 4.11 + 4.12 + public: 4.13 // Check for pending suspend requests and pending asynchronous 4.14 // exceptions. There are separate accessors for these, but 4.15 // _suspend_flags is volatile so using them would be unsafe.