diff options
Diffstat (limited to 'deps/v8/src/mark-compact.h')
-rw-r--r-- | deps/v8/src/mark-compact.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/deps/v8/src/mark-compact.h b/deps/v8/src/mark-compact.h index e0a7d94956..85a4a3b706 100644 --- a/deps/v8/src/mark-compact.h +++ b/deps/v8/src/mark-compact.h @@ -1,4 +1,4 @@ -// Copyright 2011 the V8 project authors. All rights reserved. +// Copyright 2012 the V8 project authors. All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -198,7 +198,7 @@ class MarkingDeque { ASSERT(object->IsHeapObject()); if (IsFull()) { Marking::BlackToGrey(object); - MemoryChunk::IncrementLiveBytes(object->address(), -object->Size()); + MemoryChunk::IncrementLiveBytesFromGC(object->address(), -object->Size()); SetOverflowed(); } else { array_[top_] = object; @@ -407,7 +407,7 @@ class MarkCompactCollector { // object from the forwarding address of the previous live object in the // page as input, and is updated to contain the offset to be used for the // next live object in the same page. For spaces using a different - // encoding (ie, contiguous spaces), the offset parameter is ignored. + // encoding (i.e., contiguous spaces), the offset parameter is ignored. typedef void (*EncodingFunction)(Heap* heap, HeapObject* old_object, int object_size, @@ -580,6 +580,8 @@ class MarkCompactCollector { bool collect_maps_; + bool flush_monomorphic_ics_; + // A pointer to the current stack-allocated GC tracer object during a full // collection (NULL before and after). GCTracer* tracer_; @@ -622,10 +624,16 @@ class MarkCompactCollector { void AfterMarking(); + // Marks the object black and pushes it on the marking stack. + // This is for non-incremental marking. INLINE(void MarkObject(HeapObject* obj, MarkBit mark_bit)); + // Marks the object black. This is for non-incremental marking. INLINE(void SetMark(HeapObject* obj, MarkBit mark_bit)); + // Clears the cache of ICs related to this map. + INLINE(void ClearCacheOnMap(Map* map)); + void ProcessNewlyMarkedObject(HeapObject* obj); // Creates back pointers for all map transitions, stores them in |