--- old/src/hotspot/share/compiler/compilerDefinitions.hpp 2018-05-03 12:26:06.000000000 -0700 +++ /dev/null 2018-05-03 12:26:06.000000000 -0700 @@ -1,112 +0,0 @@ -/* - * Copyright (c) 2016, 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. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - * - */ - -#ifndef SHARE_VM_COMPILER_COMPILERDEFINITIONS_HPP -#define SHARE_VM_COMPILER_COMPILERDEFINITIONS_HPP - -#include "utilities/globalDefinitions.hpp" - -// The (closed set) of concrete compiler classes. -enum CompilerType { - compiler_none, - compiler_c1, - compiler_c2, - compiler_jvmci, - compiler_number_of_types -}; - -extern const char* compilertype2name_tab[compiler_number_of_types]; // Map CompilerType to its name -inline const char* compilertype2name(CompilerType t) { return (uint)t < compiler_number_of_types ? compilertype2name_tab[t] : NULL; } - -// Handy constants for deciding which compiler mode to use. -enum MethodCompilation { - InvocationEntryBci = -1 // i.e., not a on-stack replacement compilation -}; - -// Enumeration to distinguish tiers of compilation -enum CompLevel { - CompLevel_any = -2, - CompLevel_all = -2, - CompLevel_aot = -1, - CompLevel_none = 0, // Interpreter - CompLevel_simple = 1, // C1 - CompLevel_limited_profile = 2, // C1, invocation & backedge counters - CompLevel_full_profile = 3, // C1, invocation & backedge counters + mdo - CompLevel_full_optimization = 4 // C2 or JVMCI -}; - -extern CompLevel CompLevel_highest_tier; -extern CompLevel CompLevel_initial_compile; - -enum CompMode { - CompMode_none = 0, - CompMode_client = 1, - CompMode_server = 2 -}; - -extern CompMode Compilation_mode; - -inline bool is_server_compilation_mode_vm() { - return Compilation_mode == CompMode_server; -} - -inline bool is_client_compilation_mode_vm() { - return Compilation_mode == CompMode_client; -} - -extern void set_client_compilation_mode(); - -inline bool is_c1_compile(int comp_level) { - return comp_level > CompLevel_none && comp_level < CompLevel_full_optimization; -} - -inline bool is_c2_compile(int comp_level) { - return comp_level == CompLevel_full_optimization; -} - -inline bool is_highest_tier_compile(int comp_level) { - return comp_level == CompLevel_highest_tier; -} - -inline bool is_compile(int comp_level) { - return is_c1_compile(comp_level) || is_c2_compile(comp_level); -} - -// States of Restricted Transactional Memory usage. -enum RTMState { - NoRTM = 0x2, // Don't use RTM - UseRTM = 0x1, // Use RTM - ProfileRTM = 0x0 // Use RTM with abort ratio calculation -}; - -#ifndef INCLUDE_RTM_OPT -#define INCLUDE_RTM_OPT 0 -#endif -#if INCLUDE_RTM_OPT -#define RTM_OPT_ONLY(code) code -#else -#define RTM_OPT_ONLY(code) -#endif - -#endif // SHARE_VM_COMPILER_COMPILERDEFINITIONS_HPP