Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index 060ccb9b364ba880704fabdcc6fc2c4ba1fced87..42a63fd57e7e84e31142e0246d8d5a81412a98d0 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -1397,7 +1397,8 @@ class HGraphBuilder { |
store_map->SkipWriteBarrier(); |
return store_map; |
} |
- HLoadNamedField* AddLoadElements(HValue* object); |
+ HLoadNamedField* AddLoadElements(HValue* object, |
+ HValue* dependency = NULL); |
bool MatchRotateRight(HValue* left, |
HValue* right, |
@@ -1413,7 +1414,12 @@ class HGraphBuilder { |
Maybe<int> fixed_right_arg, |
HAllocationMode allocation_mode); |
- HLoadNamedField* AddLoadFixedArrayLength(HValue *object); |
+ HLoadNamedField* AddLoadFixedArrayLength(HValue *object, |
+ HValue *dependency = NULL); |
+ |
+ HLoadNamedField* AddLoadArrayLength(HValue *object, |
+ ElementsKind kind, |
+ HValue *dependency = NULL); |
HValue* AddLoadJSBuiltin(Builtins::JavaScript builtin); |
@@ -1753,18 +1759,33 @@ class HGraphBuilder { |
HValue* from, |
HValue* to); |
- void BuildCopyElements(HValue* from_elements, |
+ void BuildCopyElements(HValue* array, |
+ HValue* from_elements, |
ElementsKind from_elements_kind, |
HValue* to_elements, |
ElementsKind to_elements_kind, |
HValue* length, |
HValue* capacity); |
- HValue* BuildCloneShallowArray(HValue* boilerplate, |
- HValue* allocation_site, |
- AllocationSiteMode mode, |
- ElementsKind kind, |
- int length); |
+ HValue* BuildCloneShallowArrayCommon(HValue* boilerplate, |
+ HValue* allocation_site, |
+ HValue* extra_size, |
+ HValue** return_elements, |
+ AllocationSiteMode mode); |
+ |
+ HValue* BuildCloneShallowArrayCow(HValue* boilerplate, |
+ HValue* allocation_site, |
+ AllocationSiteMode mode, |
+ ElementsKind kind); |
+ |
+ HValue* BuildCloneShallowArrayEmpty(HValue* boilerplate, |
+ HValue* allocation_site, |
+ AllocationSiteMode mode); |
+ |
+ HValue* BuildCloneShallowArrayNonEmpty(HValue* boilerplate, |
+ HValue* allocation_site, |
+ AllocationSiteMode mode, |
+ ElementsKind kind); |
HValue* BuildElementIndexHash(HValue* index); |