1. 30 Nov, 2020 1 commit
  2. 19 Nov, 2020 1 commit
  3. 18 Nov, 2020 2 commits
  4. 17 Nov, 2020 1 commit
    • Jakob Gruber's avatar
      [nci] Share smi feedback and enable related optimizations · 3599cce1
      Jakob Gruber authored
      This CL enables a first batch of feedback-based optimizations in NCI
      code. Specifically, optimizations based on unary, binary, compare,
      for-in-next, and for-in-prepare feedback are now enabled.
      
      This has two main implications:
      
      1. NCI code can now deopt. Deoptimized code is currently thrown away
      permanently and cannot be reused. Now that shared/cached NCI code can
      deopt, this leads to an interesting question of what should happen
      with deoptimized NCI code. The answer in this CL is to remove the
      cache entry (it may later be re-added).
      
      2. Tiering up from NCI to TF still requires feedback; since NCI code,
      starting with this CL, no longer collects full feedback, feedback must
      be created in some other way. This is solved by sharing a
      context-independent encoding of feedback across native contexts.
      
      Feedback is shared through a new SerializedFeedback object type,
      essentially a byte array of serialized feedback. Currently, only
      smi-based feedback is shared, but map-based feedback will be added in
      the future.
      
      SerializedFeedback is kept in the NCI cache alongside NCI Code
      objects.  It is created on NCI cache insertion, and deserialized upon
      NCI cache hits.
      
      Bug: v8:8888
      Change-Id: Ic0d5fbea3aa4d3b0a165624dab9d0283b07dcee7
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2531775Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71224}
      3599cce1
  5. 16 Nov, 2020 1 commit
  6. 11 Nov, 2020 1 commit
  7. 10 Nov, 2020 2 commits
  8. 09 Nov, 2020 3 commits
  9. 05 Nov, 2020 3 commits
  10. 03 Nov, 2020 1 commit
  11. 02 Nov, 2020 2 commits
  12. 29 Oct, 2020 3 commits
  13. 28 Oct, 2020 2 commits
  14. 26 Oct, 2020 2 commits
  15. 20 Oct, 2020 1 commit
  16. 16 Oct, 2020 1 commit
  17. 13 Oct, 2020 1 commit
  18. 12 Oct, 2020 1 commit
  19. 29 Sep, 2020 2 commits
  20. 28 Sep, 2020 4 commits
  21. 25 Sep, 2020 1 commit
  22. 24 Sep, 2020 2 commits
  23. 23 Sep, 2020 2 commits