comparison src/share/vm/runtime/globals.cpp @ 8124:5fc51c1ecdeb

Merge.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 05 Mar 2013 23:44:54 +0100
parents 1baf7f1e3f23 64d2a0a39954
children 6b0fd0964b87
comparison
equal deleted inserted replaced
7943:a413bcd552a4 8124:5fc51c1ecdeb
1 /* 1 /*
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
27 #include "oops/oop.inline.hpp" 27 #include "oops/oop.inline.hpp"
28 #include "runtime/arguments.hpp" 28 #include "runtime/arguments.hpp"
29 #include "runtime/globals.hpp" 29 #include "runtime/globals.hpp"
30 #include "runtime/globals_extension.hpp" 30 #include "runtime/globals_extension.hpp"
31 #include "utilities/ostream.hpp" 31 #include "utilities/ostream.hpp"
32 #include "utilities/macros.hpp"
32 #include "utilities/top.hpp" 33 #include "utilities/top.hpp"
33 #ifndef SERIALGC 34 #if INCLUDE_ALL_GCS
34 #include "gc_implementation/g1/g1_globals.hpp" 35 #include "gc_implementation/g1/g1_globals.hpp"
35 #endif 36 #endif // INCLUDE_ALL_GCS
36 #ifdef COMPILER1 37 #ifdef COMPILER1
37 #include "c1/c1_globals.hpp" 38 #include "c1/c1_globals.hpp"
38 #endif 39 #endif
39 #ifdef GRAAL 40 #ifdef GRAAL
40 #include "graal/graalGlobals.hpp" 41 #include "graal/graalGlobals.hpp"
69 strcmp(name, "UnlockExperimentalVMOptions") == 0 || 70 strcmp(name, "UnlockExperimentalVMOptions") == 0 ||
70 is_unlocker_ext(); 71 is_unlocker_ext();
71 } 72 }
72 73
73 bool Flag::is_unlocked() const { 74 bool Flag::is_unlocked() const {
74 if (strcmp(kind, "{diagnostic}") == 0) { 75 if (strcmp(kind, "{diagnostic}") == 0 ||
76 strcmp(kind, "{C2 diagnostic}") == 0 ||
77 strcmp(kind, "{ARCH diagnostic}") == 0 ||
78 strcmp(kind, "{Shark diagnostic}") == 0) {
75 if (strcmp(name, "EnableInvokeDynamic") == 0 && UnlockExperimentalVMOptions && !UnlockDiagnosticVMOptions) { 79 if (strcmp(name, "EnableInvokeDynamic") == 0 && UnlockExperimentalVMOptions && !UnlockDiagnosticVMOptions) {
76 // transitional logic to allow tests to run until they are changed 80 // transitional logic to allow tests to run until they are changed
77 static int warned; 81 static int warned;
78 if (++warned == 1) warning("Use -XX:+UnlockDiagnosticVMOptions before EnableInvokeDynamic flag"); 82 if (++warned == 1) warning("Use -XX:+UnlockDiagnosticVMOptions before EnableInvokeDynamic flag");
79 return true; 83 return true;
80 } 84 }
81 return UnlockDiagnosticVMOptions; 85 return UnlockDiagnosticVMOptions;
82 } else if (strcmp(kind, "{experimental}") == 0 || 86 } else if (strcmp(kind, "{experimental}") == 0 ||
83 strcmp(kind, "{C2 experimental}") == 0) { 87 strcmp(kind, "{C2 experimental}") == 0 ||
88 strcmp(kind, "{ARCH experimental}") == 0 ||
89 strcmp(kind, "{Shark experimental}") == 0) {
84 return UnlockExperimentalVMOptions; 90 return UnlockExperimentalVMOptions;
85 } else { 91 } else {
86 return is_unlocked_ext(); 92 return is_unlocked_ext();
87 } 93 }
88 } 94 }
269 #endif 275 #endif
270 276
271 static Flag flagTable[] = { 277 static Flag flagTable[] = {
272 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT, RUNTIME_LP64_PRODUCT_FLAG_STRUCT) 278 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT, RUNTIME_LP64_PRODUCT_FLAG_STRUCT)
273 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT) 279 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT)
274 #ifndef SERIALGC 280 #if INCLUDE_ALL_GCS
275 G1_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT) 281 G1_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT)
276 #endif // SERIALGC 282 #endif // INCLUDE_ALL_GCS
277 #ifdef COMPILER1 283 #ifdef COMPILER1
278 C1_FLAGS(C1_DEVELOP_FLAG_STRUCT, C1_PD_DEVELOP_FLAG_STRUCT, C1_PRODUCT_FLAG_STRUCT, C1_PD_PRODUCT_FLAG_STRUCT, C1_NOTPRODUCT_FLAG_STRUCT) 284 C1_FLAGS(C1_DEVELOP_FLAG_STRUCT, C1_PD_DEVELOP_FLAG_STRUCT, C1_PRODUCT_FLAG_STRUCT, C1_PD_PRODUCT_FLAG_STRUCT, C1_NOTPRODUCT_FLAG_STRUCT)
279 #endif 285 #endif
280 #ifdef GRAAL 286 #ifdef GRAAL
281 GRAAL_FLAGS(GRAAL_DEVELOP_FLAG_STRUCT, GRAAL_PD_DEVELOP_FLAG_STRUCT, GRAAL_PRODUCT_FLAG_STRUCT, GRAAL_PD_PRODUCT_FLAG_STRUCT, GRAAL_NOTPRODUCT_FLAG_STRUCT) 287 GRAAL_FLAGS(GRAAL_DEVELOP_FLAG_STRUCT, GRAAL_PD_DEVELOP_FLAG_STRUCT, GRAAL_PRODUCT_FLAG_STRUCT, GRAAL_PD_PRODUCT_FLAG_STRUCT, GRAAL_NOTPRODUCT_FLAG_STRUCT)