• Kim-Anh Tran's avatar
    [debugger] Consider close-by functions when setting a breakpoint · a7c8a3ea
    Kim-Anh Tran authored
    This changes the behavior of SetBreakpointForScript to find more
    accurate break positions.
    
    Previously, setting a breakpoint would only consider the shared
    function info that contained the requested position for setting a
    breakpoint. More intuitively, a breakpoint should not necessarily
    be set in a function that contains the position, but in the closest
    breakable location that comes after the position we requested.
    
    To achieve this we:
    1. find the shared function info of the inner most function
    that contains the requested_position.
    This function's end position is used to find other shared function
    infos in step 2.
    
    2. search for all shared function infos that intersect with the
    range [requested_position, inner_most_function.break_position[.
    
    3. From the shared function infos extracted in 2, find the one
    that has the closest breakable location to requested_position.
    
    Also-By: bmeurer@chromium.org
    Fixed: chromium:1137141
    Change-Id: I4f4c6c3aac1ebea50cbcad9543b539ab1ded2b05
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742198
    Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
    Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73392}
    a7c8a3ea
set-breakpoint-in-class-initializer.js 2.18 KB