• 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...
build Loading commit data...
docs Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...