- 04 Mar, 2019 1 commit
-
-
Ross McIlroy authored
BUG=v8:8801 Change-Id: I9d9d9824c6c9ad0176bbfd3723da1b578b17c256 Reviewed-on: https://chromium-review.googlesource.com/c/1495555 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#60001}
-
- 31 Oct, 2017 1 commit
-
-
Benedikt Meurer authored
This adds support to the KeyedLoadIC to ignore out of bounds accesses for Strings and return undefined instead. We add a dedicated bit to the Smi handler to encode the OOB state and have TurboFan generate appropriate code for that case as well. This is mostly useful when programs accidentially access past the length of a string, which was observed and fixed for example in Babel recently, see https://github.com/babel/babel/pull/6589 for details. The idea is to also extend this mechanism to Arrays and maybe other receivers, as reading beyond the length is also often used in jQuery and other popular libraries. Note that this is considered a mitigation for a performance cliff and not a general optimization of OOB accesses. These should still be avoided and handled properly instead. This seems to further improve the babel test on the web-tooling-benchmark by around 1%, because the OOB access no longer turns the otherwise MONOMORPHIC access into MEGAMORPHIC state. Bug: v8:6936, v8:7014 Change-Id: I9df03304e056d7001a65da8e9621119f8e9bb55b Reviewed-on: https://chromium-review.googlesource.com/744022 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49049}
-
- 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 3 commits
-
-
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}
-
machenbach authored
Revert of [tests] Make assertOptimized()/assertUnoptimized() great again. (patchset #6 id:130042 of https://codereview.chromium.org/2654733004/ ) Reason for revert: Mac gc stress failures: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/11195 There's also this flake, but maybe unrelated: https://build.chromium.org/p/client.v8/builders/V8%20Win64/builds/15422 Original issue's description: > [tests] Make assertOptimized()/assertUnoptimized() great again. > > The mentioned asserts did not work properly with interpreted and turbofanned functions. > > To fix this issue %GetOptimizationStatus() now returns a set of flags instead of a single value. > > This CL also adds more helper functions to mjsunit, like isNeverOptimize(), isAlwaysOptimize(), > isOptimized(fun), etc. > > BUG=v8:5890 > > Review-Url: https://codereview.chromium.org/2654733004 > Cr-Commit-Position: refs/heads/master@{#42703} > Committed: https://chromium.googlesource.com/v8/v8/+/d1ddec785725a184fe6d01bd0813262e3ba24966 TBR=mstarzinger@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5890 Review-Url: https://codereview.chromium.org/2655223003 Cr-Commit-Position: refs/heads/master@{#42704}
-
ishell authored
The mentioned asserts did not work properly with interpreted and turbofanned functions. To fix this issue %GetOptimizationStatus() now returns a set of flags instead of a single value. This CL also adds more helper functions to mjsunit, like isNeverOptimize(), isAlwaysOptimize(), isOptimized(fun), etc. BUG=v8:5890 Review-Url: https://codereview.chromium.org/2654733004 Cr-Commit-Position: refs/heads/master@{#42703}
-
- 24 Oct, 2016 1 commit
-
-
bmeurer authored
We need to check the KeyedLoadIC state to guard against potential deoptimization loops due to out-of-bounds accesses, because the IC system uses the MEGAMORPHIC state to also signal that there was an out-of-bounds access already. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2443893002 Cr-Commit-Position: refs/heads/master@{#40525}
-