< prev index next >
src/hotspot/share/opto/parse1.cpp
Print this page
@@ -155,11 +155,11 @@
Node* Parse::check_interpreter_type(Node* l, const Type* type,
SafePointNode* &bad_type_exit) {
const TypeOopPtr* tp = type->isa_oopptr();
if (type->isa_valuetype() != NULL) {
// The interpreter passes value types as oops
- tp = TypeOopPtr::make_from_klass(type->isa_valuetype()->value_klass());
+ tp = TypeOopPtr::make_from_klass(type->value_klass());
tp = tp->join_speculative(TypePtr::NOTNULL)->is_oopptr();
}
// TypeFlow may assert null-ness if a type appears unloaded.
if (type == TypePtr::NULL_PTR ||
@@ -925,11 +925,11 @@
if (vt->is_allocated(&kit.gvn()) && !StressValueTypeReturnedAsFields) {
ret->init_req(TypeFunc::Parms, vt->get_oop());
} else {
ret->init_req(TypeFunc::Parms, vt->tagged_klass(kit.gvn()));
}
- const Array<SigEntry>* sig_array = vt->type()->is_valuetype()->value_klass()->extended_sig();
+ const Array<SigEntry>* sig_array = vt->type()->value_klass()->extended_sig();
GrowableArray<SigEntry> sig = GrowableArray<SigEntry>(sig_array->length());
sig.appendAll(sig_array);
ExtendedSignature sig_cc = ExtendedSignature(&sig, SigEntryFilter());
uint idx = TypeFunc::Parms+1;
vt->pass_fields(&kit, ret, sig_cc, idx);
@@ -2325,11 +2325,11 @@
const Type* return_type = phi->bottom_type();
const TypeOopPtr* tr = return_type->isa_oopptr();
if (return_type->isa_valuetype()) {
// Value type is returned as fields, make sure it is scalarized
if (!value->is_ValueType()) {
- value = ValueTypeNode::make_from_oop(this, value, return_type->is_valuetype()->value_klass());
+ value = ValueTypeNode::make_from_oop(this, value, return_type->value_klass());
}
if (!_caller->has_method()) {
// Value type is returned as fields from root method, make
// sure all non-flattened value type fields are allocated.
assert(tf()->returns_value_type_as_fields(), "must be returned as fields");
< prev index next >