1. 23 May, 2019 1 commit
  2. 19 Dec, 2018 1 commit
  3. 04 Sep, 2018 1 commit
  4. 05 Jul, 2018 1 commit
  5. 28 Jun, 2018 1 commit
    • Ross McIlroy's avatar
      [sfi] Remove DebugInfo field in SharedFunctionInfo. · c51bcd17
      Ross McIlroy authored
      Merges DebugInfo field into the function_identifier field, storing the function
      identifier in the DebugInfo. Also moves some debugging_hints bits to the SFI flags,
      and others to the DebugInfo. Finally, changes the logic to store debugger patched
      bytecode array on the SFI instead of the DebugInfo, simplifying the logic in the
      InterpreterEntryTrampoline.
      
      BUG=chromium:818642,chromium:783853
      TBR=hpayer@chromium.org
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: If440080c0f08fac4fb96f5e18dcc0eb9b86d4821
      Reviewed-on: https://chromium-review.googlesource.com/1115819
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54081}
      c51bcd17
  6. 21 Jun, 2018 1 commit
  7. 20 Jun, 2018 1 commit
  8. 18 Jun, 2018 1 commit
  9. 15 Jun, 2018 2 commits
    • Yang Guo's avatar
      Revert "[debugger] Rewrite the ScopeIterator/DebugEvaluate to use Scope rather... · 23b8d2fd
      Yang Guo authored
      Revert "[debugger] Rewrite the ScopeIterator/DebugEvaluate to use Scope rather than ScopeInfo for inner scopes."
      
      This reverts commit 9e27d473.
      
      Reason for revert: Layout Test failures: https://ci.chromium.org/buildbot/client.v8.fyi/V8-Blink%20Linux%2064/24123
      
      Original change's description:
      > [debugger] Rewrite the ScopeIterator/DebugEvaluate to use Scope rather than ScopeInfo for inner scopes.
      > 
      > This CL also bottlenecks all current scope handling in the ScopeIterator, and cleans up frame handling in debug-frames and the deoptimizer.
      > 
      > Change-Id: I061922a356ce17794262f8d77d5d7c824558fc50
      > Reviewed-on: https://chromium-review.googlesource.com/1095094
      > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53741}
      
      TBR=yangguo@chromium.org,jarin@chromium.org,neis@chromium.org,jgruber@chromium.org,verwaest@chromium.org
      
      Change-Id: I892856056258e3c68b36409b8b2d69e7686fc385
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/1102377
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53756}
      23b8d2fd
    • Toon Verwaest's avatar
      Reland "[debugger] Rewrite the ScopeIterator/DebugEvaluate to use Scope rather... · 4936efb0
      Toon Verwaest authored
      Reland "[debugger] Rewrite the ScopeIterator/DebugEvaluate to use Scope rather than ScopeInfo for inner scopes."
      
      This is a reland of 9e27d473
      
      Original change's description:
      > [debugger] Rewrite the ScopeIterator/DebugEvaluate to use Scope rather than ScopeInfo for inner scopes.
      > 
      > This CL also bottlenecks all current scope handling in the ScopeIterator, and cleans up frame handling in debug-frames and the deoptimizer.
      > 
      > Change-Id: I061922a356ce17794262f8d77d5d7c824558fc50
      > Reviewed-on: https://chromium-review.googlesource.com/1095094
      > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53741}
      
      Change-Id: I05262fef66d852876b9bb2869339053629c9b51d
      Reviewed-on: https://chromium-review.googlesource.com/1102297Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53751}
      4936efb0
  10. 14 Jun, 2018 2 commits
  11. 11 Apr, 2018 1 commit
  12. 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
  13. 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
  14. 12 Mar, 2018 1 commit
  15. 06 Mar, 2018 1 commit
  16. 28 Feb, 2018 1 commit
  17. 29 Nov, 2017 1 commit
  18. 07 Sep, 2017 1 commit
  19. 01 Sep, 2017 1 commit
  20. 12 Apr, 2017 1 commit
  21. 10 Feb, 2017 1 commit
  22. 09 Feb, 2017 2 commits
  23. 12 Jan, 2017 1 commit
  24. 19 Dec, 2016 1 commit
  25. 05 Apr, 2016 1 commit
  26. 31 Mar, 2016 1 commit
  27. 15 Dec, 2015 1 commit
    • yangguo's avatar
      [debugger] debug-evaluate should not not modify local values. · abe2feb0
      yangguo authored
      Debug evaluate no longer writes back changes to the replicated
      context chain to the original after execution. Changes to the
      global object or script contexts still stick. Calling functions
      that bind to the original context chain also have their expected
      side effects.
      
      As far as I can tell, DevTools is not interested in modifying
      local variable values. Modifying global variable values still
      works as expected. However, I have not yet removed the old
      implementation, but merely keep it behind a flag.
      
      R=mstarzinger@chromium.org, rossberg@chromium.org
      
      Committed: https://crrev.com/92caa9b85eefffbef51c67428397951bd2e2c330
      Cr-Commit-Position: refs/heads/master@{#32841}
      
      Review URL: https://codereview.chromium.org/1513183003
      
      Cr-Commit-Position: refs/heads/master@{#32857}
      abe2feb0
  28. 14 Dec, 2015 3 commits
    • machenbach's avatar
      Revert of [debugger] debug-evaluate should not not modify local values.... · a2f2e913
      machenbach authored
      Revert of [debugger] debug-evaluate should not not modify local values. (patchset #2 id:20001 of https://codereview.chromium.org/1513183003/ )
      
      Reason for revert:
      [Sheriff] Layout test changes.
      
      Original issue's description:
      > [debugger] debug-evaluate should not not modify local values.
      >
      > Debug evaluate no longer writes back changes to the replicated
      > context chain to the original after execution. Changes to the
      > global object or script contexts still stick. Calling functions
      > that bind to the original context chain also have their expected
      > side effects.
      >
      > As far as I can tell, DevTools is not interested in modifying
      > local variable values. Modifying global variable values still
      > works as expected. However, I have not yet removed the old
      > implementation, but merely keep it behind a flag.
      >
      > R=mstarzinger@chromium.org, rossberg@chromium.org
      >
      > Committed: https://crrev.com/92caa9b85eefffbef51c67428397951bd2e2c330
      > Cr-Commit-Position: refs/heads/master@{#32841}
      
      TBR=mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/1526553003
      
      Cr-Commit-Position: refs/heads/master@{#32845}
      a2f2e913
    • yangguo's avatar
      [debugger] debug-evaluate should not not modify local values. · 92caa9b8
      yangguo authored
      Debug evaluate no longer writes back changes to the replicated
      context chain to the original after execution. Changes to the
      global object or script contexts still stick. Calling functions
      that bind to the original context chain also have their expected
      side effects.
      
      As far as I can tell, DevTools is not interested in modifying
      local variable values. Modifying global variable values still
      works as expected. However, I have not yet removed the old
      implementation, but merely keep it behind a flag.
      
      R=mstarzinger@chromium.org, rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1513183003
      
      Cr-Commit-Position: refs/heads/master@{#32841}
      92caa9b8
    • yangguo's avatar
      [debugger] fix debug-evaluate wrt shadowed context var. · 089edbfa
      yangguo authored
      Debug-evaluate used to resolve stack variables that shadow
      context variables incorrectly, since the stack variable is
      not visible in the context chain.
      
      To fix this, we limit local variables accessible by debug-
      evaluate to the ones directly referenced inside the function.
      What is not referenced by the function itself, is considered
      optimized out and not accessible by debug-evaluate.
      
      To achieve this, we duplicate the entire context chain up to
      the native context, and write back changes after debug-
      evaluate. Changes to the original context chain will however
      be overwritten. This already happens for catch and block
      scopes though.
      
      Also fix a crash caused by declaring variables inside debug-
      evaluate.
      
      R=mstarzinger@chromium.org
      BUG=v8:4593
      LOG=N
      
      Review URL: https://codereview.chromium.org/1500933002
      
      Cr-Commit-Position: refs/heads/master@{#32828}
      089edbfa
  29. 30 Nov, 2015 1 commit
  30. 04 Aug, 2015 1 commit