Reviewers: William Hesse,

Message:
Small review.

Description:
X64: Fix lint problem and add missing stub function.

Please review this at http://codereview.chromium.org/160387

Affected files:
   M src/x64/codegen-x64.cc
   M src/x64/stub-cache-x64.cc


Index: src/x64/codegen-x64.cc
diff --git a/src/x64/codegen-x64.cc b/src/x64/codegen-x64.cc
index  
6a038ca134be23303bbecefe1552490ed7a751f3..3112ecc1262a034db63729e72031397ec1871ef8
  
100644
--- a/src/x64/codegen-x64.cc
+++ b/src/x64/codegen-x64.cc
@@ -5459,7 +5459,8 @@ void Reference::GetValue(TypeofState typeof_state) {
          __ bind(deferred->patch_site());
          // Use masm-> here instead of the double underscore macro since  
extra
          // coverage code can interfere with the patching.
-        masm->movq(kScratchRegister, Factory::null_value(),  
RelocInfo::EMBEDDED_OBJECT);
+        masm->movq(kScratchRegister, Factory::null_value(),
+                   RelocInfo::EMBEDDED_OBJECT);
          masm->cmpq(FieldOperand(receiver.reg(), HeapObject::kMapOffset),
                     kScratchRegister);
          deferred->Branch(not_equal);
Index: src/x64/stub-cache-x64.cc
diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc
index  
7d7f5ebaa346cf430120ca411b062fc5bfa7b52c..091c826ccc4eb77a36a2852a9101681b6230dea7
  
100644
--- a/src/x64/stub-cache-x64.cc
+++ b/src/x64/stub-cache-x64.cc
@@ -1144,6 +1144,36 @@ Object*  
LoadStubCompiler::CompileLoadGlobal(JSObject* object,
  }


+Object* KeyedLoadStubCompiler::CompileLoadCallback(String* name,
+                                                   JSObject* receiver,
+                                                   JSObject* holder,
+                                                   AccessorInfo* callback)  
{
+  // ----------- S t a t e -------------
+  //  -- rsp[0]  : return address
+  //  -- rsp[8]  : name
+  //  -- rsp[16] : receiver
+  // -----------------------------------
+  Label miss;
+
+  __ movq(rax, Operand(rsp, kPointerSize));
+  __ movq(rcx, Operand(rsp, 2 * kPointerSize));
+  __ IncrementCounter(&Counters::keyed_load_callback, 1);
+
+  // Check that the name has not changed.
+  __ Cmp(rax, Handle<String>(name));
+  __ j(not_equal, &miss);
+
+  GenerateLoadCallback(receiver, holder, rcx, rax, rbx, rdx,
+                       callback, name, &miss);
+  __ bind(&miss);
+  __ DecrementCounter(&Counters::keyed_load_callback, 1);
+  GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC);
+
+  // Return the generated code.
+  return GetCode(CALLBACKS, name);
+}
+
+
  Object* KeyedLoadStubCompiler::CompileLoadArrayLength(String* name) {
    // ----------- S t a t e -------------
    //  -- rsp[0]  : return address
@@ -1170,15 +1200,6 @@ Object*  
KeyedLoadStubCompiler::CompileLoadArrayLength(String* name) {
  }


-Object* KeyedLoadStubCompiler::CompileLoadCallback(String* name,
-                                                   JSObject* object,
-                                                   JSObject* holder,
-                                                   AccessorInfo* callback)  
{
-  UNIMPLEMENTED();
-  return NULL;
-}
-
-
  Object* KeyedLoadStubCompiler::CompileLoadConstant(String* name,
                                                     JSObject* receiver,
                                                     JSObject* holder,



--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to