v8/test
Benedikt Meurer ce7ec6ef0a [turbofan] Refactor the CheckedInt32Div/CheckedUint32Div lowering.
Improve the lowering of CheckedInt32Div and CheckedUint32Div for the
case that the right hand side is a known (positive) power of two, as
in that case it's sufficient to just check the relevant bits on the
left hand side and then shift by the appropriate amount of bits.

This is significantly faster than what TurboFan is able to generate
from the general lowering, even with all the MachineOperatorReducer
magic (it even shows as a steady ~1.5% overall improvement on the
Kraken crypto ccm benchmark).

Also turn the general CheckedInt32Div lowering into readable code again,
and make sure that all the bailout cases are properly covered by mjsunit
tests (i.e. the "division by zero" bailout was not covered properly).

Bug: v8:8015
Change-Id: Ibfdd367a6ee5d70dcaa48801858042c5029b7004
Reviewed-on: https://chromium-review.googlesource.com/1236954
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56115}
2018-09-21 09:05:48 +00:00
..
benchmarks [test] Share resource-fetching logic with all d8 test cases 2018-08-29 17:51:43 +00:00
cctest [Atomics] Add use counter for Atomics.{wake, notify} 2018-09-20 21:31:33 +00:00
common Fix Arm64 assembler on Android. 2018-09-18 09:43:05 +00:00
debugger [class] Make class field initializers breakable in the debugger 2018-09-17 22:25:44 +00:00
fuzzer [cleanup] Refactor general tests to use default members. 2018-09-14 14:40:47 +00:00
inspector inspector: return [[StableObjectId]] as internal property 2018-09-20 15:03:52 +00:00
intl [Intl] Rename dayperiod to dayPeriod 2018-09-14 17:04:03 +00:00
js-perf-test Revert "[builtins] Add FastCallFunction builtin that elides some checks" 2018-09-14 11:09:08 +00:00
memory [builtins] Add embedded stats to --serialization-statistics 2018-07-05 12:33:26 +00:00
message [class] Make class field initializers breakable in the debugger 2018-09-17 22:25:44 +00:00
mjsunit [turbofan] Refactor the CheckedInt32Div/CheckedUint32Div lowering. 2018-09-21 09:05:48 +00:00
mkgrokdump [cleanup] Move enum Heap::RootListIndex to enum class RootIndex 2018-09-20 11:16:05 +00:00
mozilla [test] Add more test suites to Android testing 2018-09-07 09:53:15 +00:00
preparser [test] Share resource-fetching logic with all d8 test cases 2018-08-29 17:51:43 +00:00
test262 [d8] Update new Worker API to match the Web API 2018-09-20 00:10:28 +00:00
torque [torque] Fix all current lint errors in Torque code 2018-09-11 14:11:05 +00:00
unittests Fix building with GCC 7.x and 8.x 2018-09-21 01:12:25 +00:00
wasm-spec-tests [test] Share resource-fetching logic with all d8 test cases 2018-08-29 17:51:43 +00:00
webkit [test] Skip some slow tests on arm64_sim 2018-09-12 11:27:35 +00:00
BUILD.gn Reland "[test] Add logic to run tests on Android" 2018-08-10 17:56:12 +00:00