Version 3.7.0
Fixed array handling for Object.defineOwnProperty (ES5 conformance).
Fixed issue 1757 (string slices of external strings).
Fixed issue 1759 (ARM).
Added flag --noclever-optimizations to disable some things that caused trouble in the past.
Added flag --stress-compaction for testing.
Added flag --harmony to activate all experimental Harmony features.
git-svn-id: http://v8.googlecode.com/svn/trunk@9603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/incremental-marking.cc b/src/incremental-marking.cc
index 1c6fac0..88ebd78 100644
--- a/src/incremental-marking.cc
+++ b/src/incremental-marking.cc
@@ -117,14 +117,12 @@
incremental_marking_(incremental_marking) {
}
- void VisitEmbeddedPointer(Code* host, Object** p) {
- Object* obj = *p;
- if (obj->NonFailureIsHeapObject()) {
- heap_->mark_compact_collector()->RecordSlot(
- reinterpret_cast<Object**>(host),
- p,
- obj);
- MarkObject(obj);
+ void VisitEmbeddedPointer(RelocInfo* rinfo) {
+ ASSERT(rinfo->rmode() == RelocInfo::EMBEDDED_OBJECT);
+ Object* target = rinfo->target_object();
+ if (target->NonFailureIsHeapObject()) {
+ heap_->mark_compact_collector()->RecordRelocSlot(rinfo, target);
+ MarkObject(target);
}
}
@@ -346,6 +344,7 @@
#endif
return FLAG_incremental_marking &&
+ !Serializer::enabled() &&
heap_->PromotedSpaceSize() > kActivationThreshold;
}