From 10e5690d3265a8c5d9cd917bcd0bce3ef5b19dcb Mon Sep 17 00:00:00 2001 From: "kmillikin@chromium.org" Date: Fri, 12 Mar 2010 14:06:04 +0000 Subject: [PATCH] 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. Review URL: http://codereview.chromium.org/843006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/data-flow.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data-flow.cc b/src/data-flow.cc index 77573b5c6..ac12502c0 100644 --- a/src/data-flow.cc +++ b/src/data-flow.cc @@ -1931,7 +1931,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 = -- 2.34.1