v8/test/mjsunit/compiler
Sigurd Schneider 9b0e4e132f [turbofan] Make typed optimization more powerful
This CL moves optimization capabilities from typed lowering to typed
optimization. In particular, this allows retyping of Speculative to
number optimizations depending on their input types. This can save type
checks if we know that inputs are already in SafeIntegerRange and uses
are truncating to 32bit integers.

This change recovers the performance lost to 31bit Smis on
Octane/crypto on x64:
32bit nosmis           avg 30,984.84 stddev 180.52
31bit smis (w/o patch) avg 29,438.52 stddev 120.30  -4.99%
31bit smis             avg 31,274.52 stddev 176.26  +0.93%  +6.24%

Change-Id: I86d6e37305262336f4f7bd46aac0d2cbca11e8c1
Bug: v8:8344
Reviewed-on: https://chromium-review.googlesource.com/c/1323729
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57717}
2018-11-22 09:19:49 +00:00
..
abstract-equal-receiver.js [turbofan] ReceiverOrNullOrUndefined feedback for JSEqual. 2018-10-24 13:45:22 +00:00
abstract-equal-symbol.js [turbofan] Add missing test coverage for JSTypedLowering optimizations. 2018-09-21 10:05:15 +00:00
abstract-equal-undetectable.js [turbofan] ReceiverOrNullOrUndefined feedback for JSEqual. 2018-10-24 13:45:22 +00:00
accessor-exceptions1.js
accessor-exceptions2.js
alloc-number-debug.js
alloc-number.js [mjsunit] Improve test performance 2018-05-24 13:06:30 +00:00
alloc-object-huge.js [Turbofan] Use bytecode size for inlining heuristics. 2017-07-19 17:01:55 +00:00
alloc-object.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
array-access.js
array-buffer-is-view.js [cleanup] Add missing test coverage for ObjectIsArrayBuffer operator. 2018-09-21 08:30:35 +00:00
array-constructor.js [turbofan] Lower {JSCreateArray} nodes inside try-block. 2017-06-29 10:26:35 +00:00
array-every.js [turbofan] Enable loop peeling for various higher-order Array builtins. 2018-10-30 09:11:57 +00:00
array-find.js [turbofan] Enable loop peeling for various higher-order Array builtins. 2018-10-30 09:11:57 +00:00
array-findindex.js [turbofan] Enable loop peeling for various higher-order Array builtins. 2018-10-30 09:11:57 +00:00
array-is-array.js [turbofan] Add missing test coverage for JSTypedLowering optimizations. 2018-09-21 10:05:15 +00:00
array-length.js
array-multiple-receiver-maps.js [mjsunit] Make optimization test more reliable 2018-07-25 13:47:27 +00:00
array-push-1.js [turbofan] Inline multi-parameter Array#push. 2017-09-11 10:52:29 +00:00
array-push-2.js [turbofan] Inline multi-parameter Array#push. 2017-09-11 10:52:29 +00:00
array-push-3.js [turbofan] Inline multi-parameter Array#push. 2017-09-11 10:52:29 +00:00
array-slice-clone.js [turbofan] Add JSCallReducer for Array#slice in case of cloning. 2018-08-16 10:02:43 +00:00
array-some.js [turbofan] Enable loop peeling for various higher-order Array builtins. 2018-10-30 09:11:57 +00:00
array-species.js Add missing deopt-trigger to invalidation of some protector cells. 2018-06-26 09:38:20 +00:00
array-subclass.js [test] Add more tests for Array constructor in optimized code. 2017-10-06 08:37:41 +00:00
assignment-deopt.js
assignment.js
binary-ops.js
boolean-protototype.js
call-keyed.js
capture-context.js
compare-map-elim2.js
compare-map-elim.js
compare-objeq-elim.js
compare.js
complex-for-in.js
concurrent-invalidate-transition-map.js
concurrent-proto-change.js
constant-fold-cow-array.js [turbofan] Constant-fold loads from known copy-on-write arrays. 2017-09-12 07:15:10 +00:00
constant-fold-tostring.js [turbofan] Properly constant-fold JSToString with numbers. 2017-09-12 13:13:57 +00:00
constructor-inlining.js Remove experiment for restricting constructor return values 2018-05-18 19:59:49 +00:00
context-sensitivity.js [turbofan] Introduce the notion of context-sensitivity for JS operators. 2018-10-08 11:33:56 +00:00
control-flow-0.js
control-flow-1.js
control-flow-2.js
count-deopt.js
countoperation.js
dataview-constant.js [turbofan] Reduce DataView access code duplication. 2018-09-20 14:05:25 +00:00
dataview-deopt.js [dataview] Deopt in TurboFan instead of raising exceptions 2018-07-24 13:59:03 +00:00
dataview-get.js [turbofan] Make use of the neutering protector for DataViews. 2018-08-13 17:54:25 +00:00
dataview-neutered.js [turbofan] Reduce DataView access code duplication. 2018-09-20 14:05:25 +00:00
dataview-nonconstant.js [turbofan] Reduce DataView access code duplication. 2018-09-20 14:05:25 +00:00
dataview-set.js [dataview] Deopt in TurboFan instead of raising exceptions 2018-07-24 13:59:03 +00:00
dead-code2.js
dead-code3.js
dead-code4.js
dead-code5.js
dead-code6.js
dead-code.js
dead-loops-neg.js
dead-loops.js
dead-string-add-warm.js
dead-string-add.js
delete.js
deopt-accessors1.js
deopt-accessors2.js
deopt-accessors3.js
deopt-accessors4.js
deopt-accessors5.js [cleanup] Remove always-off support for tail calls 2017-07-13 19:29:05 +00:00
deopt-accessors6.js [cleanup] Remove always-off support for tail calls 2017-07-13 19:29:05 +00:00
deopt-accessors7.js
deopt-args.js
deopt-array-builtins.js [turbofan] Add support for updating feedback via CheckBounds 2017-12-14 08:13:10 +00:00
deopt-array-iterator-prototype-next.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-every.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-filter.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-find.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-findindex.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-foreach.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-includes.js [turbofan] Add additional checks for the JSCallReducer of Array#indexOf/includes. 2018-08-16 09:18:01 +00:00
deopt-array-prototype-indexof.js [turbofan] Add additional checks for the JSCallReducer of Array#indexOf/includes. 2018-08-16 09:18:01 +00:00
deopt-array-prototype-lastindexof.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-map.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-pop.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-reduce.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-slice.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-prototype-some.js Add dependency to deopt when Array prototype has elements. 2018-08-14 07:16:41 +00:00
deopt-array-push.js [turbofan] Allow deopt in Array.push to disallow speculation 2017-12-18 16:41:37 +00:00
deopt-bool2.js
deopt-bool.js
deopt-closure.js Reland "[turbofan] Implement lowering of {JSCreateClosure}." 2017-09-28 10:10:42 +00:00
deopt-during-eval-lookup.js
deopt-eager-and-lazy.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-eager-var-mutation-ite.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-eager-with-freeze.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-followed-by-gc.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-inlined-from-call.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
deopt-inlined-smi.js [test] Remove dead flags from some tests. 2018-10-15 10:00:12 +00:00
deopt-lazy-freeze.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-lazy-shape-mutation.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-lazy-var-mutation.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-many-lazy.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-materialize-accumulator.js
deopt-now-lazy.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-numberoroddball-binop.js
deopt-simple-eager.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-simple-lazy.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-simple-try-catch.js [Test] Deoptimization and exception. 2017-09-01 04:17:56 +00:00
deopt-soft-simple.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-string-outofbounds.js [ic] Add OOB support to KeyedLoadIC. 2017-10-31 11:25:53 +00:00
deopt-tonumber-binop.js
deopt-tonumber-compare.js
deopt-tonumber-shift.js
deopt-twice-on-call.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deopt-twice.js Deoptimizer tests 2017-07-27 07:21:46 +00:00
deoptimize-lazy-weak.js [Test] Test case for the GC failure with non-patching lazy deopt. 2017-08-04 12:34:47 +00:00
division-by-constant.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
dont-constant-fold-deopting-checks.js
double-array-to-global.js
eager-deopt-simple.js
escape-analysis-1.js
escape-analysis-2.js
escape-analysis-3.js
escape-analysis-4.js
escape-analysis-5.js
escape-analysis-6.js
escape-analysis-7.js
escape-analysis-8.js
escape-analysis-9.js
escape-analysis-10.js
escape-analysis-11.js
escape-analysis-12.js
escape-analysis-13.js [cleanup] Remove dead flags 2017-11-30 14:35:01 +00:00
escape-analysis-15.js [cleanup] Remove dead flags 2017-11-30 14:35:01 +00:00
escape-analysis-16.js
escape-analysis-17.js
escape-analysis-18.js [turbofan] escape analysis: no longer remove TypeGuard nodes 2018-03-10 19:59:48 +00:00
escape-analysis-arguments.js [turbofan] Escape analysis support for LoadElement with variable index. 2018-10-08 11:55:50 +00:00
escape-analysis-array.js [turbofan] Escape analysis support for LoadElement with variable index. 2018-10-08 11:55:50 +00:00
escape-analysis-cycle.js Reland2: [turbofan] staging new implementation of escape analysis 2017-07-31 10:01:07 +00:00
escape-analysis-deopt-1.js
escape-analysis-deopt-2.js
escape-analysis-deopt-3.js
escape-analysis-deopt-4.js
escape-analysis-deopt-5.js
escape-analysis-deopt-6.js
escape-analysis-framestate-use-at-branchpoint.js
escape-analysis-materialize.js
escape-analysis-phi-type-2.js [turbofan] escape analysis: fix typing of new phi nodes 2017-07-20 13:04:02 +00:00
escape-analysis-phi-type.js [cleanup] Remove dead flags 2017-11-30 14:35:01 +00:00
escape-analysis-replacement.js
escape-analysis-representation.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
escape-analysis-rest-parameters.js [turbofan] Escape analysis support for LoadElement with variable index. 2018-10-08 11:55:50 +00:00
escape-analysis-type-none-in-object-state.js [turbofan] escape analysis: support type None as ObjectState input 2017-08-10 13:00:27 +00:00
escape-analysis-typeguard.js [turbofan] new escape analysis reducer: look through newly introduced typeguards 2017-08-07 17:33:27 +00:00
escape-analysis.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
eval-introduced-closure.js
expression-trees.js
feedback-after-throw.js
for-in-1.js [test] Increase for..in test coverage for optimized code. 2017-09-06 13:57:32 +00:00
for-in-2.js [test] Increase for..in test coverage for optimized code. 2017-09-06 13:57:32 +00:00
for-in-3.js [test] Increase for..in test coverage for optimized code. 2017-09-06 13:57:32 +00:00
for-in-4.js [test] Increase for..in test coverage for optimized code. 2017-09-06 13:57:32 +00:00
for-in-5.js [test] Increase for..in test coverage for optimized code. 2017-09-06 13:57:32 +00:00
for-stmt.js
function-apply.js
function-bind.js [ignition] Collect JSBoundFunction feedback on Construct/ConstructWithSpread. 2017-11-29 13:15:18 +00:00
function-call.js
function-caller.js Reland "[turbofan] Implement lowering of {JSCreateClosure}." 2017-09-28 10:10:42 +00:00
generic-add.js
global-accessors.js
global-delete.js
global-var-delete.js
globals.js
increment-typefeedback.js
inline-accessors1.js
inline-accessors2.js
inline-arguments.js
inline-arity-mismatch.js
inline-closures.js
inline-compare.js
inline-conditional.js
inline-construct.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
inline-context-deopt.js
inline-context-slots.js
inline-dead-jscreate.js
inline-exception-1.js
inline-exception-2.js
inline-function-apply.js
inline-global-access.js
inline-literals.js
inline-omit-arguments-deopt.js
inline-omit-arguments-object.js
inline-omit-arguments.js
inline-param.js
inline-surplus-arguments-deopt.js
inline-surplus-arguments-object.js
inline-surplus-arguments.js
inline-throw.js
inline-two.js
inlined-array-pop-getter1.js
inlined-array-pop-getter2.js
inlined-array-pop-opt.js
inlined-call-mapcheck.js
inlined-call.js
instance-of-overridden-has-instance.js [constant-tracking,turbofan] Check @@hasInstance is callable. 2018-11-15 12:07:36 +00:00
instanceof2.js [turbofan] Be consistent about prototype optimization condition. 2018-08-28 09:39:02 +00:00
instanceof3.js [turbofan] Be consistent about prototype optimization condition. 2018-08-28 09:39:02 +00:00
instanceof-opt1.js
instanceof-opt2.js
instanceof-opt3.js
instanceof.js [turbofan] Introduce InstanceOfIC to collect rhs feedback. 2017-10-23 10:15:36 +00:00
int64.js [turbofan] Add support for huge DataViews. 2018-10-29 15:17:57 +00:00
integral32-add-sub.js
lazy-const-lookup.js
lazy-deopt-async-function-resolve.js [async] Improve async function handling. 2018-10-10 06:37:53 +00:00
lazy-deopt-in-literal.js
lazy-iife-no-parens.js
literals-assignment.js
literals-optimized.js
literals.js
load-elimination-global.js
load-elimination-osr.js
load-elimination-params.js
load-elimination.js
logical-and.js
logical-or.js
loopcount.js
loops.js
manual-concurrent-recompile.js
materialize-dictionary-properties.js Reland "[deoptimizer] Staged materialization of objects." 2017-12-11 08:45:58 +00:00
materialize-mutable-heap-number.js Reland "[deoptimizer] Staged materialization of objects." 2017-12-11 08:45:58 +00:00
math-ceil.js [turbofan] Improve typing rule for NumberCeil. 2017-11-28 07:00:59 +00:00
math-floor-global.js
math-floor-local.js
math-imul.js [turbofan] Add (missing) test coverage for Math.imul(). 2018-09-20 12:54:05 +00:00
math-max.js [turbofan] Add missing -0 support for NumberMax/NumberMin typing. 2018-09-02 20:02:34 +00:00
math-min.js [turbofan] Add missing -0 support for NumberMax/NumberMin typing. 2018-09-02 20:02:34 +00:00
math-mul.js
math-round.js [turbofan] Improve typing rule for NumberRound. 2017-11-28 08:22:19 +00:00
math-sign.js
math-trunc.js [turbofan] Improve typing rule for NumberTrunc. 2017-11-28 08:31:39 +00:00
minus-zero.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
mul-div-52bit.js
multiply-add.js
multiply-sub.js
named-load.js
named-store.js
nary-binary-ops.js [ignition] Support n-ary logical ops 2017-10-30 11:20:43 +00:00
native-context-specialization-hole-check.js [Lite] Disable optimization for Lite mode. 2018-10-22 13:16:24 +00:00
native-context-specialization-string-concat.js [Ignition / TurboFan] Revert all StringConcat bytecode implementation. 2017-07-19 16:03:46 +00:00
new-cons-string.js [turbofan] Use proper string map in NewConsString. 2017-11-30 12:08:09 +00:00
null-compare.js
number-abs.js [turbofan] Unify handling of zeros. 2018-10-01 17:51:16 +00:00
number-add.js [turbofan] Test coverage for SpeculativeNumberAdd/Subtract in SimplifiedLowering. 2018-09-20 14:23:34 +00:00
number-ceil.js [turbofan] Unify handling of zeros. 2018-10-01 17:51:16 +00:00
number-comparison-truncations.js [turbofan] Unify handling of zeros. 2018-10-01 17:51:16 +00:00
number-constructor-deopt.js Reland "[turbofan] Inline Number constructor in certain cases" 2018-07-23 13:17:19 +00:00
number-divide.js [turbofan] Refactor the CheckedInt32Div/CheckedUint32Div lowering. 2018-09-21 09:05:48 +00:00
number-floor.js [turbofan] Unify handling of zeros. 2018-10-01 17:51:16 +00:00
number-isfinite-inl.js [turbofan] Add test for Number.{isFinite,isInteger} inlining 2018-03-19 11:44:56 +00:00
number-isfinite.js [turbofan] Move Number.isFinite to JSCallReducer 2018-03-16 09:14:09 +00:00
number-isinteger-inl.js [turbofan] Add test for Number.{isFinite,isInteger} inlining 2018-03-19 11:44:56 +00:00
number-isinteger.js [turbofan] Move Number.isInteger to JSCallReducer 2018-03-16 12:34:34 +00:00
number-isnan.js
number-issafeinteger.js [turbofan] Add missing test coverage for ObjectIsSafeInteger. 2018-09-21 08:40:26 +00:00
number-max.js [turbofan] Add Word64 support to NumberMin and NumberMax. 2018-10-29 14:12:44 +00:00
number-min.js [turbofan] Add Word64 support to NumberMin and NumberMax. 2018-10-29 14:12:44 +00:00
number-modulus.js [turbofan] Make typed optimization more powerful 2018-11-22 09:19:49 +00:00
number-multiply.js Reland "[turbofan] Improve NumberMultiply typing rule." 2018-11-21 09:32:15 +00:00
number-round.js [turbofan] Unify number rounding operators. 2018-10-04 09:47:27 +00:00
number-subtract.js [turbofan] Test coverage for SpeculativeNumberAdd/Subtract in SimplifiedLowering. 2018-09-20 14:23:34 +00:00
number-toboolean.js [turbofan] Unify handling of zeros. 2018-10-01 17:51:16 +00:00
number-trunc.js [turbofan] Unify handling of zeros. 2018-10-01 17:51:16 +00:00
object-constructor.js [turbofan] Optimize Object constructor subclassing. 2017-09-08 07:57:52 +00:00
object-create.js [turbofan] Add a test for lowering Object.create 2018-06-21 15:54:21 +00:00
object-getprototypeof.js
object-is.js [turbofan] Introduce SameValue operator. 2017-10-27 08:03:26 +00:00
object-isprototypeof.js
objectliterals.js
opt-next-call-turbo.js
opt-next-call.js
optimize_max.js
optimize_min.js
optimize-bitnot.js
optimized-closures.js
optimized-float32array-length.js
optimized-float64array-length.js
optimized-for-in.js
optimized-function-calls.js
optimized-instanceof-1.js
optimized-instanceof-2.js
optimized-int32array-length.js
optimized-uint32array-length.js
optimized-with.js [turbofan] Lower {JSToObject} nodes inside try-block. 2017-06-29 12:27:19 +00:00
osr-alignment.js
osr-arguments.js [runtime] Remove "don't OSR functions which use arguments" logic. 2017-10-17 10:54:05 +00:00
osr-array-len.js
osr-assert.js [mjsunit] Improve performance of compiler/osr-assert test 2018-11-06 19:30:24 +00:00
osr-backedges1.js
osr-big.js
osr-block-scope-func.js
osr-block-scope-id.js
osr-block-scope.js
osr-follow.js
osr-for-let.js
osr-forin-nested.js
osr-forin.js
osr-forof.js
osr-function-id2.js
osr-function-id.js
osr-function.js
osr-infinite.js
osr-labeled.js
osr-literals-adapted.js
osr-literals.js
osr-manual1.js
osr-manual2.js
osr-maze1.js
osr-maze2.js
osr-multiple2.js
osr-multiple3.js
osr-multiple.js
osr-nested2.js
osr-nested2b.js
osr-nested3.js
osr-nested3b.js
osr-nested.js [mjsunit] Improve performance of osr-{one,two} 2018-05-24 13:09:00 +00:00
osr-one.js [mjsunit] Improve performance of osr-{one,two} 2018-05-24 13:09:00 +00:00
osr-regex-id.js
osr-regress-max-locals.js
osr-sar.js
osr-simple.js
osr-top1.js
osr-top2.js
osr-top3.js
osr-try-catch.js [Turbofan] Merged the OSR phase into the graph building phase (reland) 2017-07-26 13:15:16 +00:00
osr-two.js [mjsunit] Improve performance of osr-{one,two} 2018-05-24 13:09:00 +00:00
osr-uint32.js
osr-warm.js
osr-while-let.js
osr-with-args.js
phi-representations.js
pic.js
polymorphic-symbols.js [ic] Properly handle polymorphic symbol accesses. 2017-10-02 12:35:05 +00:00
promise-capability-default-closures.js [turbofan] Support inlining of builtins based on SharedFunctionInfo. 2018-02-20 11:09:42 +00:00
promise-constructor.js [promises/deoptimizer] Support "catching" builtin continuations 2018-04-04 07:30:59 +00:00
promise-prototype-catch-custom-then-1.js Revert "[builtins] Mega-revert to address the Dev blocker in crbug.com/808911." 2018-02-08 17:25:13 +00:00
promise-prototype-catch-custom-then-2.js Revert "[builtins] Mega-revert to address the Dev blocker in crbug.com/808911." 2018-02-08 17:25:13 +00:00
promise-prototype-catch-subclass.js Revert "[builtins] Mega-revert to address the Dev blocker in crbug.com/808911." 2018-02-08 17:25:13 +00:00
promise-prototype-catch.js Revert "[builtins] Mega-revert to address the Dev blocker in crbug.com/808911." 2018-02-08 17:25:13 +00:00
promise-prototype-finally-custom-then-1.js Revert "[builtins] Mega-revert to address the Dev blocker in crbug.com/808911." 2018-02-08 17:25:13 +00:00
promise-prototype-finally-custom-then-2.js Revert "[builtins] Mega-revert to address the Dev blocker in crbug.com/808911." 2018-02-08 17:25:13 +00:00
promise-prototype-finally-subclass.js Revert "[builtins] Mega-revert to address the Dev blocker in crbug.com/808911." 2018-02-08 17:25:13 +00:00
promise-prototype-finally.js Revert "[builtins] Mega-revert to address the Dev blocker in crbug.com/808911." 2018-02-08 17:25:13 +00:00
promise-prototype-then.js Revert "[builtins] Mega-revert to address the Dev blocker in crbug.com/808911." 2018-02-08 17:25:13 +00:00
promise-resolve-stable-maps.js [turbofan] Optimize JSResolvePromise with unreliable resolution maps. 2018-10-18 18:09:44 +00:00
promise-resolve.js [turbofan] Optimize promise resolution. 2018-02-20 08:10:01 +00:00
promise-species.js Add missing deopt-trigger to invalidation of some protector cells. 2018-06-26 09:38:20 +00:00
property-calls.js
property-refs.js
property-simple.js
property-static.js
property-stores.js
proto-chain-constant.js
proto-chain-load.js
receiver-conversion.js
recursive-deopt.js
redundancy-elimination.js [turbofan] Eliminate redundant Smi checks around array accesses. 2018-10-07 12:00:01 +00:00
reflect-apply.js
reflect-construct.js
reflect-get.js [turbofan] Optimize Reflect.get(target, key) calls. 2017-10-23 17:42:38 +00:00
reflect-getprototypeof.js
reflect-has.js [es2015] Optimize Reflect.has builtin. 2017-10-16 17:27:41 +00:00
regress-0.js
regress-1.js
regress-2.js
regress-3.js
regress-4.js
regress-5.js
regress-6.js
regress-7.js
regress-8.js
regress-1085.js
regress-1394.js
regress-3786.js
regress-3812.js
regress-4206.js
regress-4207.js
regress-4389-1.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
regress-4389-2.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
regress-4389-3.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
regress-4389-4.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
regress-4389-5.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
regress-4389-6.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
regress-4413-1.js [Compiler] Remove unnecessary UseTurboFan function and turbo_asm flag. 2017-07-13 16:53:46 +00:00
regress-4470-1.js
regress-5074.js
regress-5100.js
regress-5129.js
regress-5158.js
regress-5278.js
regress-5320.js
regress-5538.js
regress-7121.js Remove always-true --harmony-bigint runtime flag 2018-10-01 11:31:13 +00:00
regress-8380.js Fix typing of binary operators on BigInt. 2018-10-30 13:33:55 +00:00
regress-106351.js
regress-177883.js
regress-411262.js
regress-416359.js
regress-439743.js
regress-443744.js
regress-444508.js
regress-444695.js
regress-445267.js
regress-445732.js [Compiler] Remove unnecessary UseTurboFan function and turbo_asm flag. 2017-07-13 16:53:46 +00:00
regress-445858.js
regress-445859.js
regress-445876.js
regress-445907.js
regress-446156.js
regress-446647.js
regress-446778.js
regress-447567.js
regress-451012.js
regress-452427.js
regress-463056.js
regress-468162.js
regress-468727.js
regress-469089.js
regress-491578.js
regress-572409.js
regress-600593.js
regress-607493.js
regress-621147.js
regress-621423.js
regress-625558.js
regress-625966.js
regress-626986.js
regress-628403.js
regress-628516.js
regress-628773.js [cleanup] Remove always-off support for tail calls 2017-07-13 19:29:05 +00:00
regress-630611.js
regress-633497.js
regress-638132.js
regress-639210.js
regress-644048.js
regress-644633.js
regress-645851.js
regress-650215.js
regress-664117.js
regress-664490.js
regress-665680.js
regress-668760.js
regress-669517.js
regress-671574.js
regress-673244.js
regress-674469.js
regress-675704.js
regress-693425.js
regress-694088.js
regress-700883.js Remove SetForceInlineFlag from tests. 2017-09-13 15:31:44 +00:00
regress-713367.js
regress-714483.js
regress-715204.js
regress-715651.js
regress-725743.js
regress-726554.js
regress-729369.js
regress-731495.js
regress-733181.js [turbofan] Add toLowerCase, toUpperCase operators to the infamous escape analysis list. 2017-06-28 11:12:24 +00:00
regress-736567.js [turbofan] Fix an assertion in representation selection for BooleanNot. 2017-06-26 13:49:06 +00:00
regress-739902.js [turbofan] Fix arm backend matching of (x >>> 24) & 0xffff. 2017-08-31 13:50:07 +00:00
regress-758096.js [turbofan] Reland^3 "Polymorphic inlining - try merge map check dispatch with function call dispatch." 2017-09-11 04:18:38 +00:00
regress-758983.js [turbofan] Retype ConvertTaggedHoleToUndefined in representation selection. 2017-08-29 08:56:07 +00:00
regress-761892.js [turbofan] Fix truncation for number feedback. 2017-09-05 14:48:08 +00:00
regress-762057.js Introduce an Abort bytecode and turbofan operator. 2017-09-08 12:16:23 +00:00
regress-772420.js [TurboFan] Fix type checks for lowering SpeculativeNumberBinop. 2017-10-17 16:12:49 +00:00
regress-772872.js Reland^6 "[turbofan] eagerly prune None types and deadness from the graph" 2017-11-16 20:01:22 +00:00
regress-773954.js Reland^6 "[turbofan] eagerly prune None types and deadness from the graph" 2017-11-16 20:01:22 +00:00
regress-780658.js [turbofan] Escape analysis no longer introduces Dead nodes in unreachable code. 2017-11-15 11:16:01 +00:00
regress-786521.js [turbofan] do not remove speculative Number operations when they can deopt 2017-12-06 09:16:58 +00:00
regress-788539.js [turbofan] fix dead code elimination: propagate DeadValue along FrameState inputs 2017-11-28 09:09:09 +00:00
regress-791245.js [turbofan] Temporarily disable write barrier elimination for stores of small integers. 2017-12-05 14:26:46 +00:00
regress-793863.js Reland "[deoptimizer] Use empty fixed array when materializing empty arguments elements." 2017-12-15 05:55:39 +00:00
regress-796041.js Reland "[turbofan] add value input to DeadValue" 2018-01-04 13:15:06 +00:00
regress-797596.js [turbofan] handle dead effect-phi control op in InferReceiverMaps 2017-12-27 22:14:41 +00:00
regress-799263.js [turbofan] Kill transition-kind source map in load elimination. 2018-01-05 10:53:41 +00:00
regress-801097.js [TurboFan] Fix null-dereference on code-gen failure. 2018-01-12 14:40:08 +00:00
regress-803022.js [turbofan] Fix dead loop exit removal. 2018-01-23 17:07:57 +00:00
regress-808472.js [turbofan] simplified lowering: process DeadValue input 2018-02-20 15:13:28 +00:00
regress-815392.js [turbofan] Bailout from optimizations for large bytecode sizes (>128kB). 2018-02-27 13:22:53 +00:00
regress-817225.js [turbofan] remove type-widening NaN-addition folding 2018-03-02 14:19:59 +00:00
regress-841117.js [turbofan] Fix NumberFloor typing. 2018-05-09 07:32:46 +00:00
regress-884052.js [turbofan] Fix dead value insertion in simplified lowering. 2018-09-18 09:30:26 +00:00
regress-888923.js [turbofan] Fix ObjectCreate's side effect annotation. 2018-09-26 12:02:11 +00:00
regress-890057.js [turbofan] Fail slack tracking dependency if initial map disappears. 2018-09-28 08:20:42 +00:00
regress-890620.js [turbofan] Make sure we use only serialized elements kind transitions. 2018-10-01 08:44:23 +00:00
regress-895799.js [deoptimizer] Materialize context properly for construct stub frame. 2018-10-17 10:27:04 +00:00
regress-902608.js [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00
regress-905555-2.js [turbofan] Fix property cell dependencies. 2018-11-19 10:24:42 +00:00
regress-905555.js [turbofan] Fix property cell dependencies. 2018-11-19 10:24:42 +00:00
regress-3136962.js
regress-3185901.js
regress-3218915.js
regress-3249650.js
regress-3260426.js
regress-arguments.js
regress-arrayliteral.js
regress-bit-number-constant.js
regress-closures-with-eval.js
regress-compare-negate.js
regress-const.js
regress-crbug-540593.js
regress-dead-throw-inlining.js
regress-deopt-call-as-function.js
regress-escape-analysis-indirect.js
regress-f64-w32-change.js
regress-funarguments.js
regress-funcaller.js
regress-gap.js
regress-gvn.js
regress-inline-callfunctionstub.js
regress-int32array-outofbounds-nan.js
regress-intoverflow.js
regress-lazy-deopt.js
regress-lbranch-double.js
regress-loadfield.js
regress-loop-deopt.js
regress-loop-variable-if.js
regress-loop-variable-unsigned.js
regress-math-sign-nan-type.js
regress-max.js
regress-ntl-effect.js
regress-number-is-hole-nan.js
regress-or.js
regress-register-allocator2.js
regress-register-allocator3.js
regress-register-allocator.js
regress-rep-change.js
regress-serialized-slots.js
regress-shared-deopt.js
regress-shift-left.js
regress-shift-right-logical.js
regress-shift-right.js
regress-stacktrace-methods.js
regress-stacktrace.js
regress-store-holey-double-array.js
regress-string-to-number-add.js
regress-to-number-binop-deopt.js
regress-toint32.js
regress-truncate-number-or-undefined-to-float64.js
regress-v8-5573.js
regress-v8-5756.js
regress-v8-6077.js
regress-v8-6631.js [turbofan] Work around lowering uninhabited ReferenceEqual. 2017-08-23 10:45:26 +00:00
regress-variable-liveness-let.js
regress-variable-liveness.js
rest-parameters.js
rotate.js
safepoint.js
shift-shr.js
short-circuit.js
simple-bailouts.js
simple-binary-op.js
simple-deopt.js
simple-global-access.js
simple-inlining.js
smi-stores-opt.js
spread-call.js
store-elimination.js
stress-deopt-count-1.js Revive stress deopt counter in turbofan 2017-10-09 12:34:48 +00:00
stress-deopt-count-2.js Revert "[turbofan] Do not consume SignedSmall feedback in TurboFan anymore." 2018-10-07 10:19:01 +00:00
strict-equal-number.js [turbofan] Collect and consume (ReceiverOr)Oddball feedback for StrictEqual. 2018-10-24 04:37:14 +00:00
strict-equal-receiver.js [turbofan] Collect and consume (ReceiverOr)Oddball feedback for StrictEqual. 2018-10-24 04:37:14 +00:00
strict-equal-symbol.js [turbofan] Add missing test coverage for JSStrictEqual with symbols. 2018-09-10 07:44:24 +00:00
strict-recompile.js
string-add-try-catch.js [turbofan] Introduce a CheckStringAdd node instead of cons string lowering 2018-08-29 09:34:26 +00:00
string-comparison-opt.js [turbofan] Optimize string comparisons more 2018-03-22 15:05:46 +00:00
string-concat-deopt.js [api] Move tagging scheme definition up in include/v8.h 2018-05-09 13:17:07 +00:00
string-concat-try-catch.js [builtins] Increase the maximum string length on 64-bit platforms. 2017-07-24 10:38:55 +00:00
string-concat-yield.js [TurboFan] Ensure typer knows all inputs to StringConcat are Strings. 2017-06-27 11:07:25 +00:00
string-from-code-point.js [turbofan] Remove CheckSmi from String.fromCodePoint() lowering. 2018-10-05 05:27:44 +00:00
string-length.js
string-slice.js [turbofan] Optimize String#slice(-1) calls. 2017-11-29 10:55:26 +00:00
switch-bailout.js
symbol-protototype.js
this-property-refs.js
thisfunction.js
to-fast-properties.js
truncating-store-deopt.js
truncating-store.js
try-binop.js
try-catch-deopt.js
try-context.js
try-deopt.js
try-finally-deopt.js
try-osr.js
turbo-number-feedback.js
type-speculative-safe-integer-add.js [turbofan] fix typing and lowering of SpeculativeSafeInteger{Add,Subtract} 2017-11-16 19:02:27 +00:00
typed-array-constructor.js Remove always-true --harmony-bigint runtime flag 2018-10-01 11:31:13 +00:00
typedarray-prototype-tostringtag.js [es2015] Optimize TypedArray.prototype[Symbol.toStringTag]. 2017-10-02 07:12:49 +00:00
uint8-clamped-array.js
uint32.js
unary-add.js
unsigned-min-max.js
varargs.js [arm64] Pad function arguments. 2017-12-21 11:05:58 +00:00
variables.js