mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
6890308: integrate zero assembler hotspot changes
Reviewed-by: never
This commit is contained in:
parent
9b306d03ee
commit
5473f394c6
108 changed files with 7657 additions and 56 deletions
|
@ -458,6 +458,40 @@ void VMError::report(outputStream* st) {
|
|||
|
||||
if (_verbose && _thread && _thread->is_Java_thread()) {
|
||||
JavaThread* jt = (JavaThread*)_thread;
|
||||
#ifdef ZERO
|
||||
if (jt->zero_stack()->sp() && jt->top_zero_frame()) {
|
||||
// StackFrameStream uses the frame anchor, which may not have
|
||||
// been set up. This can be done at any time in Zero, however,
|
||||
// so if it hasn't been set up then we just set it up now and
|
||||
// clear it again when we're done.
|
||||
bool has_last_Java_frame = jt->has_last_Java_frame();
|
||||
if (!has_last_Java_frame)
|
||||
jt->set_last_Java_frame();
|
||||
st->print("Java frames:");
|
||||
|
||||
// If the top frame is a Shark frame and the frame anchor isn't
|
||||
// set up then it's possible that the information in the frame
|
||||
// is garbage: it could be from a previous decache, or it could
|
||||
// simply have never been written. So we print a warning...
|
||||
StackFrameStream sfs(jt);
|
||||
if (!has_last_Java_frame && !sfs.is_done()) {
|
||||
if (sfs.current()->zeroframe()->is_shark_frame()) {
|
||||
st->print(" (TOP FRAME MAY BE JUNK)");
|
||||
}
|
||||
}
|
||||
st->cr();
|
||||
|
||||
// Print the frames
|
||||
for(int i = 0; !sfs.is_done(); sfs.next(), i++) {
|
||||
sfs.current()->zero_print_on_error(i, st, buf, sizeof(buf));
|
||||
st->cr();
|
||||
}
|
||||
|
||||
// Reset the frame anchor if necessary
|
||||
if (!has_last_Java_frame)
|
||||
jt->reset_last_Java_frame();
|
||||
}
|
||||
#else
|
||||
if (jt->has_last_Java_frame()) {
|
||||
st->print_cr("Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)");
|
||||
for(StackFrameStream sfs(jt); !sfs.is_done(); sfs.next()) {
|
||||
|
@ -465,6 +499,7 @@ void VMError::report(outputStream* st) {
|
|||
st->cr();
|
||||
}
|
||||
}
|
||||
#endif // ZERO
|
||||
}
|
||||
|
||||
STEP(140, "(printing VM operation)" )
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue