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_VM_COMPILER_COMPILERDEFINITIONS_HPP
26 #define SHARE_VM_COMPILER_COMPILERDEFINITIONS_HPP
27
28 #include "utilities/globalDefinitions.hpp"
29
30 // The (closed set) of concrete compiler classes.
31 enum CompilerType {
32 compiler_none,
33 compiler_c1,
34 compiler_c2,
35 compiler_jvmci,
36 compiler_shark,
37 compiler_number_of_types
38 };
39
40 extern const char* compilertype2name_tab[compiler_number_of_types]; // Map CompilerType to its name
41 inline const char* compilertype2name(CompilerType t) { return (uint)t < compiler_number_of_types ? compilertype2name_tab[t] : NULL; }
42
43 // Handy constants for deciding which compiler mode to use.
44 enum MethodCompilation {
45 InvocationEntryBci = -1 // i.e., not a on-stack replacement compilation
46 };
47
48 // Enumeration to distinguish tiers of compilation
49 enum CompLevel {
50 CompLevel_any = -2,
51 CompLevel_all = -2,
52 CompLevel_aot = -1,
53 CompLevel_none = 0, // Interpreter
54 CompLevel_simple = 1, // C1
55 CompLevel_limited_profile = 2, // C1, invocation & backedge counters
56 CompLevel_full_profile = 3, // C1, invocation & backedge counters + mdo
57 CompLevel_full_optimization = 4 // C2, Shark or JVMCI
58 };
59
60 extern CompLevel CompLevel_highest_tier;
61 extern CompLevel CompLevel_initial_compile;
62
63 enum CompMode {
64 CompMode_none = 0,
65 CompMode_client = 1,
66 CompMode_server = 2
67 };
68
69 extern CompMode Compilation_mode;
70
71 inline bool is_server_compilation_mode_vm() {
72 return Compilation_mode == CompMode_server;
73 }
74
75 inline bool is_client_compilation_mode_vm() {
76 return Compilation_mode == CompMode_client;
77 }
|
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_VM_COMPILER_COMPILERDEFINITIONS_HPP
26 #define SHARE_VM_COMPILER_COMPILERDEFINITIONS_HPP
27
28 #include "utilities/globalDefinitions.hpp"
29
30 // The (closed set) of concrete compiler classes.
31 enum CompilerType {
32 compiler_none,
33 compiler_c1,
34 compiler_c2,
35 compiler_jvmci,
36 compiler_number_of_types
37 };
38
39 extern const char* compilertype2name_tab[compiler_number_of_types]; // Map CompilerType to its name
40 inline const char* compilertype2name(CompilerType t) { return (uint)t < compiler_number_of_types ? compilertype2name_tab[t] : NULL; }
41
42 // Handy constants for deciding which compiler mode to use.
43 enum MethodCompilation {
44 InvocationEntryBci = -1 // i.e., not a on-stack replacement compilation
45 };
46
47 // Enumeration to distinguish tiers of compilation
48 enum CompLevel {
49 CompLevel_any = -2,
50 CompLevel_all = -2,
51 CompLevel_aot = -1,
52 CompLevel_none = 0, // Interpreter
53 CompLevel_simple = 1, // C1
54 CompLevel_limited_profile = 2, // C1, invocation & backedge counters
55 CompLevel_full_profile = 3, // C1, invocation & backedge counters + mdo
56 CompLevel_full_optimization = 4 // C2 or JVMCI
57 };
58
59 extern CompLevel CompLevel_highest_tier;
60 extern CompLevel CompLevel_initial_compile;
61
62 enum CompMode {
63 CompMode_none = 0,
64 CompMode_client = 1,
65 CompMode_server = 2
66 };
67
68 extern CompMode Compilation_mode;
69
70 inline bool is_server_compilation_mode_vm() {
71 return Compilation_mode == CompMode_server;
72 }
73
74 inline bool is_client_compilation_mode_vm() {
75 return Compilation_mode == CompMode_client;
76 }
|