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.