| Index: src/x64/stub-cache-x64.cc
|
| diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc
|
| index 9cb88f36f60b2b5f1cc64e056288e62cb2448e37..973fece32ad01f8b809d627df9dad0e9144ab929 100644
|
| --- a/src/x64/stub-cache-x64.cc
|
| +++ b/src/x64/stub-cache-x64.cc
|
| @@ -2559,6 +2559,43 @@ MaybeObject* KeyedStoreStubCompiler::CompileStoreSpecialized(
|
| }
|
|
|
|
|
| +MaybeObject* KeyedStoreStubCompiler::CompileStorePixelArray(
|
| + JSObject* receiver) {
|
| + // ----------- S t a t e -------------
|
| + // -- rax : value
|
| + // -- rcx : key
|
| + // -- rdx : receiver
|
| + // -- rsp[0] : return address
|
| + // -----------------------------------
|
| + Label miss;
|
| +
|
| + // Check that the map matches.
|
| + __ CheckMap(rdx, Handle<Map>(receiver->map()), &miss, false);
|
| +
|
| + // Do the load.
|
| + GenerateFastPixelArrayStore(masm(),
|
| + rdx,
|
| + rcx,
|
| + rax,
|
| + rdi,
|
| + rbx,
|
| + true,
|
| + false,
|
| + &miss,
|
| + &miss,
|
| + NULL,
|
| + &miss);
|
| +
|
| + // Handle store cache miss.
|
| + __ bind(&miss);
|
| + Handle<Code> ic(Builtins::builtin(Builtins::KeyedStoreIC_Miss));
|
| + __ jmp(ic, RelocInfo::CODE_TARGET);
|
| +
|
| + // Return the generated code.
|
| + return GetCode(NORMAL, NULL);
|
| +}
|
| +
|
| +
|
| MaybeObject* LoadStubCompiler::CompileLoadNonexistent(String* name,
|
| JSObject* object,
|
| JSObject* last) {
|
|
|