1. 24 Feb, 2021 1 commit
  2. 23 Feb, 2021 2 commits
  3. 22 Feb, 2021 3 commits
  4. 17 Feb, 2021 1 commit
  5. 10 Feb, 2021 2 commits
  6. 05 Feb, 2021 1 commit
  7. 03 Feb, 2021 1 commit
  8. 26 Jan, 2021 1 commit
  9. 20 Jan, 2021 1 commit
  10. 19 Jan, 2021 1 commit
  11. 18 Jan, 2021 1 commit
  12. 13 Jan, 2021 2 commits
  13. 11 Jan, 2021 1 commit
  14. 07 Jan, 2021 1 commit
  15. 05 Jan, 2021 1 commit
  16. 17 Dec, 2020 1 commit
  17. 16 Dec, 2020 4 commits
  18. 14 Dec, 2020 2 commits
  19. 04 Dec, 2020 2 commits
  20. 02 Dec, 2020 2 commits
  21. 01 Dec, 2020 3 commits
    • Ross McIlroy's avatar
      [Turboprop] Move deoptimizations for dynamic map checks into builtin. · b6643320
      Ross McIlroy authored
      In order to reduce the codegen size of dynamic map checks, add the
      ability to have an eager with resume deopt point, which can call
      a given builitin to perform a more detailed check than can be done
      in codegen, and then either deoptimizes itself (as if the calling
      code had performed an eager deopt) or resumes execution in the
      calling code after the check.
      
      In addition, support for adding extra arguments to a
      deoptimization continuation is added to enable us to pass the
      necessary arguments to the DynamicMapChecks builtin.
      
      Finally, a trampoline is added to the DynamicMapChecks which saves
      the registers that might be clobbered by that builtin, to avoid
      having to save them in the generated code. This trampoline also
      performs the deoptimization based on the result of the
      DynamicMapChecks builtin.
      
      In order to ensure both the trampoline and DynamicMapChecks
      builtin have the same call interface, and to limit the number
      of registers that need saving in the trampoline, the
      DynamicMapChecks builtin is moved to be a CSA builtin with a
      custom CallInterfaceDescriptor, that calls an exported Torque
      macro that implements the actual functionality.
      
      All told, this changes the codegen for a monomorphic dynamic
      map check from:
          movl rbx,<expected_map>
          cmpl [<object>-0x1],rbx
          jnz <deferred_call>
         resume_point:
          ...
         deferred_call:
          <spill registers>
          movl rax,<slot>
          movq rbx,<object>
          movq rcx,<handler>
          movq r10,<DynamicMapChecks>
          call r10
          cmpq rax,0x0
          jz <restore_regs>
          cmpq rax,0x1
          jz <deopt_point_1>
          cmpq rax,0x2
          jz <deopt_point_2>
          int3l
         restore_regs:
          <restore_regs>
          jmp <resume_point>
          ...
         deopt_point_1:
          call Deoptimization_Eager
         deopt_point_2:
          call Deoptimization_Bailout
      
      To: movl rax,<slot>
          movl rcx,<expected_map>
          movq rdx,<handler>
          cmpl [<object>-0x1],rcx
          jnz <deopt_point>
         resume_point:
          ...
         deopt_point:
          call DynamicMapChecksTrampoline
          jmp <resume_point>
      
      BUG=v8:10582
      
      Change-Id: Ica4927b9acc963b9b73dc62d9379a7815335650f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560197
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71545}
      b6643320
    • Zhi An Ng's avatar
      Revert "[wasm-simd][ia32] Prototype store lane" · b6b37b01
      Zhi An Ng authored
      This reverts commit a69b7ef2.
      
      Reason for revert: Broke msvc https://ci.chromium.org/p/v8/builders/ci/V8%20Win64%20-%20msvc/15975?
      
      Original change's description:
      > [wasm-simd][ia32] Prototype store lane
      >
      > Prototype v128.store{8,16,32,64}_lane on IA32.
      >
      > Drive by fix for wrong disassembly of movlps.
      >
      > Also added more test cases for StoreLane, test for more alignment and offset.
      >
      > Bug: v8:10975
      > Change-Id: I0e16f1b5be824b6fc818d02d0fd84ebc0dff4174
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557068
      > Commit-Queue: Zhi An Ng <zhin@chromium.org>
      > Reviewed-by: Bill Budge <bbudge@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#71511}
      
      TBR=bbudge@chromium.org,zhin@chromium.org
      
      Change-Id: Ic9386ea1254c1e0d9b42e92723b1a951fafe3a8b
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:10975
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567315Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71512}
      b6b37b01
    • Zhi An Ng's avatar
      [wasm-simd][ia32] Prototype store lane · a69b7ef2
      Zhi An Ng authored
      Prototype v128.store{8,16,32,64}_lane on IA32.
      
      Drive by fix for wrong disassembly of movlps.
      
      Also added more test cases for StoreLane, test for more alignment and offset.
      
      Bug: v8:10975
      Change-Id: I0e16f1b5be824b6fc818d02d0fd84ebc0dff4174
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557068
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71511}
      a69b7ef2
  22. 10 Nov, 2020 1 commit
  23. 04 Nov, 2020 1 commit
  24. 02 Nov, 2020 3 commits
  25. 22 Oct, 2020 1 commit