< prev index next >
src/hotspot/share/runtime/deoptimization.cpp
Print this page
*** 1034,1045 ****
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;
}
}
fields->append(field);
}
}
--- 1034,1044 ----
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
! field._type = T_VALUETYPEPTR;
}
}
fields->append(field);
}
}
*** 1049,1059 ****
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:
assert(value->type() == T_OBJECT, "Agreement.");
obj->obj_field_put(offset, value->get_obj()());
break;
case T_VALUETYPE: {
--- 1048,1060 ----
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_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 >