6950617: Zero/Shark interface updates

Zero needs a couple of new methods to allow Shark to access the new frame anchor field.

Reviewed-by: twisti
This commit is contained in:
Gary Benson 2010-05-07 04:20:56 -07:00 committed by Christian Thalinger
parent 4d6c5d6fef
commit 399d1f6a5f
4 changed files with 17 additions and 0 deletions

@ -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");

@ -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;

@ -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);
}

@ -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