| Index: src/code-stub-assembler.h
|
| diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h
|
| index 4bad5411291d7adfe8ce18538dbee446a7c021d5..30000c390ce5b9da95ca527ca66ac9b50627e68a 100644
|
| --- a/src/code-stub-assembler.h
|
| +++ b/src/code-stub-assembler.h
|
| @@ -546,6 +546,7 @@ class CodeStubAssembler : public compiler::CodeAssembler {
|
| void LoadIC(const LoadICParameters* p);
|
| void LoadGlobalIC(const LoadICParameters* p);
|
| void KeyedLoadIC(const LoadICParameters* p);
|
| + void KeyedLoadICGeneric(const LoadICParameters* p);
|
|
|
| // Get the enumerable length from |map| and return the result as a Smi.
|
| compiler::Node* EnumLength(compiler::Node* map);
|
| @@ -576,13 +577,20 @@ class CodeStubAssembler : public compiler::CodeAssembler {
|
| const LoadICParameters* p, compiler::Node* handler, Label* miss,
|
| ElementSupport support_elements = kOnlyProperties);
|
| compiler::Node* TryToIntptr(compiler::Node* key, Label* miss);
|
| - void EmitBoundsCheck(compiler::Node* object, compiler::Node* elements,
|
| - compiler::Node* intptr_key, compiler::Node* is_jsarray,
|
| - Label* miss);
|
| + void EmitFastElementsBoundsCheck(compiler::Node* object,
|
| + compiler::Node* elements,
|
| + compiler::Node* intptr_key,
|
| + compiler::Node* is_jsarray_condition,
|
| + Label* miss);
|
| void EmitElementLoad(compiler::Node* object, compiler::Node* elements,
|
| compiler::Node* elements_kind, compiler::Node* key,
|
| - Label* if_hole, Label* rebox_double,
|
| - Variable* var_double_value, Label* miss);
|
| + compiler::Node* is_jsarray_condition, Label* if_hole,
|
| + Label* rebox_double, Variable* var_double_value,
|
| + Label* unimplemented_elements_kind, Label* out_of_bounds,
|
| + Label* miss);
|
| + void BranchIfPrototypesHaveNoElements(compiler::Node* receiver_map,
|
| + Label* definitely_no_elements,
|
| + Label* possibly_elements);
|
|
|
| compiler::Node* ElementOffsetFromIndex(compiler::Node* index,
|
| ElementsKind kind, ParameterMode mode,
|
|
|