last_gc_end_timestamp_(0.0),
marking_time_(0.0),
sweeping_time_(0.0),
+ mark_compact_collector_(this),
store_buffer_(this),
marking_(this),
incremental_marking_(this),
allocation_sites_scratchpad_length(0),
promotion_queue_(this),
configured_(false),
+ external_string_table_(this),
chunks_queued_for_free_(NULL),
relocation_mutex_(NULL) {
// Allow build-time customization of the max semispace size. Building
native_contexts_list_ = NULL;
array_buffers_list_ = Smi::FromInt(0);
allocation_sites_list_ = Smi::FromInt(0);
- mark_compact_collector_.heap_ = this;
- external_string_table_.heap_ = this;
// Put a dummy entry in the remembered pages so we can find the list the
// minidump even if there are no real unmapped pages.
RememberUnmappedPage(NULL, false);
// -------------------------------------------------------------------------
// MarkCompactCollector
-MarkCompactCollector::MarkCompactCollector() : // NOLINT
+MarkCompactCollector::MarkCompactCollector(Heap* heap) : // NOLINT
#ifdef DEBUG
state_(IDLE),
#endif
sequential_sweeping_(false),
tracer_(NULL),
migration_slots_buffer_(NULL),
- heap_(NULL),
+ heap_(heap),
code_flusher_(NULL),
encountered_weak_collections_(NULL),
have_code_to_deoptimize_(false) { }
void MarkAllocationSite(AllocationSite* site);
private:
- MarkCompactCollector();
+ explicit MarkCompactCollector(Heap* heap);
~MarkCompactCollector();
bool MarkInvalidatedCode();