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

Unified Diff: src/heap-inl.h

Issue 6309012: * Complete new store buffer on ia32. The store buffer now covers... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: '' Created 9 years, 11 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
Index: src/heap-inl.h
===================================================================
--- src/heap-inl.h (revision 6207)
+++ src/heap-inl.h (working copy)
@@ -325,32 +325,23 @@
}
-void Heap::CopyBlockToOldSpaceAndUpdateRegionMarks(Address dst,
- Address src,
- int byte_size) {
-#ifdef ENABLE_CARDMARKING_WRITE_BARRIER
+void Heap::CopyBlockToOldSpaceAndUpdateWriteBarrier(Address dst,
+ Address src,
+ int byte_size) {
ASSERT(IsAligned(byte_size, kPointerSize));
- Page* page = Page::FromAddress(dst);
- uint32_t marks = page->GetRegionMarks();
-
for (int remaining = byte_size / kPointerSize;
remaining > 0;
remaining--) {
Memory::Object_at(dst) = Memory::Object_at(src);
if (Heap::InNewSpace(Memory::Object_at(dst))) {
- marks |= page->GetRegionMaskForAddress(dst);
+ StoreBuffer::Mark(dst);
}
dst += kPointerSize;
src += kPointerSize;
}
-
- page->SetRegionMarks(marks);
-#else
- CopyBlock(dst, src, byte_size);
-#endif
}
@@ -377,21 +368,6 @@
}
-void Heap::MoveBlockToOldSpaceAndUpdateRegionMarks(Address dst,
- Address src,
- int byte_size) {
- ASSERT(IsAligned(byte_size, kPointerSize));
- ASSERT((dst >= (src + byte_size)) ||
- ((OffsetFrom(src) - OffsetFrom(dst)) >= kPointerSize));
-
-#ifdef ENABLE_CARDMARKING_WRITE_BARRIER
- CopyBlockToOldSpaceAndUpdateRegionMarks(dst, src, byte_size);
-#else
- MoveBlock(dst, src, byte_size);
-#endif
-}
-
-
void Heap::ScavengeObject(HeapObject** p, HeapObject* object) {
ASSERT(InFromSpace(object));

Powered by Google App Engine
This is Rietveld 408576698