Reviewers: fschneider,
Description:
Merge fix for incorrect overlap check in mark compact collector to 3.4
branch.
Bleeding edge revision 8704.
Please review this at http://codereview.chromium.org/7471036/
SVN Base: http://v8.googlecode.com/svn/branches/3.4/
Affected files:
M src/heap-inl.h
M src/version.cc
Index: src/heap-inl.h
===================================================================
--- src/heap-inl.h (revision 8706)
+++ src/heap-inl.h (working copy)
@@ -368,11 +368,7 @@
int size_in_words = byte_size / kPointerSize;
- if ((dst < src) || (dst >= (src + size_in_words))) {
- ASSERT((dst >= (src + size_in_words)) ||
- ((OffsetFrom(reinterpret_cast<Address>(src)) -
- OffsetFrom(reinterpret_cast<Address>(dst))) >= kPointerSize));
-
+ if ((dst < src) || (dst >= (src + byte_size))) {
Object** src_slot = reinterpret_cast<Object**>(src);
Object** dst_slot = reinterpret_cast<Object**>(dst);
Object** end_slot = src_slot + size_in_words;
@@ -390,8 +386,7 @@
Address src,
int byte_size) {
ASSERT(IsAligned(byte_size, kPointerSize));
- ASSERT((dst >= (src + byte_size)) ||
- ((OffsetFrom(src) - OffsetFrom(dst)) >= kPointerSize));
+ ASSERT((dst < src) || (dst >= (src + byte_size)));
CopyBlockToOldSpaceAndUpdateRegionMarks(dst, src, byte_size);
}
Index: src/version.cc
===================================================================
--- src/version.cc (revision 8706)
+++ src/version.cc (working copy)
@@ -35,7 +35,7 @@
#define MAJOR_VERSION 3
#define MINOR_VERSION 4
#define BUILD_NUMBER 14
-#define PATCH_LEVEL 0
+#define PATCH_LEVEL 1
// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
#define IS_CANDIDATE_VERSION 0