• 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
..
alloc-number.js Loading commit data...
alloc-object-huge.js Loading commit data...
alloc-object.js Loading commit data...
array-access.js Loading commit data...
array-length.js Loading commit data...
assignment-deopt.js Loading commit data...
assignment.js Loading commit data...
binary-ops.js Loading commit data...
call-keyed.js Loading commit data...
compare.js Loading commit data...
compare_map_elim.js Loading commit data...
compare_objeq_elim.js Loading commit data...
complex-for-in.js Loading commit data...
concurrent-invalidate-transition-map.js Loading commit data...
concurrent-proto-change.js Loading commit data...
control-flow-0.js Loading commit data...
control-flow-1.js Loading commit data...
control-flow-2.js Loading commit data...
count-deopt.js Loading commit data...
countoperation.js Loading commit data...
dead-code.js Loading commit data...
dead-code2.js Loading commit data...
dead-code3.js Loading commit data...
dead-code4.js Loading commit data...
dead-code5.js Loading commit data...
dead-code6.js Loading commit data...
dead-loops-neg.js Loading commit data...
dead-loops.js Loading commit data...
dead-string-add-warm.js Loading commit data...
dead-string-add.js Loading commit data...
dead-string-char-code-at.js Loading commit data...
dead-string-char-code-at2.js Loading commit data...
dead-string-char-from-code.js Loading commit data...
delete.js Loading commit data...
deopt-args.js Loading commit data...
deopt-inlined-smi.js Loading commit data...
escape-analysis-representation.js Loading commit data...
escape-analysis.js Loading commit data...
eval-introduced-closure.js Loading commit data...
expression-trees.js Loading commit data...
for-stmt.js Loading commit data...
function-call.js Loading commit data...
global-accessors.js Loading commit data...
globals.js Loading commit data...
increment-typefeedback.js Loading commit data...
inline-accessors.js Loading commit data...
inline-arguments.js Loading commit data...
inline-arity-mismatch.js Loading commit data...
inline-closures.js Loading commit data...
inline-compare.js Loading commit data...
inline-conditional.js Loading commit data...
inline-construct.js Loading commit data...
inline-context-slots.js Loading commit data...
inline-function-apply.js Loading commit data...
inline-global-access.js Loading commit data...
inline-literals.js Loading commit data...
inline-param.js Loading commit data...
inline-throw.js Loading commit data...
inline-two.js Loading commit data...
jsnatives.js Loading commit data...
lazy-const-lookup.js Loading commit data...
literals-assignment.js Loading commit data...
literals-optimized.js Loading commit data...
literals.js Loading commit data...
load-elimination-global.js Loading commit data...
load-elimination-osr.js Loading commit data...
load-elimination-params.js Loading commit data...
load-elimination.js Loading commit data...
logical-and.js Loading commit data...
logical-or.js Loading commit data...
loopcount.js Loading commit data...
loops.js Loading commit data...
manual-concurrent-recompile.js Loading commit data...
math-floor-global.js Loading commit data...
math-floor-local.js Loading commit data...
minus-zero.js Loading commit data...
multiply-add.js Loading commit data...
multiply-sub.js Loading commit data...
null-compare.js Loading commit data...
objectliterals.js Loading commit data...
optimize-bitnot.js Loading commit data...
optimized-closures.js Loading commit data...
optimized-for-in.js Loading commit data...
optimized-function-calls.js Loading commit data...
osr-alignment.js Loading commit data...
osr-assert.js Loading commit data...
osr-big.js Loading commit data...
osr-nested.js Loading commit data...
osr-one.js Loading commit data...
osr-regress-max-locals.js Loading commit data...
osr-sar.js Loading commit data...
osr-simple.js Loading commit data...
osr-two.js Loading commit data...
osr-uint32.js Loading commit data...
osr-warm.js Loading commit data...
osr-with-args.js Loading commit data...
phi-representations.js Loading commit data...
pic.js Loading commit data...
property-calls.js Loading commit data...
property-refs.js Loading commit data...
property-simple.js Loading commit data...
property-static.js Loading commit data...
property-stores.js Loading commit data...
proto-chain-constant.js Loading commit data...
proto-chain-load.js Loading commit data...
recursive-deopt.js Loading commit data...
regress-0.js Loading commit data...
regress-1.js Loading commit data...
regress-106351.js Loading commit data...
regress-1085.js Loading commit data...
regress-1394.js Loading commit data...
regress-177883.js Loading commit data...
regress-2.js Loading commit data...
regress-3.js Loading commit data...
regress-3136962.js Loading commit data...
regress-3185901.js Loading commit data...
regress-3218915.js Loading commit data...
regress-3249650.js Loading commit data...
regress-3260426.js Loading commit data...
regress-4.js Loading commit data...
regress-5.js Loading commit data...
regress-6.js Loading commit data...
regress-7.js Loading commit data...
regress-8.js Loading commit data...
regress-96989.js Loading commit data...
regress-arguments.js Loading commit data...
regress-arrayliteral.js Loading commit data...
regress-closures-with-eval.js Loading commit data...
regress-const.js Loading commit data...
regress-deopt-call-as-function.js Loading commit data...
regress-funarguments.js Loading commit data...
regress-funcaller.js Loading commit data...
regress-gap.js Loading commit data...
regress-gvn.js Loading commit data...
regress-inline-callfunctionstub.js Loading commit data...
regress-intoverflow.js Loading commit data...
regress-lazy-deopt.js Loading commit data...
regress-lbranch-double.js Loading commit data...
regress-loadfield.js Loading commit data...
regress-loop-deopt.js Loading commit data...
regress-max.js Loading commit data...
regress-or.js Loading commit data...
regress-rep-change.js Loading commit data...
regress-serialized-slots.js Loading commit data...
regress-shared-deopt.js Loading commit data...
regress-stacktrace-methods.js Loading commit data...
regress-stacktrace.js Loading commit data...
regress-toint32.js Loading commit data...
regress-valueof.js Loading commit data...
rotate.js Loading commit data...
safepoint.js Loading commit data...
short-circuit.js Loading commit data...
simple-bailouts.js Loading commit data...
simple-binary-op.js Loading commit data...
simple-deopt.js Loading commit data...
simple-global-access.js Loading commit data...
simple-inlining.js Loading commit data...
strict-recompile.js Loading commit data...
switch-bailout.js Loading commit data...
this-property-refs.js Loading commit data...
thisfunction.js Loading commit data...
type-feedback-after-throw.js Loading commit data...
uint32.js Loading commit data...
unary-add.js Loading commit data...
variables.js Loading commit data...