< 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 >