From: kmillikin@chromium.org Date: Wed, 9 Dec 2009 15:34:57 +0000 (+0000) Subject: Fix arm and x64 build. X-Git-Tag: upstream/4.7.83~22833 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d57c13b8c6a791d58aa0061b9ad872935d047e8;p=platform%2Fupstream%2Fv8.git Fix arm and x64 build. The ApiGetterEntryStub is not implemented on arm or x64, but the platform-specific implementations need to change to match the change to the platform-independent signatures. TBR=ager@chromium.org Review URL: http://codereview.chromium.org/471009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc index efccaf4..7c5ad0e 100644 --- a/src/arm/stub-cache-arm.cc +++ b/src/arm/stub-cache-arm.cc @@ -446,7 +446,7 @@ void StubCompiler::GenerateLoadConstant(JSObject* object, } -void StubCompiler::GenerateLoadCallback(JSObject* object, +bool StubCompiler::GenerateLoadCallback(JSObject* object, JSObject* holder, Register receiver, Register name_reg, @@ -454,7 +454,8 @@ void StubCompiler::GenerateLoadCallback(JSObject* object, Register scratch2, AccessorInfo* callback, String* name, - Label* miss) { + Label* miss, + Failure** failure) { // Check that the receiver isn't a smi. __ tst(receiver, Operand(kSmiTagMask)); __ b(eq, miss); @@ -476,6 +477,8 @@ void StubCompiler::GenerateLoadCallback(JSObject* object, ExternalReference load_callback_property = ExternalReference(IC_Utility(IC::kLoadCallbackProperty)); __ TailCallRuntime(load_callback_property, 5, 1); + + return true; } @@ -1003,10 +1006,10 @@ Object* LoadStubCompiler::CompileLoadField(JSObject* object, } -Object* LoadStubCompiler::CompileLoadCallback(JSObject* object, +Object* LoadStubCompiler::CompileLoadCallback(String* name, + JSObject* object, JSObject* holder, - AccessorInfo* callback, - String* name) { + AccessorInfo* callback) { // ----------- S t a t e ------------- // -- r2 : name // -- lr : return address @@ -1015,7 +1018,11 @@ Object* LoadStubCompiler::CompileLoadCallback(JSObject* object, Label miss; __ ldr(r0, MemOperand(sp, 0)); - GenerateLoadCallback(object, holder, r0, r2, r3, r1, callback, name, &miss); + Failure* failure = Failure::InternalError(); + bool success = GenerateLoadCallback(object, holder, r0, r2, r3, r1, + callback, name, &miss, &failure); + if (!success) return failure; + __ bind(&miss); GenerateLoadMiss(masm(), Code::LOAD_IC); @@ -1168,7 +1175,11 @@ Object* KeyedLoadStubCompiler::CompileLoadCallback(String* name, __ cmp(r2, Operand(Handle(name))); __ b(ne, &miss); - GenerateLoadCallback(receiver, holder, r0, r2, r3, r1, callback, name, &miss); + Failure* failure = Failure::InternalError(); + bool success = GenerateLoadCallback(receiver, holder, r0, r2, r3, r1, + callback, name, &miss, &failure); + if (!success) return failure; + __ bind(&miss); GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC); diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc index 55b0b87..81e5dae 100644 --- a/src/x64/stub-cache-x64.cc +++ b/src/x64/stub-cache-x64.cc @@ -987,10 +987,10 @@ Object* CallStubCompiler::CompileCallGlobal(JSObject* object, } -Object* LoadStubCompiler::CompileLoadCallback(JSObject* object, +Object* LoadStubCompiler::CompileLoadCallback(String* name, + JSObject* object, JSObject* holder, - AccessorInfo* callback, - String* name) { + AccessorInfo* callback) { // ----------- S t a t e ------------- // -- rcx : name // -- rsp[0] : return address @@ -999,8 +999,11 @@ Object* LoadStubCompiler::CompileLoadCallback(JSObject* object, Label miss; __ movq(rax, Operand(rsp, kPointerSize)); - GenerateLoadCallback(object, holder, rax, rcx, rbx, rdx, - callback, name, &miss); + Failure* failure = Failure::InternalError(); + bool success = GenerateLoadCallback(object, holder, rax, rcx, rbx, rdx, + callback, name, &miss, &failure); + if (!success) return failure; + __ bind(&miss); GenerateLoadMiss(masm(), Code::LOAD_IC); @@ -1154,8 +1157,11 @@ Object* KeyedLoadStubCompiler::CompileLoadCallback(String* name, __ Cmp(rax, Handle(name)); __ j(not_equal, &miss); - GenerateLoadCallback(receiver, holder, rcx, rax, rbx, rdx, - callback, name, &miss); + Failure* failure = Failure::InternalError(); + bool success = GenerateLoadCallback(receiver, holder, rcx, rax, rbx, rdx, + callback, name, &miss, &failure); + if (!success) return failure; + __ bind(&miss); __ DecrementCounter(&Counters::keyed_load_callback, 1); GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC); @@ -1610,7 +1616,7 @@ void StubCompiler::GenerateLoadInterceptor(JSObject* object, } -void StubCompiler::GenerateLoadCallback(JSObject* object, +bool StubCompiler::GenerateLoadCallback(JSObject* object, JSObject* holder, Register receiver, Register name_reg, @@ -1618,7 +1624,8 @@ void StubCompiler::GenerateLoadCallback(JSObject* object, Register scratch2, AccessorInfo* callback, String* name, - Label* miss) { + Label* miss, + Failure** failure) { // Check that the receiver isn't a smi. __ JumpIfSmi(receiver, miss); @@ -1641,6 +1648,8 @@ void StubCompiler::GenerateLoadCallback(JSObject* object, ExternalReference load_callback_property = ExternalReference(IC_Utility(IC::kLoadCallbackProperty)); __ TailCallRuntime(load_callback_property, 5, 1); + + return true; }