1. 16 Jan, 2020 1 commit
  2. 19 Nov, 2019 1 commit
  3. 13 Nov, 2019 1 commit
  4. 08 Nov, 2019 1 commit
  5. 31 Oct, 2019 1 commit
  6. 30 Oct, 2019 3 commits
    • Milad Farazmand's avatar
      Revert "PPC/s390: [codegen] Removed ParameterCount class" · d93dab6b
      Milad Farazmand authored
      This reverts commit 2da05dfc.
      
      Reason for revert: Will need to commit some of the changes as a port of  46648402
      
      Original change's description:
      > PPC/s390: [codegen] Removed ParameterCount class
      > 
      > Port 1e696896
      > 
      > Original Commit Message:
      > 
      >     It was used only with Register inputs, so we can replace its uses with
      >     the Registers themselves.
      > 
      > R=​solanes@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      > BUG=
      > LOG=N
      > 
      > Change-Id: I95c0e6fc19ea5f9579d022756a4693ea0140d2f7
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890543
      > Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
      > Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      > Cr-Commit-Position: refs/heads/master@{#64661}
      
      TBR=michael_dawson@ca.ibm.com,jyan@ca.ibm.com,joransiu@ca.ibm.com,miladfar@ca.ibm.com,solanes@chromium.org
      
      Change-Id: I10f0a7f3c81f7c5c396df1e26ead50c5f8755231
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1891073Reviewed-by: 's avatarMilad Farazmand <miladfar@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64662}
      d93dab6b
    • Milad Farazmand's avatar
      PPC/s390: [codegen] Removed ParameterCount class · 2da05dfc
      Milad Farazmand authored
      Port 1e696896
      
      Original Commit Message:
      
          It was used only with Register inputs, so we can replace its uses with
          the Registers themselves.
      
      R=solanes@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I95c0e6fc19ea5f9579d022756a4693ea0140d2f7
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890543Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64661}
      2da05dfc
    • Milad Farazmand's avatar
      PPC/s390: Reland "[compiler] Optionally apply an offset to stack checks" · 05918654
      Milad Farazmand authored
      Port b875f466
      
      Original Commit Message:
      
          This is a reland of 4a16305b
      
          The original CL adjust only one part of the stack check, namely the
          comparison of the stack pointer against the stack limit in generated code.
          There is a second part: Runtime::kStackGuard repeats this check to
          distinguish between a stack overflow and an interrupt request.
      
          This second part in runtime must apply the offset just like in generated
          code. It is implemented in this reland by the StackCheckOffset operator
          and a new StackGuardWithGap runtime function.
      
          Original change's description:
          > [compiler] Optionally apply an offset to stack checks
          >
          > The motivation behind this change is that the frame size of an optimized
          > function and its unoptimized version may differ, and deoptimization
          > may thus trigger a stack overflow. The solution implemented in this CL
          > is to optionally apply an offset to the stack check s.t. the check
          > becomes 'sp - offset > limit'. The offset is applied to stack checks at
          > function-entry, and is set to the difference between the optimized and
          > unoptimized frame size.
          >
          > A caveat: OSR may not be fully handled by this fix since we've already
          > passed the function-entry stack check. A possible solution would be to
          > *not* skip creation of function-entry stack checks for inlinees.
          >
          > This CL: 1. annotates stack check nodes with the stack check kind, where
          > kind is one of {function-entry,iteration-body,unknown}. 2. potentially
          > allocates a temporary register to store the result of the 'sp - offset'
          > in instruction selection (and switches input registers to 'unique'
          > mode). 3. Applies the offset in code generation.
          >
          > Drive-by: Add src/compiler/globals.h for compiler-specific globals.
          >
          > Bug: v8:9534,chromium:1000887
          > Change-Id: I257191c4a4978ccb60cfa5805ef421f30f0e9826
          > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762521
          > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
          > Reviewed-by: Georg Neis <neis@chromium.org>
          > Cr-Commit-Position: refs/heads/master@{#63701}
      
      R=jgruber@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I37bf1d9157a96a5d3538108703f2d7469a11bffe
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890535Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64652}
      05918654
  7. 28 Oct, 2019 1 commit
  8. 17 Oct, 2019 1 commit
  9. 12 Sep, 2019 1 commit
  10. 10 Sep, 2019 1 commit
  11. 29 Aug, 2019 1 commit
  12. 13 Aug, 2019 2 commits
  13. 12 Aug, 2019 1 commit
    • Milad Farazmand's avatar
      PPC/s390: [compiler] Refactor stack check handling · f7f370d2
      Milad Farazmand authored
      Port 0aa204fe
      
      Original Commit Message:
      
          This CL unifies how stack checks are handled in the Turbofan pipeline
          across architectures, in preparation for properly handling stack
          overflows caused by deoptimization in follow-up work. It will also
          open up possibilities to simplify related logic.
      
          How this used to work: JSStackCheck was lowered to a UintLessThan
          with the stack pointer (sp) and stack limit as inputs. On x64 and ia32,
          this node pattern was later recognized during instruction selection
          and rewritten to dedicated operators. On other platforms, including
          arm and arm64, special logic exists to avoid useless
          register-to-register moves when accessing the sp.
      
          This CL introduces a new StackPointerGreaterThan operator, which takes
          the stack limit as its sole input. This is what JSStackCheck now lowers
          to. This is threaded through to code generation, where we emit the
          appropriate code (in the future, we will apply an additional offset to
          the sp here).
      
          In follow-up CLs, we can remove or replace remaining uses of
          LoadStackPointer in CSA, Wasm, and the interpreter; and then remove
          the LoadStackPointer operator, related node matchers, related register
          constraints, and the pseudo-smi stack limit roots.
      
      R=jgruber@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I175c110d30190bb543001b6fa77cd65cf22e5874
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1748002Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#63167}
      f7f370d2
  14. 30 Jul, 2019 1 commit
    • Georgia Kouveli's avatar
      [arm64] Reduce code size of deoptimization exits · 207d6b35
      Georgia Kouveli authored
      Do not pass the deoptimization index in a register, instead infer it
      from the address we made the deoptimization call from. This makes the
      deoptimization exit sequence one instruction long instead of two.
      
      This requires emitting all deoptimization exits at the end of the
      function in a contiguous block, making sure no constant or veneer
      pools are emitted in between. This means that soft deoptimizations
      require an additional branch to the end of the function, which
      counteracts the removal of the move instruction, however soft
      deoptimizations are rare compared to eager and lazy ones.
      
      This reduces the code size of optimised functions for benchmarks like
      Octane and ARES-6 by about 4%.
      
      Change-Id: I771f9104a07de7931a4bb9c5836e25fb55b1a2a4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1714876
      Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62991}
      207d6b35
  15. 22 Jul, 2019 1 commit
  16. 11 Jul, 2019 4 commits
  17. 08 Jul, 2019 1 commit
  18. 27 Jun, 2019 2 commits
  19. 13 Jun, 2019 1 commit
  20. 31 May, 2019 1 commit
    • Santiago Aboy Solanes's avatar
      [ptr-compr][turbofan][CSA] Adding the CompressedHeapConstant node · a31b36e0
      Santiago Aboy Solanes authored
      CompressedHeapConstant is used in the DecompressionElimination Reducer to
      create compressed HeapConstant values. It won't appear in the graph
      up until that point.
      
      This CL enables back the disabled tests in DecompressionElimination, as
      well as generating the CompressedHeapConstant in that reducer.
      
      The RelocInfo has already been added for x64 but not for arm64. Therefore,
      the x64 version is now doing the mov on 32 bits. The support for ARM will
      come in a following CL, and for now it is doing the mov in 64 bits.
      
      Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng
      Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng
      Bug: v8:8977, v8:7703, v8:9298
      Change-Id: If0ca4f937cfa60501679e66f6fd5ded2df38f605
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632236Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61950}
      a31b36e0
  21. 29 May, 2019 1 commit
  22. 24 May, 2019 1 commit
  23. 23 May, 2019 1 commit
  24. 21 May, 2019 1 commit
  25. 15 May, 2019 1 commit
  26. 10 May, 2019 1 commit
  27. 01 Apr, 2019 1 commit
  28. 26 Mar, 2019 1 commit
  29. 25 Mar, 2019 1 commit
  30. 05 Mar, 2019 1 commit
    • Junliang Yan's avatar
      PPC/s390: [arm][turbofan] Implement on-stack returns. · 7103c194
      Junliang Yan authored
      Port 9c7b6e1e
      
      Original Commit Message:
      
          This is the implementation of crrev.com/c/766371 for arm.
      
          Original description:
      
          Add the ability to return (multiple) return values on the stack:
      
          - Extend stack frames with a new buffer region for return slots.
            This region is located at the end of a caller's frame such that
            its slots can be indexed as caller frame slots in a callee
            (located beyond its parameters) and assigned return values.
          - Adjust stack frame constructon and deconstruction accordingly.
          - Extend linkage computation to support register plus stack returns.
          - Reserve return slots in caller frame when respective calls occur.
          - Introduce and generate architecture instructions ('peek') for
            reading back results from return slots in the caller.
          - Aggressive tests.
          - Some minor clean-up.
      
      R=ahaas@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, miladfar@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I83df1af8c49f6d6c5b529db599fce61a1da2490d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1496549Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#60032}
      7103c194
  31. 22 Feb, 2019 1 commit
  32. 15 Feb, 2019 1 commit
  33. 13 Feb, 2019 1 commit