v8/test
bmeurer d08f9045a1 [turbofan] Introduce simplified NumberBitwise{Or,Xor,And} operators.
Currently we still (mis)used some machine operators in typed lowering
(namely Word32Or, Word32Xor and Word32And). But these operators are
"polymorphic" in the signedness of their inputs and output, hence the
representation selection (and thereby simplified lowering) was unable to
figure out whether a bitwise operation that was seen would produce an
unsigned or a signed result. If such nodes also have frame state uses,
the only safe choice was float64, which was not only a lot less ideal,
but also the main cause of the for-in related deoptimizer loops.

Adding dedicated NumberBitwiseOr, NumberBitwiseAnd and NumberBitwiseXor
simplified operators not only gives us precise (and correct) typing for
the bitwise operations, but also allows us to actually verify the graph
properly after typed lowering.

Drive-by-fix: Remove the double-to-smi magic from the Deoptimizer, which
is responsible for various deopt-loops in TurboFan, and is no longer
needed with the addition of the NumberBitwise operators.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1422213002

Cr-Commit-Position: refs/heads/master@{#31594}
2015-10-27 09:08:19 +00:00
..
benchmarks [test] Re-enable typescript that is no longer failing on ia32. 2015-10-26 06:00:35 +00:00
cctest [turbofan] Introduce simplified NumberBitwise{Or,Xor,And} operators. 2015-10-27 09:08:19 +00:00
intl Fix user options for fractional digits in Intl.NumberFormatter 2015-10-22 11:31:13 +00:00
js-perf-test [es6] Ship rest parameters. 2015-09-28 11:19:35 +00:00
memory Correctly name memory stat for context snapshot size. 2015-04-10 22:36:02 +00:00
message Fix let pattern error accumulation 2015-10-15 10:46:17 +00:00
mjsunit RegExp: remove last match info override. 2015-10-27 08:24:08 +00:00
mozilla Disable bogus test in preparation for --harmony-completion. 2015-10-23 12:56:50 +00:00
preparser Reland [swarming] Isolate v8 testing. 2015-10-05 09:48:42 +00:00
promises-aplus Remove unnecessary coupling between Promise tests and Object.observe 2015-07-21 17:17:07 +00:00
simdjs Revert "[turbofan] Stage --turbo-inlining behind --turbo flag." and "[turbofan] Skip more tests that fail with --turbo-inlining." 2015-10-20 06:23:02 +00:00
test262 Reland^2 "Use C++ implementation of Object.definePropert{y,ies}" 2015-10-26 16:39:10 +00:00
unittests [turbofan] Introduce simplified NumberBitwise{Or,Xor,And} operators. 2015-10-27 09:08:19 +00:00
webkit Adapt tests in preparation of shipping --harmony-completion. 2015-10-23 10:26:01 +00:00
bot_default.gyp [swarming] Isolate bot_default. 2015-10-19 09:52:47 +00:00
bot_default.isolate [swarming] Isolate bot_default. 2015-10-19 09:52:47 +00:00
default.gyp [swarming] Run unittests together with default tests. 2015-10-06 09:31:49 +00:00
default.isolate [swarming] Run unittests together with default tests. 2015-10-06 09:31:49 +00:00
optimize_for_size.gyp [swarming] Isolate webkit and optimize_for_size. 2015-10-14 17:35:05 +00:00
optimize_for_size.isolate [swarming] Isolate webkit and optimize_for_size. 2015-10-14 17:35:05 +00:00