• yangguo's avatar
    [debugger] fix break locations for assignments and return. · d9fe836d
    yangguo authored
    We used to emit debug break location on block entry. This cannot be
    ported to the interpreted as we do not emit bytecode for block entry.
    This made no sense to begin with though, but accidentally added
    break locations for var declarations.
    
    With this change, the debugger no longer breaks at var declarations
    without initialization. This is in accordance with the fact that the
    interpreter does not emit bytecode for uninitialized var declarations.
    
    Also fix the bytecode to match full-codegen's behavior wrt return
    positions:
    - there is a break location before the return statement, with the source
      position of the return statement.
    - right before the actual return, there is another break location. The
      source position points to the end of the function.
    
    R=rmcilroy@chromium.org, vogelheim@chromium.org
    TBR=rossberg@chromium.org
    BUG=v8:4690
    LOG=N
    
    Review URL: https://codereview.chromium.org/1744123003
    
    Cr-Commit-Position: refs/heads/master@{#34388}
    d9fe836d
pattern-rewriter.cc 23.2 KB