Reviewers: fschneider,
Description:
Simple bugfix in reaching definitions.
We only track definitions of stack-allocated variables. Trying to
look up other variables in the environment is a bug.
Please review this at http://codereview.chromium.org/843006
Affected files:
M src/data-flow.cc
Index: src/data-flow.cc
diff --git a/src/data-flow.cc b/src/data-flow.cc
index
0e27a755c1aca0345c705db103e3d4fe7975a7ca..a7fb314b987e7b9a752b1a6603f97ff07352e979
100644
--- a/src/data-flow.cc
+++ b/src/data-flow.cc
@@ -1927,7 +1927,7 @@ void BlockNode::InitializeReachingDefinitions(int
definition_count,
Expression* expr = instructions_[i]->AsExpression();
if (expr == NULL) continue;
Variable* var = expr->AssignedVar();
- if (var == NULL) continue;
+ if (var == NULL || !var->IsStackAllocated()) continue;
// All definitions of this variable are killed.
BitVector* def_set =
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev