src/share/vm/opto/parseHelper.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
valhalla-experimental Cdiff src/share/vm/opto/parseHelper.cpp
src/share/vm/opto/parseHelper.cpp
Print this page
*** 327,340 ****
ciValueKlass* vk = iter().method()->holder()->as_value_klass();
ValueTypeNode* vt = ValueTypeNode::make(_gvn, vk)->as_ValueType();
// Pop values from stack (last argument is first) and
// connect them to the ValueTypeNode in reverse order.
! for (int i = vk->param_count() - 1; i >= 0 ; --i) {
! ciType* field_type = vt->get_field_type(i);
Node* value = field_type->size() == 1 ? pop() : pop_pair();
! vt->set_field_value(i, value);
}
push(_gvn.transform(vt));
}
#ifndef PRODUCT
--- 327,341 ----
ciValueKlass* vk = iter().method()->holder()->as_value_klass();
ValueTypeNode* vt = ValueTypeNode::make(_gvn, vk)->as_ValueType();
// Pop values from stack (last argument is first) and
// connect them to the ValueTypeNode in reverse order.
! for (int arg_index = vk->param_count() - 1; arg_index >= 0 ; --arg_index) {
! int field_index = vk->field_index_for_argument(arg_index);
! ciType* field_type = vt->get_field_type(field_index);
Node* value = field_type->size() == 1 ? pop() : pop_pair();
! vt->set_field_value(field_index, value);
}
push(_gvn.transform(vt));
}
#ifndef PRODUCT
src/share/vm/opto/parseHelper.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File