< prev index next >
src/hotspot/share/compiler/compilerDirectives.cpp
Print this page
@@ -333,12 +333,16 @@
ccstrlist option_value;
bool need_reset = true; // if Control/DisableIntrinsic redefined, only need to reset control_words once
if (!_modified[ControlIntrinsicIndex] &&
CompilerOracle::has_option_value(method, "ControlIntrinsic", option_value)) {
+ ResourceMark rm;
+ ControlIntrinsicValidator validator(option_value, false/*disable_all*/);
ControlIntrinsicIter iter(option_value);
+ guarantee(validator.is_valid(), "An unrecognized intrinsic is detected in the directive of ControlIntrinsic %s : %s",
+ method->external_name_short(), validator.what());
if (need_reset) {
set->_intrinsic_control_words.fill_in(TriBool());
need_reset = false;
}
@@ -353,12 +357,16 @@
}
if (!_modified[DisableIntrinsicIndex] &&
CompilerOracle::has_option_value(method, "DisableIntrinsic", option_value)) {
+ ResourceMark rm;
+ ControlIntrinsicValidator validator(option_value, true/*disable_all*/);
ControlIntrinsicIter iter(option_value, true/*disable_all*/);
+ guarantee(validator.is_valid(), "An unrecognized intrinsic is detected in the directive of DisableIntrinsic %s : %s",
+ method->external_name_short(), validator.what());
if (need_reset) {
set->_intrinsic_control_words.fill_in(TriBool());
need_reset = false;
}
< prev index next >