v8/test/mjsunit
Ross McIlroy b6643320b9 [Turboprop] Move deoptimizations for dynamic map checks into builtin.
In order to reduce the codegen size of dynamic map checks, add the
ability to have an eager with resume deopt point, which can call
a given builitin to perform a more detailed check than can be done
in codegen, and then either deoptimizes itself (as if the calling
code had performed an eager deopt) or resumes execution in the
calling code after the check.

In addition, support for adding extra arguments to a
deoptimization continuation is added to enable us to pass the
necessary arguments to the DynamicMapChecks builtin.

Finally, a trampoline is added to the DynamicMapChecks which saves
the registers that might be clobbered by that builtin, to avoid
having to save them in the generated code. This trampoline also
performs the deoptimization based on the result of the
DynamicMapChecks builtin.

In order to ensure both the trampoline and DynamicMapChecks
builtin have the same call interface, and to limit the number
of registers that need saving in the trampoline, the
DynamicMapChecks builtin is moved to be a CSA builtin with a
custom CallInterfaceDescriptor, that calls an exported Torque
macro that implements the actual functionality.

All told, this changes the codegen for a monomorphic dynamic
map check from:
    movl rbx,<expected_map>
    cmpl [<object>-0x1],rbx
    jnz <deferred_call>
   resume_point:
    ...
   deferred_call:
    <spill registers>
    movl rax,<slot>
    movq rbx,<object>
    movq rcx,<handler>
    movq r10,<DynamicMapChecks>
    call r10
    cmpq rax,0x0
    jz <restore_regs>
    cmpq rax,0x1
    jz <deopt_point_1>
    cmpq rax,0x2
    jz <deopt_point_2>
    int3l
   restore_regs:
    <restore_regs>
    jmp <resume_point>
    ...
   deopt_point_1:
    call Deoptimization_Eager
   deopt_point_2:
    call Deoptimization_Bailout

To: movl rax,<slot>
    movl rcx,<expected_map>
    movq rdx,<handler>
    cmpl [<object>-0x1],rcx
    jnz <deopt_point>
   resume_point:
    ...
   deopt_point:
    call DynamicMapChecksTrampoline
    jmp <resume_point>

BUG=v8:10582

