1. 17 Jan, 2019 1 commit
  2. 10 Jan, 2019 2 commits
  3. 17 Dec, 2018 1 commit
  4. 14 Dec, 2018 1 commit
    • Jakob Kummerow's avatar
      Make RegExpFlagsFromString faster · 2cce5c52
      Jakob Kummerow authored
      The new ObjectPtr design makes non-inlined helper functions a little
      more expensive because "this" is always a pointer where pass-by-value
      would be more efficient, which is an issue for functions whose size puts
      them right at the threshold of getting inlined or not. String::Get falls
      into this category when called from RegExpFlagsFromString. In this case,
      we can do even better than restoring inlineability by fine-tuning
      the control flow a bit.
      
      This should repair the regression in crbug.com/910573
      
      Bug: chromium:910573
      Change-Id: Ie6b68ef01cd978ec502d8d6c1da788c77422dce7
      Reviewed-on: https://chromium-review.googlesource.com/c/1369087
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58234}
      2cce5c52
  5. 11 Dec, 2018 1 commit
  6. 06 Dec, 2018 1 commit
    • tzik's avatar
      Replace %RunMicrotasks with %PerformMicrotaskCheckpoint · 07011cc4
      tzik authored
      This replaces Runtime_RunMicrotasks with Runtime_PerformMicrotaskCheckpoint.
      
      RunMicrotasks forcibly runs Microtasks even when the microtasks are suppressed,
      and may causes nested Microtasks in a problematic way. E.g. that confuses
      v8::MicrotasksScope::IsRunningMicrotasks() and GetEnteredOrMicrotaskContext().
      
      OTOH, PerformMicrotaskCheckpoint() doesn't run cause the failure as it
      respects the microtask suppressions.
      
      As all existing tests don't call RunMicrotasks() in the suppressed situation
      (like Promise.resolve().then(()=>{%RunMicrotasks();})), this change should
      not affect to these tests.
      
      Change-Id: Ib043a0cc8e482e022d375084d65ea98a6f54ef3d
      Reviewed-on: https://chromium-review.googlesource.com/c/1360095Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58068}
      07011cc4
  7. 07 Nov, 2018 1 commit
    • Frank Tang's avatar
      [Intl] Add benchmark for toLocaleString/localeCompare · e23e1311
      Frank Tang authored
      This is a bit of a performance bottleneck currently and
      we're planning on improving performance by adding caching.
      These benchmarks will allow us to measure the improvements
      Add benchmark tests for
       String.prototype.localeCompare()
       Date.prototype.toLocaleString()
       Date.prototype.toLocaleDateString()
       Date.prototype.toLocaleTimeString()
       Number.prototype.toLocaleString()
      
      Run with
      python -u tools/run_perf.py --binary-override-path \
        out/x64.release/d8 --filter "JSTests/Strings/StringLocaleCompare" \
        test/js-perf-test/JSTests.json
      python -u tools/run_perf.py --binary-override-path \
        out/x64.release/d8 --filter "JSTests/Dates" \
        test/js-perf-test/JSTests.json
      python -u tools/run_perf.py --binary-override-path \
        out/x64.release/d8 --filter "JSTests/Numbers" \
        test/js-perf-test/JSTests.json
      
      Before the landing of dffaff77
      
       git reset --hard 474a6d63
      got
      StringLocaleCompare-Strings(Score): 13240000
      toLocaleDateString-Dates(Score): 1877000
      toLocaleString-Dates(Score): 1197000
      toLocaleTimeString-Dates(Score): 2147000
      toLocaleDateString-Dates(Score): 1908000
      
      After the landing of dffaff77
       git reset --hard dffaff77
      got
      StringLocaleCompare-Strings(Score): 97182
      toLocaleDateString-Dates(Score): 10436
      toLocaleString-Dates(Score): 10436
      toLocaleTimeString-Dates(Score): 10669
      toLocaleString-Numbers(Score): 2876
      
      
      Bug: chromium:901748
      Change-Id: Ibfea85fe668f1bfaacb2dfe08368cd920d2bbfc6
      Reviewed-on: https://chromium-review.googlesource.com/c/1318099Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Commit-Queue: Frank Tang <ftang@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57323}
      e23e1311
  8. 02 Nov, 2018 1 commit
  9. 31 Oct, 2018 1 commit
    • Mathias Bynens's avatar
      [js-perf-test] Add Array#{indexOf,includes} micro-benchmark · 591c92ac
      Mathias Bynens authored
      This patch adds a micro-benchmark comparing Array#indexOf,
      Array#includes, and a roughly equivalent `for` loop.
      
      The benchmark can be used to measure any Array#{indexOf,includes}
      optimizations we implement in the future.
      
      Test:
      
          tools/run_perf.py --binary-override-path=out/x64.release/d8 \
            --filter=JSTests/ArrayIndexOfIncludesPolymorphic \
            --extra-flags=--trace-turbo test/js-perf-test/JSTests.json
      
      Bug: v8:8388
      Change-Id: I9150d3e56e9d4cb2ffe6baa50ee8cddf8df0ac74
      Reviewed-on: https://chromium-review.googlesource.com/c/1307430Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57156}
      591c92ac
  10. 24 Oct, 2018 2 commits
  11. 15 Oct, 2018 2 commits
  12. 12 Oct, 2018 2 commits
  13. 10 Oct, 2018 1 commit
  14. 14 Sep, 2018 1 commit
    • Jakob Gruber's avatar
      Revert "[builtins] Add FastCallFunction builtin that elides some checks" · 74320a1b
      Jakob Gruber authored
      This reverts commit 99e13e58.
      
      Reason for revert: Reverting in favor of a general mechanism for this in Torque.
      
      Original change's description:
      > [builtins] Add FastCallFunction builtin that elides some checks
      > 
      > This CL adds a new "Call" stub that can be used by builtins that will
      > call the same JS call-back function often (e.g. compare function in
      > Array.p.sort). The checks have to be done upfront once, but can then
      > be omitted.
      > 
      > R=​jgruber@chromium.org
      > 
      > Bug: v8:7861
      > Change-Id: Id6e4ca27c3d488a7b1f708cbcb4cbe6cc382513e
      > Reviewed-on: https://chromium-review.googlesource.com/1208574
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55769}
      
      TBR=cbruni@chromium.org,jgruber@chromium.org,szuend@google.com
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:7861
      Change-Id: I47260993ef2a16bd5348bb0b46da4d34d33ea10b
      Reviewed-on: https://chromium-review.googlesource.com/1226871
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55897}
      74320a1b
  15. 11 Sep, 2018 1 commit
  16. 06 Sep, 2018 1 commit
    • Michael Stanton's avatar
      Revert "[Builtins] Array.prototype.forEach perf regression on dictionaries." · 6da8e1f9
      Michael Stanton authored
      This reverts commit 34625fdb.
      
      Reason for revert: Test caused timeout, investigating.
      
      Original change's description:
      > [Builtins] Array.prototype.forEach perf regression on dictionaries.
      > 
      > An unnecessary call to ToString() on the array index caused trips to
      > the runtime. The fix also includes performance micro-benchmarks so
      > we'll have a harder time regressing this case in future.
      > 
      > Bug: v8:8112
      > Change-Id: Iada5bd2e3c6d2246fb1225e7094f3d9c66ddafbd
      > Reviewed-on: https://chromium-review.googlesource.com/1206355
      > Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55653}
      
      TBR=mvstanton@chromium.org,tebbi@chromium.org
      
      Change-Id: I21de9b9b33edf03f2173f579c4ba0fc3dfd8ff88
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8112
      Reviewed-on: https://chromium-review.googlesource.com/1209288Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55681}
      6da8e1f9
  17. 05 Sep, 2018 1 commit
  18. 04 Sep, 2018 1 commit
  19. 30 Aug, 2018 1 commit
  20. 29 Aug, 2018 2 commits
  21. 28 Aug, 2018 1 commit
  22. 27 Aug, 2018 1 commit
  23. 24 Aug, 2018 2 commits
  24. 23 Aug, 2018 1 commit
  25. 20 Aug, 2018 2 commits
  26. 13 Aug, 2018 3 commits
  27. 09 Aug, 2018 1 commit
  28. 08 Aug, 2018 1 commit
  29. 06 Aug, 2018 1 commit
  30. 23 Jul, 2018 1 commit
  31. 19 Jul, 2018 1 commit
    • Sigurd Schneider's avatar
      Revert "[turbofan] Inline Number constructor in certain cases" · c7a9af61
      Sigurd Schneider authored
      This reverts commit 9eca23e9.
      
      Reason for revert: Clusterfuzz correctness issue
      
      Original change's description:
      > [turbofan] Inline Number constructor in certain cases
      > 
      > This CL adds inlining for the Number constructor if new.target is not
      > present. The lowering is BigInt compatible, i.e. it converts BigInts to
      > numbers.
      > 
      > Bug: v8:7904
      > Change-Id: If03b9f872d82e50b6ded7709069181c33dc44e82
      > Reviewed-on: https://chromium-review.googlesource.com/1118557
      > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54454}
      
      TBR=jarin@chromium.org,neis@chromium.org,sigurds@chromium.org,bmeurer@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:7904
      Change-Id: Ie5fa6c1262b8acc33edb672a0124f4458fcded86
      Reviewed-on: https://chromium-review.googlesource.com/1142777Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54544}
      c7a9af61