From: sanjoy@chromium.org Date: Mon, 11 Jun 2012 16:47:08 +0000 (+0000) Subject: AssemblerBase does not need remember a Zone. Fix this. X-Git-Tag: upstream/4.7.83~16575 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d67e1d4fe96d20975b932c6c409cec8d2a6a12db;p=platform%2Fupstream%2Fv8.git AssemblerBase does not need remember a Zone. Fix this. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10546095 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/arm/assembler-arm.cc b/src/arm/assembler-arm.cc index 5ee7581..ec28da4 100644 --- a/src/arm/assembler-arm.cc +++ b/src/arm/assembler-arm.cc @@ -291,7 +291,7 @@ static const int kMinimalBufferSize = 4*KB; Assembler::Assembler(Isolate* arg_isolate, void* buffer, int buffer_size) - : AssemblerBase(arg_isolate, arg_isolate->zone()), + : AssemblerBase(arg_isolate), positions_recorder_(this), emit_debug_code_(FLAG_debug_code) { if (buffer == NULL) { diff --git a/src/assembler.cc b/src/assembler.cc index 827a4ab..d4c49dd 100644 --- a/src/assembler.cc +++ b/src/assembler.cc @@ -106,10 +106,9 @@ const char* const RelocInfo::kFillerCommentString = "DEOPTIMIZATION PADDING"; // ----------------------------------------------------------------------------- // Implementation of AssemblerBase -AssemblerBase::AssemblerBase(Isolate* isolate, Zone* zone) +AssemblerBase::AssemblerBase(Isolate* isolate) : isolate_(isolate), - jit_cookie_(0), - zone_(zone) { + jit_cookie_(0) { if (FLAG_mask_constants_with_cookie && isolate != NULL) { jit_cookie_ = V8::RandomPrivate(isolate); } diff --git a/src/assembler.h b/src/assembler.h index c0fb14b..619c69c 100644 --- a/src/assembler.h +++ b/src/assembler.h @@ -57,7 +57,7 @@ const unsigned kNoASTId = -1; class AssemblerBase: public Malloced { public: - AssemblerBase(Isolate* isolate, Zone* zone); + explicit AssemblerBase(Isolate* isolate); Isolate* isolate() const { return isolate_; } int jit_cookie() { return jit_cookie_; } @@ -66,12 +66,9 @@ class AssemblerBase: public Malloced { // cross-snapshotting. static void QuietNaN(HeapObject* nan) { } - Zone* zone() const { return zone_; } - private: Isolate* isolate_; int jit_cookie_; - Zone* zone_; }; diff --git a/src/ia32/assembler-ia32.cc b/src/ia32/assembler-ia32.cc index a04a16c..a42f632 100644 --- a/src/ia32/assembler-ia32.cc +++ b/src/ia32/assembler-ia32.cc @@ -313,7 +313,7 @@ static void InitCoverageLog(); #endif Assembler::Assembler(Isolate* arg_isolate, void* buffer, int buffer_size) - : AssemblerBase(arg_isolate, arg_isolate->zone()), + : AssemblerBase(arg_isolate), positions_recorder_(this), emit_debug_code_(FLAG_debug_code) { if (buffer == NULL) { diff --git a/src/safepoint-table.cc b/src/safepoint-table.cc index ddb35a9..714e5c3 100644 --- a/src/safepoint-table.cc +++ b/src/safepoint-table.cc @@ -128,20 +128,19 @@ Safepoint SafepointTableBuilder::DefineSafepoint( Safepoint::DeoptMode deopt_mode) { ASSERT(arguments >= 0); DeoptimizationInfo info; - Zone* zone = assembler->zone(); info.pc = assembler->pc_offset(); info.arguments = arguments; info.has_doubles = (kind & Safepoint::kWithDoubles); - deoptimization_info_.Add(info, zone); - deopt_index_list_.Add(Safepoint::kNoDeoptimizationIndex, zone); + deoptimization_info_.Add(info, zone_); + deopt_index_list_.Add(Safepoint::kNoDeoptimizationIndex, zone_); if (deopt_mode == Safepoint::kNoLazyDeopt) { last_lazy_safepoint_ = deopt_index_list_.length(); } - indexes_.Add(new(zone) ZoneList(8, zone), zone); + indexes_.Add(new(zone_) ZoneList(8, zone_), zone_); registers_.Add((kind & Safepoint::kWithRegisters) - ? new(zone) ZoneList(4, zone) + ? new(zone_) ZoneList(4, zone_) : NULL, - zone); + zone_); return Safepoint(indexes_.last(), registers_.last()); } @@ -162,7 +161,6 @@ void SafepointTableBuilder::Emit(Assembler* assembler, int bits_per_entry) { // For lazy deoptimization we need space to patch a call after every call. // Ensure there is always space for such patching, even if the code ends // in a call. - Zone* zone = assembler->zone(); int target_offset = assembler->pc_offset() + Deoptimizer::patch_size(); while (assembler->pc_offset() < target_offset) { assembler->nop(); @@ -193,12 +191,12 @@ void SafepointTableBuilder::Emit(Assembler* assembler, int bits_per_entry) { } // Emit table of bitmaps. - ZoneList bits(bytes_per_entry, zone); + ZoneList bits(bytes_per_entry, zone_); for (int i = 0; i < length; i++) { ZoneList* indexes = indexes_[i]; ZoneList* registers = registers_[i]; bits.Clear(); - bits.AddBlock(0, bytes_per_entry, zone); + bits.AddBlock(0, bytes_per_entry, zone_); // Run through the registers (if any). ASSERT(IsAligned(kNumSafepointRegisters, kBitsPerByte)); diff --git a/src/x64/assembler-x64.cc b/src/x64/assembler-x64.cc index 2779de7..2f0c542 100644 --- a/src/x64/assembler-x64.cc +++ b/src/x64/assembler-x64.cc @@ -345,7 +345,7 @@ static void InitCoverageLog(); #endif Assembler::Assembler(Isolate* arg_isolate, void* buffer, int buffer_size) - : AssemblerBase(arg_isolate, arg_isolate->zone()), + : AssemblerBase(arg_isolate), code_targets_(100), positions_recorder_(this), emit_debug_code_(FLAG_debug_code) {