comparison src/share/vm/runtime/globals.cpp @ 4107:cd00eaeebef6

7117389: Add a framework for vendor-specific command line switch extensions to Hotspot Summary: Add a file, globals_ext.hpp, containing a null interface, to be replaced by a vendor in altsrc as needed. Reviewed-by: coleenp, kamg, dholmes, johnc, jrose
author phh
date Mon, 05 Dec 2011 12:50:00 -0500
parents 358eca91be48
children 6c995c08526c
comparison
equal deleted inserted replaced
4088:358eca91be48 4107:cd00eaeebef6
1 /* 1 /*
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2011, 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.
53 53
54 RUNTIME_OS_FLAGS(MATERIALIZE_DEVELOPER_FLAG, MATERIALIZE_PD_DEVELOPER_FLAG, \ 54 RUNTIME_OS_FLAGS(MATERIALIZE_DEVELOPER_FLAG, MATERIALIZE_PD_DEVELOPER_FLAG, \
55 MATERIALIZE_PRODUCT_FLAG, MATERIALIZE_PD_PRODUCT_FLAG, \ 55 MATERIALIZE_PRODUCT_FLAG, MATERIALIZE_PD_PRODUCT_FLAG, \
56 MATERIALIZE_DIAGNOSTIC_FLAG, MATERIALIZE_NOTPRODUCT_FLAG) 56 MATERIALIZE_DIAGNOSTIC_FLAG, MATERIALIZE_NOTPRODUCT_FLAG)
57 57
58 MATERIALIZE_FLAGS_EXT
59
60
58 bool Flag::is_unlocker() const { 61 bool Flag::is_unlocker() const {
59 return strcmp(name, "UnlockDiagnosticVMOptions") == 0 || 62 return strcmp(name, "UnlockDiagnosticVMOptions") == 0 ||
60 strcmp(name, "UnlockExperimentalVMOptions") == 0; 63 strcmp(name, "UnlockExperimentalVMOptions") == 0 ||
61 64 is_unlocker_ext();
62 } 65 }
63 66
64 bool Flag::is_unlocked() const { 67 bool Flag::is_unlocked() const {
65 if (strcmp(kind, "{diagnostic}") == 0) { 68 if (strcmp(kind, "{diagnostic}") == 0) {
66 if (strcmp(name, "EnableInvokeDynamic") == 0 && UnlockExperimentalVMOptions && !UnlockDiagnosticVMOptions) { 69 if (strcmp(name, "EnableInvokeDynamic") == 0 && UnlockExperimentalVMOptions && !UnlockDiagnosticVMOptions) {
72 return UnlockDiagnosticVMOptions; 75 return UnlockDiagnosticVMOptions;
73 } else if (strcmp(kind, "{experimental}") == 0 || 76 } else if (strcmp(kind, "{experimental}") == 0 ||
74 strcmp(kind, "{C2 experimental}") == 0) { 77 strcmp(kind, "{C2 experimental}") == 0) {
75 return UnlockExperimentalVMOptions; 78 return UnlockExperimentalVMOptions;
76 } else { 79 } else {
77 return true; 80 return is_unlocked_ext();
78 } 81 }
79 } 82 }
80 83
81 bool Flag::is_writeable() const { 84 bool Flag::is_writeable() const {
82 return (strcmp(kind, "{manageable}") == 0 || strcmp(kind, "{product rw}") == 0); 85 return (strcmp(kind, "{manageable}") == 0 || strcmp(kind, "{product rw}") == 0);
239 C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, C2_PD_DEVELOP_FLAG_STRUCT, C2_PRODUCT_FLAG_STRUCT, C2_PD_PRODUCT_FLAG_STRUCT, C2_DIAGNOSTIC_FLAG_STRUCT, C2_EXPERIMENTAL_FLAG_STRUCT, C2_NOTPRODUCT_FLAG_STRUCT) 242 C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, C2_PD_DEVELOP_FLAG_STRUCT, C2_PRODUCT_FLAG_STRUCT, C2_PD_PRODUCT_FLAG_STRUCT, C2_DIAGNOSTIC_FLAG_STRUCT, C2_EXPERIMENTAL_FLAG_STRUCT, C2_NOTPRODUCT_FLAG_STRUCT)
240 #endif 243 #endif
241 #ifdef SHARK 244 #ifdef SHARK
242 SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT) 245 SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT)
243 #endif 246 #endif
247 FLAGTABLE_EXT
244 {0, NULL, NULL} 248 {0, NULL, NULL}
245 }; 249 };
246 250
247 Flag* Flag::flags = flagTable; 251 Flag* Flag::flags = flagTable;
248 size_t Flag::numFlags = (sizeof(flagTable) / sizeof(Flag)); 252 size_t Flag::numFlags = (sizeof(flagTable) / sizeof(Flag));