28 #include "memory/allocation.inline.hpp" |
28 #include "memory/allocation.inline.hpp" |
29 #include "oops/oop.inline.hpp" |
29 #include "oops/oop.inline.hpp" |
30 #include "runtime/arguments.hpp" |
30 #include "runtime/arguments.hpp" |
31 #include "runtime/globals.hpp" |
31 #include "runtime/globals.hpp" |
32 #include "runtime/globals_extension.hpp" |
32 #include "runtime/globals_extension.hpp" |
|
33 #include "runtime/globals_shared.hpp" |
33 #include "runtime/flags/jvmFlagConstraintList.hpp" |
34 #include "runtime/flags/jvmFlagConstraintList.hpp" |
34 #include "runtime/flags/jvmFlagWriteableList.hpp" |
35 #include "runtime/flags/jvmFlagWriteableList.hpp" |
35 #include "runtime/os.hpp" |
36 #include "runtime/os.hpp" |
36 #include "runtime/sharedRuntime.hpp" |
37 #include "runtime/sharedRuntime.hpp" |
37 #include "utilities/defaultStream.hpp" |
38 #include "utilities/defaultStream.hpp" |
38 #include "utilities/macros.hpp" |
39 #include "utilities/macros.hpp" |
39 #include "utilities/ostream.hpp" |
40 #include "utilities/ostream.hpp" |
40 #include "utilities/stringUtils.hpp" |
41 #include "utilities/stringUtils.hpp" |
41 #ifdef COMPILER1 |
|
42 #include "c1/c1_globals.hpp" |
|
43 #endif |
|
44 #if INCLUDE_JVMCI |
|
45 #include "jvmci/jvmci_globals.hpp" |
|
46 #endif |
|
47 #ifdef COMPILER2 |
|
48 #include "opto/c2_globals.hpp" |
|
49 #endif |
|
50 |
42 |
51 VM_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \ |
43 // Implementation macros |
52 MATERIALIZE_PD_DEVELOPER_FLAG, \ |
44 #define MATERIALIZE_PRODUCT_FLAG(type, name, value, doc) type name = value; |
53 MATERIALIZE_PRODUCT_FLAG, \ |
45 #define MATERIALIZE_PD_PRODUCT_FLAG(type, name, doc) type name = pd_##name; |
54 MATERIALIZE_PD_PRODUCT_FLAG, \ |
46 #define MATERIALIZE_DIAGNOSTIC_FLAG(type, name, value, doc) type name = value; |
55 MATERIALIZE_DIAGNOSTIC_FLAG, \ |
47 #define MATERIALIZE_PD_DIAGNOSTIC_FLAG(type, name, doc) type name = pd_##name; |
56 MATERIALIZE_PD_DIAGNOSTIC_FLAG, \ |
48 #define MATERIALIZE_EXPERIMENTAL_FLAG(type, name, value, doc) type name = value; |
57 MATERIALIZE_EXPERIMENTAL_FLAG, \ |
49 #define MATERIALIZE_MANAGEABLE_FLAG(type, name, value, doc) type name = value; |
58 MATERIALIZE_NOTPRODUCT_FLAG, \ |
50 #define MATERIALIZE_PRODUCT_RW_FLAG(type, name, value, doc) type name = value; |
59 MATERIALIZE_MANAGEABLE_FLAG, \ |
51 #ifdef PRODUCT |
60 MATERIALIZE_PRODUCT_RW_FLAG, \ |
52 #define MATERIALIZE_DEVELOPER_FLAG(type, name, value, doc) |
61 MATERIALIZE_LP64_PRODUCT_FLAG, \ |
53 #define MATERIALIZE_PD_DEVELOPER_FLAG(type, name, doc) |
62 IGNORE_RANGE, \ |
54 #define MATERIALIZE_NOTPRODUCT_FLAG(type, name, value, doc) |
63 IGNORE_CONSTRAINT, \ |
55 #else |
64 IGNORE_WRITEABLE) |
56 #define MATERIALIZE_DEVELOPER_FLAG(type, name, value, doc) type name = value; |
|
57 #define MATERIALIZE_PD_DEVELOPER_FLAG(type, name, doc) type name = pd_##name; |
|
58 #define MATERIALIZE_NOTPRODUCT_FLAG(type, name, value, doc) type name = value; |
|
59 #endif // PRODUCT |
|
60 #ifdef _LP64 |
|
61 #define MATERIALIZE_LP64_PRODUCT_FLAG(type, name, value, doc) type name = value; |
|
62 #else |
|
63 #define MATERIALIZE_LP64_PRODUCT_FLAG(type, name, value, doc) /* flag is constant */ |
|
64 #endif // _LP64 |
65 |
65 |
66 RUNTIME_OS_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \ |
|
67 MATERIALIZE_PD_DEVELOPER_FLAG, \ |
|
68 MATERIALIZE_PRODUCT_FLAG, \ |
|
69 MATERIALIZE_PD_PRODUCT_FLAG, \ |
|
70 MATERIALIZE_DIAGNOSTIC_FLAG, \ |
|
71 MATERIALIZE_PD_DIAGNOSTIC_FLAG, \ |
|
72 MATERIALIZE_NOTPRODUCT_FLAG, \ |
|
73 IGNORE_RANGE, \ |
|
74 IGNORE_CONSTRAINT, \ |
|
75 IGNORE_WRITEABLE) |
|
76 |
66 |
77 ARCH_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \ |
67 ALL_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \ |
78 MATERIALIZE_PRODUCT_FLAG, \ |
68 MATERIALIZE_PD_DEVELOPER_FLAG, \ |
79 MATERIALIZE_DIAGNOSTIC_FLAG, \ |
69 MATERIALIZE_PRODUCT_FLAG, \ |
80 MATERIALIZE_EXPERIMENTAL_FLAG, \ |
70 MATERIALIZE_PD_PRODUCT_FLAG, \ |
81 MATERIALIZE_NOTPRODUCT_FLAG, \ |
71 MATERIALIZE_DIAGNOSTIC_FLAG, \ |
82 IGNORE_RANGE, \ |
72 MATERIALIZE_PD_DIAGNOSTIC_FLAG, \ |
83 IGNORE_CONSTRAINT, \ |
73 MATERIALIZE_EXPERIMENTAL_FLAG, \ |
84 IGNORE_WRITEABLE) |
74 MATERIALIZE_NOTPRODUCT_FLAG, \ |
|
75 MATERIALIZE_MANAGEABLE_FLAG, \ |
|
76 MATERIALIZE_PRODUCT_RW_FLAG, \ |
|
77 MATERIALIZE_LP64_PRODUCT_FLAG, \ |
|
78 IGNORE_RANGE, \ |
|
79 IGNORE_CONSTRAINT, \ |
|
80 IGNORE_WRITEABLE) |
85 |
81 |
86 MATERIALIZE_FLAGS_EXT |
82 MATERIALIZE_FLAGS_EXT |