Reviewers: Michael Starzinger, titzer,

Description:
Fixed Lithium environment generation bug for captured objects (created
by escape analysis). Added several tests that expose the bug.

Summary:
LCodegen::AddToTranslation assumes that Lithium environments are
generated by depth-first traversal, but LChunkBuilder::CreateEnvironment
was generating them in breadth-first fashion. This fixes the
CreateEnvironment to traverse the captured objects depth-first.

Note:
It might be worth considering representing LEnvironment by a list
with the same order as the serialized translation representation
rather than having two lists with a subtle relationship between
them (and then serialize in a slightly different order again).

[email protected],[email protected]
LOG=N
BUG=

Please review this at https://codereview.chromium.org/93803003/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+347, -96 lines):
  M src/arm/lithium-arm.h
  M src/arm/lithium-arm.cc
  M src/ia32/lithium-ia32.h
  M src/ia32/lithium-ia32.cc
  M src/x64/lithium-x64.h
  M src/x64/lithium-x64.cc
  M test/mjsunit/compiler/escape-analysis.js


--
--
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.

Reply via email to