src/share/vm/opto/parse1.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File valhalla-experimental Cdiff src/share/vm/opto/parse1.cpp

src/share/vm/opto/parse1.cpp

Print this page

        

*** 790,801 **** Node* Compile::create_vt_node(Node* n, ciValueKlass* vk, ciValueKlass* base_vk, int base_offset, int base_input) { assert(base_offset >= 0, "offset in value type always positive"); PhaseGVN& gvn = *initial_gvn(); ValueTypeNode* vt = ValueTypeNode::make(gvn, vk); for (uint i = 0; i < vt->field_count(); i++) { ! ciType* field_type = vt->get_field_type(i); ! int offset = base_offset + vt->get_field_offset(i) - (base_offset > 0 ? vk->first_field_offset() : 0); if (field_type->is_valuetype()) { ciValueKlass* embedded_vk = field_type->as_value_klass(); Node* embedded_vt = create_vt_node(n, embedded_vk, base_vk, offset, base_input); vt->set_field_value(i, embedded_vt); } else { --- 790,801 ---- Node* Compile::create_vt_node(Node* n, ciValueKlass* vk, ciValueKlass* base_vk, int base_offset, int base_input) { assert(base_offset >= 0, "offset in value type always positive"); PhaseGVN& gvn = *initial_gvn(); ValueTypeNode* vt = ValueTypeNode::make(gvn, vk); for (uint i = 0; i < vt->field_count(); i++) { ! ciType* field_type = vt->field_type(i); ! int offset = base_offset + vt->field_offset(i) - (base_offset > 0 ? vk->first_field_offset() : 0); if (field_type->is_valuetype()) { ciValueKlass* embedded_vk = field_type->as_value_klass(); Node* embedded_vt = create_vt_node(n, embedded_vk, base_vk, offset, base_input); vt->set_field_value(i, embedded_vt); } else {
src/share/vm/opto/parse1.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File