1. 18 Jun, 2020 1 commit
  2. 14 May, 2020 1 commit
  3. 12 Nov, 2019 1 commit
  4. 08 Nov, 2019 2 commits
  5. 04 Apr, 2019 1 commit
  6. 30 Aug, 2018 1 commit
  7. 14 Nov, 2017 1 commit
  8. 06 Nov, 2017 1 commit
    • Clemens Hammacher's avatar
      Reland "[bits] Consolidate Count{Leading,Trailing}Zeros" · 27ffc624
      Clemens Hammacher authored
      This is a reland of 7d231e57, fixed to
      avoid instantiating CountLeadingZeros for bits==0.
      
      Original change's description:
      > [bits] Consolidate Count{Leading,Trailing}Zeros
      > 
      > Instead of having one method for 32 bit integers and one for 64 bit,
      > plus a templatized version to choose from those two, just implement one
      > version which handles unsigned integers of any size. Also, make them
      > constexpr.
      > The Count{Leading,Trailing}Zeros{32,64} methods are kept for now in
      > order to keep the amount of code changes small. Also, sometimes it
      > improves readability by stating exactly the size of the argument,
      > especially for leading zeros (where zero-extending would add more
      > leading zeros).
      > 
      > CountLeadingZeros now uses a binary search inspired implementation
      > as proposed in Hacker's Delight. It's more than 20% faster on x64 if
      > the builtins are disabled.
      > CountTrailingZeros falls back to CountPopulation instead of counting in
      > a naive loop. This is ~50% faster.
      > 
      > R=mstarzinger@chromium.org
      > 
      > Change-Id: I1d8bf1d7295b930724163248150444bd17fbb34e
      > Reviewed-on: https://chromium-review.googlesource.com/741231
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49106}
      
      Change-Id: Icdff2510ec66d1c96a1912cef29d77d8550994ee
      Reviewed-on: https://chromium-review.googlesource.com/753903Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49138}
      27ffc624
  9. 04 Nov, 2017 1 commit
    • Michael Achenbach's avatar
      Revert "[bits] Consolidate Count{Leading,Trailing}Zeros" · 1a1968fe
      Michael Achenbach authored
      This reverts commit 7d231e57.
      
      Reason for revert: Breaks revert for win-clang:
      https://build.chromium.org/p/tryserver.chromium.win/builders/win_clang/builds/342755
      
      Original change's description:
      > [bits] Consolidate Count{Leading,Trailing}Zeros
      > 
      > Instead of having one method for 32 bit integers and one for 64 bit,
      > plus a templatized version to choose from those two, just implement one
      > version which handles unsigned integers of any size. Also, make them
      > constexpr.
      > The Count{Leading,Trailing}Zeros{32,64} methods are kept for now in
      > order to keep the amount of code changes small. Also, sometimes it
      > improves readability by stating exactly the size of the argument,
      > especially for leading zeros (where zero-extending would add more
      > leading zeros).
      > 
      > CountLeadingZeros now uses a binary search inspired implementation
      > as proposed in Hacker's Delight. It's more than 20% faster on x64 if
      > the builtins are disabled.
      > CountTrailingZeros falls back to CountPopulation instead of counting in
      > a naive loop. This is ~50% faster.
      > 
      > R=​mstarzinger@chromium.org
      > 
      > Change-Id: I1d8bf1d7295b930724163248150444bd17fbb34e
      > Reviewed-on: https://chromium-review.googlesource.com/741231
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49106}
      
      TBR=mstarzinger@chromium.org,clemensh@chromium.org
      
      Change-Id: Iceeb35bf9c7539a1013c9bdbc47118008611bef2
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/753463Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49123}
      1a1968fe
  10. 03 Nov, 2017 1 commit
    • Clemens Hammacher's avatar
      [bits] Consolidate Count{Leading,Trailing}Zeros · 7d231e57
      Clemens Hammacher authored
      Instead of having one method for 32 bit integers and one for 64 bit,
      plus a templatized version to choose from those two, just implement one
      version which handles unsigned integers of any size. Also, make them
      constexpr.
      The Count{Leading,Trailing}Zeros{32,64} methods are kept for now in
      order to keep the amount of code changes small. Also, sometimes it
      improves readability by stating exactly the size of the argument,
      especially for leading zeros (where zero-extending would add more
      leading zeros).
      
      CountLeadingZeros now uses a binary search inspired implementation
      as proposed in Hacker's Delight. It's more than 20% faster on x64 if
      the builtins are disabled.
      CountTrailingZeros falls back to CountPopulation instead of counting in
      a naive loop. This is ~50% faster.
      
      R=mstarzinger@chromium.org
      
      Change-Id: I1d8bf1d7295b930724163248150444bd17fbb34e
      Reviewed-on: https://chromium-review.googlesource.com/741231Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49106}
      7d231e57
  11. 18 Oct, 2017 1 commit
  12. 26 Sep, 2017 3 commits
  13. 02 Aug, 2017 1 commit
  14. 13 Jul, 2017 1 commit
  15. 23 Jun, 2017 1 commit
  16. 18 May, 2017 1 commit
  17. 27 Apr, 2017 3 commits
  18. 07 Oct, 2016 1 commit
  19. 05 Oct, 2016 2 commits
    • adamk's avatar
      Revert of Reland "Turn libbase into a component" (patchset #1 id:1 of... · e75b9f6e
      adamk authored
      Revert of Reland "Turn libbase into a component" (patchset #1 id:1 of https://codereview.chromium.org/2395553002/ )
      
      Reason for revert:
      Speculative revert due to very strange-looking win/dbg failures
      which reference SignedDivisionByConstant:
      
      https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/12736
      
      Original issue's description:
      > Reland "Turn libbase into a component"
      >
      > Original issue's description:
      > > Turn libbase into a component
      > >
      > > This is a precondition for turning libplatform into a component
      > >
      > > BUG=v8:5412
      > > R=jgruber@chromium.org,machenbach@chromium.org
      > > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_
      > dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe
      > >
      > > Committed: https://crrev.com/614e615775f732d71b5ee94ed29737d8de687104
      > > Cr-Commit-Position: refs/heads/master@{#39950}
      >
      > BUG=v8:5412
      > TBR=jgruber@chromium.org,machenbach@chromium.org
      > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng
      >
      > Committed: https://crrev.com/17cb51254cafa932025e9980b60f89f756d411cb
      > Cr-Commit-Position: refs/heads/master@{#39969}
      
      TBR=jgruber@chromium.org,machenbach@chromium.org,jochen@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5412
      
      Review-Url: https://codereview.chromium.org/2396933002
      Cr-Commit-Position: refs/heads/master@{#40009}
      e75b9f6e
    • jochen's avatar
      Reland "Turn libbase into a component" · 17cb5125
      jochen authored
      Original issue's description:
      > Turn libbase into a component
      >
      > This is a precondition for turning libplatform into a component
      >
      > BUG=v8:5412
      > R=jgruber@chromium.org,machenbach@chromium.org
      > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_
      dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe
      >
      > Committed: https://crrev.com/614e615775f732d71b5ee94ed29737d8de687104
      > Cr-Commit-Position: refs/heads/master@{#39950}
      
      BUG=v8:5412
      TBR=jgruber@chromium.org,machenbach@chromium.org
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng
      
      Review-Url: https://codereview.chromium.org/2395553002
      Cr-Commit-Position: refs/heads/master@{#39969}
      17cb5125
  20. 04 Oct, 2016 2 commits
  21. 14 Jul, 2016 1 commit
  22. 01 Jun, 2016 1 commit
    • pierre.langlois's avatar
      [turbofan] ARM64: Match 64 bit compare with zero and branch · 27bd1747
      pierre.langlois authored
      This patch enables the following transformations in the instruction
      selector:
      
      | Before           | After                  |
      |------------------+------------------------|
      | and x3, x1, #0x1 | tb{,n}z w1, #0, #+0x78 |
      | cmp x3, #0x0     |                        |
      | b.{eq,ne} #+0x80 |                        |
      |------------------+------------------------|
      | cmp x0, #0x0     | cb{,n}z x0, #+0x48     |
      | b.{eq,ne} #+0x4c |                        |
      
      I have not seen these patterns beeing generated by turbofan, however the
      stubs hit these cases frequently. A particular reason is that we are
      turning operations that check for a Smi into a single `tbz`.
      
      As a concequence, the interpreter is affected thanks to inlining
      turbofan stubs into it's bytecode handlers. I have noticed the size of
      the interpreter was reduced by 200 instructions.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2022073002
      Cr-Commit-Position: refs/heads/master@{#36632}
      27bd1747
  23. 06 May, 2016 1 commit
    • lpy's avatar
      Create TimeBase for time related classes. · 5cbe0f5d
      lpy authored
      Currently we have Time and TimeTicks sharing some methods. This patch
      creates TimeBase, and makes Time and TimeTicks inherits from it, so that time
      related classes won't have to implement common methods and it's easier to
      introduce new time related classes.
      
      BUG=v8:4990
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1952843002
      Cr-Commit-Position: refs/heads/master@{#36088}
      5cbe0f5d
  24. 16 Feb, 2016 1 commit
  25. 24 Dec, 2015 1 commit
  26. 28 Sep, 2015 1 commit
  27. 12 Jun, 2015 1 commit
    • bmeurer's avatar
      [turbofan] Use appropriate type for NodeId. · c487aba7
      bmeurer authored
      Up until now we used int32_t for NodeId, but that was not ideal because
      negative values are invalid for NodeId and we use it as an array index
      for example in the NodeMarker class, where C++ compilers on x64 have to
      generate code that does proper sign extension for the indices, which is
      completely unnecessary.
      
      R=svenpanne@chromium.org
      
      Review URL: https://codereview.chromium.org/1178403004
      
      Cr-Commit-Position: refs/heads/master@{#28997}
      c487aba7
  28. 15 May, 2015 1 commit
  29. 04 Mar, 2015 1 commit
  30. 26 Oct, 2014 1 commit
  31. 21 Oct, 2014 1 commit
  32. 14 Oct, 2014 2 commits