13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_RUNTIME_JAVA_HPP
26 #define SHARE_RUNTIME_JAVA_HPP
27
28 #include "utilities/globalDefinitions.hpp"
29
30 class Handle;
31 class JavaThread;
32 class Symbol;
33
34 // Execute code before all handles are released and thread is killed; prologue to vm_exit
35 extern void before_exit(JavaThread * thread, bool halt = false);
36
37 // Forced VM exit (i.e, internal error or JVM_Exit)
38 extern void vm_exit(int code);
39
40 // Wrapper for ::exit()
41 extern void vm_direct_exit(int code);
42 extern void vm_direct_exit(int code, const char* message);
43
44 // Shutdown the VM but do not exit the process
45 extern void vm_shutdown();
46 // Shutdown the VM and abort the process
47 extern void vm_abort(bool dump_core=true);
48
49 // Trigger any necessary notification of the VM being shutdown
50 extern void notify_vm_shutdown();
51
52 // VM exit if error occurs during initialization of VM
53 extern void vm_exit_during_initialization();
54 extern void vm_exit_during_initialization(Handle exception);
55 extern void vm_exit_during_initialization(Symbol* exception_name, const char* message);
56 extern void vm_exit_during_initialization(const char* error, const char* message = nullptr);
57 extern void vm_shutdown_during_initialization(const char* error, const char* message = nullptr);
58
59 extern void vm_exit_during_cds_dumping(const char* error, const char* message = nullptr);
60
61 // This is defined in linkType.cpp due to linking restraints
62 extern bool is_vm_statically_linked();
63
64 /**
65 * With the integration of the changes to handle the version string
66 * as defined by JEP-223, most of the code related to handle the version
67 * string prior to JDK 1.6 was removed (partial initialization)
68 */
69 class JDK_Version {
70 friend class Universe;
71 friend void JDK_Version_init();
72 private:
73
74 static JDK_Version _current;
75 static const char* _java_version;
76 static const char* _runtime_name;
77 static const char* _runtime_version;
78 static const char* _runtime_vendor_version;
79 static const char* _runtime_vendor_vm_bug_url;
80
|
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_RUNTIME_JAVA_HPP
26 #define SHARE_RUNTIME_JAVA_HPP
27
28 #include "utilities/globalDefinitions.hpp"
29
30 class Handle;
31 class JavaThread;
32 class Symbol;
33 class outputStream;
34
35 // Execute code before all handles are released and thread is killed; prologue to vm_exit
36 extern void before_exit(JavaThread * thread, bool halt = false);
37
38 // Forced VM exit (i.e, internal error or JVM_Exit)
39 extern void vm_exit(int code);
40
41 // Wrapper for ::exit()
42 extern void vm_direct_exit(int code);
43 extern void vm_direct_exit(int code, const char* message);
44
45 // Shutdown the VM but do not exit the process
46 extern void vm_shutdown();
47 // Shutdown the VM and abort the process
48 extern void vm_abort(bool dump_core=true);
49
50 // Trigger any necessary notification of the VM being shutdown
51 extern void notify_vm_shutdown();
52
53 // VM exit if error occurs during initialization of VM
54 extern void vm_exit_during_initialization();
55 extern void vm_exit_during_initialization(Handle exception);
56 extern void vm_exit_during_initialization(Symbol* exception_name, const char* message);
57 extern void vm_exit_during_initialization(const char* error, const char* message = nullptr);
58 extern void vm_shutdown_during_initialization(const char* error, const char* message = nullptr);
59
60 extern void vm_exit_during_cds_dumping(const char* error, const char* message = nullptr);
61
62 extern void perf_jvm_print_on(outputStream* st);
63 extern void perf_deoptimization_print_on(outputStream* st);
64
65 extern void log_vm_init_stats();
66
67 // This is defined in linkType.cpp due to linking restraints
68 extern bool is_vm_statically_linked();
69
70 /**
71 * With the integration of the changes to handle the version string
72 * as defined by JEP-223, most of the code related to handle the version
73 * string prior to JDK 1.6 was removed (partial initialization)
74 */
75 class JDK_Version {
76 friend class Universe;
77 friend void JDK_Version_init();
78 private:
79
80 static JDK_Version _current;
81 static const char* _java_version;
82 static const char* _runtime_name;
83 static const char* _runtime_version;
84 static const char* _runtime_vendor_version;
85 static const char* _runtime_vendor_vm_bug_url;
86
|