1. 05 Mar, 2020 1 commit
  2. 28 Feb, 2020 1 commit
  3. 10 Feb, 2020 1 commit
  4. 23 Jan, 2020 3 commits
  5. 16 Jan, 2020 1 commit
  6. 09 Jan, 2020 1 commit
  7. 05 Dec, 2019 2 commits
  8. 22 Nov, 2019 2 commits
  9. 21 Nov, 2019 1 commit
  10. 09 Nov, 2019 1 commit
  11. 05 Nov, 2019 1 commit
  12. 04 Nov, 2019 1 commit
    • Mu Tao's avatar
      [mips] Reland "[compiler] Optionally apply an offset to stack checks" · 75f376ad
      Mu Tao authored
      Port b875f466
      
      Original Commit Message:
      
          Reland "[compiler] Optionally apply an offset to stack checks"
      
          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.
          >
          > 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}
      
      Change-Id: I77554bddde57153ec92c4b80c15d0a52efbaab2d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893554Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Mu Tao <pamilty@gmail.com>
      Cr-Commit-Position: refs/heads/master@{#64718}
      75f376ad
  13. 28 Oct, 2019 1 commit
  14. 23 Oct, 2019 5 commits
  15. 28 Sep, 2019 1 commit
  16. 25 Sep, 2019 1 commit
  17. 24 Sep, 2019 1 commit
  18. 12 Sep, 2019 2 commits
  19. 10 Sep, 2019 1 commit
    • Mu Tao's avatar
      [mips][wasm] Add an additional stack check for functions with big frames · 07ee3ac7
      Mu Tao authored
      Port 9f01d5c1
      
      Original Commit Message:
      
          Stack overflow checks are typically implemented as part of the TurboFan
          graph of a function. This means that the stack check code is executed
          after frame construction. When a frame is too big, though, there may not
          be enough space on the stack anymore to throw the stack overflow
          exception after frame construction. With this CL we do an additional
          stack check before frame construction for functions with big frames.
      
          As discussed offline with mstarzinger, I do this change currently only
          for WebAssembly.
      
          This CL contains only the changes for arm. I will do the other platforms
          in separate CLs
      
      R=xwafish@gmail.com
      
      Change-Id: I46c6dd8fac1385e5da13e03cfffd9c640a7c2c57
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1792582
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Auto-Submit: Mu Tao <pamilty@gmail.com>
      Cr-Commit-Position: refs/heads/master@{#63632}
      07ee3ac7
  20. 05 Sep, 2019 1 commit
  21. 19 Aug, 2019 1 commit
  22. 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
  23. 22 Jul, 2019 1 commit
  24. 11 Jul, 2019 4 commits
  25. 08 Jul, 2019 1 commit
  26. 28 Jun, 2019 1 commit
  27. 27 Jun, 2019 1 commit
  28. 13 Jun, 2019 1 commit