Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index c561ab11943a0f924108e369b2f26d8b7e05fd4f..2099a80645116ccc6c14fff833fdd51666bca21e 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -1421,7 +1421,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, |
@@ -1437,7 +1438,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); |
@@ -1780,18 +1786,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); |