Revision: 21377
Author: [email protected]
Date: Tue May 20 08:42:10 2014 UTC
Log: Use HType::NonPrimitive() for array backing store allocations.
[email protected]
Review URL: https://codereview.chromium.org/291153003
http://code.google.com/p/v8/source/detail?r=21377
Modified:
/branches/bleeding_edge/src/hydrogen.cc
=======================================
--- /branches/bleeding_edge/src/hydrogen.cc Mon May 19 07:24:24 2014 UTC
+++ /branches/bleeding_edge/src/hydrogen.cc Tue May 20 08:42:10 2014 UTC
@@ -2268,6 +2268,7 @@
HValue* capacity = Pop();
return array_builder->AllocateArray(capacity, length);
}
+
HValue* HGraphBuilder::BuildAllocateElements(ElementsKind kind,
HValue* capacity) {
@@ -2293,8 +2294,8 @@
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* elements =
Add<HAllocate>(
Add<HConstant>(ExternalArray::kAlignedSize),
- HType::Tagged(),
+ HType::NonPrimitive(),
NOT_TENURED,
external_array_map->instance_type());
@@ -8851,9 +8852,8 @@
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* 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);
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.