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