hotspot/src/share/vm/utilities/exceptions.hpp
changeset 35477 7a00b08d27bc
parent 33593 60764a78fa5c
child 35495 e27da438fa13
equal deleted inserted replaced
35474:8333d76c7fee 35477:7a00b08d27bc
     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.: