Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(394)

Unified Diff: src/heap/heap-inl.h

Issue 2862563002: [heap] Pause black allocation during GCs (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/heap/heap.cc ('k') | src/heap/incremental-marking.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap/heap-inl.h
diff --git a/src/heap/heap-inl.h b/src/heap/heap-inl.h
index c08a46cc10a573e6cfebadef8701eeb7752a2dc6..1ed19107f01b35b0e9549e174fa3a985c3d29622 100644
--- a/src/heap/heap-inl.h
+++ b/src/heap/heap-inl.h
@@ -38,23 +38,21 @@ HeapObject* AllocationResult::ToObjectChecked() {
return HeapObject::cast(object_);
}
-void PromotionQueue::insert(HeapObject* target, int32_t size,
- bool was_marked_black) {
+void PromotionQueue::insert(HeapObject* target, int32_t size) {
if (emergency_stack_ != NULL) {
- emergency_stack_->Add(Entry(target, size, was_marked_black));
+ emergency_stack_->Add(Entry(target, size));
return;
}
if ((rear_ - 1) < limit_) {
RelocateQueueHead();
- emergency_stack_->Add(Entry(target, size, was_marked_black));
+ emergency_stack_->Add(Entry(target, size));
return;
}
struct Entry* entry = reinterpret_cast<struct Entry*>(--rear_);
entry->obj_ = target;
entry->size_ = size;
- entry->was_marked_black_ = was_marked_black;
// Assert no overflow into live objects.
#ifdef DEBUG
@@ -63,21 +61,18 @@ void PromotionQueue::insert(HeapObject* target, int32_t size,
#endif
}
-void PromotionQueue::remove(HeapObject** target, int32_t* size,
- bool* was_marked_black) {
+void PromotionQueue::remove(HeapObject** target, int32_t* size) {
DCHECK(!is_empty());
if (front_ == rear_) {
Entry e = emergency_stack_->RemoveLast();
*target = e.obj_;
*size = e.size_;
- *was_marked_black = e.was_marked_black_;
return;
}
struct Entry* entry = reinterpret_cast<struct Entry*>(--front_);
*target = entry->obj_;
*size = entry->size_;
- *was_marked_black = entry->was_marked_black_;
// Assert no underflow.
SemiSpace::AssertValidRange(reinterpret_cast<Address>(rear_),
« no previous file with comments | « src/heap/heap.cc ('k') | src/heap/incremental-marking.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698