From 98695fad1a0baa5b2068d83ab2d36a85daa1901c Mon Sep 17 00:00:00 2001 From: "palfia@homejinni.com" Date: Fri, 11 Oct 2013 21:26:10 +0000 Subject: [PATCH] MIPS: Remove BaseLoad/StoreStub compilers, and the stub-cache interface duplication. Port r17165 (e3cb6e2e) BUG= R=plind44@gmail.com Review URL: https://codereview.chromium.org/26883007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/mips/stub-cache-mips.cc | 87 +++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc index cd08533..471c25e 100644 --- a/src/mips/stub-cache-mips.cc +++ b/src/mips/stub-cache-mips.cc @@ -425,7 +425,7 @@ static void GenerateCheckPropertyCell(MacroAssembler* masm, } -void BaseStoreStubCompiler::GenerateNegativeHolderLookup( +void StoreStubCompiler::GenerateNegativeHolderLookup( MacroAssembler* masm, Handle holder, Register holder_reg, @@ -444,19 +444,19 @@ void BaseStoreStubCompiler::GenerateNegativeHolderLookup( // Generate StoreTransition code, value is passed in a0 register. // After executing generated code, the receiver_reg and name_reg // may be clobbered. -void BaseStoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm, - Handle object, - LookupResult* lookup, - Handle transition, - Handle name, - Register receiver_reg, - Register storage_reg, - Register value_reg, - Register scratch1, - Register scratch2, - Register scratch3, - Label* miss_label, - Label* slow) { +void StoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm, + Handle object, + LookupResult* lookup, + Handle transition, + Handle name, + Register receiver_reg, + Register storage_reg, + Register value_reg, + Register scratch1, + Register scratch2, + Register scratch3, + Label* miss_label, + Label* slow) { // a0 : value. Label exit; @@ -608,15 +608,15 @@ void BaseStoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm, // When leaving generated code after success, the receiver_reg and name_reg // may be clobbered. Upon branch to miss_label, the receiver and name // registers have their original values. -void BaseStoreStubCompiler::GenerateStoreField(MacroAssembler* masm, - Handle object, - LookupResult* lookup, - Register receiver_reg, - Register name_reg, - Register value_reg, - Register scratch1, - Register scratch2, - Label* miss_label) { +void StoreStubCompiler::GenerateStoreField(MacroAssembler* masm, + Handle object, + LookupResult* lookup, + Register receiver_reg, + Register name_reg, + Register value_reg, + Register scratch1, + Register scratch2, + Label* miss_label) { // a0 : value Label exit; @@ -729,9 +729,9 @@ void BaseStoreStubCompiler::GenerateStoreField(MacroAssembler* masm, } -void BaseStoreStubCompiler::GenerateRestoreName(MacroAssembler* masm, - Label* label, - Handle name) { +void StoreStubCompiler::GenerateRestoreName(MacroAssembler* masm, + Label* label, + Handle name) { if (!label->is_unused()) { __ bind(label); __ li(this->name(), Operand(name)); @@ -1296,9 +1296,9 @@ Register StubCompiler::CheckPrototypes(Handle object, } -void BaseLoadStubCompiler::HandlerFrontendFooter(Handle name, - Label* success, - Label* miss) { +void LoadStubCompiler::HandlerFrontendFooter(Handle name, + Label* success, + Label* miss) { if (!miss->is_unused()) { __ Branch(success); __ bind(miss); @@ -1307,9 +1307,9 @@ void BaseLoadStubCompiler::HandlerFrontendFooter(Handle name, } -void BaseStoreStubCompiler::HandlerFrontendFooter(Handle name, - Label* success, - Label* miss) { +void StoreStubCompiler::HandlerFrontendFooter(Handle name, + Label* success, + Label* miss) { if (!miss->is_unused()) { __ b(success); GenerateRestoreName(masm(), miss, name); @@ -1318,7 +1318,7 @@ void BaseStoreStubCompiler::HandlerFrontendFooter(Handle name, } -Register BaseLoadStubCompiler::CallbackHandlerFrontend( +Register LoadStubCompiler::CallbackHandlerFrontend( Handle object, Register object_reg, Handle holder, @@ -1364,7 +1364,7 @@ Register BaseLoadStubCompiler::CallbackHandlerFrontend( } -void BaseLoadStubCompiler::NonexistentHandlerFrontend( +void LoadStubCompiler::NonexistentHandlerFrontend( Handle object, Handle last, Handle name, @@ -1384,10 +1384,10 @@ void BaseLoadStubCompiler::NonexistentHandlerFrontend( } -void BaseLoadStubCompiler::GenerateLoadField(Register reg, - Handle holder, - PropertyIndex field, - Representation representation) { +void LoadStubCompiler::GenerateLoadField(Register reg, + Handle holder, + PropertyIndex field, + Representation representation) { if (!reg.is(receiver())) __ mov(receiver(), reg); if (kind() == Code::LOAD_IC) { LoadFieldStub stub(field.is_inobject(holder), @@ -1403,21 +1403,21 @@ void BaseLoadStubCompiler::GenerateLoadField(Register reg, } -void BaseLoadStubCompiler::GenerateLoadConstant(Handle value) { +void LoadStubCompiler::GenerateLoadConstant(Handle value) { // Return the constant value. __ LoadObject(v0, value); __ Ret(); } -void BaseLoadStubCompiler::GenerateLoadCallback( +void LoadStubCompiler::GenerateLoadCallback( const CallOptimization& call_optimization) { GenerateFastApiCall( masm(), call_optimization, receiver(), scratch3(), 0, NULL); } -void BaseLoadStubCompiler::GenerateLoadCallback( +void LoadStubCompiler::GenerateLoadCallback( Register reg, Handle callback) { // Build AccessorInfo::args_ list on the stack and push property name below @@ -1487,7 +1487,7 @@ void BaseLoadStubCompiler::GenerateLoadCallback( } -void BaseLoadStubCompiler::GenerateLoadInterceptor( +void LoadStubCompiler::GenerateLoadInterceptor( Register holder_reg, Handle object, Handle interceptor_holder, @@ -3019,6 +3019,7 @@ void KeyedStoreStubCompiler::GenerateNameCheck(Handle name, void LoadStubCompiler::GenerateLoadViaGetter(MacroAssembler* masm, + Register receiver, Handle getter) { // ----------- S t a t e ------------- // -- a0 : receiver @@ -3030,7 +3031,7 @@ void LoadStubCompiler::GenerateLoadViaGetter(MacroAssembler* masm, if (!getter.is_null()) { // Call the JavaScript getter with the receiver on the stack. - __ push(a0); + __ push(receiver); ParameterCount actual(0); ParameterCount expected(getter); __ InvokeFunction(getter, expected, actual, -- 2.7.4