Index: src/spaces.cc |
=================================================================== |
--- src/spaces.cc (revision 2947) |
+++ src/spaces.cc (working copy) |
@@ -827,13 +827,7 @@ |
// have their remembered set bits set if required as determined |
// by the visitor. |
int size = object->Size(); |
- if (object->IsCode()) { |
- Code::cast(object)->ConvertICTargetsFromAddressToObject(); |
- object->IterateBody(map->instance_type(), size, visitor); |
- Code::cast(object)->ConvertICTargetsFromObjectToAddress(); |
- } else { |
- object->IterateBody(map->instance_type(), size, visitor); |
- } |
+ object->IterateBody(map->instance_type(), size, visitor); |
current += size; |
} |
@@ -1906,7 +1900,7 @@ |
int rset = Memory::int_at(rset_addr); |
if (rset != 0) { |
// Bits were set |
- int intoff = rset_addr - p->address(); |
+ int intoff = rset_addr - p->address() - Page::kRSetOffset; |
int bitoff = 0; |
for (; bitoff < kBitsPerInt; ++bitoff) { |
if ((rset & (1 << bitoff)) != 0) { |
@@ -2171,7 +2165,7 @@ |
int rset = Memory::int_at(rset_addr); |
if (rset != 0) { |
// Bits were set |
- int intoff = rset_addr - p->address(); |
+ int intoff = rset_addr - p->address() - Page::kRSetOffset; |
int bitoff = 0; |
for (; bitoff < kBitsPerInt; ++bitoff) { |
if ((rset & (1 << bitoff)) != 0) { |
@@ -2574,11 +2568,9 @@ |
// Byte arrays and strings don't have interior pointers. |
if (object->IsCode()) { |
VerifyPointersVisitor code_visitor; |
- Code::cast(object)->ConvertICTargetsFromAddressToObject(); |
object->IterateBody(map->instance_type(), |
object->Size(), |
&code_visitor); |
- Code::cast(object)->ConvertICTargetsFromObjectToAddress(); |
} else if (object->IsFixedArray()) { |
// We loop over fixed arrays ourselves, rather then using the visitor, |
// because the visitor doesn't support the start/offset iteration |