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 -~----------~----~----~----~------~----~------~--~---
