Explicitly initialize MarkCompactCollector and ExternalStringTable
BUG=none R=dcarney@chromium.org LOG=n Review URL: https://codereview.chromium.org/143063003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
6eb9e02b00
commit
e06d47307d
@ -134,6 +134,7 @@ Heap::Heap()
|
||||
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),
|
||||
@ -152,6 +153,7 @@ Heap::Heap()
|
||||
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
|
||||
@ -177,8 +179,6 @@ Heap::Heap()
|
||||
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);
|
||||
|
@ -462,7 +462,7 @@ class ExternalStringTable {
|
||||
void TearDown();
|
||||
|
||||
private:
|
||||
ExternalStringTable() { }
|
||||
explicit ExternalStringTable(Heap* heap) : heap_(heap) { }
|
||||
|
||||
friend class Heap;
|
||||
|
||||
|
@ -56,7 +56,7 @@ const char* Marking::kImpossibleBitPattern = "01";
|
||||
// -------------------------------------------------------------------------
|
||||
// MarkCompactCollector
|
||||
|
||||
MarkCompactCollector::MarkCompactCollector() : // NOLINT
|
||||
MarkCompactCollector::MarkCompactCollector(Heap* heap) : // NOLINT
|
||||
#ifdef DEBUG
|
||||
state_(IDLE),
|
||||
#endif
|
||||
@ -70,7 +70,7 @@ MarkCompactCollector::MarkCompactCollector() : // NOLINT
|
||||
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) { }
|
||||
|
@ -744,7 +744,7 @@ class MarkCompactCollector {
|
||||
void MarkAllocationSite(AllocationSite* site);
|
||||
|
||||
private:
|
||||
MarkCompactCollector();
|
||||
explicit MarkCompactCollector(Heap* heap);
|
||||
~MarkCompactCollector();
|
||||
|
||||
bool MarkInvalidatedCode();
|
||||
|
Loading…
Reference in New Issue
Block a user