v8/test/mjsunit/compiler
Jaroslav Sevcik e71b802279 [deoptimizer] Staged materialization of objects.
The existing object materialization in the deoptimizer has the following problems:

- Objects do not necessarily verify during materialization (because during the
  depth first walk we might have inconsistent objects).

- Stack can overflow (because we just materialize using recursive calls).

- We generalize object fields.


This CL re-implements the materialization algorithm to solve this problem. The
new implementation creates the objects in two steps:

1. We allocate space for all the objects. In general, we allocate ByteArrays
   of the right size. For leaf objects that cannot participate in cycles,
   we build and initialize the materialized objects completely.

   For JS objects, we insert markers into the byte array at the positions
   where unboxed doubles are expected.

2. We initialize all the objects with the proper field values and change the
   map from the ByteArray map to the correct map. This requires some sync
   with the concurrent marker (Heap::NotifyObjectLayoutChange).

   When initializing the JS object fields, we make sure that we respect
   the unboxed double marker.

Bug: chromium:770106, v8:3836
Change-Id: I1ec466a9d19db9538df4ba915516d4c3ca825632
Reviewed-on: https://chromium-review.googlesource.com/777559
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49821}
2017-12-04 09:23:03 +00:00
..
accessor-exceptions1.js [turbofan] Fix various bailout points for AstGraphBuilder. 2016-08-01 06:18:48 +00:00
accessor-exceptions2.js [turbofan] Fix various bailout points for AstGraphBuilder. 2016-08-01 06:18:48 +00:00
alloc-number-debug.js
alloc-number.js
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-constructor.js [turbofan] Lower {JSCreateArray} nodes inside try-block. 2017-06-29 10:26:35 +00:00
array-length.js
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-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-no-harmony-restrict-constructor-return.js [compiler] Kill the deoptimized too many times bailout 2017-07-28 10:08:29 +00:00
constructor-inlining.js Remove SetForceInlineFlag from tests. 2017-09-13 15:31:44 +00:00
control-flow-0.js
control-flow-1.js
control-flow-2.js
count-deopt.js
countoperation.js
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 [turbofan] Fix various bailout points for AstGraphBuilder. 2016-08-01 06:18:48 +00:00
deopt-accessors2.js [turbofan] Fix various bailout points for AstGraphBuilder. 2016-08-01 06:18:48 +00:00
deopt-accessors3.js [turbofan] Fix various bailout points for AstGraphBuilder. 2016-08-01 06:18:48 +00:00
deopt-accessors4.js [turbofan] Fix various bailout points for AstGraphBuilder. 2016-08-01 06:18:48 +00:00
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 [turbofan] Fix various bailout points for AstGraphBuilder. 2016-08-01 06:18:48 +00:00
deopt-args.js
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
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 [builtins] Unify most of the remaining Math builtins. 2016-07-01 11:13:02 +00:00
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 [turbofan] Add dedicated test for check constant folding. 2016-06-22 08:20:50 +00:00
double-array-to-global.js
eager-deopt-simple.js
escape-analysis-1.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-2.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-3.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-4.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-5.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-6.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-7.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-8.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-9.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-10.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
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-arguments.js Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +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 [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-deopt-2.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-deopt-3.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-deopt-4.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
escape-analysis-deopt-5.js [turbofan] Make escape analysis non-experimental. 2016-05-18 13:51:01 +00:00
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-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 [turbofan] Avoid unnecessary copying of nodes during inlining. 2016-05-25 10:07:06 +00:00
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 [turbofan] Add inlined Array.prototype.pop support. 2016-08-11 13:13:21 +00:00
inlined-array-pop-getter2.js [turbofan] Add inlined Array.prototype.pop support. 2016-08-11 13:13:21 +00:00
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
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
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-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 [deoptimizer] Staged materialization of objects. 2017-12-04 09:23:03 +00:00
materialize-mutable-heap-number.js [deoptimizer] Staged materialization of objects. 2017-12-04 09:23:03 +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-mul.js [Turbofan] Make the -0 deopt case more efficient in multiplication. 2016-07-25 12:15:22 +00:00
math-round.js [turbofan] Improve typing rule for NumberRound. 2017-11-28 08:22:19 +00:00
math-sign.js [turbofan] Fix Math.sign. 2016-09-01 10:26:12 +00:00
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 [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +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-isfinite.js [builtins] Migrate Number predicates and make them optimizable. 2016-09-07 10:14:40 +00:00
number-isinteger.js [builtins] Migrate Number predicates and make them optimizable. 2016-09-07 10:14:40 +00:00
number-isnan.js [builtins] Migrate Number predicates and make them optimizable. 2016-09-07 10:14:40 +00:00
number-issafeinteger.js [builtins] Migrate Number predicates and make them optimizable. 2016-09-07 10:14:40 +00:00
object-constructor.js [turbofan] Optimize Object constructor subclassing. 2017-09-08 07:57:52 +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 [fullcodegen] [crankshaft] Avoid jumping to the runtime for ForInFilter 2016-07-21 09:34:11 +00:00
optimized-function-calls.js
optimized-instanceof-1.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
optimized-instanceof-2.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
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 [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
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
osr-backedges1.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-big.js
osr-block-scope-func.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-block-scope-id.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-block-scope.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-follow.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-for-let.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-forin-nested.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-forin.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-forof.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-function-id2.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-function-id.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-function.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-infinite.js [interpreter] Switch profiler to use frames for OSR. 2016-08-10 15:59:31 +00:00
osr-labeled.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-literals-adapted.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-literals.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-manual1.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-manual2.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-maze1.js
osr-maze2.js
osr-multiple2.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-multiple3.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-multiple.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-nested2.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-nested2b.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-nested3.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-nested3b.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-nested.js
osr-one.js
osr-regex-id.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-regress-max-locals.js
osr-sar.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
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
osr-uint32.js
osr-warm.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
osr-while-let.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
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
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
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 [crankshaft] Fix invalid number truncation assumption on HAdd inputs. 2016-06-08 03:56:22 +00:00
regress-5100.js [turbofan] Introduce a dedicated CheckBounds operator. 2016-06-15 13:07:22 +00:00
regress-5129.js [turbofan] x - y < 0 is not equivalent to x < y. 2016-06-22 05:38:36 +00:00
regress-5158.js [arm64] We must not overwrite registers for binop results that are used in frame states. 2016-06-28 10:11:13 +00:00
regress-5278.js [turbofan] Fix CheckedInt32Mod lowering. 2016-08-10 09:24:59 +00:00
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 [compiler] Make typer deal with conversions that return empty type. 2017-11-23 11:37:09 +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 [turbofan] Remove some clever-but-wrong bits from select lowering. 2016-04-08 08:26:13 +00:00
regress-607493.js [turbofan] Better test for for-in/continue OSR problem. 2016-05-03 14:05:27 +00:00
regress-621147.js [turbofan] Set elements kind to holey if constructing array of possibly non-zero length. 2016-07-06 07:55:36 +00:00
regress-621423.js [turbofan] Only consider inhabited types for constant folding in typed lowering. 2016-06-20 07:56:29 +00:00
regress-625558.js [turbofan] Better handling of empty type in simplified lowering. 2016-07-04 08:43:12 +00:00
regress-625966.js [turbofan] Check instruction input/output count limits in instruction selector. 2016-10-05 05:43:35 +00:00
regress-626986.js [turbofan] Fix deopt check for storing into constant field. 2016-11-15 13:17:13 +00:00
regress-628403.js [turbofan] In effect control linearizer, only delay effect phi update for loops. 2016-07-16 12:39:14 +00:00
regress-628516.js [turbofan] Add re-typing for PlainPrimitiveToNumber during representation inference. 2016-07-15 10:37:27 +00:00
regress-628773.js [cleanup] Remove always-off support for tail calls 2017-07-13 19:29:05 +00:00
regress-630611.js [turbofan] Handle impossible types (Type::None()) in the backend. 2016-07-25 04:02:58 +00:00
regress-633497.js [turbofan] Only do value numbering when types are compatible. 2016-08-17 08:45:26 +00:00
regress-638132.js Reland of [turbofan] Insert dummy values when changing from None type. 2016-08-25 16:58:13 +00:00
regress-639210.js [turbofan] Fix merging of empty and non-empty state in load elimination. 2016-08-24 17:14:24 +00:00
regress-644048.js [turbofan] Don't propagate truncations if output is tagged. 2016-09-05 20:54:56 +00:00
regress-644633.js [turbofan] Ensure monotonicity for induction variable typing. 2016-09-08 03:51:11 +00:00
regress-645851.js [turbofan] Another fix for induction variable typing monotonicity. 2016-09-12 17:05:11 +00:00
regress-650215.js [turbofan] Fix restriction type for modulus in representation inference. 2016-09-26 11:45:07 +00:00
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-788539.js [turbofan] fix dead code elimination: propagate DeadValue along FrameState inputs 2017-11-28 09:09:09 +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 Remove support for legacy const, part 1 2016-03-22 17:52:13 +00:00
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 [turbofan] Fix silly bug in loop variable analysis. 2016-08-08 15:50:57 +00:00
regress-loop-variable-unsigned.js [turbofan] Insert sigma nodes for loop variable backedge. 2016-08-05 14:34:05 +00:00
regress-math-sign-nan-type.js [turbofan] Fix typing rule for Math.sign. 2016-09-01 20:06:27 +00:00
regress-max.js
regress-ntl-effect.js
regress-number-is-hole-nan.js [turbofan] Fix NumberIsHoleNaN to check the upper word. 2016-05-30 11:48:07 +00:00
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 [turbofan] Prevent storing signalling NaNs into holey double arrays. 2016-06-14 08:24:43 +00:00
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 [turbofan] Distinguish between change- and truncate-tagged-to-float64. 2016-05-31 12:01:40 +00:00
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 Revive stress deopt counter in turbofan 2017-10-09 12:34:48 +00:00
strict-recompile.js
string-add-try-catch.js [builtins] Increase the maximum string length on 64-bit platforms. 2017-07-24 10:38:55 +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-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 [turbofan] Unwind and jump to the catch handler in the deoptimizer. 2016-02-12 10:15:32 +00:00
try-context.js Add test for exception handler context switch. 2016-02-09 12:31:45 +00:00
try-deopt.js
try-finally-deopt.js Tests for deopt from finally block. 2016-02-12 12:17:36 +00:00
try-osr.js [turbofan] Remove deprecated --turbo-osr flag. 2016-05-09 09:12:01 +00:00
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
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 [turbofan] Tests for simplified lowering of unsigned min/max (it did not have code coverage). 2016-09-06 20:08:24 +00:00
variables.js