1. 08 Mar, 2018 1 commit
  2. 02 Mar, 2018 1 commit
  3. 02 Feb, 2018 1 commit
  4. 21 Dec, 2017 1 commit
  5. 18 Dec, 2017 2 commits
  6. 14 Dec, 2017 4 commits
  7. 13 Dec, 2017 1 commit
  8. 05 Dec, 2017 1 commit
  9. 07 Nov, 2017 2 commits
  10. 06 Nov, 2017 1 commit
  11. 20 Oct, 2017 1 commit
    • Benedikt Meurer's avatar
      [ic] Ensure that we make progress on KeyedLoadIC polymorphic name. · d5c19aa9
      Benedikt Meurer authored
      In the special case of KeyedLoadIC, where the key that is passed in is a
      Name that is always the same we only checked for identity in both the
      stub and the TurboFan case, which works fine for symbols and internalized
      strings, but doesn't really work with non-internalized strings, where
      the identity check will fail, the runtime will internalize the string,
      and the IC will then see the original internalized string again and not
      progress in the feedback lattice. This leads to tricky deoptimization
      loops in TurboFan and constantly missing ICs.
      
      This adds fixes the stub to always try to internalize strings first
      when the identity check fails and then doing the check again. If the
      name is not found in the string table we miss, since in that case the
      string cannot match the previously recorded feedback name (which is
      always a unique name).
      
      In TurboFan we represent this checks with new CheckEqualsSymbol and
      CheckEqualsInternalizedString operators, which validate the previously
      recorded feedback, and the CheckEqualsInternalizedString operator does
      the attempt to internalize the input.
      
      Bug: v8:6936, v8:6948, v8:6969
      Change-Id: I3f3b4a587c67f00f7c4b60d239eb98a9626fe04a
      Reviewed-on: https://chromium-review.googlesource.com/730224Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48784}
      d5c19aa9
  12. 12 Oct, 2017 1 commit
  13. 05 Sep, 2017 1 commit
  14. 01 Sep, 2017 3 commits
  15. 19 Jun, 2017 1 commit
  16. 24 Apr, 2017 3 commits
  17. 21 Mar, 2017 2 commits
  18. 14 Mar, 2017 2 commits
  19. 07 Mar, 2017 2 commits
    • jgruber's avatar
      [ic] Completely unroll polymorphic IC map checks · 3c246db7
      jgruber authored
      Polymorphic IC feedback can contain up to four (map, handler) pairs.
      
      HandlePolymorphicCase already unrolled checks for the first two pairs; these
      are guaranteed to exist and can omit bound checks.
      
      This CL unrolls checks against the final two pairs as well.
      
      BUG=v8:5917
      
      Review-Url: https://codereview.chromium.org/2728293005
      Cr-Commit-Position: refs/heads/master@{#43650}
      3c246db7
    • jgruber's avatar
      [ic] Inline LoadIC into LdaNamedProperty bytecode handler · 0bfabaf1
      jgruber authored
      This inlines common LoadIC cases into the LdaNamedProperty bytecode
      handler. Smi handlers resulting in constant/field loads for
      monomorphic ICs omit frame construction. The same counts for the
      polymorphic case as long as the target handler is in the first two
      vector slots.
      
      Other cases (megamorphic, uninitialized) call the new
      LoadIC_Noninlined stub.
      
      Local benchmarks show up to 6% improvement on Sunspider with --future.
      
      BUG=v8:5917
      
      Review-Url: https://codereview.chromium.org/2733563002
      Cr-Commit-Position: refs/heads/master@{#43630}
      0bfabaf1
  20. 02 Mar, 2017 1 commit
  21. 28 Feb, 2017 2 commits
  22. 10 Feb, 2017 1 commit
  23. 09 Feb, 2017 1 commit
  24. 31 Jan, 2017 1 commit
  25. 19 Jan, 2017 1 commit
  26. 23 Dec, 2016 1 commit
  27. 17 Nov, 2016 1 commit