| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index afd9416567bac14fc23b4a47f165cc78021b6433..697111db9c8fa12e3552e45e9266887489145fc6 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -2269,6 +2269,7 @@ HValue* HGraphBuilder::BuildAllocateArrayFromLength(
|
| return array_builder->AllocateArray(capacity, length);
|
| }
|
|
|
| +
|
| HValue* HGraphBuilder::BuildAllocateElements(ElementsKind kind,
|
| HValue* capacity) {
|
| int elements_size;
|
| @@ -2293,8 +2294,8 @@ HValue* HGraphBuilder::BuildAllocateElements(ElementsKind kind,
|
| PretenureFlag pretenure_flag = !FLAG_allocation_site_pretenuring ?
|
| isolate()->heap()->GetPretenureMode() : NOT_TENURED;
|
|
|
| - return Add<HAllocate>(total_size, HType::Tagged(), pretenure_flag,
|
| - instance_type);
|
| + return Add<HAllocate>(total_size, HType::NonPrimitive(),
|
| + pretenure_flag, instance_type);
|
| }
|
|
|
|
|
| @@ -8794,7 +8795,7 @@ HValue* HOptimizedGraphBuilder::BuildAllocateExternalElements(
|
| HValue* elements =
|
| Add<HAllocate>(
|
| Add<HConstant>(ExternalArray::kAlignedSize),
|
| - HType::Tagged(),
|
| + HType::NonPrimitive(),
|
| NOT_TENURED,
|
| external_array_map->instance_type());
|
|
|
| @@ -8851,9 +8852,8 @@ HValue* HOptimizedGraphBuilder::BuildAllocateFixedTypedArray(
|
| Handle<Map> fixed_typed_array_map(
|
| isolate()->heap()->MapForFixedTypedArray(array_type));
|
| HValue* elements =
|
| - Add<HAllocate>(total_size, HType::Tagged(),
|
| - NOT_TENURED,
|
| - fixed_typed_array_map->instance_type());
|
| + Add<HAllocate>(total_size, HType::NonPrimitive(),
|
| + NOT_TENURED, fixed_typed_array_map->instance_type());
|
| AddStoreMapConstant(elements, fixed_typed_array_map);
|
|
|
| Add<HStoreNamedField>(elements,
|
| @@ -10292,13 +10292,11 @@ HInstruction* HOptimizedGraphBuilder::BuildFastLiteral(
|
| HInstruction* object_elements = NULL;
|
| if (elements_size > 0) {
|
| HValue* object_elements_size = Add<HConstant>(elements_size);
|
| - if (boilerplate_object->HasFastDoubleElements()) {
|
| - object_elements = Add<HAllocate>(object_elements_size, HType::Tagged(),
|
| - pretenure_flag, FIXED_DOUBLE_ARRAY_TYPE, site_context->current());
|
| - } else {
|
| - object_elements = Add<HAllocate>(object_elements_size, HType::Tagged(),
|
| - pretenure_flag, FIXED_ARRAY_TYPE, site_context->current());
|
| - }
|
| + InstanceType instance_type = boilerplate_object->HasFastDoubleElements()
|
| + ? FIXED_DOUBLE_ARRAY_TYPE : FIXED_ARRAY_TYPE;
|
| + object_elements = Add<HAllocate>(
|
| + object_elements_size, HType::NonPrimitive(),
|
| + pretenure_flag, instance_type, site_context->current());
|
| }
|
| BuildInitElementsInObjectHeader(boilerplate_object, object, object_elements);
|
|
|
|
|