Removed pointer space to pointer space compaction check when migrating objects.
BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/20279002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
f5e6fbef6e
commit
09b1b9e4d5
@ -2740,17 +2740,6 @@ void MarkCompactCollector::MigrateObject(Address dst,
|
||||
HEAP_PROFILE(heap(), ObjectMoveEvent(src, dst));
|
||||
// TODO(hpayer): Replace that check with an assert.
|
||||
CHECK(dest != LO_SPACE && size <= Page::kMaxNonCodeHeapObjectSize);
|
||||
// Objects in old pointer space and old data space can just be moved by
|
||||
// compaction to a different page in the same space.
|
||||
// TODO(hpayer): Replace that following checks with asserts.
|
||||
CHECK(!heap_->old_pointer_space()->Contains(src) ||
|
||||
(heap_->old_pointer_space()->Contains(dst) &&
|
||||
heap_->TargetSpace(HeapObject::FromAddress(src)) ==
|
||||
heap_->old_pointer_space()));
|
||||
CHECK(!heap_->old_data_space()->Contains(src) ||
|
||||
(heap_->old_data_space()->Contains(dst) &&
|
||||
heap_->TargetSpace(HeapObject::FromAddress(src)) ==
|
||||
heap_->old_data_space()));
|
||||
if (dest == OLD_POINTER_SPACE) {
|
||||
// TODO(hpayer): Replace this check with an assert.
|
||||
CHECK(heap_->TargetSpace(HeapObject::FromAddress(src)) ==
|
||||
@ -2800,6 +2789,13 @@ void MarkCompactCollector::MigrateObject(Address dst,
|
||||
Code::cast(HeapObject::FromAddress(dst))->Relocate(dst - src);
|
||||
} else {
|
||||
ASSERT(dest == OLD_DATA_SPACE || dest == NEW_SPACE);
|
||||
// Objects in old data space can just be moved by compaction to a different
|
||||
// page in old data space.
|
||||
// TODO(hpayer): Replace the following check with an assert.
|
||||
CHECK(!heap_->old_data_space()->Contains(src) ||
|
||||
(heap_->old_data_space()->Contains(dst) &&
|
||||
heap_->TargetSpace(HeapObject::FromAddress(src)) ==
|
||||
heap_->old_data_space()));
|
||||
heap()->MoveBlock(dst, src, size);
|
||||
}
|
||||
Memory::Address_at(src) = dst;
|
||||
|
Loading…
Reference in New Issue
Block a user