1. 03 Feb, 2021 1 commit
  2. 20 Nov, 2020 1 commit
  3. 01 Oct, 2020 1 commit
  4. 28 Jul, 2020 1 commit
  5. 23 Jul, 2020 1 commit
  6. 23 Mar, 2020 1 commit
  7. 18 Nov, 2019 1 commit
  8. 23 Sep, 2019 1 commit
  9. 17 Sep, 2019 1 commit
  10. 11 Sep, 2019 1 commit
  11. 10 Sep, 2019 1 commit
  12. 09 Sep, 2019 1 commit
  13. 04 Sep, 2019 1 commit
  14. 29 Aug, 2019 1 commit
  15. 11 Jul, 2019 1 commit
  16. 23 May, 2019 2 commits
  17. 22 May, 2019 1 commit
  18. 06 Mar, 2019 1 commit
  19. 15 Feb, 2019 2 commits
    • Benedikt Meurer's avatar
      [isolate] Move ThreadLocalTop into IsolateData. · e17e46fd
      Benedikt Meurer authored
      This refactors the ThreadLocalTop into separate header and
      implementation files, and moves it from the Isolate to the
      IsolateData (with some tweaks to make the layout of the class
      predictable). This has the advantage that all external references
      referring to addresses in the ThreadLocalTop (like js_entry_sp,
      c_function, c_entry_fp, etc.) need only a single memory access
      to reach them. For example the CallApiCallback can now use
      
      ```
      mov %rbp,0x8e40(%r13)
      mov %rsi,0x8de0(%r13)
      mov %rbx,0x8e50(%r13)
      ```
      
      to setup the information about context, frame pointer, and C++
      function pointer in the ThreadLocalTop instead of the previously
      generated code
      
      ```
      mov 0x2e28(%r13),%r10
      mov %rbp,(%r10)
      mov 0x2e38(%r13),%r10
      mov %rsi,(%r10)
      mov 0x2e30(%r13),%r10
      mov %rbx,(%r10)
      ```
      
      which always had to load the scratch register %r10 with the actual
      address first. This has interesting performance impact. On the
      test case mentioned in v8:8820 (with the `d8` patch applied), the
      performance goes from
      
      ```
      console.timeEnd: fnMono, 2290.012000
      console.timeEnd: fnCall, 2604.954000
      ```
      
      to
      
      ```
      console.timeEnd: fnMono, 2062.743000
      console.timeEnd: fnCall, 2477.556000
      ```
      
      which is a pretty solid **10%** improvement for the monomorphic API
      accessor case, and a **5%** improvement for calling into the API
      accessor instead.
      
      But there might as well be other places besides API callback calls
      that will benefit from this change, which I haven't tested explicitly.
      
      Although this change is supposed to be as minimal as possible without
      any functional effects, some changes were necessary/logical. Eventually
      we should reconsider changing the layout and the types for the fields
      in the ThreadLocalTop to be more consistent with the other IsolateData
      entities. But this can be done in separate follow-up CLs, as this will
      be quite a bit of churn on the code base, depending on how we do that
      exactly, and is orthogonal to this optimization.
      
      Bug: v8:8820, v8:8848, chromium:913553
      Change-Id: I4732c8e60231f0312eb7767358c48bae0338220d
      Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
      Reviewed-on: https://chromium-review.googlesource.com/c/1474230Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59624}
      e17e46fd
    • Jakob Kummerow's avatar
      [cleanup] #include heap-inl.h less often · 6cac1382
      Jakob Kummerow authored
      This takes heap-inl.h out of the "Giant Include Cluster".
      Naturally, that means adding a bunch of explicit includes
      in a bunch of places that relied on transitively including
      them before.
      As of this patch, no header file outside src/heap/ includes
      heap-inl.h.
      
      Bug: v8:8562,v8:8499
      Change-Id: I65fa763f90e66afc30d105b9277792721f05a6d4
      Reviewed-on: https://chromium-review.googlesource.com/c/1459659
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59617}
      6cac1382
  20. 01 Feb, 2019 1 commit
  21. 08 Jan, 2019 1 commit
  22. 26 Dec, 2018 1 commit
  23. 20 Dec, 2018 1 commit
  24. 19 Dec, 2018 1 commit
  25. 18 Dec, 2018 2 commits
  26. 17 Dec, 2018 1 commit
  27. 11 Dec, 2018 1 commit
  28. 23 Nov, 2018 2 commits
  29. 19 Nov, 2018 1 commit
  30. 16 Nov, 2018 2 commits
  31. 07 Nov, 2018 1 commit
  32. 05 Nov, 2018 1 commit
  33. 26 Oct, 2018 1 commit
  34. 12 Oct, 2018 1 commit
  35. 11 Oct, 2018 1 commit