Clean up some messiness in Scopes.
authorkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 24 Sep 2010 07:53:59 +0000 (07:53 +0000)
committerkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 24 Sep 2010 07:53:59 +0000 (07:53 +0000)
commit830185b175922de04e96c71fea7e04f9588426da
tree8acd5732138312a9f957c13d71d6aeb1003769d6
parent5e572e462215ae46a0a1d547c2c36830acac8518
Clean up some messiness in Scopes.

For some reason, the scope's arguments and arguments shadow were
variable proxies, which resulted in all references to the arguments
shadow being shared in the AST.  This makes it hard to put per-node
state on the AST nodes.

I took the opportunity to remove Variable::AsVariable which has
confused people in the past, and to rename Variable::slot to the more
accurate Variable::AsSlot.

Review URL: http://codereview.chromium.org/3432022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
20 files changed:
src/arm/codegen-arm.cc
src/arm/full-codegen-arm.cc
src/ast.cc
src/ast.h
src/codegen.cc
src/data-flow.cc
src/full-codegen.cc
src/ia32/codegen-ia32.cc
src/ia32/full-codegen-ia32.cc
src/ia32/virtual-frame-ia32.cc
src/liveedit.cc
src/rewriter.cc
src/scopeinfo.cc
src/scopes.cc
src/scopes.h
src/variables.cc
src/variables.h
src/x64/codegen-x64.cc
src/x64/full-codegen-x64.cc
src/x64/virtual-frame-x64.cc