Reviewers: danno, Søren Gjesse, Description: Moved non-architecture-specific GetFooCodeStub functions to ic.cc, removing duplicate code and the need for 2 free-floating function prototypes.
Please review this at http://codereview.chromium.org/7134043/ SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/arm/code-stubs-arm.cc M src/ia32/code-stubs-ia32.cc M src/ic.cc M src/mips/code-stubs-mips.cc M src/x64/code-stubs-x64.cc Index: src/arm/code-stubs-arm.cc =================================================================== --- src/arm/code-stubs-arm.cc (revision 8229) +++ src/arm/code-stubs-arm.cc (working copy) @@ -1707,12 +1707,6 @@ } -Handle<Code> GetUnaryOpStub(int key, UnaryOpIC::TypeInfo type_info) { - UnaryOpStub stub(key, type_info); - return stub.GetCode(); -} - - const char* UnaryOpStub::GetName() { if (name_ != NULL) return name_; const int kMaxNameLength = 100; @@ -2019,14 +2013,6 @@ } -Handle<Code> GetBinaryOpStub(int key, - BinaryOpIC::TypeInfo type_info, - BinaryOpIC::TypeInfo result_type_info) { - BinaryOpStub stub(key, type_info, result_type_info); - return stub.GetCode(); -} - - void BinaryOpStub::GenerateTypeTransition(MacroAssembler* masm) { Label get_result; Index: src/ia32/code-stubs-ia32.cc =================================================================== --- src/ia32/code-stubs-ia32.cc (revision 8229) +++ src/ia32/code-stubs-ia32.cc (working copy) @@ -516,12 +516,6 @@ } -Handle<Code> GetUnaryOpStub(int key, UnaryOpIC::TypeInfo type_info) { - UnaryOpStub stub(key, type_info); - return stub.GetCode(); -} - - const char* UnaryOpStub::GetName() { if (name_ != NULL) return name_; const int kMaxNameLength = 100; @@ -852,14 +846,6 @@ } -Handle<Code> GetBinaryOpStub(int key, - BinaryOpIC::TypeInfo type_info, - BinaryOpIC::TypeInfo result_type_info) { - BinaryOpStub stub(key, type_info, result_type_info); - return stub.GetCode(); -} - - void BinaryOpStub::GenerateTypeTransition(MacroAssembler* masm) { __ pop(ecx); // Save return address. __ push(edx); Index: src/ic.cc =================================================================== --- src/ic.cc (revision 8229) +++ src/ic.cc (working copy) @@ -2293,11 +2293,6 @@ } -// defined in code-stubs-<arch>.cc -// Only needed to remove dependency of ic.cc on code-stubs-<arch>.h. -Handle<Code> GetUnaryOpStub(int key, UnaryOpIC::TypeInfo type_info); - - RUNTIME_FUNCTION(MaybeObject*, UnaryOp_Patch) { ASSERT(args.length() == 4); @@ -2311,7 +2306,8 @@ UnaryOpIC::TypeInfo type = UnaryOpIC::GetTypeInfo(operand); type = UnaryOpIC::ComputeNewType(type, previous_type); - Handle<Code> code = GetUnaryOpStub(key, type); + UnaryOpStub stub(key, type); + Handle<Code> code = stub.GetCode(); if (!code.is_null()) { if (FLAG_trace_ic) { PrintF("[UnaryOpIC (%s->%s)#%s]\n", @@ -2348,13 +2344,6 @@ return *result; } -// defined in code-stubs-<arch>.cc -// Only needed to remove dependency of ic.cc on code-stubs-<arch>.h. -Handle<Code> GetBinaryOpStub(int key, - BinaryOpIC::TypeInfo type_info, - BinaryOpIC::TypeInfo result_type); - - RUNTIME_FUNCTION(MaybeObject*, BinaryOp_Patch) { ASSERT(args.length() == 5); @@ -2393,7 +2382,8 @@ result_type = BinaryOpIC::HEAP_NUMBER; } - Handle<Code> code = GetBinaryOpStub(key, type, result_type); + BinaryOpStub stub(key, type, result_type); + Handle<Code> code = stub.GetCode(); if (!code.is_null()) { if (FLAG_trace_ic) { PrintF("[BinaryOpIC (%s->(%s->%s))#%s]\n", Index: src/mips/code-stubs-mips.cc =================================================================== --- src/mips/code-stubs-mips.cc (revision 8229) +++ src/mips/code-stubs-mips.cc (working copy) @@ -1805,12 +1805,6 @@ } -Handle<Code> GetUnaryOpStub(int key, UnaryOpIC::TypeInfo type_info) { - UnaryOpStub stub(key, type_info); - return stub.GetCode(); -} - - const char* UnaryOpStub::GetName() { if (name_ != NULL) return name_; const int kMaxNameLength = 100; @@ -2118,14 +2112,6 @@ } -Handle<Code> GetBinaryOpStub(int key, - BinaryOpIC::TypeInfo type_info, - BinaryOpIC::TypeInfo result_type_info) { - BinaryOpStub stub(key, type_info, result_type_info); - return stub.GetCode(); -} - - void BinaryOpStub::GenerateTypeTransition(MacroAssembler* masm) { Label get_result; Index: src/x64/code-stubs-x64.cc =================================================================== --- src/x64/code-stubs-x64.cc (revision 8229) +++ src/x64/code-stubs-x64.cc (working copy) @@ -406,12 +406,6 @@ } -Handle<Code> GetUnaryOpStub(int key, UnaryOpIC::TypeInfo type_info) { - UnaryOpStub stub(key, type_info); - return stub.GetCode(); -} - - void UnaryOpStub::Generate(MacroAssembler* masm) { switch (operand_type_) { case UnaryOpIC::UNINITIALIZED: @@ -677,14 +671,6 @@ } -Handle<Code> GetBinaryOpStub(int key, - BinaryOpIC::TypeInfo type_info, - BinaryOpIC::TypeInfo result_type_info) { - BinaryOpStub stub(key, type_info, result_type_info); - return stub.GetCode(); -} - - void BinaryOpStub::GenerateTypeTransition(MacroAssembler* masm) { __ pop(rcx); // Save return address. __ push(rdx); -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
