changeset 1729:6cfbdb113e52

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>
author twisti
date Fri, 07 May 2010 04:20:56 -0700
parents 348346af6676
children df736661d0c8
files src/cpu/zero/vm/frame_zero.cpp src/cpu/zero/vm/frame_zero.hpp src/cpu/zero/vm/javaFrameAnchor_zero.hpp src/os_cpu/linux_zero/vm/thread_linux_zero.hpp
diffstat 4 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/zero/vm/frame_zero.cpp	Thu May 06 02:09:18 2010 -0700
+++ b/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/src/cpu/zero/vm/frame_zero.hpp	Thu May 06 02:09:18 2010 -0700
+++ b/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/src/cpu/zero/vm/javaFrameAnchor_zero.hpp	Thu May 06 02:09:18 2010 -0700
+++ b/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/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp	Thu May 06 02:09:18 2010 -0700
+++ b/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.