src/share/vm/opto/parse1.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/opto/parse1.cpp Tue Dec 20 14:34:23 2016
--- new/src/share/vm/opto/parse1.cpp Tue Dec 20 14:34:23 2016
*** 790,801 ****
--- 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 {
src/share/vm/opto/parse1.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File