From edcd1f499066bf312db4ec358d8aa07a8ac5e07c Mon Sep 17 00:00:00 2001 From: twisti Date: Fri, 7 May 2010 04:20:56 -0700 Subject: [PATCH] 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 --- src/cpu/zero/vm/frame_zero.cpp | 4 ++++ src/cpu/zero/vm/frame_zero.hpp | 3 +++ src/cpu/zero/vm/javaFrameAnchor_zero.hpp | 4 ++++ src/os_cpu/linux_zero/vm/thread_linux_zero.hpp | 6 ++++++ 4 files changed, 17 insertions(+) diff --git a/src/cpu/zero/vm/frame_zero.cpp b/src/cpu/zero/vm/frame_zero.cpp index 0bf4ae68b..6a573a625 100644 --- a/src/cpu/zero/vm/frame_zero.cpp +++ b/src/cpu/zero/vm/frame_zero.cpp @@ -36,6 +36,10 @@ bool frame::is_interpreted_frame() const { 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"); diff --git a/src/cpu/zero/vm/frame_zero.hpp b/src/cpu/zero/vm/frame_zero.hpp index 31815eb24..4d32a5b81 100644 --- a/src/cpu/zero/vm/frame_zero.hpp +++ b/src/cpu/zero/vm/frame_zero.hpp @@ -61,6 +61,9 @@ return zeroframe()->as_shark_frame(); } + public: + bool is_fake_stub_frame() const; + public: frame sender_for_nonentry_frame(RegisterMap* map) const; diff --git a/src/cpu/zero/vm/javaFrameAnchor_zero.hpp b/src/cpu/zero/vm/javaFrameAnchor_zero.hpp index 7665780bc..93e25a274 100644 --- a/src/cpu/zero/vm/javaFrameAnchor_zero.hpp +++ b/src/cpu/zero/vm/javaFrameAnchor_zero.hpp @@ -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); + } diff --git a/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp b/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp index aea901199..b92daee96 100644 --- a/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp +++ b/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp @@ -88,6 +88,12 @@ return frame(last_Java_fp(), last_Java_sp()); } + 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 -- GitLab