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;
 }