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>
--- a/hotspot/src/cpu/zero/vm/frame_zero.cpp Thu May 06 02:09:18 2010 -0700
+++ b/hotspot/src/cpu/zero/vm/frame_zero.cpp Fri May 07 04:20:56 2010 -0700
@@ -36,6 +36,10 @@
return zeroframe()->is_interpreter_frame();
}
+bool frame::is_fake_stub_frame() const {
+ return zeroframe()->is_fake_stub_frame();
+}
+
frame frame::sender_for_entry_frame(RegisterMap *map) const {
assert(zeroframe()->is_entry_frame(), "wrong type of frame");
assert(map != NULL, "map must be set");
--- a/hotspot/src/cpu/zero/vm/frame_zero.hpp Thu May 06 02:09:18 2010 -0700
+++ b/hotspot/src/cpu/zero/vm/frame_zero.hpp Fri May 07 04:20:56 2010 -0700
@@ -62,6 +62,9 @@
}
public:
+ bool is_fake_stub_frame() const;
+
+ public:
frame sender_for_nonentry_frame(RegisterMap* map) const;
public:
--- a/hotspot/src/cpu/zero/vm/javaFrameAnchor_zero.hpp Thu May 06 02:09:18 2010 -0700
+++ b/hotspot/src/cpu/zero/vm/javaFrameAnchor_zero.hpp Fri May 07 04:20:56 2010 -0700
@@ -81,3 +81,7 @@
ZeroFrame* last_Java_fp() const {
return _last_Java_fp;
}
+
+ static ByteSize last_Java_fp_offset() {
+ return byte_offset_of(JavaFrameAnchor, _last_Java_fp);
+ }
--- a/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp Thu May 06 02:09:18 2010 -0700
+++ b/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp Fri May 07 04:20:56 2010 -0700
@@ -89,6 +89,12 @@
}
public:
+ static ByteSize last_Java_fp_offset() {
+ return byte_offset_of(JavaThread, _anchor) +
+ JavaFrameAnchor::last_Java_fp_offset();
+ }
+
+ public:
// Check for pending suspend requests and pending asynchronous
// exceptions. There are separate accessors for these, but
// _suspend_flags is volatile so using them would be unsafe.