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