1. 17 Nov, 2021 1 commit
  2. 21 Oct, 2021 1 commit
  3. 20 Oct, 2021 1 commit
    • Patrick Thier's avatar
      [turbofan] Handle class constructor · e127f584
      Patrick Thier authored
      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
      
      Bug: chromium:1260623
      Change-Id: Id39cdfd09ff5aae804ae30d96909518e408c9613
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3229369
      Commit-Queue: Patrick Thier <pthier@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#77472}
      e127f584
  4. 12 Oct, 2021 2 commits
  5. 11 Oct, 2021 1 commit
  6. 30 Sep, 2021 1 commit
  7. 27 Sep, 2021 1 commit
  8. 24 Sep, 2021 2 commits
  9. 22 Sep, 2021 1 commit
  10. 20 Sep, 2021 1 commit
    • Jakob Gruber's avatar
      [isolate-data] Split builtin tables into tiers · 06af754c
      Jakob Gruber authored
      .. 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).
      
      Bug: v8:12203,v8:8661
      Change-Id: I5a9ed22b0e00682aca1abcf15892ae1458dbdd70
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3162142
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76947}
      06af754c
  11. 07 Sep, 2021 1 commit
  12. 31 Aug, 2021 1 commit
  13. 27 Aug, 2021 1 commit
  14. 17 Aug, 2021 1 commit
  15. 12 Aug, 2021 1 commit
  16. 11 Aug, 2021 1 commit
  17. 05 Aug, 2021 1 commit
  18. 04 Aug, 2021 2 commits
  19. 29 Jul, 2021 1 commit
  20. 27 Jul, 2021 1 commit
    • Clemens Backes's avatar
      [liftoff] Push the instance as part of frame construction · 593fbb69
      Clemens Backes authored
      Currently we first construct the frame (via
      {TurboAssembler::EnterFrame}), then we spill the instance to the
      respective slot (via {LiftoffAssembler::SpillInstance}). Instead, we
      should already spill the instance as part of frame construction. That
      allows for a more compact instruction to be used ("push" instead of
      "mov" on Intel), and on arm64 even allows to merge pushing into an
      existing instruction (where we currently push the zero register x31
      instead).
      
      This makes the prologue more similar to what TurboFan generates in
      {TurboAssembler::AssembleConstructFrame} (which does not use
      {TurboAssembler::EnterFrame}).
      
      R=ahaas@chromium.org
      
      Bug: v8:12017
      Change-Id: Ibb4a38d2049cff66fec9450db4f7f375d006beac
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3055302Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75938}
      593fbb69
  21. 26 Jul, 2021 1 commit
  22. 23 Jul, 2021 1 commit
  23. 20 Jul, 2021 1 commit
  24. 15 Jul, 2021 2 commits
  25. 14 Jul, 2021 2 commits
  26. 30 Jun, 2021 1 commit
  27. 28 Jun, 2021 1 commit
  28. 24 Jun, 2021 4 commits
  29. 23 Jun, 2021 1 commit
  30. 21 Jun, 2021 2 commits
  31. 16 Jun, 2021 1 commit