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

Unified Diff: src/mark-compact-inl.h

Issue 7032005: Unify markbits for old and new spaces. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/gc
Patch Set: Created 9 years, 7 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/mark-compact.cc ('k') | src/serialize.cc » ('j') | src/serialize.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/mark-compact-inl.h
diff --git a/src/mark-compact-inl.h b/src/mark-compact-inl.h
index 96dd30248160e65526fb2b42ddebb840f7c4d895..3403ab910333794155bf69fcf9ae37e343bda5df 100644
--- a/src/mark-compact-inl.h
+++ b/src/mark-compact-inl.h
@@ -35,49 +35,14 @@
namespace v8 {
namespace internal {
-MarkBit Marking::MarkBitFromNewSpace(HeapObject* obj) {
- ASSERT(heap_->InNewSpace(obj));
- uint32_t index = heap_->new_space()->AddressToMarkbitIndex(
- reinterpret_cast<Address>(obj));
- bool data_object = obj->map()->instance_type() == HEAP_NUMBER_TYPE;
- return new_space_bitmap_->MarkBitFromIndex(index, data_object);
-}
-
-MarkBit Marking::MarkBitFromOldSpace(HeapObject* obj) {
- ASSERT(!HEAP->InNewSpace(obj));
- ASSERT(obj->IsHeapObject());
- Address addr = reinterpret_cast<Address>(obj);
+MarkBit Marking::MarkBitFrom(Address addr) {
Page *p = Page::FromAddress(addr);
return p->markbits()->MarkBitFromIndex(p->AddressToMarkbitIndex(addr),
p->ContainsOnlyData());
}
-MarkBit Marking::MarkBitFrom(Address addr) {
- if (heap_->InNewSpace(addr)) {
- uint32_t index = heap_->new_space()->AddressToMarkbitIndex(addr);
- return new_space_bitmap_->MarkBitFromIndex(index);
- } else {
- Page *p = Page::FromAddress(addr);
- return p->markbits()->MarkBitFromIndex(p->AddressToMarkbitIndex(addr),
- p->ContainsOnlyData());
- }
-}
-
-
-void Marking::ClearRange(Address addr, int size) {
- if (heap_->InNewSpace(addr)) {
- uint32_t index = heap_->new_space()->AddressToMarkbitIndex(addr);
- new_space_bitmap_->ClearRange(index, size >> kPointerSizeLog2);
- } else {
- Page *p = Page::FromAddress(addr);
- p->markbits()->ClearRange(p->FastAddressToMarkbitIndex(addr),
- size >> kPointerSizeLog2);
- }
-}
-
-
void MarkCompactCollector::SetFlags(int flags) {
force_compaction_ = ((flags & Heap::kForceCompactionMask) != 0);
sweep_precisely_ = ((flags & Heap::kMakeHeapIterableMask) != 0);
« no previous file with comments | « src/mark-compact.cc ('k') | src/serialize.cc » ('j') | src/serialize.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698