Fix a bug in Lithium environment iteration.
authorkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 6 Jun 2011 11:30:17 +0000 (11:30 +0000)
committerkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 6 Jun 2011 11:30:17 +0000 (11:30 +0000)
commit6a81642f31c818f27bff6bfbfb7c40687eb6d190
tree095509ce0a9f5165c8d93b3d382de7fac6e37cc5
parent054658494502e89f32d75198193be0bad4103dcf
Fix a bug in Lithium environment iteration.

The Advance() function of the class responsible for iterating
environment uses didn't always advance as far as it could (relying on
the HasNext predicate to finish advancing).  This is brittle.

The HasNext predicate also didn't advance as far as it could when it
was at the end of an environment level.  This is a bug.

R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/lithium-arm.cc
src/ia32/lithium-ia32.cc
src/lithium-allocator-inl.h
src/lithium-allocator.cc
src/lithium-allocator.h
src/lithium.h
src/x64/lithium-x64.cc
test/mjsunit/regress/regress-1423.js [new file with mode: 0644]