1. 07 Apr, 2022 1 commit
    • Milad Fa's avatar
      PPC/s390: [wasm] Count direct calls · aacd4162
      Milad Fa authored
      Port 9ca0bfef
      
      Original Commit Message:
      
          This adds feedback collection to count the number of executions of
          call_direct instructions in Liftoff code. The purpose is better
          inlining decisions in Turbofan, which are enabled by having call
          count information for all kinds of calls.
          The new feature is gated on --wasm-speculative-inlining. While
          direct calls don't need to speculate about their target, the whole
          feedback collection infrastructure depends on that flag.
      
      R=jkummerow@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
      BUG=
      LOG=N
      
      Change-Id: Id94a8a00e00877213b017d1ccf06ae0ea988539b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576126Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
      Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
      Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
      Cr-Commit-Position: refs/heads/main@{#79862}
      aacd4162
  2. 28 Mar, 2022 1 commit
  3. 22 Mar, 2022 1 commit
  4. 15 Mar, 2022 1 commit
    • Milad Fa's avatar
      PPC/s390: [codegen] Change RegList into a class · 46cd6c8b
      Milad Fa authored
      Port 8a0d1b6f
      
      Original Commit Message:
      
          Modernise the RegList interface to be a proper class, rather than a
          typedef to an integer, and add proper methods onto it rather than ad-hoc
          bit manipulation.
      
          In particular, this makes RegList typesafe, adding a DoubleRegList for
          DoubleRegisters.
      
          The Arm64 CPURegList isn't updated to use (or extend) the new RegList
          interface, because of its weird type-erasing semantics (it can store
          Registers and VRegisters). Maybe in the future we'll want to get rid of
          CPURegList entirely and use RegList/DoubleRegList directly.
      
      R=leszeks@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
      BUG=
      LOG=N
      
      Change-Id: I997156fe4f4f2ccc40b2631d5cb752efdc8a5ad2
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3525084Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
      Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
      Cr-Commit-Position: refs/heads/main@{#79484}
      46cd6c8b
  5. 10 Dec, 2021 1 commit
  6. 02 Dec, 2021 1 commit
  7. 23 Nov, 2021 1 commit
  8. 12 Nov, 2021 1 commit
  9. 10 Nov, 2021 1 commit
  10. 01 Nov, 2021 1 commit
  11. 20 Oct, 2021 1 commit
    • Milad Fa's avatar
      PPC/s390: [turbofan] Handle class constructor · d219d39a
      Milad Fa authored
      Port e127f584
      
      Original Commit Message:
      
          Handling of class constructors was moved from CallFunction to Call
          in [1].
          When reducing calls with spread we forward varargs directly to
          CallFunction, if we are spreading to inlined arguments or arguments of
          the outermost function.
          In that case we didn't check for class constructors and therefore didn't
          raise an exception.
          This CL adds checks for class constructors to all JSCall* nodes in
          JSCallReducer that missed them before.
      
          [1] https://crrev.com/c/3186434
      
      R=pthier@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
      BUG=
      LOG=N
      
      Change-Id: I02cba90369354f064201daa1bf8812e17cb2dc21
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234040Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
      Commit-Queue: Milad Fa <mfarazma@redhat.com>
      Cr-Commit-Position: refs/heads/main@{#77480}
      d219d39a
  12. 30 Sep, 2021 1 commit
  13. 24 Sep, 2021 1 commit
  14. 22 Sep, 2021 4 commits
  15. 21 Sep, 2021 1 commit
    • Junliang Yan's avatar
      ppc/s390: [isolate-data] Split builtin tables into tiers · dc88bdf3
      Junliang Yan authored
      Port 06af754c
      
      Original Message:
        .. for more efficient access to builtins from generated code.
      
        Root-relative accesses tend to be faster and produce more compact
        code when the root-relative offset is small. IsolateData contains
        a few large tables (roots, external references, builtins), resulting
        in very large offsets in general.
      
        This CL starts by splitting the builtin table into tiers: tier 0
        is a minimal set of perf-critical builtins that should be cheap to
        access. The offset to tier 0 builtins is guaranteed to be small.
      
        The full builtin table also remains in IsolateData for occasions in
        which we need to lookup builtins by index.
      
        In future work, we can also split external references and roots into
        tiers.
      
        On x64, this reduces deopt exit sizes from 7 to 4 bytes and from 12
        to 9 bytes (dynamic map checks / EagerWithResume deopts).
      
      Change-Id: I021d60b20b783da170987ffcf0327b93206f7e5d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172917Reviewed-by: 's avatarMilad Fa <mfarazma@redhat.com>
      Commit-Queue: Junliang Yan <junyan@redhat.com>
      Cr-Commit-Position: refs/heads/main@{#76967}
      dc88bdf3
  16. 13 Sep, 2021 1 commit
  17. 12 Aug, 2021 1 commit
  18. 11 Aug, 2021 3 commits
  19. 04 Aug, 2021 1 commit
  20. 28 Jul, 2021 1 commit
  21. 27 Jul, 2021 1 commit
  22. 23 Jul, 2021 3 commits
  23. 19 Jul, 2021 2 commits
  24. 16 Jul, 2021 2 commits
  25. 13 Jul, 2021 1 commit
  26. 08 Jul, 2021 1 commit
  27. 07 Jul, 2021 4 commits
  28. 06 Jul, 2021 1 commit