Switch transition zapping to slower version.
authormstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 4 Apr 2013 10:52:53 +0000 (10:52 +0000)
committermstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 4 Apr 2013 10:52:53 +0000 (10:52 +0000)
This is just an experiment to track down high crash rates on some
systems where third-party software corrupts memory regions.

R=danno@chromium.org

Review URL: https://codereview.chromium.org/13630002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/objects.cc

index 0662ba540c5aac985869c587e6b2cdbaeb70e100..8f03b1043048b9f4d1e4b94f8d28310e1696e70c 100644 (file)
@@ -9931,9 +9931,14 @@ MaybeObject* Map::PutPrototypeTransition(Object* prototype, Map* map) {
 
 void Map::ZapTransitions() {
   TransitionArray* transition_array = transitions();
-  MemsetPointer(transition_array->data_start(),
-                GetHeap()->the_hole_value(),
-                transition_array->length());
+  // TODO(mstarzinger): Temporarily use a slower version instead of the faster
+  // MemsetPointer to investigate a crasher. Switch back to MemsetPointer.
+  Object** data = transition_array->data_start();
+  Object* the_hole = GetHeap()->the_hole_value();
+  int length = transition_array->length();
+  for (int i = 0; i < length; i++) {
+    data[i] = the_hole;
+  }
 }