- 08 May, 2019 1 commit
-
-
Mythri A authored
This is a reland of 289b2576. The fix for failures landed here: https://chromium-review.googlesource.com/c/v8/v8/+/1599388 Original change's description: > [Test] Update tests to work with lazy feedback allocation. > > This adds either %EnsureFeedbackVectorForFunction or > %PrepareFunctionForOptimization to allocate feedback vectors when testing > optimization, allocation sites, IC transitions etc., > > Bug: v8:8394 > Change-Id: I6ad1b6d460e4abda693b326cddb87754e080a0a1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593303 > Commit-Queue: Mythri Alle <mythria@chromium.org> > Auto-Submit: Mythri Alle <mythria@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61212} Bug: v8:8394 Change-Id: Idb5bba221d138e6fd73155f959b9e16fc948c709 TBR: rmcilroy@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1599607Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Auto-Submit: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61332}
-
- 03 May, 2019 2 commits
-
-
Clemens Hammacher authored
This reverts commit 289b2576. Reason for revert: Fails gc-stress: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64%20GC%20Stress/7143 Original change's description: > [Test] Update tests to work with lazy feedback allocation. > > This adds either %EnsureFeedbackVectorForFunction or > %PrepareFunctionForOptimization to allocate feedback vectors when testing > optimization, allocation sites, IC transitions etc., > > Bug: v8:8394 > Change-Id: I6ad1b6d460e4abda693b326cddb87754e080a0a1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593303 > Commit-Queue: Mythri Alle <mythria@chromium.org> > Auto-Submit: Mythri Alle <mythria@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61212} TBR=rmcilroy@chromium.org,mythria@chromium.org Change-Id: I2a78bfd3ee6102c1d2062957970f425308050d3d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8394 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594565Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61213}
-
Mythri A authored
This adds either %EnsureFeedbackVectorForFunction or %PrepareFunctionForOptimization to allocate feedback vectors when testing optimization, allocation sites, IC transitions etc., Bug: v8:8394 Change-Id: I6ad1b6d460e4abda693b326cddb87754e080a0a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593303 Commit-Queue: Mythri Alle <mythria@chromium.org> Auto-Submit: Mythri Alle <mythria@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61212}
-
- 24 Oct, 2017 1 commit
-
-
Benedikt Meurer authored
When lowering a monomorphic load/store, where multiple receiver maps have been recorded, but the action to be performed is the same (i.e. yielding undefined because the property is not found), TurboFan used to ignore the Smi case, leading to a pretty terrible deoptimization loop, as the LOAD_IC/STORE_IC properly recorded that state and thus didn't change it's state. Fixing this issue gives a 18-20% boost on the prettier test of the web-tooling-benchmark, which was suffering a lot from this problem. Bug: v8:6936, v8:6991 Change-Id: Id208ec7129a7f6b190d989bda31f936040393226 Reviewed-on: https://chromium-review.googlesource.com/735342Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48865}
-
- 20 Oct, 2017 1 commit
-
-
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: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48784}
-
- 16 Oct, 2017 1 commit
-
-
Georg Neis authored
R=bmeurer@chromium.org, jarin@chromium.org Bug: v8:6941 Change-Id: Ic1062e1c5f181ab5041fb7b7cb1487683a36c300 Reviewed-on: https://chromium-review.googlesource.com/721020 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48599}
-
- 28 Apr, 2017 1 commit
-
-
Mythri authored
1. Replaces --crankshaft with --opt in tests. 2. Also fixes presubmit to check for --opt flag when assertOptimized is used. 3. Updates testrunner/local/variants.py and v8_foozie.py to use --opt flag. This would mean, nooptimize variant means there are no optimizations. Not even with %OptimizeFunctionOnNextCall. Bug:v8:6325 Change-Id: I638e743d0773a6729c6b9749e2ca1e2537f12ce6 Reviewed-on: https://chromium-review.googlesource.com/490206 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#44985}
-
- 26 Jan, 2017 1 commit
-
-
ishell authored
This CL adds --crankshaft and --no-always-opt flags to the tests that use assertOptimized() and assertUnoptimized() respectively. This CL also adds presubmit checks that ensure that tests have the proper flags set. BUG=v8:5890 Review-Url: https://codereview.chromium.org/2653753007 Cr-Commit-Position: refs/heads/master@{#42709}
-
- 02 Jan, 2017 1 commit
-
-
bmeurer authored
When Crankshaft compiles a keyed load to arguments, it disabled optimization unless the KEYED_LOAD_IC for the access was monomorphic. But that's too restrictive, since it will also disable optimization for this function when the access is on a path that was never executed so far. This was spotted in the Node.js core function EventEmitter.prototype.emit, which was no longer optimizable with Crankshaft using latest V8. R=jarin@chromium.org BUG=v8:5790 Review-Url: https://codereview.chromium.org/2607303002 Cr-Commit-Position: refs/heads/master@{#42005}
-