-
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