< prev index next >
src/hotspot/share/classfile/verifier.cpp
Print this page
*** 1628,1637 ****
--- 1628,1643 ----
// pass FALSE, operand can't be an array type for getfield/putfield.
verify_field_instructions(
&bcs, ¤t_frame, cp, false, CHECK_VERIFY(this));
no_control_flow = false; break;
case Bytecodes::_withfield :
+ if (!EnableValhalla) {
+ verify_error(ErrorContext::bad_code(bci),
+ "The withfield instruction in class %s requires option -XX:+EnableValhalla",
+ _klass->external_name());
+ return;
+ }
if (_klass->major_version() < VALUETYPE_MAJOR_VERSION) {
class_format_error(
"withfield not supported by this class file version (%d.%d), class %s",
_klass->major_version(), _klass->minor_version(), _klass->external_name());
return;
*** 1674,1683 ****
--- 1680,1695 ----
current_frame.push_stack(type, CHECK_VERIFY(this));
no_control_flow = false; break;
}
case Bytecodes::_defaultvalue :
{
+ if (!EnableValhalla) {
+ verify_error(ErrorContext::bad_code(bci),
+ "The defaultvalue instruction in class %s requires option -XX:+EnableValhalla",
+ _klass->external_name());
+ return;
+ }
if (_klass->major_version() < VALUETYPE_MAJOR_VERSION) {
class_format_error(
"defaultvalue not supported by this class file version (%d.%d), class %s",
_klass->major_version(), _klass->minor_version(), _klass->external_name());
return;
< prev index next >