src/share/vm/utilities/debug.cpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 233,257 ****
void report_vm_out_of_memory(const char* file, int line, size_t size,
const char* message) {
if (Debugging) return;
- // We try to gather additional information for the first out of memory
- // error only; gathering additional data might cause an allocation and a
- // recursive out_of_memory condition.
-
- const jint exiting = 1;
- // If we succeed in changing the value, we're the first one in.
- bool first_time_here = Atomic::xchg(exiting, &_exiting_out_of_mem) != exiting;
-
- if (first_time_here) {
Thread* thread = ThreadLocalStorage::get_thread_slow();
VMError(thread, file, line, size, message).report_and_die();
- }
! // Dump core and abort
! vm_abort(true);
}
void report_should_not_call(const char* file, int line) {
report_vm_error(file, line, "ShouldNotCall()");
}
--- 233,248 ----
void report_vm_out_of_memory(const char* file, int line, size_t size,
const char* message) {
if (Debugging) return;
Thread* thread = ThreadLocalStorage::get_thread_slow();
VMError(thread, file, line, size, message).report_and_die();
! // The UseOSErrorReporting option in report_and_die() may allow a return to here.
! // If so then we'll have to figure out how to handle it.
! guarantee(false, "report_and_die() should not return here");
}
void report_should_not_call(const char* file, int line) {
report_vm_error(file, line, "ShouldNotCall()");
}