Mercurial > hg > graal-compiler
comparison src/share/vm/utilities/vmError.cpp @ 1010:354d3184f6b2
6890308: integrate zero assembler hotspot changes
Reviewed-by: never
Contributed-by: gbenson@redhat.com
author | never |
---|---|
date | Tue, 13 Oct 2009 12:04:21 -0700 |
parents | 7bb995fbd3c0 |
children | 547f81740344 |
comparison
equal
deleted
inserted
replaced
1009:03b336640699 | 1010:354d3184f6b2 |
---|---|
456 | 456 |
457 STEP(130, "(printing Java stack)" ) | 457 STEP(130, "(printing Java stack)" ) |
458 | 458 |
459 if (_verbose && _thread && _thread->is_Java_thread()) { | 459 if (_verbose && _thread && _thread->is_Java_thread()) { |
460 JavaThread* jt = (JavaThread*)_thread; | 460 JavaThread* jt = (JavaThread*)_thread; |
461 #ifdef ZERO | |
462 if (jt->zero_stack()->sp() && jt->top_zero_frame()) { | |
463 // StackFrameStream uses the frame anchor, which may not have | |
464 // been set up. This can be done at any time in Zero, however, | |
465 // so if it hasn't been set up then we just set it up now and | |
466 // clear it again when we're done. | |
467 bool has_last_Java_frame = jt->has_last_Java_frame(); | |
468 if (!has_last_Java_frame) | |
469 jt->set_last_Java_frame(); | |
470 st->print("Java frames:"); | |
471 | |
472 // If the top frame is a Shark frame and the frame anchor isn't | |
473 // set up then it's possible that the information in the frame | |
474 // is garbage: it could be from a previous decache, or it could | |
475 // simply have never been written. So we print a warning... | |
476 StackFrameStream sfs(jt); | |
477 if (!has_last_Java_frame && !sfs.is_done()) { | |
478 if (sfs.current()->zeroframe()->is_shark_frame()) { | |
479 st->print(" (TOP FRAME MAY BE JUNK)"); | |
480 } | |
481 } | |
482 st->cr(); | |
483 | |
484 // Print the frames | |
485 for(int i = 0; !sfs.is_done(); sfs.next(), i++) { | |
486 sfs.current()->zero_print_on_error(i, st, buf, sizeof(buf)); | |
487 st->cr(); | |
488 } | |
489 | |
490 // Reset the frame anchor if necessary | |
491 if (!has_last_Java_frame) | |
492 jt->reset_last_Java_frame(); | |
493 } | |
494 #else | |
461 if (jt->has_last_Java_frame()) { | 495 if (jt->has_last_Java_frame()) { |
462 st->print_cr("Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)"); | 496 st->print_cr("Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)"); |
463 for(StackFrameStream sfs(jt); !sfs.is_done(); sfs.next()) { | 497 for(StackFrameStream sfs(jt); !sfs.is_done(); sfs.next()) { |
464 sfs.current()->print_on_error(st, buf, sizeof(buf)); | 498 sfs.current()->print_on_error(st, buf, sizeof(buf)); |
465 st->cr(); | 499 st->cr(); |
466 } | 500 } |
467 } | 501 } |
502 #endif // ZERO | |
468 } | 503 } |
469 | 504 |
470 STEP(140, "(printing VM operation)" ) | 505 STEP(140, "(printing VM operation)" ) |
471 | 506 |
472 if (_verbose && _thread && _thread->is_VM_thread()) { | 507 if (_verbose && _thread && _thread->is_VM_thread()) { |