1. 22 May, 2019 1 commit
  2. 09 May, 2019 1 commit
  3. 22 Feb, 2019 1 commit
  4. 02 Jan, 2019 1 commit
  5. 19 Dec, 2018 1 commit
  6. 24 Aug, 2018 1 commit
  7. 30 Apr, 2018 1 commit
  8. 28 Apr, 2018 1 commit
  9. 05 Mar, 2018 2 commits
  10. 13 Feb, 2018 1 commit
  11. 17 Jan, 2018 1 commit
  12. 14 Nov, 2017 1 commit
    • Michael Stanton's avatar
      Revert "[TurboFan] Diagnostic code to track down bug in representation selection" · ebe6d7a9
      Michael Stanton authored
      This reverts commit f010b28f.
      
      Reason for revert: Introduces a clusterfuzz issue and CAnary crash
      
      Original change's description:
      > [TurboFan] Diagnostic code to track down bug in representation selection
      > 
      > We need to characterize the types of dead (IrOpcode::kDead) nodes
      > introduced in compilation phases prior to representation selection.
      > Normally, a dead node isn't expected at the start of this phase. The
      > question is, which phase introduced the dead node and failed to
      > deal with it properly?
      > 
      > Bug: chromium:780658
      > Change-Id: Ief5b45480bb7d704a2d09dafd60b5d389e0fd42e
      > Reviewed-on: https://chromium-review.googlesource.com/765968
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49328}
      
      TBR=mvstanton@chromium.org,mstarzinger@chromium.org
      
      Change-Id: I5d628eb1de630ce4a353b6ef0f80fd74ad740f17
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:780658
      Reviewed-on: https://chromium-review.googlesource.com/768747Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49347}
      ebe6d7a9
  13. 13 Nov, 2017 1 commit
  14. 25 Sep, 2017 1 commit
  15. 04 Sep, 2017 1 commit
  16. 30 Aug, 2017 1 commit
  17. 03 Aug, 2017 1 commit
  18. 03 Mar, 2017 1 commit
  19. 28 Feb, 2017 2 commits
    • tebbi's avatar
      [turbofan] extend escape analysis to reduce CheckMaps · 9881b6c7
      tebbi authored
      R=bmeurer@chromium.org
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2680973013
      Cr-Original-Commit-Position: refs/heads/master@{#43163}
      Committed: https://chromium.googlesource.com/v8/v8/+/f01c8a6e4b24ab38e58bb141fc251bc6b75dbe21
      Review-Url: https://codereview.chromium.org/2680973013
      Cr-Commit-Position: refs/heads/master@{#43478}
      9881b6c7
    • tebbi's avatar
      [turbofan] escape analysis supports arguments object and rest elements · 7467f16d
      tebbi authored
      The new NewUnmappedArgumentsElements node now takes two inputs:
      - the frame holding the arguments (current frame or arguments adaptor frame)
      - the length of the suffix of passed arguments to be copied into the backing store
      
      These inputs are computed with two new node types:
      ArgumentsFrame()
      ArgumentsLength[formal_parameter_count,is_rest_length](Node* arguments_frame)
      The node type NewRestParameterElements can now be expressed with NewUnmappedArgumentsElements and an appropriate length and is thus not needed anymore.
      
      In escape analysis, we lower loads from the length field of NewUnmappedArgumentsElements with its length input and if we find out that no write access to the arguments elements exists, we replace element loads with direct stack access and replace the NewUnmappedArgumentsElements node with a node of the new node type ArgumentsElementsState. This corresponds to an ObjectState node and gets translated into a deoptimizer instruction to allocate the backing store. Together with the already existing deoptimizer support for the actual arguments object/rest parameters, this allows to remove all allocations for arguments objects/rest parameters in this case.
      In the deoptimizer, we read the actual parameters from the stack while transforming the static deopt info into TranslatedValue objects.
      
      If escape analysis cannot remove the backing store allocation, NewUnmappedArgumentsElements gets lo
      
      BUG=v8:5726
      
      Review-Url: https://codereview.chromium.org/2692753004
      Cr-Commit-Position: refs/heads/master@{#43475}
      7467f16d
  20. 17 Feb, 2017 1 commit
  21. 13 Feb, 2017 1 commit
  22. 31 Jan, 2017 1 commit
    • mstarzinger's avatar
      [turbofan] Remove escape analysis stats counters. · 418c9eca
      mstarzinger authored
      These counters were used during the initial implementation to gather
      statistics about comparative effectiveness of the two escape analysis
      approaches in practice. The counters are not thread-safe and cannot be
      used for the analysis any longer as it is now running off main thread.
      We deprecate the counters in question in favor of maintaining deferred
      statistics until the need for such statistics arises again.
      
      R=bmeurer@chromium.org
      BUG=chromium:685942
      
      Review-Url: https://codereview.chromium.org/2667453003
      Cr-Commit-Position: refs/heads/master@{#42808}
      418c9eca
  23. 30 Jan, 2017 1 commit
  24. 03 Jan, 2017 2 commits
  25. 13 Dec, 2016 1 commit
  26. 15 Nov, 2016 1 commit
  27. 27 Sep, 2016 1 commit
    • mstarzinger's avatar
      [turbofan] Fix indirect escapes in escape analysis. · 437a33ef
      mstarzinger authored
      This makes sure we only replace load operations for fields on virtual
      objects. Even though data flow information for non-virtual (escaping)
      allocations is available, it might be inaccurate in certain situations
      where object state hasn't been cleared.
      
      R=jarin@chromium.org
      TEST=mjsunit/compiler/regress-escape-analysis-indirect
      
      Review-Url: https://codereview.chromium.org/2369953002
      Cr-Commit-Position: refs/heads/master@{#39776}
      437a33ef
  28. 23 Sep, 2016 1 commit
  29. 22 Sep, 2016 1 commit
  30. 09 Aug, 2016 1 commit
  31. 03 Aug, 2016 1 commit
  32. 17 May, 2016 2 commits
  33. 04 Feb, 2016 1 commit
  34. 25 Jan, 2016 2 commits
  35. 22 Jan, 2016 1 commit