< 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, &current_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 >