• Junliang Yan's avatar
    PPC/s390: Reland "[debug] introduced runtime side effect check" · 8cb01d3d
    Junliang Yan authored
    Port 71018812
    
    Original Commit Message:
    
        This is a reland of 7a2c3713
    
        Original change's description:
        > [debug] introduced runtime side effect check
        >
        > This CL demonstrates minimum valuable addition to existing debug evaluate
        > without side effects mechanism.
        > With this CL user can evaluate expressions like:
        > [a,b] // create any kind of temporary array literals
        > [a,b].reduce((x,y) => x + y, 0); // use reduce method
        > [1,2,3].fill(2); // change temporary arrays
        >
        > The core idea: any change of the object created during evaluation without
        > side effects is side effect free. As soon as we try to store this temporary
        > object to object existed before evaluation we will terminate execution.
        >
        > Implementation:
        > - track all objects allocated during evaluation and mark them as temporary,
        > - patch all bytecodes which change objects.
        >
        > A little more details (including performance analysis): [1].
        >
        > [1] https://docs.google.com/document/d/10qqAtZADspPnpYa6SEdYRxrddfKIZJIzbLtGpsZQkRo/edit#
        >
        > Bug: v8:7588
        > Change-Id: I69f7b96e1ebd7ad0022219e8213211c7be72a111
        > Reviewed-on: https://chromium-review.googlesource.com/972615
        > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
        > Reviewed-by: Yang Guo <yangguo@chromium.org>
        > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
        > Cr-Commit-Position: refs/heads/master@{#52370}
    
    R=kozyatinskiy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: I8706efa53d0bbf7d12e48f4f0c4ac387b5faa97b
    Reviewed-on: https://chromium-review.googlesource.com/998180Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#52411}
    8cb01d3d
builtins-s390.cc 96 KB