java.hpp revision 2014
2014N/A * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 0N/A * published by the Free Software Foundation. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1472N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A// Register function to be called by before_exit 0N/A// Execute code before all handles are released and thread is killed; prologue to vm_exit 0N/A// Forced VM exit (i.e, internal error or JVM_Exit) 0N/A// Wrapper for ::exit() 0N/A// Shutdown the VM but do not exit the process 0N/A// Shutdown the VM and abort the process 0N/A// Trigger any necessary notification of the VM being shutdown 0N/A// VM exit if error occurs during initialization of VM 242N/A * Discovering the JDK_Version during initialization is tricky when the 242N/A * running JDK is less than JDK6. For JDK6 and greater, a "GetVersion" 242N/A * 'initialize()' call to find the version. For JDKs with version < 6, no 242N/A * such call exists and we have to probe the JDK in order to determine 242N/A * the exact version. This probing cannot happen during late in 242N/A * the VM initialization process so there's a period of time during 242N/A * initialization when we don't know anything about the JDK version other than 242N/A * that it less than version 6. This is the "partially initialized" time, 242N/A * when we can answer only certain version queries (such as, is the JDK 242N/A * version greater than 5? Answer: no). Once the JDK probing occurs, we 242N/A * know the version and are considered fully initialized. 242N/A // In this class, we promote the minor version of release to be the 242N/A // major version for releases >= 5 in anticipation of the JDK doing the 242N/A // same thing. For example, we represent "1.5.0" as major version 5 (we 242N/A // drop the leading 1 and use 5 as the 'major'). 242N/A // If partially initialized, the above fields are invalid and we know 242N/A // that we're less than major version 6. 242N/A // initializes or partially initializes the _current static field 242N/A // Completes initialization for a pre-JDK6 version. 242N/A // Returns true if the the current version has only been partially initialized 242N/A // Returns the current running JDK version 242N/A // Factory methods for convenience 242N/A // Performs a full ordering comparison using all fields (update, build, etc.) 242N/A * Performs comparison using only the major version, returning negative 242N/A * if the major version of 'this' is less than the parameter, 0 if it is 242N/A * equal, and a positive value if it is greater. 242N/A assert(
false,
"Can't make this comparison during init time");
242N/A return -
1;
// conservative 1879N/A#
endif // SHARE_VM_RUNTIME_JAVA_HPP