From 9f91fde045042419dce01f1bde25dee7a48c741e Mon Sep 17 00:00:00 2001 From: loislo Date: Wed, 18 Mar 2015 03:34:09 -0700 Subject: [PATCH] CodeCleanup: eliminate unnecessary base class and make the children unvirtual. I found some strange split in deopt entry points generator. The code for table entry generator had two classes. It is safe to join these classes together and drop virtual. BUG= LOG=n Review URL: https://codereview.chromium.org/1010413003 Cr-Commit-Position: refs/heads/master@{#27264} --- src/arm/deoptimizer-arm.cc | 2 +- src/arm64/deoptimizer-arm64.cc | 2 +- src/deoptimizer.h | 24 ++++++------------------ src/ia32/deoptimizer-ia32.cc | 2 +- src/mips/deoptimizer-mips.cc | 2 +- src/mips64/deoptimizer-mips64.cc | 2 +- src/ppc/deoptimizer-ppc.cc | 2 +- src/x64/deoptimizer-x64.cc | 2 +- src/x87/deoptimizer-x87.cc | 2 +- 9 files changed, 14 insertions(+), 26 deletions(-) diff --git a/src/arm/deoptimizer-arm.cc b/src/arm/deoptimizer-arm.cc index be05344..9359768 100644 --- a/src/arm/deoptimizer-arm.cc +++ b/src/arm/deoptimizer-arm.cc @@ -135,7 +135,7 @@ bool Deoptimizer::HasAlignmentPadding(JSFunction* function) { // This code tries to be close to ia32 code so that any changes can be // easily ported. -void Deoptimizer::EntryGenerator::Generate() { +void Deoptimizer::TableEntryGenerator::Generate() { GeneratePrologue(); // Save all general purpose registers before messing with them. diff --git a/src/arm64/deoptimizer-arm64.cc b/src/arm64/deoptimizer-arm64.cc index 8c4b776..b28d6f1 100644 --- a/src/arm64/deoptimizer-arm64.cc +++ b/src/arm64/deoptimizer-arm64.cc @@ -115,7 +115,7 @@ void Deoptimizer::CopyDoubleRegisters(FrameDescription* output_frame) { #define __ masm()-> -void Deoptimizer::EntryGenerator::Generate() { +void Deoptimizer::TableEntryGenerator::Generate() { GeneratePrologue(); // TODO(all): This code needs to be revisited. We probably only need to save diff --git a/src/deoptimizer.h b/src/deoptimizer.h index b177873..fd65e83 100644 --- a/src/deoptimizer.h +++ b/src/deoptimizer.h @@ -322,11 +322,10 @@ class Deoptimizer : public Malloced { static const int kNotDeoptimizationEntry = -1; // Generators for the deoptimization entry code. - class EntryGenerator BASE_EMBEDDED { + class TableEntryGenerator BASE_EMBEDDED { public: - EntryGenerator(MacroAssembler* masm, BailoutType type) - : masm_(masm), type_(type) { } - virtual ~EntryGenerator() { } + TableEntryGenerator(MacroAssembler* masm, BailoutType type, int count) + : masm_(masm), type_(type), count_(count) {} void Generate(); @@ -335,24 +334,13 @@ class Deoptimizer : public Malloced { BailoutType type() const { return type_; } Isolate* isolate() const { return masm_->isolate(); } - virtual void GeneratePrologue() { } - - private: - MacroAssembler* masm_; - Deoptimizer::BailoutType type_; - }; - - class TableEntryGenerator : public EntryGenerator { - public: - TableEntryGenerator(MacroAssembler* masm, BailoutType type, int count) - : EntryGenerator(masm, type), count_(count) { } - - protected: - virtual void GeneratePrologue(); + void GeneratePrologue(); private: int count() const { return count_; } + MacroAssembler* masm_; + Deoptimizer::BailoutType type_; int count_; }; diff --git a/src/ia32/deoptimizer-ia32.cc b/src/ia32/deoptimizer-ia32.cc index 27e308d..5fbee32 100644 --- a/src/ia32/deoptimizer-ia32.cc +++ b/src/ia32/deoptimizer-ia32.cc @@ -228,7 +228,7 @@ bool Deoptimizer::HasAlignmentPadding(JSFunction* function) { #define __ masm()-> -void Deoptimizer::EntryGenerator::Generate() { +void Deoptimizer::TableEntryGenerator::Generate() { GeneratePrologue(); // Save all general purpose registers before messing with them. diff --git a/src/mips/deoptimizer-mips.cc b/src/mips/deoptimizer-mips.cc index 3dfc64a..ab237c3 100644 --- a/src/mips/deoptimizer-mips.cc +++ b/src/mips/deoptimizer-mips.cc @@ -132,7 +132,7 @@ bool Deoptimizer::HasAlignmentPadding(JSFunction* function) { // This code tries to be close to ia32 code so that any changes can be // easily ported. -void Deoptimizer::EntryGenerator::Generate() { +void Deoptimizer::TableEntryGenerator::Generate() { GeneratePrologue(); // Unlike on ARM we don't save all the registers, just the useful ones. diff --git a/src/mips64/deoptimizer-mips64.cc b/src/mips64/deoptimizer-mips64.cc index 9d7dcb9..2b55695 100644 --- a/src/mips64/deoptimizer-mips64.cc +++ b/src/mips64/deoptimizer-mips64.cc @@ -131,7 +131,7 @@ bool Deoptimizer::HasAlignmentPadding(JSFunction* function) { // This code tries to be close to ia32 code so that any changes can be // easily ported. -void Deoptimizer::EntryGenerator::Generate() { +void Deoptimizer::TableEntryGenerator::Generate() { GeneratePrologue(); // Unlike on ARM we don't save all the registers, just the useful ones. diff --git a/src/ppc/deoptimizer-ppc.cc b/src/ppc/deoptimizer-ppc.cc index 7c6508b..74c88e3 100644 --- a/src/ppc/deoptimizer-ppc.cc +++ b/src/ppc/deoptimizer-ppc.cc @@ -142,7 +142,7 @@ bool Deoptimizer::HasAlignmentPadding(JSFunction* function) { // This code tries to be close to ia32 code so that any changes can be // easily ported. -void Deoptimizer::EntryGenerator::Generate() { +void Deoptimizer::TableEntryGenerator::Generate() { GeneratePrologue(); // Unlike on ARM we don't save all the registers, just the useful ones. diff --git a/src/x64/deoptimizer-x64.cc b/src/x64/deoptimizer-x64.cc index 0145baf..02e9d2e 100644 --- a/src/x64/deoptimizer-x64.cc +++ b/src/x64/deoptimizer-x64.cc @@ -134,7 +134,7 @@ bool Deoptimizer::HasAlignmentPadding(JSFunction* function) { #define __ masm()-> -void Deoptimizer::EntryGenerator::Generate() { +void Deoptimizer::TableEntryGenerator::Generate() { GeneratePrologue(); // Save all general purpose registers before messing with them. diff --git a/src/x87/deoptimizer-x87.cc b/src/x87/deoptimizer-x87.cc index ffd2fa8..edc08ab 100644 --- a/src/x87/deoptimizer-x87.cc +++ b/src/x87/deoptimizer-x87.cc @@ -228,7 +228,7 @@ bool Deoptimizer::HasAlignmentPadding(JSFunction* function) { #define __ masm()-> -void Deoptimizer::EntryGenerator::Generate() { +void Deoptimizer::TableEntryGenerator::Generate() { GeneratePrologue(); // Save all general purpose registers before messing with them. -- 2.7.4