--- old/src/hotspot/share/compiler/compilerDirectives.cpp 2020-06-26 01:00:54.532949551 +0000 +++ new/src/hotspot/share/compiler/compilerDirectives.cpp 2020-06-26 01:00:54.228945303 +0000 @@ -335,8 +335,12 @@ 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; @@ -355,8 +359,12 @@ 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;