< prev index next >

src/hotspot/share/opto/parseHelper.cpp

Print this page

        

*** 369,380 **** val = null_check(val); dec_sp(2); if (stopped()) return; val = ValueTypeNode::make_from_oop(this, val, gvn().type(val)->value_klass()); } else if (val->is_ValueType() && !field->is_flattenable()) { ! // Non-flattenable field should not be scalarized ! // Re-execute withfield if buffering triggers deoptimization PreserveReexecuteState preexecs(this); jvms()->set_should_reexecute(true); inc_sp(2); val = ValueTypePtrNode::make_from_value_type(this, val->as_ValueType()); } --- 369,380 ---- val = null_check(val); dec_sp(2); if (stopped()) return; val = ValueTypeNode::make_from_oop(this, val, gvn().type(val)->value_klass()); } else if (val->is_ValueType() && !field->is_flattenable()) { ! // Non-flattenable field value needs to be allocated because it can be merged ! // with an oop. Re-execute withfield if buffering triggers deoptimization. PreserveReexecuteState preexecs(this); jvms()->set_should_reexecute(true); inc_sp(2); val = ValueTypePtrNode::make_from_value_type(this, val->as_ValueType()); }
< prev index next >