| Index: src/code-stubs-hydrogen.cc
|
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc
|
| index a7901796966b42c23e1a64d1a8bbab01ab4c2261..7a102e86464234d529f2b28641b116b12e14070f 100644
|
| --- a/src/code-stubs-hydrogen.cc
|
| +++ b/src/code-stubs-hydrogen.cc
|
| @@ -594,6 +594,32 @@ Handle<Code> KeyedLoadFieldStub::GenerateCode(Isolate* isolate) {
|
| }
|
|
|
|
|
| +template<>
|
| +HValue* CodeStubGraphBuilder<KeyedArrayCallStub>::BuildCodeStub() {
|
| + int argc = casted_stub()->argc() + 1;
|
| + info()->set_parameter_count(argc);
|
| +
|
| + HValue* receiver = Add<HParameter>(1);
|
| +
|
| + // Load the expected initial array map from the context.
|
| + JSArrayBuilder array_builder(this, casted_stub()->elements_kind());
|
| + HValue* map = array_builder.EmitMapCode();
|
| +
|
| + HValue* checked_receiver = Add<HCheckMapValue>(receiver, map);
|
| +
|
| + HValue* function = BuildUncheckedMonomorphicElementAccess(
|
| + checked_receiver, GetParameter(0),
|
| + NULL, true, casted_stub()->elements_kind(),
|
| + false, NEVER_RETURN_HOLE, STANDARD_STORE);
|
| + return Add<HCallFunction>(function, argc, TAIL_CALL);
|
| +}
|
| +
|
| +
|
| +Handle<Code> KeyedArrayCallStub::GenerateCode(Isolate* isolate) {
|
| + return DoGenerateCode(isolate, this);
|
| +}
|
| +
|
| +
|
| template <>
|
| HValue* CodeStubGraphBuilder<KeyedStoreFastElementStub>::BuildCodeStub() {
|
| BuildUncheckedMonomorphicElementAccess(
|
|
|