< prev index next >
src/hotspot/share/runtime/deoptimization.cpp
Print this page
@@ -1034,12 +1034,11 @@
guarantee(!HAS_PENDING_EXCEPTION, "Should not have any exceptions pending");
assert(vk->is_value(), "must be a ValueKlass");
field._klass = InstanceKlass::cast(vk);
} else {
// Non-flattened value type field
- // TODO change this when we use T_VALUETYPEPTR
- field._type = T_OBJECT;
+ field._type = T_VALUETYPEPTR;
}
}
fields->append(field);
}
}
@@ -1049,11 +1048,13 @@
ScopeValue* scope_field = sv->field_at(svIndex);
StackValue* value = StackValue::create_stack_value(fr, reg_map, scope_field);
int offset = base_offset + fields->at(i)._offset;
BasicType type = fields->at(i)._type;
switch (type) {
- case T_OBJECT: case T_ARRAY:
+ case T_OBJECT:
+ case T_VALUETYPEPTR:
+ case T_ARRAY:
assert(value->type() == T_OBJECT, "Agreement.");
obj->obj_field_put(offset, value->get_obj()());
break;
case T_VALUETYPE: {
< prev index next >