Change-Id: Ica4927b9acc963b9b73dc62d9379a7815335650f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560197
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71545}
2020-12-01 20:25:38 +00:00
..
asm [asm] Fix globals initialized by '-0' 2020-08-28 15:19:16 +00:00
async-hooks
bugs
compiler [Turboprop] Move deoptimizations for dynamic map checks into builtin. 2020-12-01 20:25:38 +00:00
d8 [api] New v8::Isolate::MeasureMemory API with per-context sizes 2020-01-19 16:43:57 +00:00
es6 [classes] Fix enumeration order bugs when accessors shadow dynamic prop. 2020-11-18 16:47:21 +00:00
es7 [parser] Disallow await on LHS of exponentiation 2020-12-01 15:34:41 +00:00
es8 [runtime] Fix global_dictionary case in SetOrCopyDataProperties 2020-10-06 12:27:15 +00:00
es9 [object] Remove MutableHeapNumber 2019-08-20 19:04:04 +00:00
harmony Add 'at' to Array.prototype[@@unscopables] 2020-11-24 15:41:11 +00:00
ignition
lithium
regress [cleanup] Remove unnecessary flags in test 2020-11-30 08:17:38 +00:00
third_party
tools [tools] System-analyzer timeline improvements 2020-11-30 15:56:34 +00:00
type-profile
wasm [wasm][test] Complete mjsunit infrastructure for wasm-gc 2020-12-01 14:40:13 +00:00
accessor-map-sharing.js
accessors-no-prototype.js
accessors-on-global-object.js
allocation-folding.js
allocation-site-info.js
api-call-after-bypassed-exception.js
apply-arguments-gc-safepoint.js
apply.js
argument-assigned.js
argument-named-arguments.js
arguments-apply-deopt.js
arguments-apply.js
arguments-call-apply.js
arguments-deopt.js
arguments-enum.js
arguments-escape.js
arguments-indirect.js
arguments-lazy.js
arguments-load-across-eval.js
arguments-read-and-assignment.js
arguments.js
array-bounds-check-removal.js
array-concat.js [mjsunit] Check array length in array-concat 2020-10-29 09:33:56 +00:00
array-construct-transition.js
array-constructor-feedback.js
array-constructor.js
array-elements-from-array-prototype-chain.js
array-elements-from-array-prototype.js
array-elements-from-object-prototype.js
array-feedback.js
array-foreach.js
array-from-large-set.js
array-functions-prototype-misc.js
array-functions-prototype.js
array-indexing-receiver.js
array-indexing.js
array-isarray.js
array-iteration.js
array-iterator-prototype-next.js
array-join-element-tostring-prototype-side-effects.js
array-join-element-tostring-side-effects.js
array-join-index-getter-side-effects.js
array-join-invalid-string-length.js
array-join-nesting.js
array-join-nonarray-length-getter-side-effects.js
array-join-separator-tostring-side-effects.js
array-join.js
array-lastindexof.js
array-length-number-conversion.js
array-length.js
array-literal-feedback.js
array-literal-transitions.js
array-methods-read-only-length.js
array-natives-elements.js
array-non-smi-length.js
array-pop.js
array-prototype-every.js
array-prototype-filter.js
array-prototype-find.js
array-prototype-findindex.js
array-prototype-foreach.js
array-prototype-includes.js
array-prototype-indexof.js
array-prototype-lastindexof.js
array-prototype-map.js
array-prototype-pop.js
array-prototype-reduce.js
array-prototype-slice.js
array-prototype-some.js
array-push2.js
array-push3.js
array-push4.js
array-push5.js
array-push6.js
array-push8.js
array-push9.js
array-push10.js
array-push11.js
array-push12.js
array-push13.js
array-push14.js
array-push-hole-double.js
array-push-non-smi-value.js
array-push.js
array-reduce.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
array-reverse.js
array-shift2.js
array-shift3.js
array-shift4.js
array-shift5.js
array-shift.js
array-slice.js
array-sort.js [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
array-splice.js
array-store-and-grow.js
array-tolocalestring.js
array-tostring.js
array-unshift.js
arrow-with.js
ascii-regexp-subject.js
asm-directive.js
async-stack-traces-prepare-stacktrace-1.js
async-stack-traces-prepare-stacktrace-2.js
async-stack-traces-prepare-stacktrace-3.js
async-stack-traces-prepare-stacktrace-4.js
async-stack-traces-promise-all.js
async-stack-traces-promise-any.js [flags] Remove --harmony-promise-any 2020-11-12 01:09:38 +00:00
async-stack-traces-realms.js
async-stack-traces.js [async] Fix async stack traces for errors created after Promise.reject 2020-01-10 12:46:30 +00:00
basic-promise.js
big-array-literal.js
big-object-literal.js
binary-op-newspace.js
binary-operation-overwrite.js
bit-not.js Remove slow and pointless test code 2019-09-10 08:22:19 +00:00
bitops-info.js
bitwise-operations-bools.js
bitwise-operations-undefined.js
body-not-visible.js
bool-concat.js
boolean.js
bounds-checks-elimination.js
break.js
BUILD.gn [tools] Add code-creation timeline track to system-analyzer 2020-11-30 11:19:08 +00:00
call-cross-realm.js
call-intrinsic-differential-fuzzing.js [Respect] Rename lists 2020-06-22 15:15:31 +00:00
call-intrinsic-fuzzing.js [Respect] Rename lists 2020-06-22 15:15:31 +00:00
call-intrinsic-type-error.js
call-lhs-web-compat-early-errors.js [logical assignment] Disallow foo() &&= 1 etc 2020-09-24 08:17:17 +00:00
call-non-function-call.js
call-non-function.js
call-stub.js
call.js
char-escape.js
check-bounds-array-index.js [test] Make a few tests robust to GC stress 2020-08-31 08:37:16 +00:00
check-bounds-string-from-char-code-at.js [test] Make a few tests robust to GC stress 2020-08-31 08:37:16 +00:00
closure.js
closures.js
code-comments.js
code-coverage-ad-hoc.js
code-coverage-block-async.js [coverage] remove the last continuation range before synthetic return 2020-07-07 15:53:21 +00:00
code-coverage-block-noopt.js
code-coverage-block-opt.js
code-coverage-block.js [coverage] Improve whitespace precision of coverage reporting 2020-01-07 10:29:45 +00:00
code-coverage-class-fields.js
code-coverage-precise.js
code-coverage-utils.js [debugger] Fix code coverage for break/return inside switch-case 2019-09-12 13:53:13 +00:00
codegen-coverage.js
collect-type-profile-undefined-feedback-vector.js [type-profiling] Fix CollectTypeProfile for lazy feedback vectors 2020-01-17 14:35:37 +00:00
compare-character.js
compare-known-objects-slow.js
compare-known-objects-tostringtag.js
compare-known-objects.js
compare-nan.js
compare-nil.js
compare-objects.js
compare-table-eq.js
compare-table-gt.js
compare-table-gteq.js
compare-table-lt.js
compare-table-lteq.js
compare-table-ne.js
compare-table-seq.js
compare-table-sne.js
comparison-ops-and-undefined.js
compiler-regress-787301.js
concurrent-initial-prototype-change.js
console.js
const-field-tracking-2.js [turboprop] Only optimize prototype const fields in turboprop 2020-04-27 18:08:15 +00:00
const-field-tracking.js
constant-compare-nil-value.js
constant-fold-control-instructions.js
constant-folding-2.js [test] Make a few tests robust to GC stress 2020-08-31 08:37:16 +00:00
constant-folding.js
context-calls-maintained.js
context-variable-assignments.js
contextual-calls.js
copy-on-write-assert.js
cross-realm-builtin-call.js [compiler] Force all calls to JS builtins to be lowered 2019-10-31 17:05:40 +00:00
cross-realm-filtering.js
cross-realm-global-prototype.js
cyclic-array-to-string.js
cyrillic.js
date-parse.js
date.js
debugPrint.js [diagnostics] Adapt printing logic for huge TypedArrays 2019-10-29 12:37:30 +00:00
declare-locally.js
deep-recursion.js
default-nospec.js
define-property-gc.js
dehoisted-array-index.js
delay-syntax-error.js
delete-global-properties.js
delete-in-eval.js
delete-in-with.js
delete-non-configurable.js
delete-vars-from-eval.js
delete.js
deopt-global-accessor.js
deopt-minus-zero.js
deopt-recursive-eager-once.js
deopt-recursive-lazy-once.js
deopt-recursive-soft-once.js
deopt-unlinked.js
deopt-with-fp-regs.js
deopt-with-outer-context.js
deserialize-optimize-inner.js
deserialize-reference.js
destruct-array-spread-done.js Add iterator done check in spread destructuring 2020-09-25 19:08:17 +00:00
detach-twice.js [cleanup] Rename uses of 'neuter' to 'detach' 2019-08-06 14:24:05 +00:00
dictionary-properties.js
dictionary-prototypes.js
disallow-codegen-from-strings.js
div-mod.js
div-mul-minus-one.js
do-not-strip-fc.js
dont-enum-array-holes.js
dont-reinit-global-var.js
double-equals.js
double-truncation.js
dtoa.js
duplicate-parameters.js
eagerly-parsed-lazily-compiled-functions.js
element-accessor.js
element-read-only.js
elements-kind-depends.js
elements-kind.js [test] Make test work with deopt fuzzer 2020-08-07 12:54:16 +00:00
elements-length-no-holey.js
elements-transition-and-store.js
elements-transition-hoisting.js
elements-transition.js
elide-double-hole-check-1.js
elide-double-hole-check-2.js
elide-double-hole-check-3.js
elide-double-hole-check-4.js
elide-double-hole-check-5.js
elide-double-hole-check-6.js
elide-double-hole-check-7.js
elide-double-hole-check-8.js
elide-double-hole-check-9.js
elide-double-hole-check-10.js
elide-double-hole-check-11.js
elide-double-hole-check-12.js
empirical_max_arraybuffer.js
ensure-growing-store-learns.js [flags] introduce --allow-overwriting-for-next-flag 2020-09-25 11:03:18 +00:00
enumeration-order.js
error-accessors.js
error-constructors.js
error-stack.js
error-tostring-omit.js
error-tostring.js
escape.js
eval-enclosing-function-name.js
eval-origin.js
eval-stack-trace.js
eval-typeof-non-existing.js
eval.js
expose-cputracemark.js
external-array.js
external-backing-store-gc.js
extra-arguments.js
extra-commas.js
fast-array-length.js
fast-element-smi-check.js
fast-literal.js
fast-non-keyed.js
fast-prototype.js Remove and update some outdated TODO(mstarzinger). 2019-12-13 10:18:04 +00:00
field-representation-tracking-clone-object.js
field-representation-tracking.js [runtime] Remove --modify-field-representation-inplace flag 2020-11-12 13:44:15 +00:00
field-type-tracking.js
filter-element-kinds.js [test] Simplify test exceptions for force-slow-path 2019-11-12 12:54:42 +00:00
fixed-context-shapes-when-recompiling.js
for-in-delete.js
for-in-null-or-undefined.js
for-in-special-cases.js [runtime] Handle element in for-in fast path that uses PrototypeInfo cache 2020-02-20 08:37:38 +00:00
for-in.js
for-of-in-catch-duplicate-decl.js
for.js
frozen-array-reduce.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
fun-as-prototype.js
fun-name.js
function-arguments-duplicate.js
function-arguments-null.js
function-bind-name.js
function-bind.js
function-call.js
function-caller.js
function-length-accessor.js
function-name-eval-shadowed.js
function-named-self-reference.js
function-names.js
function-property.js
function-prototype.js
function-var.js
function-without-prototype.js
function.js
fuzz-accessors.js
generated-transition-stub.js
get-own-property-descriptor-non-objects.js
get-own-property-descriptor.js
get-prototype-of.js
getter-in-prototype.js
getter-in-value-prototype.js
getters-on-elements.js
global-accessors.js
global-arrow-delete-this.js
global-deleted-property-ic.js
global-hash.js
global-ic.js
global-infinity-strict.js
global-infinity.js
global-load-from-eval-in-with.js
global-load-from-eval.js
global-load-from-nested-eval.js
global-load-with-proxy.js [ic] Correctly Handle global loads when global object has proxies 2019-10-28 10:51:51 +00:00
global-nan-strict.js
global-nan.js
global-properties.js
global-prototypes.js
global-proxy-globalThis.js [turbofan] Fix reduction of global proxy access 2019-09-30 09:48:16 +00:00
global-proxy-this.js [turbofan] Fix reduction of global proxy access 2019-09-30 09:48:16 +00:00
global-undefined-strict.js
global-undefined.js
global-vars-eval.js
global-vars-with.js
globals.js [compiler] Disable some tests on NCI 2020-11-16 10:31:47 +00:00
handle-count-ast.js
handle-count-runtime-literals.js
has-own-property-evaluation-order.js
has-own-property.js
hash-code.js
heapObjectVerify.js
hex-parsing.js
holy-double-no-arg-array.js
html-comments.js
html-string-funcs.js
ic-lookup-on-receiver.js
icu-date-lord-howe.js
icu-date-to-string.js
if-in-undefined.js
immutable-context-slot-inlining.js
in.js
indexed-accessors.js
indexed-value-properties.js
induction-variable-turbofan.js
instanceof-2.js
instanceof.js
int32-ops.js
integer-to-string.js
integrity-level-map-update.js
interrupt-budget-override.js [testing] Prevent heuristics from triggering optimization in tests 2019-08-22 13:51:36 +00:00
intl-numberformat-formattoparts.js
intl-pluralrules-select.js
invalid-lhs.js
invalid-source-element.js
json2.js
json-errors.js
json-parse-slice.js
json-parser-recursive.js
json-replacer-number-wrapper-tostring.js
json-replacer-order.js
json-stringify-holder.js
json-stringify-recursive.js
json-stringify-stack.js
json-stringify-typedarray.js
json.js
keyed-array-call.js
keyed-call-generic.js
keyed-call-ic.js
keyed-has-ic-module-export.mjs
keyed-has-ic-module-import.mjs
keyed-has-ic.js
keyed-ic.js
keyed-load-dictionary-stub.js
keyed-load-generic.js
keyed-load-hole-to-undefined.js
keyed-load-null-receiver.js
keyed-load-with-string-key.js
keyed-load-with-symbol-key.js
keyed-named-access.js
keyed-storage-extend.js
keyed-store-array-literal.js
keyed-store-generic.js
keywords-and-reserved_words.js
large-object-allocation.js
large-object-literal-2.js
large-object-literal-slow-elements.js
large-object-literal.js
lazy-inner-functions.js
lazy-load.js
lea-add.js
leakcheck.js
length.js
linecontinuation.js
load_poly_effect.js
load-callback-from-value-classic.js
local-load-from-eval.js
logical.js
lookup-behind-property.js
math-abs.js
math-ceil.js
math-deopt.js
math-exp-precision.js
math-floor-negative.js
math-floor-of-div-minus-zero.js
math-floor-of-div-nosudiv.js [test] Ensure tests relying on no-inlining keep working 2020-09-25 19:09:22 +00:00
math-floor-of-div.js [test] Ensure tests relying on no-inlining keep working 2020-09-25 19:09:22 +00:00
math-floor-part1.js
math-floor-part2.js
math-floor-part3.js
math-floor-part4.js
math-imul.js
math-min-max.js
math-pow.js
math-round.js
math-sqrt.js
md5.js [tests] Speed up mjsunit/packed-elements by 1500x 2019-09-17 12:05:11 +00:00
measure-memory-multiple-realms.js [api] New v8::Isolate::MeasureMemory API with per-context sizes 2020-01-19 16:43:57 +00:00
measure-memory.js [api] New v8::Isolate::MeasureMemory API with per-context sizes 2020-01-19 16:43:57 +00:00
megamorphic-callbacks.js
messages.js [cleanup] Change error message for neutered -> detached 2019-09-12 12:53:43 +00:00
migrations.js
mjsunit_numfuzz.js
mjsunit-assertion-error.js
mjsunit.js [test] Make mjsunit harness more robust to fuzzers 2020-07-20 15:07:59 +00:00
mjsunit.status [wasm][liftoff] Define safepoints for stack checks 2020-11-30 15:30:26 +00:00
mod-range.js
mod.js [ubsan] Make ARM and ARM64 UBSan-clean 2019-09-16 15:03:45 +00:00
modules-circular-valid.mjs
modules-cycle.mjs
modules-default-name1.mjs
modules-default-name2.mjs
modules-default-name3.mjs
modules-default-name4.mjs
modules-default-name5.mjs
modules-default-name6.mjs
modules-default-name7.mjs
modules-default-name8.mjs
modules-default-name9.mjs
modules-default.mjs
modules-empty-import1.mjs
modules-empty-import2.mjs
modules-empty-import3.mjs
modules-empty-import4.mjs
modules-error-trace.mjs
modules-export-star-as1.mjs
modules-export-star-as2.mjs
modules-export-star-as3.mjs
modules-exports1.mjs
modules-exports2.mjs
modules-exports3.mjs
modules-import-meta-turbo.mjs [turbofan] Optimize import.meta 2020-07-15 15:41:11 +00:00
modules-imports1.mjs
modules-imports2.mjs
modules-imports3.mjs
modules-imports4.mjs
modules-imports5.mjs
modules-imports6.mjs
modules-imports7.mjs
modules-imports8.mjs
modules-init1.mjs
modules-init2.mjs
modules-init3.mjs
modules-init4.mjs
modules-namespace1.mjs
modules-namespace2.mjs
modules-namespace3.mjs
modules-namespace4.mjs
modules-namespace-getownproperty1.mjs
modules-namespace-getownproperty2.mjs
modules-preparse.mjs
modules-relative-path.mjs
modules-reset.js [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
modules-skip-1.mjs
modules-skip-2.mjs
modules-skip-3.mjs
modules-skip-4.mjs
modules-skip-5.mjs
modules-skip-6.mjs
modules-skip-7.mjs
modules-skip-8.mjs
modules-skip-9.mjs
modules-skip-circular-valid.mjs
modules-skip-cycle.mjs
modules-skip-default-name1.mjs
modules-skip-default-name2.mjs
modules-skip-default-name3.mjs
modules-skip-default-name4.mjs
modules-skip-default-name5.mjs
modules-skip-default-name6.mjs
modules-skip-default-name7.mjs
modules-skip-default-name8.mjs
modules-skip-default-name9.mjs
modules-skip-empty-import-aux.mjs
modules-skip-empty-import.mjs
modules-skip-import-meta-export.mjs [turbofan] Optimize import.meta 2020-07-15 15:41:11 +00:00
modules-skip-init1.mjs
modules-skip-init3.mjs
modules-skip-init4a.mjs
modules-skip-init4b.mjs
modules-skip-namespace.mjs
modules-skip-reset1.js [modules] Fix bug in instantiation failure handling 2020-02-12 01:27:33 +00:00
modules-skip-reset2.js [modules] Fix bug in instantiation failure handling 2020-02-12 01:27:33 +00:00
modules-skip-reset3.js [modules] Fix bug in instantiation failure handling 2020-02-12 01:27:33 +00:00
modules-skip-star-exports-conflict.mjs
modules-skip-star-exports-cycle.mjs
modules-star-exports-cycle.mjs
modules-this.mjs
modules-turbo1.mjs
modules-turbo2.mjs
mul-exhaustive-part1.js
mul-exhaustive-part2.js
mul-exhaustive-part3.js
mul-exhaustive-part4.js
mul-exhaustive-part5.js
mul-exhaustive-part6.js
mul-exhaustive-part7.js
mul-exhaustive-part8.js
mul-exhaustive-part9.js
mul-exhaustive-part10.js
multiline.js
multiple-return.js
nans.js
negate-zero.js
negate.js
never-optimize.js [test] Crash on invalid intrinsic use unless --fuzzing is on 2020-04-14 15:01:49 +00:00
new-function.js
new.js
newline-in-string.js
no-branch-elimination.js
no-octal-constants-above-256.js
no-semicolon.js
non-ascii-replace.js
non-extensible-array-reduce.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
noopt.js
not.js
nul-characters.js
number-is.js
number-isnan-opt.js
number-limits.js
number-literal.js
number-string-index-call.js
number-tostring-add.js
number-tostring-big-integer.js
number-tostring-func.js
number-tostring-small.js
number-tostring-subnormal.js
number-tostring.js
numops-fuzz-part1.js
numops-fuzz-part2.js
numops-fuzz-part3.js
numops-fuzz-part4.js
obj-construct.js
object-create.js
object-define-properties.js
object-define-property.js
object-freeze-global.js
object-freeze.js
object-get-own-property-names.js
object-is.js [test] Remove obsolete TODO in object-is.js test. 2019-11-13 15:35:34 +00:00
object-keys-typedarray.js
object-keys.js
object-literal-conversions.js
object-literal-gc.js
object-literal-modified-object-prototype.js
object-literal-multiple-fields.js
object-literal-multiple-proto-fields.js
object-literal-overwrite.js
object-literal.js
object-prevent-extensions.js Add new nonextensible element kinds 2019-08-28 17:24:49 +00:00
object-seal-global.js
object-seal.js
object-toprimitive.js
object-tostring-builtins.js Reland "[builtins] Clean up the use of class_name / ES5 [[Class]]" 2020-04-24 11:46:43 +00:00
omit-constant-mapcheck.js
opt-elements-kind.js
optimized-array-every.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
optimized-array-find.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
optimized-array-findindex.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
optimized-array-some.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
optimized-filter.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
optimized-foreach-holey-2.js
optimized-foreach-holey-3.js
optimized-foreach-holey.js
optimized-foreach-polymorph.js
optimized-foreach.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
optimized-includes-polymorph.js
optimized-map.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
optimized-reduce.js
optimized-reduceright.js
optimized-typeof.js
osr-elements-kind.js
outobject-double-for-in.js
override-read-only-property.js
packed-elements.js [tests] Speed up mjsunit/packed-elements by 1500x 2019-09-17 12:05:11 +00:00
parallel-compile-tasks.js
parse-int-float.js
parse-surrogates.js
pixel-array-rounding.js
polymorph-arrays.js
prepare-missing-label-syntax-error.js [parser] Track labels in the parser-base rather than parser+ast 2020-02-18 18:04:13 +00:00
preparse-toplevel-strict-eval.js
primitive-keyed-access.js
print.js
promise-perform-all-resolve-lookup.js [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
promise-perform-all-settled-resolve-lookup.js [flags] Remove --harmony-promise-all-settled 2020-11-03 19:34:42 +00:00
promise-perfrom-race-resolve-lookup.js
property-load-across-eval.js
property-name-eval-arguments.js
property-object-key.js
proto-accessor.js
proto-elements-add-during-foreach.js
proto.js
prototype-arity.js [Respect] Rename lists 2020-06-22 15:15:31 +00:00
prototype-changes.js
prototype-non-existing.js
prototype.js
random-bit-correlations.js [flags] introduce --allow-overwriting-for-next-flag 2020-09-25 11:03:18 +00:00
readonly-accessor.js
readonly.js [test][cleanup] Revive --time, speed up some tests 2019-09-16 11:24:11 +00:00
realm-property-access.js
receiver-in-with-calls.js
recursive-store-opt.js
regexp-backtrack-limit.js [regexp] Use experimental engine if backtrack limit exceeded 2020-10-14 11:18:37 +00:00
regexp-cache-replace.js
regexp-call-as-function.js
regexp-capture-3.js
regexp-capture.js
regexp-captures.js
regexp-compile.js
regexp-experimental.js [regexp] Add 'l' flag to force experimental engine 2020-10-30 08:33:06 +00:00
regexp-fallback-large-default.js [regexp] Use experimental engine if backtrack limit exceeded 2020-10-14 11:18:37 +00:00
regexp-fallback.js [regexp] Use experimental engine if backtrack limit exceeded 2020-10-14 11:18:37 +00:00
regexp-global.js
regexp-indexof.js
regexp-lastIndex.js
regexp-linear-flag.js [regexp] Add 'l' flag to force experimental engine 2020-10-30 08:33:06 +00:00
regexp-lookahead.js
regexp-loop-capture.js
regexp-modifiers-autogenerated-i18n.js
regexp-modifiers-autogenerated.js
regexp-modifiers-dotall.js
regexp-modifiers-i18n.js
regexp-modifiers.js
regexp-multiline.js
regexp-no-linear-flag.js [regexp] Don't recognize the 'l' flag unless enabled 2020-11-04 12:36:36 +00:00
regexp-override-exec.js
regexp-override-symbol-match-all.js [regexp] Modify matchAll to throw on non-globals. 2019-10-16 13:34:15 +00:00
regexp-override-symbol-match.js
regexp-override-symbol-replace.js
regexp-override-symbol-search.js
regexp-override-symbol-split.js
regexp-regexpexec.js
regexp-results-cache.js
regexp-sort.js
regexp-stack-overflow.js
regexp-standalones.js
regexp-static.js
regexp-string-methods.js
regexp-tier-up-multiple.js [regexp] Support some non-trivial EXPERIMENTAL patterns 2020-08-31 11:09:43 +00:00
regexp-tier-up.js [regexp] Support some non-trivial EXPERIMENTAL patterns 2020-08-31 11:09:43 +00:00
regexp-UC16.js
regexp.js Reland "[regexp] Correctly escape a backslash-newline sequence" 2020-02-27 09:32:52 +00:00
regress-1065094.js Make CreateDynamicFunction throw if disallowed 2020-03-30 10:59:49 +00:00
regress-1120905.js [test] Add short copyright to regress-1120905.js 2020-08-27 20:58:05 +00:00
regress-1146106.js [super] Optimize super property access in JSNativeContextSpecialization 2020-11-10 11:24:44 +00:00
regress-crbug-1078825.js [flags] Remove --harmony-promise-any 2020-11-12 01:09:38 +00:00
reindexing-in-classes.js
result-table-max.js
result-table-min.js
runtime-call-stats.js [compile] Collect RuntimeCallStats for AssembleCode 2019-11-27 19:06:18 +00:00
runtime-callstats-helpers.js Revert "[super] Optimize super property access in JSNativeContextSpecialization" 2020-11-09 17:42:41 +00:00
samevalue.js
scanner.js
scope-calls-eval.js
sealed-array-reduce.js Quick fix for array reduction tests 2020-02-13 14:58:17 +00:00
search-string-multiple.js
serialize-after-execute.js
serialize-deserialize-now.js Reland "[snapshot] Expose the serializer through %SerializeDeserializeNow" 2020-04-28 10:41:41 +00:00
serialize-embedded-error.js
serialize-ic.js
setter-on-constructor-prototype.js
setters-on-elements.js
shared-function-tier-up-turbo.js
shift-for-integer-div.js
shifts.js
short-circuit-boolean.js
simple-constructor.js
sin-cos.js
skipping-inner-functions-bailout.js
skipping-inner-functions.js
sloppy-arguments-property-access.js Port some SloppyArgumentsElements CSA code to Torque 2020-09-14 15:44:16 +00:00
smi-mul-const.js [cleanup] Drop Runtime_IsValidSmi 2020-10-02 14:22:48 +00:00
smi-mul.js [cleanup] Drop Runtime_IsValidSmi 2020-10-02 14:22:48 +00:00
smi-negative-zero.js
smi-ops-inlined.js
smi-ops.js
smi-representation.js
sparse-array.js
splice-proxy.js
spread-large-array.js
spread-large-map.js
spread-large-set.js
spread-large-string.js
stack-overflow-arity-catch-noinline.js
stack-trace-cpp-function-template-1.js
stack-trace-cpp-function-template-2.js
stack-traces-2.js
stack-traces-class-fields.js
stack-traces-custom-lazy.js
stack-traces-custom.js
stack-traces-overflow.js
stack-traces.js Reland "stack-trace-api: implement getEnclosingLine/Column" 2020-11-23 20:05:02 +00:00
stackoverflow-underapplication.js Reland "[x64][ia32] Add stack overflow check in InvokePrologue" 2020-11-04 19:26:09 +00:00
store-dictionary.js
str-to-num.js
stress-array-push.js
strict-equals.js
strict-mode-eval.js
strict-mode-implicit-receiver.js
strict-mode-opt.js
strict-mode.js
string-add.js
string-case.js Reland^5 "[flags] warn about contradictory flags" 2020-09-18 15:45:00 +00:00
string-charat.js
string-charcodeat-external.js
string-charcodeat.js
string-compare-alignment.js
string-concat.js
string-deopt.js
string-equal.js
string-external-cached.js
string-externalize.js
string-flatten.js
string-fromcharcode.js
string-index.js
string-indexof-1.js
string-indexof-2.js
string-lastindexof.js
string-localecompare.js
string-match.js
string-normalize.js
string-oom-array-join.js
string-oom-concat.js
string-oom-replace-global-regexp-with-string.js
string-oom-replace-regexp-global-with-function.js
string-pad.js
string-replace-gc.js [test] Simplify test exceptions for force-slow-path 2019-11-12 12:54:42 +00:00
string-replace-one-char.js
string-replace-with-empty.js
string-replace.js
string-search.js
string-slices-regexp.js
string-slices.js
string-split-cache.js
string-split.js
string-trim.js
string-wrapper.js
strong-rooted-literals.js
substr.js
sum-0-plus-undefined-is-NaN.js
switch-opt.js
switch.js
test-async.js
test-builtins-setup.js
testcfg.py [respect] Stop using "blacklist" in several python tools 2020-07-10 19:11:36 +00:00
thin-strings.js
this-dynamic-lookup.js
this-in-callbacks.js
this-property-assignment.js
this.js
throw-and-catch-function.js
throw-exception-for-null-access.js
to_number_order.js
to-precision.js
tobool.js
toint32.js
top-level-assignments.js
touint32.js
track-fields.js [runtime] Remove --modify-field-representation-inplace flag 2020-11-12 13:44:15 +00:00
transcendentals.js
transition-elements-kind.js
try-catch-default-destructuring.js
try-catch-extension-object.js
try-catch-scopes.js
try-finally-continue.js
try-finally-nested.js
try.js
typed-array-slice.js
typeof.js
tzoffset-seoul-noi18n.js
tzoffset-seoul.js
tzoffset-transition-apia.js
tzoffset-transition-lord-howe.js
tzoffset-transition-moscow.js
tzoffset-transition-new-york-noi18n.js
tzoffset-transition-new-york.js
ubsan-fuzzerbugs.js
unary-minus-deopt.js
unbox-double-arrays.js
unbox-double-field-indexed.js
unbox-double-field.js
unbox-smi-field-indexed.js
unbox-smi-field.js
undeletable-functions.js
undetectable-compare.js
undetectable.js
unicode-case-overoptimization.js
unicode-string-to-number.js
unicode-test.js [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
unicodelctest-no-optimization.js [ubsan] Make ARM and ARM64 UBSan-clean 2019-09-16 15:03:45 +00:00
unicodelctest.js
unused-context-in-with.js
unusual-constructor.js
uri.js
value-callic-prototype-change.js
value-of.js
value-wrapper-accessor.js
value-wrapper.js
var.js
verify-assert-false.js
verify-check-false.js
whitespaces0.js
whitespaces1.js
whitespaces2.js
whitespaces3.js
whitespaces4.js
whitespaces5.js
whitespaces6.js
whitespaces7.js
whitespaces8.js
whitespaces9.js
whitespaces.js
with-function-expression.js
with-leave.js
with-parameter-access.js
with-prototype.js
with-readonly.js
with-value.js
worker-ping-test.js Re-enable skipped test but mark it slow 2020-06-29 15:00:35 +00:00