Revision: 10452
Author:   [email protected]
Date:     Thu Jan 19 11:52:46 2012
Log:      Merge r10451 from bleeding_edge to trunk.

Fix missing write-barrier for prototype transitions.
http://code.google.com/p/v8/source/detail?r=10452

Modified:
 /trunk/src/mark-compact.cc
 /trunk/src/version.cc

=======================================
--- /trunk/src/mark-compact.cc  Thu Jan 19 07:36:35 2012
+++ /trunk/src/mark-compact.cc  Thu Jan 19 11:52:46 2012
@@ -2304,18 +2304,24 @@
Object* prototype = prototype_transitions->get(proto_offset + i * step); Object* cached_map = prototype_transitions->get(map_offset + i * step);
       if (IsMarked(prototype) && IsMarked(cached_map)) {
+        int proto_index = proto_offset + new_number_of_transitions * step;
+        int map_index = map_offset + new_number_of_transitions * step;
         if (new_number_of_transitions != i) {
           prototype_transitions->set_unchecked(
               heap_,
-              proto_offset + new_number_of_transitions * step,
+              proto_index,
               prototype,
               UPDATE_WRITE_BARRIER);
           prototype_transitions->set_unchecked(
               heap_,
-              map_offset + new_number_of_transitions * step,
+              map_index,
               cached_map,
               SKIP_WRITE_BARRIER);
         }
+        Object** slot =
+            HeapObject::RawField(prototype_transitions,
+ FixedArray::OffsetOfElementAt(proto_index));
+        RecordSlot(slot, slot, prototype);
         new_number_of_transitions++;
       }
     }
=======================================
--- /trunk/src/version.cc       Thu Jan 19 07:36:35 2012
+++ /trunk/src/version.cc       Thu Jan 19 11:52:46 2012
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     8
 #define BUILD_NUMBER      7
-#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

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to