Index: src/heap.cc |
diff --git a/src/heap.cc b/src/heap.cc |
index c06a592efacb435b04bf248fa1bb7eaebb5f8322..0455a84b8b6cd795e6e09b167e451a4048c0cc92 100644 |
--- a/src/heap.cc |
+++ b/src/heap.cc |
@@ -731,7 +731,7 @@ void Heap::MoveElements(FixedArray* array, |
int len) { |
if (len == 0) return; |
- ASSERT(array->map() != HEAP->fixed_cow_array_map()); |
+ ASSERT(array->map() != fixed_cow_array_map()); |
Object** dst_objects = array->data_start() + dst_index; |
OS::MemMove(dst_objects, |
array->data_start() + src_index, |
@@ -765,9 +765,9 @@ class StringTableVerifier : public ObjectVisitor { |
}; |
-static void VerifyStringTable() { |
+static void VerifyStringTable(Heap* heap) { |
StringTableVerifier verifier; |
- HEAP->string_table()->IterateElements(&verifier); |
+ heap->string_table()->IterateElements(&verifier); |
} |
#endif // VERIFY_HEAP |
@@ -922,7 +922,7 @@ bool Heap::PerformGarbageCollection(GarbageCollector collector, |
#ifdef VERIFY_HEAP |
if (FLAG_verify_heap) { |
- VerifyStringTable(); |
+ VerifyStringTable(this); |
} |
#endif |
@@ -1046,7 +1046,7 @@ bool Heap::PerformGarbageCollection(GarbageCollector collector, |
#ifdef VERIFY_HEAP |
if (FLAG_verify_heap) { |
- VerifyStringTable(); |
+ VerifyStringTable(this); |
} |
#endif |
@@ -1154,29 +1154,33 @@ class ScavengeVisitor: public ObjectVisitor { |
// new space. |
class VerifyNonPointerSpacePointersVisitor: public ObjectVisitor { |
public: |
+ explicit VerifyNonPointerSpacePointersVisitor(Heap* heap) : heap_(heap) {} |
void VisitPointers(Object** start, Object**end) { |
for (Object** current = start; current < end; current++) { |
if ((*current)->IsHeapObject()) { |
- CHECK(!HEAP->InNewSpace(HeapObject::cast(*current))); |
+ CHECK(!heap_->InNewSpace(HeapObject::cast(*current))); |
} |
} |
} |
+ |
+ private: |
+ Heap* heap_; |
}; |
-static void VerifyNonPointerSpacePointers() { |
+static void VerifyNonPointerSpacePointers(Heap* heap) { |
// Verify that there are no pointers to new space in spaces where we |
// do not expect them. |
- VerifyNonPointerSpacePointersVisitor v; |
- HeapObjectIterator code_it(HEAP->code_space()); |
+ VerifyNonPointerSpacePointersVisitor v(heap); |
+ HeapObjectIterator code_it(heap->code_space()); |
for (HeapObject* object = code_it.Next(); |
object != NULL; object = code_it.Next()) |
object->Iterate(&v); |
// The old data space was normally swept conservatively so that the iterator |
// doesn't work, so we normally skip the next bit. |
- if (!HEAP->old_data_space()->was_swept_conservatively()) { |
- HeapObjectIterator data_it(HEAP->old_data_space()); |
+ if (!heap->old_data_space()->was_swept_conservatively()) { |
+ HeapObjectIterator data_it(heap->old_data_space()); |
for (HeapObject* object = data_it.Next(); |
object != NULL; object = data_it.Next()) |
object->Iterate(&v); |
@@ -1323,7 +1327,7 @@ void Heap::Scavenge() { |
RelocationLock relocation_lock(this); |
#ifdef VERIFY_HEAP |
- if (FLAG_verify_heap) VerifyNonPointerSpacePointers(); |
+ if (FLAG_verify_heap) VerifyNonPointerSpacePointers(this); |
#endif |
gc_state_ = SCAVENGE; |
@@ -2377,7 +2381,7 @@ void Heap::SelectScavengingVisitorsTable() { |
void Heap::ScavengeObjectSlow(HeapObject** p, HeapObject* object) { |
- SLOW_ASSERT(HEAP->InFromSpace(object)); |
+ SLOW_ASSERT(object->GetIsolate()->heap()->InFromSpace(object)); |
MapWord first_word = object->map_word(); |
SLOW_ASSERT(!first_word.IsForwardingAddress()); |
Map* map = first_word.ToMap(); |
@@ -7841,7 +7845,7 @@ int KeyedLookupCache::Lookup(Map* map, Name* name) { |
void KeyedLookupCache::Update(Map* map, Name* name, int field_offset) { |
if (!name->IsUniqueName()) { |
String* internalized_string; |
- if (!HEAP->InternalizeStringIfExists( |
+ if (!map->GetIsolate()->heap()->InternalizeStringIfExists( |
String::cast(name), &internalized_string)) { |
return; |
} |
@@ -7849,7 +7853,7 @@ void KeyedLookupCache::Update(Map* map, Name* name, int field_offset) { |
} |
// This cache is cleared only between mark compact passes, so we expect the |
// cache to only contain old space names. |
- ASSERT(!HEAP->InNewSpace(name)); |
+ ASSERT(!map->GetIsolate()->heap()->InNewSpace(name)); |
int index = (Hash(map, name) & kHashMask); |
// After a GC there will be free slots, so we use them in order (this may |