• jarin@chromium.org's avatar
    Fixed Lithium environment generation bug for captured objects (created · acf24331
    jarin@chromium.org authored
    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).
    
    R=titzer@chromium.org, mstarzinger@chromium.org
    LOG=N
    BUG=
    
    Review URL: https://codereview.chromium.org/93803003
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    acf24331
Name
Last commit
Last update
..
assembler-x64-inl.h Loading commit data...
assembler-x64.cc Loading commit data...
assembler-x64.h Loading commit data...
builtins-x64.cc Loading commit data...
code-stubs-x64.cc Loading commit data...
code-stubs-x64.h Loading commit data...
codegen-x64.cc Loading commit data...
codegen-x64.h Loading commit data...
cpu-x64.cc Loading commit data...
debug-x64.cc Loading commit data...
deoptimizer-x64.cc Loading commit data...
disasm-x64.cc Loading commit data...
frames-x64.cc Loading commit data...
frames-x64.h Loading commit data...
full-codegen-x64.cc Loading commit data...
ic-x64.cc Loading commit data...
lithium-codegen-x64.cc Loading commit data...
lithium-codegen-x64.h Loading commit data...
lithium-gap-resolver-x64.cc Loading commit data...
lithium-gap-resolver-x64.h Loading commit data...
lithium-x64.cc Loading commit data...
lithium-x64.h Loading commit data...
macro-assembler-x64.cc Loading commit data...
macro-assembler-x64.h Loading commit data...
regexp-macro-assembler-x64.cc Loading commit data...
regexp-macro-assembler-x64.h Loading commit data...
simulator-x64.cc Loading commit data...
simulator-x64.h Loading commit data...
stub-cache-x64.cc Loading commit data...