Commit 0fd9bf8f authored by hpayer's avatar hpayer Committed by Commit bot

Reland Fix old space check in IsSlotInBlackObject.

BUG=

Review URL: https://codereview.chromium.org/978983003

Cr-Commit-Position: refs/heads/master@{#27104}
parent e0aa8ebf
......@@ -3059,7 +3059,8 @@ bool MarkCompactCollector::TryPromoteObject(HeapObject* object,
bool MarkCompactCollector::IsSlotInBlackObject(Page* p, Address slot) {
// This function does not support large objects right now.
if (p->owner() == NULL) return true;
Space* owner = p->owner();
if (owner == heap_->lo_space() || owner == NULL) return true;
uint32_t mark_bit_index = p->AddressToMarkbitIndex(slot);
unsigned int start_index = mark_bit_index >> Bitmap::kBitsPerCellLog2;
......@@ -3121,7 +3122,8 @@ bool MarkCompactCollector::IsSlotInBlackObject(Page* p, Address slot) {
bool MarkCompactCollector::IsSlotInBlackObjectSlow(Page* p, Address slot) {
// This function does not support large objects right now.
if (p->owner() == NULL) return true;
Space* owner = p->owner();
if (owner == heap_->lo_space() || owner == NULL) return true;
for (MarkBitCellIterator it(p); !it.Done(); it.Advance()) {
Address cell_base = it.CurrentCellBase();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment