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