comparison src/share/vm/runtime/globals.cpp @ 1080:7c57aead6d3e

6892658: C2 should optimize some stringbuilder patterns Reviewed-by: kvn, twisti
author never
date Thu, 12 Nov 2009 09:24:21 -0800
parents ba7ea42fc66e
children f62a22282a47
comparison
equal deleted inserted replaced
1078:8e7adf982378 1080:7c57aead6d3e
44 } 44 }
45 45
46 bool Flag::is_unlocked() const { 46 bool Flag::is_unlocked() const {
47 if (strcmp(kind, "{diagnostic}") == 0) { 47 if (strcmp(kind, "{diagnostic}") == 0) {
48 return UnlockDiagnosticVMOptions; 48 return UnlockDiagnosticVMOptions;
49 } else if (strcmp(kind, "{experimental}") == 0) { 49 } else if (strcmp(kind, "{experimental}") == 0 ||
50 strcmp(kind, "{C2 experimental}") == 0) {
50 return UnlockExperimentalVMOptions; 51 return UnlockExperimentalVMOptions;
51 } else { 52 } else {
52 return true; 53 return true;
53 } 54 }
54 } 55 }
167 168
168 169
169 #define C2_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 product}", DEFAULT }, 170 #define C2_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 product}", DEFAULT },
170 #define C2_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{C2 pd product}", DEFAULT }, 171 #define C2_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{C2 pd product}", DEFAULT },
171 #define C2_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 diagnostic}", DEFAULT }, 172 #define C2_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 diagnostic}", DEFAULT },
173 #define C2_EXPERIMENTAL_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 experimental}", DEFAULT },
172 #ifdef PRODUCT 174 #ifdef PRODUCT
173 #define C2_DEVELOP_FLAG_STRUCT(type, name, value, doc) /* flag is constant */ 175 #define C2_DEVELOP_FLAG_STRUCT(type, name, value, doc) /* flag is constant */
174 #define C2_PD_DEVELOP_FLAG_STRUCT(type, name, doc) /* flag is constant */ 176 #define C2_PD_DEVELOP_FLAG_STRUCT(type, name, doc) /* flag is constant */
175 #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) 177 #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc)
176 #else 178 #else
188 #endif // SERIALGC 190 #endif // SERIALGC
189 #ifdef COMPILER1 191 #ifdef COMPILER1
190 C1_FLAGS(C1_DEVELOP_FLAG_STRUCT, C1_PD_DEVELOP_FLAG_STRUCT, C1_PRODUCT_FLAG_STRUCT, C1_PD_PRODUCT_FLAG_STRUCT, C1_NOTPRODUCT_FLAG_STRUCT) 192 C1_FLAGS(C1_DEVELOP_FLAG_STRUCT, C1_PD_DEVELOP_FLAG_STRUCT, C1_PRODUCT_FLAG_STRUCT, C1_PD_PRODUCT_FLAG_STRUCT, C1_NOTPRODUCT_FLAG_STRUCT)
191 #endif 193 #endif
192 #ifdef COMPILER2 194 #ifdef COMPILER2
193 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_NOTPRODUCT_FLAG_STRUCT) 195 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)
194 #endif 196 #endif
195 {0, NULL, NULL} 197 {0, NULL, NULL}
196 }; 198 };
197 199
198 Flag* Flag::flags = flagTable; 200 Flag* Flag::flags = flagTable;