Index: src/x64/stub-cache-x64.cc |
diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc |
index 8888d70a6bf59eefffb8161ac420ecf54ec9f865..9cb88f36f60b2b5f1cc64e056288e62cb2448e37 100644 |
--- a/src/x64/stub-cache-x64.cc |
+++ b/src/x64/stub-cache-x64.cc |
@@ -2998,6 +2998,35 @@ MaybeObject* KeyedLoadStubCompiler::CompileLoadSpecialized(JSObject* receiver) { |
} |
+MaybeObject* KeyedLoadStubCompiler::CompileLoadPixelArray(JSObject* receiver) { |
+ // ----------- S t a t e ------------- |
+ // -- rax : key |
+ // -- rdx : receiver |
+ // -- esp[0] : return address |
+ // ----------------------------------- |
+ Label miss; |
+ |
+ // Check that the map matches. |
+ __ CheckMap(rdx, Handle<Map>(receiver->map()), &miss, false); |
+ |
+ GenerateFastPixelArrayLoad(masm(), |
+ rdx, |
+ rax, |
+ rbx, |
+ rcx, |
+ rax, |
+ &miss, |
+ &miss, |
+ &miss); |
+ |
+ __ bind(&miss); |
+ GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC); |
+ |
+ // Return the generated code. |
+ return GetCode(NORMAL, NULL); |
+} |
+ |
+ |
// Specialized stub for constructing objects from functions which only have only |
// simple assignments of the form this.x = ...; in their body. |
MaybeObject* ConstructStubCompiler::CompileConstructStub(JSFunction* function) { |