AssemblerBase does not need remember a Zone. Fix this.
authorsanjoy@chromium.org <sanjoy@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 11 Jun 2012 16:47:08 +0000 (16:47 +0000)
committersanjoy@chromium.org <sanjoy@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 11 Jun 2012 16:47:08 +0000 (16:47 +0000)
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

src/arm/assembler-arm.cc
src/assembler.cc
src/assembler.h
src/ia32/assembler-ia32.cc
src/safepoint-table.cc
src/x64/assembler-x64.cc

index 5ee7581..ec28da4 100644 (file)
@@ -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) {
index 827a4ab..d4c49dd 100644 (file)
@@ -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);
   }
index c0fb14b..619c69c 100644 (file)
@@ -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_;
 };
 
 
index a04a16c..a42f632 100644 (file)
@@ -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) {
index ddb35a9..714e5c3 100644 (file)
@@ -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<int>(8, zone), zone);
+  indexes_.Add(new(zone_) ZoneList<int>(8, zone_), zone_);
   registers_.Add((kind & Safepoint::kWithRegisters)
-      ? new(zone) ZoneList<int>(4, zone)
+      ? new(zone_) ZoneList<int>(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<uint8_t> bits(bytes_per_entry, zone);
+  ZoneList<uint8_t> bits(bytes_per_entry, zone_);
   for (int i = 0; i < length; i++) {
     ZoneList<int>* indexes = indexes_[i];
     ZoneList<int>* 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));
index 2779de7..2f0c542 100644 (file)
@@ -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) {