1. 14 Feb, 2019 1 commit
  2. 06 Feb, 2019 1 commit
    • Toon Verwaest's avatar
      [parser] Handle 'this' with a special ThisExpression rather than VariableProxy · 3f2b5017
      Toon Verwaest authored
      "this" is a very common expression. By using a single ThisExpression object
      we can both avoid allocating many unnecessary VariableProxies and specialize
      the resolution of this since we know where it's declared up-front. This also
      avoids having to special-case "this" reference handling in the paths that would
      behave differently for "this" than for regular references; e.g., with-scopes.
      
      The tricky pieces are due to DebugEvaluate and this/super() used as default
      parameters of arrow functions. In the former case we replace the WITH_SCOPE
      with FUNCTION_SCOPE so that we make sure that "this" is intercepted, and still
      rely on regular dynamic variable lookup. Arrow functions are dealt with by
      marking "this" use in ArrowHeadParsingScopes. If the parenthesized expression
      ends up being an arrow function, we force context allocate on the outer scope
      (and mark "has_this_reference" on the FUNCTION_SCOPE so DebugEvaluate in the
      arrow function can expose "this").
      
      The CL also removes the now unused ThisFunction AST node.
      
      Change-Id: I0ca38ab92ff58c2f731e07db2fbe91df901681ef
      Reviewed-on: https://chromium-review.googlesource.com/c/1448313Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59393}
      3f2b5017
  3. 28 Jan, 2019 1 commit
  4. 22 Jan, 2019 1 commit
  5. 16 Jan, 2019 1 commit
  6. 26 Dec, 2018 1 commit
  7. 08 Dec, 2018 1 commit
  8. 27 Nov, 2018 1 commit
  9. 25 Nov, 2018 1 commit
  10. 24 Nov, 2018 1 commit
  11. 23 Nov, 2018 1 commit
  12. 06 Nov, 2018 1 commit
  13. 22 Oct, 2018 1 commit
  14. 12 Oct, 2018 1 commit
    • Sathya Gunasekaran's avatar
      [Class] Fix debug scope iteration for class fields · 230dd86c
      Sathya Gunasekaran authored
      When trying to print the scope information for the class fields
      initializer function, the debugger asks the parser to parse the class
      literal as a function literal (to get the scope info) ... which
      doesn't quite work.
      
      Instead of adding support for parsing the class literal, we just short
      cicruit this parsing step by just returning an empty context.
      
      This works fine because initializer function doesn't have any
      variables in it's local scope.
      
      The one caveat is that the objects in the scope above this function
      (like the global) are now missing. This trade off is possibly fine
      for now, as adding parsing support for class literal to only produce
      would be a lot of code for not enough use.
      
      As a follow up to this change, the devtools UI needs to be updated to
      handle this empty context cleanly. Currently, it doesn't show the
      `this` object if no context exists even if the `this` object is
      correctly passed to the UI from the backend.
      
      Bug: v8:5367, v8:8122
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I52965f26241bbf6abdc988783aa0fc44bb36901f
      Reviewed-on: https://chromium-review.googlesource.com/c/1274268
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56611}
      230dd86c
  15. 20 Jul, 2018 1 commit
  16. 17 Jul, 2018 1 commit
  17. 12 Jul, 2018 1 commit
    • Leszek Swirski's avatar
      [cleanup] Remove Isolate parameter from object print · 13b899a5
      Leszek Swirski authored
      With ReadOnlyRoots and GetIsolate on JSReceiver, we can remove almost
      every isolate parameter from <Object>::Print. The remaining ones, like
      Map, are special-caseable for read-only maps, and as a result we can
      remove isolate parameters from <Object>::Print entirely.
      
      This patch also opportunistically cleans up a few places where isolates
      were only needed for Object::Print, such as TransitionAccessors and
      DescriptorArrays.
      
      TBR=yangguo@chromium.org,mstarzinger@chromium.org
      
      Bug: v8:7786
      Change-Id: Id44bd53b9893e679eea5f37b9548257595a1bfd9
      Reviewed-on: https://chromium-review.googlesource.com/1133385Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54401}
      13b899a5
  18. 04 Jul, 2018 1 commit
  19. 26 Jun, 2018 1 commit
  20. 21 Jun, 2018 1 commit
  21. 20 Jun, 2018 2 commits
  22. 19 Jun, 2018 1 commit
  23. 18 Jun, 2018 2 commits
  24. 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
  25. 14 Jun, 2018 4 commits
  26. 13 Jun, 2018 1 commit
  27. 11 Jun, 2018 1 commit
  28. 05 Jun, 2018 1 commit
  29. 24 May, 2018 3 commits
  30. 04 May, 2018 1 commit
  31. 03 May, 2018 1 commit
  32. 02 May, 2018 1 commit
    • Leszek Swirski's avatar
      Revert "[parser] Slice the source string where possible" · 18bc2856
      Leszek Swirski authored
      This reverts commit 2df5e7a7.
      
      Reason for revert: Mystery crashes https://bugs.chromium.org/p/chromium/issues/detail?id=838805
      
      Original change's description:
      > [parser] Slice the source string where possible
      > 
      > When internalizing string literals (for quoted strings or property names),
      > try to create a sliced string of the source string rather than allocating
      > a copy of the bytes.
      > 
      > This will not work for string literals that contain escapes (e.g. unicode
      > escapes), and currently does not support two-byte strings.
      > 
      > Bug: chromium:818642
      > Change-Id: I686e5ad36baecd1a84ce5e124118431249b6c980
      > Reviewed-on: https://chromium-review.googlesource.com/1010282
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52898}
      
      TBR=marja@chromium.org,yangguo@chromium.org,jarin@chromium.org,mlippautz@chromium.org,leszeks@chromium.org,verwaest@chromium.org
      
      Change-Id: I598b6668c43a3e843e2dd8e60852b2b2f3461954
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:818642
      Reviewed-on: https://chromium-review.googlesource.com/1039885
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52919}
      18bc2856