Chromium Code Reviews| Index: src/heap-inl.h |
| diff --git a/src/heap-inl.h b/src/heap-inl.h |
| index 880885593abe2916cdcad30bc46a369454fd663f..8dfec83e3127cbefa3fa13b6e31b7f493731f46e 100644 |
| --- a/src/heap-inl.h |
| +++ b/src/heap-inl.h |
| @@ -69,7 +69,7 @@ void PromotionQueue::insert(HeapObject* target, int size) { |
| *(--rear_) = size; |
| // Assert no overflow into live objects. |
| #ifdef DEBUG |
| - SemiSpace::AssertValidRange(HEAP->new_space()->top(), |
| + SemiSpace::AssertValidRange(target->GetIsolate()->heap()->new_space()->top(), |
| reinterpret_cast<Address>(rear_)); |
| #endif |
| } |
| @@ -508,7 +508,7 @@ void Heap::ScavengePointer(HeapObject** p) { |
| void Heap::ScavengeObject(HeapObject** p, HeapObject* object) { |
| - ASSERT(HEAP->InFromSpace(object)); |
| + ASSERT(object->GetIsolate()->heap()->InFromSpace(object)); |
| // We use the first word (where the map pointer usually is) of a heap |
| // object to record the forwarding pointer. A forwarding pointer can |
| @@ -520,7 +520,7 @@ void Heap::ScavengeObject(HeapObject** p, HeapObject* object) { |
| // copied. |
| if (first_word.IsForwardingAddress()) { |
| HeapObject* dest = first_word.ToForwardingAddress(); |
| - ASSERT(HEAP->InFromSpace(*p)); |
| + ASSERT(object->GetIsolate()->heap()->InFromSpace(*p)); |
| *p = dest; |
| return; |
| } |
| @@ -613,10 +613,10 @@ Isolate* Heap::isolate() { |
| #ifdef DEBUG |
| -#define GC_GREEDY_CHECK() \ |
| - if (FLAG_gc_greedy) HEAP->GarbageCollectionGreedyCheck() |
| +#define GC_GREEDY_CHECK(ISOLATE) \ |
| + if (FLAG_gc_greedy) ISOLATE->heap()->GarbageCollectionGreedyCheck() |
|
Sven Panne
2013/09/10 12:55:53
Wrap argument in ()
|
| #else |
| -#define GC_GREEDY_CHECK() { } |
| +#define GC_GREEDY_CHECK(ISOLATE) { } |
| #endif |
| // Calls the FUNCTION_CALL function and retries it up to three times |
| @@ -628,7 +628,7 @@ Isolate* Heap::isolate() { |
| #define CALL_AND_RETRY(ISOLATE, FUNCTION_CALL, RETURN_VALUE, RETURN_EMPTY, OOM)\ |
| do { \ |
| - GC_GREEDY_CHECK(); \ |
| + GC_GREEDY_CHECK(ISOLATE); \ |
| MaybeObject* __maybe_object__ = FUNCTION_CALL; \ |
| Object* __object__ = NULL; \ |
| if (__maybe_object__->ToObject(&__object__)) RETURN_VALUE; \ |
| @@ -719,12 +719,12 @@ void ExternalStringTable::Verify() { |
| for (int i = 0; i < new_space_strings_.length(); ++i) { |
| Object* obj = Object::cast(new_space_strings_[i]); |
| ASSERT(heap_->InNewSpace(obj)); |
| - ASSERT(obj != HEAP->the_hole_value()); |
| + ASSERT(obj != heap_->the_hole_value()); |
| } |
| for (int i = 0; i < old_space_strings_.length(); ++i) { |
| Object* obj = Object::cast(old_space_strings_[i]); |
| ASSERT(!heap_->InNewSpace(obj)); |
| - ASSERT(obj != HEAP->the_hole_value()); |
| + ASSERT(obj != heap_->the_hole_value()); |
| } |
| #endif |
| } |
| @@ -831,25 +831,29 @@ AlwaysAllocateScope::AlwaysAllocateScope() { |
| // non-handle code to call handle code. The code still works but |
| // performance will degrade, so we want to catch this situation |
| // in debug mode. |
| - ASSERT(HEAP->always_allocate_scope_depth_ == 0); |
| - HEAP->always_allocate_scope_depth_++; |
| + Isolate* isolate = Isolate::Current(); |
| + ASSERT(isolate->heap()->always_allocate_scope_depth_ == 0); |
| + isolate->heap()->always_allocate_scope_depth_++; |
| } |
| AlwaysAllocateScope::~AlwaysAllocateScope() { |
| - HEAP->always_allocate_scope_depth_--; |
| - ASSERT(HEAP->always_allocate_scope_depth_ == 0); |
| + Isolate* isolate = Isolate::Current(); |
| + isolate->heap()->always_allocate_scope_depth_--; |
| + ASSERT(isolate->heap()->always_allocate_scope_depth_ == 0); |
| } |
| #ifdef VERIFY_HEAP |
| NoWeakEmbeddedMapsVerificationScope::NoWeakEmbeddedMapsVerificationScope() { |
| - HEAP->no_weak_embedded_maps_verification_scope_depth_++; |
| + Isolate* isolate = Isolate::Current(); |
| + isolate->heap()->no_weak_embedded_maps_verification_scope_depth_++; |
| } |
| NoWeakEmbeddedMapsVerificationScope::~NoWeakEmbeddedMapsVerificationScope() { |
| - HEAP->no_weak_embedded_maps_verification_scope_depth_--; |
| + Isolate* isolate = Isolate::Current(); |
| + isolate->heap()->no_weak_embedded_maps_verification_scope_depth_--; |
| } |
| #endif |
| @@ -858,7 +862,7 @@ void VerifyPointersVisitor::VisitPointers(Object** start, Object** end) { |
| for (Object** current = start; current < end; current++) { |
| if ((*current)->IsHeapObject()) { |
| HeapObject* object = HeapObject::cast(*current); |
| - CHECK(HEAP->Contains(object)); |
| + CHECK(object->GetIsolate()->heap()->Contains(object)); |
| CHECK(object->map()->IsMap()); |
| } |
| } |
| @@ -866,21 +870,23 @@ void VerifyPointersVisitor::VisitPointers(Object** start, Object** end) { |
| double GCTracer::SizeOfHeapObjects() { |
| - return (static_cast<double>(HEAP->SizeOfObjects())) / MB; |
| + return (static_cast<double>(heap_->SizeOfObjects())) / MB; |
| } |
| DisallowAllocationFailure::DisallowAllocationFailure() { |
| #ifdef DEBUG |
| - old_state_ = HEAP->disallow_allocation_failure_; |
| - HEAP->disallow_allocation_failure_ = true; |
| + Isolate* isolate = Isolate::Current(); |
| + old_state_ = isolate->heap()->disallow_allocation_failure_; |
| + isolate->heap()->disallow_allocation_failure_ = true; |
| #endif |
| } |
| DisallowAllocationFailure::~DisallowAllocationFailure() { |
| #ifdef DEBUG |
| - HEAP->disallow_allocation_failure_ = old_state_; |
| + Isolate* isolate = Isolate::Current(); |
| + isolate->heap()->disallow_allocation_failure_ = old_state_; |
| #endif |
| } |