Revision: 13647
Author:   [email protected]
Date:     Tue Feb 12 04:04:29 2013
Log: Remove instructions properly (stack check elimination was leaving "dangling uses" around).

BUG=

Review URL: https://codereview.chromium.org/12224090
http://code.google.com/p/v8/source/detail?r=13647

Modified:
 /branches/bleeding_edge/src/hydrogen-instructions.cc
 /branches/bleeding_edge/src/hydrogen-instructions.h

=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.cc Tue Feb 12 03:44:08 2013 +++ /branches/bleeding_edge/src/hydrogen-instructions.cc Tue Feb 12 04:04:29 2013
@@ -790,6 +790,13 @@
   // HValue::DataEquals.  The default implementation is UNREACHABLE.  We
   // don't actually care whether DataEquals returns true or false here.
   if (CheckFlag(kUseGVN)) DataEquals(this);
+
+  // Verify that all uses are in the graph.
+  for (HUseIterator use = uses(); !use.Done(); use.Advance()) {
+    if (use.value()->IsInstruction()) {
+      ASSERT(HInstruction::cast(use.value())->IsLinked());
+    }
+  }
 }
 #endif

=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.h Tue Feb 12 03:44:08 2013 +++ /branches/bleeding_edge/src/hydrogen-instructions.h Tue Feb 12 04:04:29 2013
@@ -1546,7 +1546,7 @@
     // The stack check eliminator might try to eliminate the same stack
     // check instruction multiple times.
     if (IsLinked()) {
-      DeleteFromGraph();
+      DeleteAndReplaceWith(NULL);
     }
   }

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to