src/share/vm/runtime/frame.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/runtime/frame.cpp Mon Oct 31 17:47:06 2016
--- new/src/share/vm/runtime/frame.cpp Mon Oct 31 17:47:05 2016
*** 642,651 ****
--- 642,652 ----
// crash inside this function if stack frame is corrupted. The fatal error
// handler can catch and handle the crash. Here we assume the frame is valid.
//
// First letter indicates type of the frame:
// J: Java frame (compiled)
+ // A: Java frame (aot compiled)
// j: Java frame (interpreted)
// V: VM frame (C/C++)
// v: Other frames running VM generated code (e.g. stubs, adapters, etc.)
// C: C/C++ frame
//
*** 681,691 ****
--- 682,694 ----
st->print("v ~BufferBlob::%s", ((BufferBlob *)_cb)->name());
} else if (_cb->is_compiled()) {
CompiledMethod* cm = (CompiledMethod*)_cb;
Method* m = cm->method();
if (m != NULL) {
! if (cm->is_nmethod()) {
! if (cm->is_aot()) {
+ st->print("A %d ", cm->compile_id());
+ } else if (cm->is_nmethod()) {
nmethod* nm = cm->as_nmethod();
st->print("J %d%s", nm->compile_id(), (nm->is_osr_method() ? "%" : ""));
st->print(" %s", nm->compiler_name());
}
m->name_and_sig_as_C_string(buf, buflen);
*** 1260,1271 ****
--- 1263,1276 ----
values.describe(-1, info_address, err_msg("#%d entry frame", frame_no), 2);
} else if (is_compiled_frame()) {
// For now just label the frame
CompiledMethod* cm = (CompiledMethod*)cb();
values.describe(-1, info_address,
! FormatBuffer<1024>("#%d nmethod " INTPTR_FORMAT " for method %s%s", frame_no,
- p2i(cm), cm->method()->name_and_sig_as_C_string(),
! FormatBuffer<1024>("#%d nmethod " INTPTR_FORMAT " for method %s%s%s", frame_no,
! p2i(cm),
+ (cm->is_aot() ? "A ": "J "),
+ cm->method()->name_and_sig_as_C_string(),
(_deopt_state == is_deoptimized) ?
" (deoptimized)" :
((_deopt_state == unknown) ? " (state unknown)" : "")),
2);
} else if (is_native_frame()) {
src/share/vm/runtime/frame.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File