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 [turbofan] Remove inlining support for the deprecated pipeline. 2016-11-24 07:59:59 +00:00
compare-map-elim2.js
compare-map-elim.js
compare-objeq-elim.js
compare.js
complex-for-in.js
concurrent-invalidate-transition-map.js [runtime][tests] More *TypeFeedbackVector* -> *FeedbackVector* renamings. 2017-02-15 08:53:51 +00:00
concurrent-proto-change.js [runtime][tests] More *TypeFeedbackVector* -> *FeedbackVector* renamings. 2017-02-15 08:53:51 +00:00
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 [turbofan] Properly support Number feedback for binary operators. 2017-06-06 14:06:11 +00:00
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 [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
escape-analysis-12.js [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
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 [turbofan] fix escape analysis divergence on Air benchmark 2017-05-05 09:33:17 +00:00
escape-analysis-17.js [turbofan] teach escape analysis about oddly occurring NumberLessThan node 2017-06-16 11:00:40 +00:00
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 [turbofan] Test for FixedDoubleArray materialization. 2017-01-11 11:30:43 +00:00
escape-analysis-framestate-use-at-branchpoint.js [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
escape-analysis-materialize.js [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
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 [turbofan] fixed escape analysis crash because of incomplete replacements 2016-12-13 16:25:30 +00:00
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 Rename TypeFeedbackVector to FeedbackVector. 2017-02-07 14:46:36 +00:00
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 [turbofan] Introduce new JSCallWithArrayLike operator. 2017-06-20 12:36:43 +00:00
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 Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
inline-accessors1.js [turbofan] Add support for inlining accessors into try-blocks. 2017-05-23 12:02:28 +00:00
inline-accessors2.js [turbofan] Add support for inlining accessors into try-blocks. 2017-05-23 12:02:28 +00:00
inline-arguments.js [mjsunit] Remove non-existing flags from tests. 2017-05-02 08:53:51 +00:00
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 [turbofan] Remove inlining support for the deprecated pipeline. 2016-11-24 07:59:59 +00:00
inline-context-slots.js
inline-dead-jscreate.js
inline-exception-1.js [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
inline-exception-2.js [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
inline-function-apply.js [runtime][tests] More *TypeFeedbackVector* -> *FeedbackVector* renamings. 2017-02-15 08:53:51 +00:00
inline-global-access.js
inline-literals.js
inline-omit-arguments-deopt.js [turbofan] Remove inlining support for the deprecated pipeline. 2016-11-24 07:59:59 +00:00
inline-omit-arguments-object.js [turbofan] Remove inlining support for the deprecated pipeline. 2016-11-24 07:59:59 +00:00
inline-omit-arguments.js [turbofan] Remove inlining support for the deprecated pipeline. 2016-11-24 07:59:59 +00:00
inline-param.js
inline-surplus-arguments-deopt.js [turbofan] Remove inlining support for the deprecated pipeline. 2016-11-24 07:59:59 +00:00
inline-surplus-arguments-object.js [turbofan] Remove inlining support for the deprecated pipeline. 2016-11-24 07:59:59 +00:00
inline-surplus-arguments.js [turbofan] Remove inlining support for the deprecated pipeline. 2016-11-24 07:59:59 +00:00
inline-throw.js
inline-two.js
inlined-array-pop-getter1.js
inlined-array-pop-getter2.js
inlined-array-pop-opt.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
inlined-call-mapcheck.js
inlined-call.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
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 [turbofan] Add appropriate types to express Callable. 2016-11-29 10:48:13 +00:00
instanceof-opt2.js [turbofan] Add appropriate types to express Callable. 2016-11-29 10:48:13 +00:00
instanceof-opt3.js [turbofan] Also optimize instanceof with bound functions. 2016-11-29 11:58:55 +00:00
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 Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
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 [parser] Lift template literal invalid escape restriction 2017-02-22 21:20:32 +00:00
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 Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
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 [turbofan] Also constant-fold Object.getPrototypeOf if possible. 2017-04-24 05:37:45 +00:00
object-is.js [turbofan] Introduce SameValue operator. 2017-10-27 08:03:26 +00:00
object-isprototypeof.js [builtins] Properly optimize Object.prototype.isPrototypeOf. 2017-06-13 19:14:00 +00:00
objectliterals.js
opt-next-call-turbo.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
opt-next-call.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
optimize_max.js
optimize_min.js
optimize-bitnot.js
optimized-closures.js
optimized-float32array-length.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
optimized-float64array-length.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
optimized-for-in.js
optimized-function-calls.js
optimized-instanceof-1.js
optimized-instanceof-2.js
optimized-int32array-length.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
optimized-uint32array-length.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
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 [turbofan] Introduce new JSCallWithArrayLike operator. 2017-06-20 12:36:43 +00:00
reflect-construct.js [turbofan] Introduce new JSConstructWithArrayLike operator. 2017-06-21 12:31:59 +00:00
reflect-get.js [turbofan] Optimize Reflect.get(target, key) calls. 2017-10-23 17:42:38 +00:00
reflect-getprototypeof.js [turbofan] Also constant-fold Object.getPrototypeOf if possible. 2017-04-24 05:37:45 +00:00
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 Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
regress-5538.js [turbofan] Fix invalid Number.parseInt inlining. 2016-10-19 05:17:52 +00:00
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 [turbofan] Fix deopt check for storing into constant field. 2016-11-15 13:17:13 +00:00
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 [turbofan] Fix representation changes for unsigned values used as checked-signed values. 2016-11-22 12:07:45 +00:00
regress-664490.js Reland of [turbofan] Fix deoptimization of boolean bit constants. (patchset #1 id:1 of https://codereview.chromium.org/2495243002) 2016-11-15 13:55:57 +00:00
regress-665680.js [Turbofan] Fix missing break on AstGraphBuilder VisitCall. 2016-11-16 13:46:42 +00:00
regress-668760.js [deoptimizer] Use the correct function for handler lookup for bytecode. 2016-11-28 12:45:29 +00:00
regress-669517.js [Turbofan] Disable JSFrameSpecialization for interpreted frames. 2016-11-30 14:03:51 +00:00
regress-671574.js [turbofan] Fix skipping of translations for lazy deopt return value stores. 2016-12-07 08:31:40 +00:00
regress-673244.js [turbofan] Fix representation change from bit to tagged pointer. 2016-12-12 09:36:47 +00:00
regress-674469.js [turbofan] Handle the impossible value representation mismatch in instruction selector. 2016-12-15 12:13:06 +00:00
regress-675704.js [turbofan] Only use Tagged machine representation for tagged state values. 2017-01-28 17:25:46 +00:00
regress-693425.js [turbofan] Handle Smi -> Float32 conversion in representation changer. 2017-03-15 07:44:59 +00:00
regress-694088.js [turbofan] Fix regress-694088.js for big endian. 2017-03-13 12:59:48 +00:00
regress-700883.js Remove SetForceInlineFlag from tests. 2017-09-13 15:31:44 +00:00
regress-713367.js [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
regress-714483.js [turbofan] Make sure an inlined call is not resurrected and inlined again. 2017-04-25 08:10:32 +00:00
regress-715204.js [turbofan] Fix impossible type handling for TypeGuard and BooleanNot. 2017-04-27 11:35:15 +00:00
regress-715651.js [turbofan] Fix impossible type handling for TypeGuard and BooleanNot. 2017-04-27 11:35:15 +00:00
regress-725743.js [arm] Clean up disabling of sharing code target entries. 2017-06-01 13:18:21 +00:00
regress-726554.js [turbofan] Improve representation selection for type guard. 2017-06-06 14:45:26 +00:00
regress-729369.js [interpreter] Make sure allocated registers are always materialized in the register optimizer. 2017-06-07 15:39:56 +00:00
regress-731495.js [TurboFan] Fix typing of INTERNALIZED_STRING_TYPE for new EmptyString type. 2017-06-09 15:10:56 +00:00
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 [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
regress-const.js
regress-crbug-540593.js
regress-dead-throw-inlining.js
regress-deopt-call-as-function.js
regress-escape-analysis-indirect.js [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
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 [mjsunit] Remove non-existing flags from tests. 2017-05-02 08:53:51 +00:00
regress-to-number-binop-deopt.js
regress-toint32.js
regress-truncate-number-or-undefined-to-float64.js
regress-v8-5573.js [turbofan] Relax a too-strict dcheck. 2016-10-27 12:33:19 +00:00
regress-v8-5756.js [turbofan] Optimize store to typed arrays only if the value is plain primitive. 2016-12-23 14:29:00 +00:00
regress-v8-6077.js [deoptimizer] float32 stack on s390 and ppc is on lower 32 bit 2017-04-25 16:49:33 +00:00
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 [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
rotate.js
safepoint.js
shift-shr.js [compiler] Speculate a little more in SpeculativeShiftRightLogical. 2017-02-24 14:39:38 +00:00
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 [runtime] Port SpreadCall code to CSA. 2017-06-20 11:44:02 +00:00
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 [mjsunit] Remove non-existing flags from tests. 2017-05-02 08:53:51 +00:00
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 Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
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