diff options
Diffstat (limited to 'src/3rdparty/v8/src/safepoint-table.cc')
-rw-r--r-- | src/3rdparty/v8/src/safepoint-table.cc | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/3rdparty/v8/src/safepoint-table.cc b/src/3rdparty/v8/src/safepoint-table.cc index 89ad8af..714e5c3 100644 --- a/src/3rdparty/v8/src/safepoint-table.cc +++ b/src/3rdparty/v8/src/safepoint-table.cc @@ -116,8 +116,8 @@ void SafepointTable::PrintBits(uint8_t byte, int digits) { } -void Safepoint::DefinePointerRegister(Register reg) { - registers_->Add(reg.code()); +void Safepoint::DefinePointerRegister(Register reg, Zone* zone) { + registers_->Add(reg.code(), zone); } @@ -131,15 +131,16 @@ Safepoint SafepointTableBuilder::DefineSafepoint( info.pc = assembler->pc_offset(); info.arguments = arguments; info.has_doubles = (kind & Safepoint::kWithDoubles); - deoptimization_info_.Add(info); - deopt_index_list_.Add(Safepoint::kNoDeoptimizationIndex); + 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 ZoneList<int>(8)); + indexes_.Add(new(zone_) ZoneList<int>(8, zone_), zone_); registers_.Add((kind & Safepoint::kWithRegisters) - ? new ZoneList<int>(4) - : NULL); + ? new(zone_) ZoneList<int>(4, zone_) + : NULL, + zone_); return Safepoint(indexes_.last(), registers_.last()); } @@ -190,12 +191,12 @@ void SafepointTableBuilder::Emit(Assembler* assembler, int bits_per_entry) { } // Emit table of bitmaps. - ZoneList<uint8_t> bits(bytes_per_entry); + 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); + bits.AddBlock(0, bytes_per_entry, zone_); // Run through the registers (if any). ASSERT(IsAligned(kNumSafepointRegisters, kBitsPerByte)); |