71 bool Flag::is_unlocked() const { |
71 bool Flag::is_unlocked() const { |
72 if (strcmp(kind, "{diagnostic}") == 0 || |
72 if (strcmp(kind, "{diagnostic}") == 0 || |
73 strcmp(kind, "{C2 diagnostic}") == 0 || |
73 strcmp(kind, "{C2 diagnostic}") == 0 || |
74 strcmp(kind, "{ARCH diagnostic}") == 0 || |
74 strcmp(kind, "{ARCH diagnostic}") == 0 || |
75 strcmp(kind, "{Shark diagnostic}") == 0) { |
75 strcmp(kind, "{Shark diagnostic}") == 0) { |
76 if (strcmp(name, "EnableInvokeDynamic") == 0 && UnlockExperimentalVMOptions && !UnlockDiagnosticVMOptions) { |
|
77 // transitional logic to allow tests to run until they are changed |
|
78 static int warned; |
|
79 if (++warned == 1) warning("Use -XX:+UnlockDiagnosticVMOptions before EnableInvokeDynamic flag"); |
|
80 return true; |
|
81 } |
|
82 return UnlockDiagnosticVMOptions; |
76 return UnlockDiagnosticVMOptions; |
83 } else if (strcmp(kind, "{experimental}") == 0 || |
77 } else if (strcmp(kind, "{experimental}") == 0 || |
84 strcmp(kind, "{C2 experimental}") == 0 || |
78 strcmp(kind, "{C2 experimental}") == 0 || |
85 strcmp(kind, "{ARCH experimental}") == 0 || |
79 strcmp(kind, "{ARCH experimental}") == 0 || |
86 strcmp(kind, "{Shark experimental}") == 0) { |
80 strcmp(kind, "{Shark experimental}") == 0) { |