• rmcilroy's avatar
    [Interpreter] Ensure ToBoolean bytecodes are correctly emitted at the start of basic blocks · 2e1bdea8
    rmcilroy authored
    Existing code was assuming that 'lexical' blocks were the same as basic
    blocks, therefore code which emitted jumps within a lexical block (e.g.,
    logical or) would in some occassions incorrectly omit a necessary
    ToBoolean.
    
    This change removes Enter/LeaveBlock from BytecodeArrayBuilder and
    instead tracks basic blocks via label bindings and jump operations. The
    change also ensures we don't emit dead code at the end of a basic block,
    and adds tests of the edge cases.
    
    BUG=v8:4280
    LOG=N
    
    Review URL: https://codereview.chromium.org/1406983010
    
    Cr-Commit-Position: refs/heads/master@{#31741}
    2e1bdea8
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
simdjs Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...