debug.cpp revision 1879
1472N/A * or visit www.oracle.com if you need additional information or have any
1879N/A#include "precompiled.hpp"
1879N/A#include "classfile/systemDictionary.hpp"
1879N/A#include "code/codeCache.hpp"
1879N/A#include "code/icBuffer.hpp"
1879N/A#include "code/nmethod.hpp"
1879N/A#include "code/vtableStubs.hpp"
1879N/A#include "compiler/compileBroker.hpp"
1879N/A#include "compiler/disassembler.hpp"
1879N/A#include "gc_implementation/shared/markSweep.hpp"
1879N/A#include "gc_interface/collectedHeap.hpp"
1879N/A#include "interpreter/bytecodeHistogram.hpp"
1879N/A#include "interpreter/interpreter.hpp"
1879N/A#include "memory/resourceArea.hpp"
1879N/A#include "memory/universe.hpp"
1879N/A#include "oops/oop.inline.hpp"
1879N/A#include "prims/privilegedStack.hpp"
1879N/A#include "runtime/arguments.hpp"
1879N/A#include "runtime/sharedRuntime.hpp"
1879N/A#include "runtime/stubCodeGenerator.hpp"
1879N/A#include "runtime/stubRoutines.hpp"
1879N/A#include "runtime/vframe.hpp"
1879N/A#include "services/heapDumper.hpp"
1879N/A#include "utilities/defaultStream.hpp"
1879N/A#include "utilities/events.hpp"
1879N/A#include "utilities/vmError.hpp"
1879N/A# include "os_linux.inline.hpp"
1879N/A# include "thread_linux.inline.hpp"
1879N/A# include "os_solaris.inline.hpp"
1879N/A# include "thread_solaris.inline.hpp"
1879N/A# include "os_windows.inline.hpp"
1879N/A# include "thread_windows.inline.hpp"
1790N/A if (PrintWarnings) {
0N/A if (!is_error_reported()) {
1410N/A const char* detail_msg)
0N/A if (first_time_here) {
0N/A if (HeapDumpOnOutOfMemoryError) {
0N/Astatic bool error_reported = false;
0N/Avoid set_error_reported() {
0N/A error_reported = true;
0N/Abool is_error_reported() {
0N/A return error_reported;
1410N/A // Keep this in sync with test/runtime/6888954/vmerrors.sh.
1410N/A default: ShouldNotReachHere();
0N/A bool debug_save;
0N/A // Actually we look through all CodeBlobs (the nm name has been kept for backwards compatability)
0N/A if (p->has_last_Java_frame()) {
0N/A p->trace_stack();
0N/A if (p->has_last_Java_frame()) {
0N/A p->trace_frames();
0N/A WizardMode = true;
0N/A PrintCompilation = false;
0N/A#ifndef VALIDATE_MARK_SWEEP
0N/A tty->print_cr("Requires build with VALIDATE_MARK_SWEEP defined (debug build) and RecordMarkSweepCompaction enabled");
0N/A tty->print_cr(" find(intptr_t x) - finds & prints nmethod/stub/bytecode/oop based on pointer into it");
0N/Astruct CommandParser {
0N/A char *description;
0N/A (char *)0, CMDID_ILLEGAL
0N/Avoid get_debug_command()
0N/A bool gotcommand;
0N/A gotcommand = false;
0N/A gotcommand = true;
0N/A case CMDID_FINDM:
0N/A case CMDID_FINDNM:
0N/A case CMDID_EXIT:
0N/A case CMDID_HELP:
0N/A case CMDID_QUIT:
0N/A case CMDID_VERIFY:
0N/A case CMDID_THREADS:
0N/A case CMDID_HSFIND:
0N/A case CMDID_ILLEGAL: