equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
25 #ifndef SHARE_VM_UTILITIES_EXCEPTIONS_HPP |
25 #ifndef SHARE_VM_UTILITIES_EXCEPTIONS_HPP |
26 #define SHARE_VM_UTILITIES_EXCEPTIONS_HPP |
26 #define SHARE_VM_UTILITIES_EXCEPTIONS_HPP |
27 |
27 |
28 #include "memory/allocation.hpp" |
28 #include "memory/allocation.hpp" |
29 #include "oops/oopsHierarchy.hpp" |
29 #include "oops/oopsHierarchy.hpp" |
|
30 #include "utilities/ostream.hpp" |
30 #include "utilities/sizes.hpp" |
31 #include "utilities/sizes.hpp" |
31 |
32 |
32 // This file provides the basic support for exception handling in the VM. |
33 // This file provides the basic support for exception handling in the VM. |
33 // Note: We do not use C++ exceptions to avoid compiler dependencies and |
34 // Note: We do not use C++ exceptions to avoid compiler dependencies and |
34 // unpredictable performance. |
35 // unpredictable performance. |
175 |
176 |
176 // for AbortVMOnException flag |
177 // for AbortVMOnException flag |
177 static void debug_check_abort(Handle exception, const char* message = NULL); |
178 static void debug_check_abort(Handle exception, const char* message = NULL); |
178 static void debug_check_abort_helper(Handle exception, const char* message = NULL); |
179 static void debug_check_abort_helper(Handle exception, const char* message = NULL); |
179 static void debug_check_abort(const char *value_string, const char* message = NULL); |
180 static void debug_check_abort(const char *value_string, const char* message = NULL); |
|
181 |
|
182 // for logging exceptions |
|
183 static void log_exception(Handle exception, stringStream tempst); |
180 }; |
184 }; |
181 |
185 |
182 |
186 |
183 // The THREAD & TRAPS macros facilitate the declaration of functions that throw exceptions. |
187 // The THREAD & TRAPS macros facilitate the declaration of functions that throw exceptions. |
184 // Convention: Use the TRAPS macro as the last argument of such a function; e.g.: |
188 // Convention: Use the TRAPS macro as the last argument of such a function; e.g.: |