< prev index next >
src/hotspot/share/opto/valuetypenode.cpp
Print this page
*** 910,925 ****
#endif
}
}
}
! ValueTypePtrNode* ValueTypePtrNode::make_from_value_type(PhaseGVN& gvn, ValueTypeNode* vt) {
! ValueTypePtrNode* vtptr = new ValueTypePtrNode(vt->value_klass(), vt->get_oop());
for (uint i = Oop+1; i < vt->req(); i++) {
vtptr->init_req(i, vt->in(i));
}
! return gvn.transform(vtptr)->as_ValueTypePtr();
}
ValueTypePtrNode* ValueTypePtrNode::make_from_call(GraphKit* kit, ciValueKlass* vk, CallNode* call) {
ValueTypePtrNode* vtptr = new ValueTypePtrNode(vk, kit->zerocon(T_VALUETYPE));
vtptr->initialize(kit, call, vk);
--- 910,926 ----
#endif
}
}
}
! ValueTypePtrNode* ValueTypePtrNode::make_from_value_type(GraphKit* kit, ValueTypeNode* vt, bool deoptimize_on_exception) {
! Node* oop = vt->allocate(kit, deoptimize_on_exception)->get_oop();
! ValueTypePtrNode* vtptr = new ValueTypePtrNode(vt->value_klass(), oop);
for (uint i = Oop+1; i < vt->req(); i++) {
vtptr->init_req(i, vt->in(i));
}
! return kit->gvn().transform(vtptr)->as_ValueTypePtr();
}
ValueTypePtrNode* ValueTypePtrNode::make_from_call(GraphKit* kit, ciValueKlass* vk, CallNode* call) {
ValueTypePtrNode* vtptr = new ValueTypePtrNode(vk, kit->zerocon(T_VALUETYPE));
vtptr->initialize(kit, call, vk);
*** 930,936 ****
// Create and initialize a ValueTypePtrNode by loading all field
// values from a heap-allocated version and also save the oop.
ciValueKlass* vk = kit->gvn().type(oop)->value_klass();
ValueTypePtrNode* vtptr = new ValueTypePtrNode(vk, oop);
vtptr->load(kit, oop, oop, vk);
! return vtptr;
}
--- 931,937 ----
// Create and initialize a ValueTypePtrNode by loading all field
// values from a heap-allocated version and also save the oop.
ciValueKlass* vk = kit->gvn().type(oop)->value_klass();
ValueTypePtrNode* vtptr = new ValueTypePtrNode(vk, oop);
vtptr->load(kit, oop, oop, vk);
! return kit->gvn().transform(vtptr)->as_ValueTypePtr();
}
< prev index next >