1. 05 Jul, 2018 1 commit
  2. 21 Jun, 2018 1 commit
  3. 03 Jun, 2018 1 commit
  4. 31 May, 2018 2 commits
  5. 03 May, 2018 1 commit
  6. 05 Apr, 2018 1 commit
    • Alexey Kozyatinskiy's avatar
      Reland "[debug] introduced runtime side effect check" · 71018812
      Alexey Kozyatinskiy authored
      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}
      
      Bug: v8:7588
      Change-Id: Ibc92bf19155f2ddaedae39b0c576b994e84afcf8
      Reviewed-on: https://chromium-review.googlesource.com/996760Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52373}
      71018812
  7. 04 Apr, 2018 2 commits
    • Aleksey Kozyatinskiy's avatar
      Revert "[debug] introduced runtime side effect check" · 539a2443
      Aleksey Kozyatinskiy authored
      This reverts commit 7a2c3713.
      
      Reason for revert: msan is broken
      
      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}
      
      TBR=ulan@chromium.org,rmcilroy@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,leszeks@chromium.org
      
      Change-Id: Ied1739c6308b13a4981189e0999f5912316cf456
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7588
      Reviewed-on: https://chromium-review.googlesource.com/996135Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52371}
      539a2443
    • Alexey Kozyatinskiy's avatar
      [debug] introduced runtime side effect check · 7a2c3713
      Alexey Kozyatinskiy authored
      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: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52370}
      7a2c3713
  8. 16 Mar, 2018 1 commit
  9. 26 Feb, 2018 1 commit
  10. 20 Jun, 2017 1 commit
  11. 16 Feb, 2017 1 commit
    • jgruber's avatar
      [debug] Handle OOM events in debugger tests · e9f5e1e9
      jgruber authored
      Map OOM breaks generated by inspector to DebugEvent.OOM.
      This avoids generating unintentional DebugEvent.Break events.
      
      Also be more future-proof in event categorization.
      
      On a related note, this CL also fixes a DCHECK in
      Runtime::GetFrameDetails.
      
      The receiver needs to be grabbed from the inlined frame, not
      the outer optimized frame. Optimized frames only provide the
      receiver on a best-effort basis.
      
      BUG=v8:5950
      
      Review-Url: https://codereview.chromium.org/2696173002
      Cr-Commit-Position: refs/heads/master@{#43244}
      e9f5e1e9
  12. 10 Feb, 2017 1 commit
  13. 09 Feb, 2017 2 commits
  14. 25 Jan, 2017 1 commit
  15. 16 Jan, 2017 1 commit
  16. 19 Dec, 2016 3 commits
  17. 16 Dec, 2016 1 commit
  18. 14 Dec, 2016 1 commit
  19. 02 Dec, 2016 1 commit
  20. 01 Dec, 2016 1 commit
  21. 28 Nov, 2016 2 commits
  22. 25 Nov, 2016 1 commit
  23. 23 Nov, 2016 1 commit
  24. 22 Nov, 2016 4 commits
    • jgruber's avatar
      [debug-wrapper] Migrate wasm/frame-inspection test · 9eec1c86
      jgruber authored
      Wasm frames are special in that they have a non-integer script id
      in inspector. The way we treat script ids currently is a bit of a mess -
      our runtime functions expected integer IDs while inspector has string
      IDs (which contain integers, except for Wasm frames). This will need to
      be cleaned up once more Wasm tests are added.
      
      The meaning of line/column numbers has also changed; the old JS debug
      API encoded the function index and byte offset into line/column numbers,
      while inspector-based API actually translates into lines/columns in the
      disassembly.
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2515133003
      Cr-Commit-Position: refs/heads/master@{#41182}
      9eec1c86
    • jgruber's avatar
      [debug-wrapper] Migrate suspended generator scope test · cda1a60a
      jgruber authored
      Unfortunately, there's currently no satisfying way of accessing scopes
      of suspended generator objects through inspector. This CL implements
      access to such scopes through runtime functions instead.
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2513343004
      Cr-Commit-Position: refs/heads/master@{#41179}
      cda1a60a
    • jgruber's avatar
      [debug-wrapper] Implement StepFrame through runtime · a0e91600
      jgruber authored
      StepFrame is a combination of StepIn/StepOut, e.g. it breaks to the next
      frame change. This is not part of the public API, but we want to keep it
      for internal tests.
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2514303003
      Cr-Commit-Position: refs/heads/master@{#41177}
      a0e91600
    • jgruber's avatar
      [debug-wrapper] Migrate more tests · facd6b9a
      jgruber authored
      * Fix setting script-scope variables through inspector by internalizing
        their names.
      * Reconstruct values of Number, String, and Boolean classes.
      * Adapt a couple of tests for API restrictions.
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2512963002
      Cr-Commit-Position: refs/heads/master@{#41175}
      facd6b9a
  25. 21 Nov, 2016 2 commits
    • yangguo's avatar
      [debug-wrapper] migrate debug-backtrace from DCP. · a78a97eb
      yangguo authored
      R=jgruber@chromium.org
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2516343003
      Cr-Commit-Position: refs/heads/master@{#41149}
      a78a97eb
    • jgruber's avatar
      [debug-wrapper] Adapt tests, breakpoint.actual_location · 1834ab72
      jgruber authored
      Adapted various tests to restrictions of inspector protocol:
      
      * osr-typing-debug-change: Don't set function variable value.
      * debug-evaluate-locals: Add variable introduced by eval, run typeof
        inside evaluate().
      * regress-419663: Don't set duplicate breakpoints.
      * regress-crbug-465298: Compare against function name instead of value.
      * regress-crbug-621361: Make evaluate return string results.
      * debug-script: Various counts were off due to new way tests are called.
                      Added new inspector script type.
      
      Breakpoints now contain the actual break position, and remote object
      reconstruction has been extended a bit.
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2505363002
      Cr-Commit-Position: refs/heads/master@{#41129}
      1834ab72
  26. 17 Nov, 2016 2 commits
  27. 16 Nov, 2016 1 commit
    • jgruber's avatar
      [debug-wrapper] Further extend the debug wrapper · b06c4ce5
      jgruber authored
      This CL further extends the debug wrapper, migrates around 60 tests, and
      removes a few tests that use functionality we will not support anymore.
      
      In more detail:
      
      * Removed tests that use:
        * enable/disable individual breakpoints
        * invocationText()
        * the ScriptCollected event
        * showBreakPoints
        * evalFromScript (and similar)
        * mirror.constructedBy and mirror.referencedBy
        * event_data.promise()
      * Some frame.evaluate uses were adapted since due to differences between
        remote objects (inspector) and mirrors. For instance, exceptions are
        currently not recreated exactly, since the inspector protocol does not
        give us the stack and message separately. Other objects (such as
        'this' in debug-evaluate-receiver-before-super) need to be explicitly
        converted to a string before the test works correctly.
      * Ensure that inspector stores the script before sending ScriptParsed and
        ScriptFailedToParse events in order to be able to use the script from
        within those events.
      * Better remote object reconstruction (e.g. for undefined and arrays).
      * New functionality in wrapper:
        * debuggerFlags().breakPointsActive.setValue()
        * scripts()
        * execState.setVariableValue()
        * execState.scopeObject().value()
        * execState.scopeObject().property()
        * execState.frame().allScopes()
        * eventData.exception()
        * eventData.script()
        * setBreakPointsActive()
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2497973002
      Cr-Commit-Position: refs/heads/master@{#41019}
      b06c4ce5
  28. 11 Nov, 2016 1 commit
    • jgruber's avatar
      [debug-wrapper] Conditional breaks, locals, evaluate, scopes · b32ee40d
      jgruber authored
      This CL adds support for:
      * conditional breaks in setBreakpoint,
      * locals in frame.local{Count,Name,Value},
      * evaluation on a frame in frame.evaluate,
      * and more detailed scope information in scopeObject.
      
      Uses of several functions that are not covered by the
      inspector protocol and are only used in tests have been removed.
      
      Local handling has been modified to also include arguments as locals.
      Inspector differs in this regard from our FrameDetails in that
      arguments are always shown as locals. Argument-related functions
      were removed.
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2491543002
      Cr-Commit-Position: refs/heads/master@{#40917}
      b32ee40d
  29. 10 Nov, 2016 1 commit