v8/test/mjsunit
Caitlin Potter b6f7ea5805 [runtime] use new CloneObject bytecode for some ObjectLiteralSpread cases
As discussed in
https://docs.google.com/document/d/1sBdGe8RHgeYP850cKSSgGABTyfMdvaEWLy-vertuTCo/edit?ts=5b3ba5cc#,

this CL introduces a new bytecode (CloneObject), and a new IC type.

In this prototype implementation, the type feedback looks like the
following:

Uninitialized case:
  { uninitialized_sentinel, uninitialized_sentinel }
Monomorphic case:
  { weak 'source' map, strong 'result' map }
Polymorphic case:
  { WeakFixedArray with { weak 'source' map, strong 'result' map }, cleared value }
Megamorphic case:
  { megamorphic_sentinel, cleared_Value }

In the fast case, Object cloning is done by allocating an object with
the saved result map, and a shallow clone of the fast properties from
the source object, as well as cloned fast elements from the source object.
If at any point the fast case can't be taken, the IC transitions to the
slow case and remains there.

This prototype CL does not include any TurboFan optimization, and the
CloneObject operation is merely reduced to a stub call.

It may still be possible to get some further improvements by somehow
incorporating compile-time boilerplate elements into the cloned object,
or simplifying how the boilerplate elements are inserted into the
object.

In terms of performance, we improve the ObjectSpread score in JSTests/ObjectLiteralSpread/
by about 8x, with substantial improvements over the Babel and ObjectAssign scores.

R=gsathya@chromium.org, mvstanton@chromium.org, rmcilroy@chromium.org, neis@chromium.org, bmeurer@chromium.org
BUG=v8:7611

Change-Id: I79e1796eb77016fb4feba0e1d3bb9abb348c183e
Reviewed-on: https://chromium-review.googlesource.com/1127472
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54595}
2018-07-20 16:48:59 +00:00
..
asm
async-hooks [async] Improve error handling for async hooks 2018-07-05 14:49:03 +00:00
bugs
compiler [turbofan] Add DataView setters in TurboFan 2018-07-09 14:46:47 +00:00
d8 De/serializes SharedArrayBuffers. 2018-01-18 19:55:48 +00:00
es6 [array] Use Array.p.fill baseline version if object is non-extensible 2018-07-19 06:53:11 +00:00
es7
es8 Reland ^3 "[async] Expose async hooks to d8" 2018-07-04 15:47:16 +00:00
es9 [runtime] use new CloneObject bytecode for some ObjectLiteralSpread cases 2018-07-20 16:48:59 +00:00
harmony Revert "[turbofan] Inline Number constructor in certain cases" 2018-07-19 09:13:26 +00:00
ignition [test] Make assertThrowsEquals use assertSame 2018-06-06 14:17:12 +00:00
lithium
regress [array] Only use fast-path in Array.p.fill for JSArrays 2018-07-19 12:15:42 +00:00
third_party
tools Reland "[array] Use random middle element to determine pivot during sorting" 2018-06-07 13:33:14 +00:00
type-profile
wasm [wasm] Actually run worker-module.js test case. 2018-07-16 10:46:46 +00:00
accessor-map-sharing.js
accessors-no-prototype.js
accessors-on-global-object.js
allocation-folding.js
allocation-site-info.js Reland ^3 "[async] Expose async hooks to d8" 2018-07-04 15:47:16 +00:00
api-call-after-bypassed-exception.js
apply-arguments-gc-safepoint.js
apply.js [sfi] Compress function arg counts to 16 bit 2018-05-30 16:35:50 +00:00
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
array-construct-transition.js
array-constructor-feedback.js
array-constructor.js [mjsunit] Speed up array constructor test 2018-06-14 16:45:23 +00:00
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-functions-prototype-misc.js
array-functions-prototype.js
array-indexing-receiver.js
array-indexing.js
array-isarray.js
array-iteration.js [builtins] Port Array.p.{find,findIndex} to CSA 2017-12-05 07:23:13 +00:00
array-join.js
array-lastindexof.js
array-length-number-conversion.js
array-length.js
array-literal-feedback.js [deoptimizer] Disable test incompatible with deopt fuzzer 2018-04-11 09:58:04 +00:00
array-literal-transitions.js
array-methods-read-only-length.js
array-natives-elements.js
array-non-smi-length.js
array-pop.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 [turbofan] Fix bug in Array.p.reduceRight 2018-03-05 10:52:32 +00:00
array-shift2.js
array-shift3.js
array-shift4.js
array-shift5.js
array-shift.js
array-slice.js
array-sort.js [mjsunit] Split slow test out of array-sort and skip it on certain builds 2018-05-24 12:36:48 +00:00
array-splice.js
array-store-and-grow.js
array-tostring.js
array-unshift.js
ascii-regexp-subject.js
asm-directive.js
basic-promise.js
big-array-literal.js
big-object-literal.js
binary-op-newspace.js
binary-operation-overwrite.js
bit-not.js
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 [build] Add data deps for d8 test suites 2018-03-26 13:44:58 +00:00
call-cross-realm.js
call-intrinsic-type-error.js
call-non-function-call.js
call-non-function.js
call-stub.js
call.js
char-escape.js
class-of-builtins.js
closure.js
closures.js
code-comments.js Fix undefined behaviour on CommentOperator 2018-05-09 13:31:21 +00:00
code-coverage-ad-hoc.js
code-coverage-block-noopt.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
code-coverage-block-opt.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
code-coverage-block.js [coverage] Fix invalid coverage block transformation 2018-04-04 12:46:24 +00:00
code-coverage-precise.js
code-coverage-utils.js [debug] retire ScriptWrapper 2018-07-05 21:33:03 +00:00
codegen-coverage.js
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 [deoptimizer] Fix materialization of iterators. 2017-12-04 17:57:45 +00:00
concurrent-initial-prototype-change.js
console.js
const-field-tracking.js
constant-compare-nil-value.js
constant-fold-control-instructions.js
constant-folding-2.js [turbofan] Improve performance of mjsunit test 2018-03-26 11:34:58 +00:00
constant-folding.js
context-calls-maintained.js
context-variable-assignments.js
contextual-calls.js
copy-on-write-assert.js
cross-realm-filtering.js
cross-realm-global-prototype.js
cyclic-array-to-string.js
cyrillic.js
date-parse.js
date.js [builtins] Convert double to integer in Date.prototype.setDate 2018-06-05 09:27:39 +00:00
debugPrint.js
declare-locally.js
deep-recursion.js
default-nospec.js Reland "[turbofan] Disable speculation for JSCall nodes by default" 2018-02-23 08:31:41 +00:00
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 Remove non-existent --serialize-toplevel flag from tests 2017-12-07 13:05:53 +00:00
dictionary-properties.js
dictionary-prototypes.js [runtime] Decrease the maximum number of descriptors. 2017-12-13 18:59:26 +00:00
disallow-codegen-from-strings.js [flags] Introduce --disallow-code-generation-from-strings 2017-12-06 19:10:33 +00:00
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
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
ensure-growing-store-learns.js
enumeration-order.js
error-accessors.js
error-constructors.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
external-array.js
extra-arguments.js
extra-commas.js
fast-array-length.js
fast-element-smi-check.js
fast-literal.js Remove --use-allocation-folding relict from tests. 2018-05-09 08:50:59 +00:00
fast-non-keyed.js
fast-prototype.js
field-type-tracking.js
filter-element-kinds.js
fixed-context-shapes-when-recompiling.js
for-in-delete.js
for-in-null-or-undefined.js
for-in-special-cases.js
for-in.js
for.js
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 [mjsunit] Speed up test by using const 2018-06-14 15:56:03 +00:00
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-nan-strict.js
global-nan.js
global-properties.js
global-prototypes.js [ic] Prototype-only dictionaries, step 1. 2017-12-06 16:08:55 +00:00
global-undefined-strict.js
global-undefined.js
global-vars-eval.js
global-vars-with.js
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 [ic] Unify handling of Load/StoreHandler objects in load/store IC dispatchers. 2017-12-14 15:14:16 +00:00
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
intl-numberformat-formattoparts.js Roll ICU to ICU 62.1 2018-07-11 10:24:26 +00:00
intl-pluralrules-select.js Remove flags for plural rules and number formatToParts 2018-04-27 20:02:48 +00:00
invalid-lhs.js
invalid-source-element.js
json2.js
json-errors.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.js
keyed-array-call.js
keyed-call-generic.js
keyed-call-ic.js
keyed-ic.js
keyed-load-dictionary-stub.js
keyed-load-generic.js
keyed-load-hole-to-undefined.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 Reland "[ic] Improve performance of KeyedStoreIC on literal-based arrays." 2018-01-26 11:11:03 +00:00
keyed-store-generic.js Reland "[builtins] Separate species protectors for Array, TypedArray, Promise" 2018-04-23 17:52:50 +00:00
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
lexicographic-compare.js [mjsunit] Split slow test out of array-sort and skip it on certain builds 2018-05-24 12:36:48 +00:00
linecontinuation.js [test] Improve LineContinuation test coverage 2018-05-21 20:15:59 +00:00
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 [turbofan] Move Math.* builtins to JSCallReducer 2018-02-21 12:21:20 +00:00
math-exp-precision.js
math-floor-negative.js
math-floor-of-div-minus-zero.js
math-floor-of-div-nosudiv.js
math-floor-of-div.js
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
megamorphic-callbacks.js
messages.js [map] Normalize hole for formatting an exception 2018-05-02 12:55:47 +00:00
migrations.js [runtime] Properly deal with prototype setup mode during class literal instantiation. 2017-11-28 09:11:59 +00:00
mjsunit_suppressions.js [test] Add interrupt-budget fuzzer 2018-01-29 16:31:40 +00:00
mjsunit-assertion-error.js
mjsunit.js [test] Fix output of assertSame 2018-06-11 09:01:38 +00:00
mjsunit.status [mips][be] Skip test which fails with segfault 2018-07-18 19:17:49 +00:00
mod-range.js
mod.js
modules-circular-valid.js
modules-cycle.js
modules-default-name1.js
modules-default-name2.js
modules-default-name3.js
modules-default-name4.js
modules-default-name5.js
modules-default-name6.js
modules-default-name7.js
modules-default-name8.js
modules-default-name9.js
modules-default.js
modules-empty-import1.js
modules-empty-import2.js
modules-empty-import3.js
modules-empty-import4.js
modules-error-trace.js
modules-exports1.js
modules-exports2.js
modules-exports3.js
modules-imports1.js
modules-imports2.js
modules-imports3.js
modules-imports4.js
modules-imports5.js
modules-imports6.js
modules-imports7.js
modules-init1.js
modules-init2.js
modules-init3.js
modules-init4.js
modules-namespace1.js
modules-namespace2.js
modules-namespace3.js
modules-namespace4.js
modules-namespace-getownproperty1.js [modules] Fix handling of uninitialized exports in namespace objects. 2018-02-28 21:13:16 +00:00
modules-namespace-getownproperty2.js [modules] Fix handling of uninitialized exports in namespace objects. 2018-02-28 21:13:16 +00:00
modules-preparse.js
modules-relative-path.js
modules-skip-1.js
modules-skip-2.js
modules-skip-3.js
modules-skip-4.js
modules-skip-5.js
modules-skip-6.js
modules-skip-7.js
modules-skip-circular-valid.js
modules-skip-cycle.js
modules-skip-default-name1.js
modules-skip-default-name2.js
modules-skip-default-name3.js
modules-skip-default-name4.js
modules-skip-default-name5.js
modules-skip-default-name6.js
modules-skip-default-name7.js
modules-skip-default-name8.js
modules-skip-default-name9.js
modules-skip-empty-import-aux.js
modules-skip-empty-import.js
modules-skip-init1.js
modules-skip-init3.js
modules-skip-init4a.js
modules-skip-init4b.js
modules-skip-namespace.js
modules-skip-star-exports-conflict.js
modules-skip-star-exports-cycle.js
modules-star-exports-cycle.js
modules-this.js
modules-turbo1.js
modules-turbo2.js
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
neuter-twice.js
never-optimize.js
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
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.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
object-keys.js [proxies][keys] Do not filter ownKeys when defaulting to the target 2018-06-25 16:40:01 +00:00
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
object-seal-global.js
object-seal.js
object-toprimitive.js
omit-constant-mapcheck.js
opt-elements-kind.js
optimized-array-every.js [TurboFan] Allow unreliable maps in array builtins 2018-01-16 14:01:29 +00:00
optimized-array-find.js [TurboFan] Allow unreliable maps in array builtins 2018-01-16 14:01:29 +00:00
optimized-array-findindex.js [TurboFan] Allow unreliable maps in array builtins 2018-01-16 14:01:29 +00:00
optimized-array-some.js [Turbofan] Inline Array.prototype.some 2018-01-04 11:39:41 +00:00
optimized-filter.js [TurboFan] Allow unreliable maps in array builtins 2018-01-16 14:01:29 +00:00
optimized-foreach-holey-2.js
optimized-foreach-holey-3.js
optimized-foreach-holey.js
optimized-foreach-polymorph.js
optimized-foreach.js [TurboFan] Allow unreliable maps in array builtins 2018-01-16 14:01:29 +00:00
optimized-map.js [TurboFan] Allow unreliable maps in array builtins 2018-01-16 14:01:29 +00:00
optimized-reduce.js [TurboFan] Array.prototype.reduce[Right] was missing a deopt point 2018-02-07 14:20:37 +00:00
optimized-reduceright.js [TurboFan] Array.prototype.reduce[Right] was missing a deopt point 2018-02-07 14:20:37 +00:00
optimized-typeof.js
osr-elements-kind.js
outobject-double-for-in.js
override-read-only-property.js
packed-elements.js
parallel-optimize-disabled.js
parse-int-float.js
parse-surrogates.js
pixel-array-rounding.js
polymorph-arrays.js
preparse-toplevel-strict-eval.js
primitive-keyed-access.js
print.js
property-load-across-eval.js
property-name-eval-arguments.js
property-object-key.js
proto-accessor.js
proto-elements-add-during-foreach.js [Builtins] Torque version of Array.prototype.forEach() 2018-05-09 08:58:39 +00:00
proto.js
prototype-changes.js
prototype-non-existing.js
prototype.js
random-bit-correlations.js
readonly-accessor.js
readonly.js
realm-property-access.js
receiver-in-with-calls.js
recursive-store-opt.js
regexp-cache-replace.js
regexp-call-as-function.js
regexp-capture-3.js
regexp-capture.js
regexp-captures.js
regexp-compile.js
regexp-global.js
regexp-indexof.js
regexp-lastIndex.js
regexp-lookahead.js
regexp-loop-capture.js
regexp-modifiers-autogenerated-i18n.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-modifiers-autogenerated.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-modifiers-dotall.js
regexp-modifiers-i18n.js
regexp-modifiers.js
regexp-multiline.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-UC16.js
regexp.js
result-table-max.js
result-table-min.js
samevalue.js
scanner.js
scope-calls-eval.js
search-string-multiple.js
serialize-after-execute.js Reland "Add support to produce code cache after execute" 2017-12-01 14:02:47 +00:00
serialize-embedded-error.js Remove non-existent --serialize-toplevel flag from tests 2017-12-07 13:05:53 +00:00
serialize-ic.js Remove non-existent --serialize-toplevel flag from tests 2017-12-07 13:05:53 +00:00
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 [parser] Skipping inner funcs: Fix variable name debug mode check. 2018-02-15 08:16:38 +00:00
smi-mul-const.js
smi-mul.js
smi-negative-zero.js
smi-ops-inlined.js
smi-ops.js
smi-representation.js
sparse-array-reverse.js
sparse-array.js
splice-proxy.js
stack-overflow-arity-catch-noinline.js
stack-traces-2.js Reland "[array] Implement Array.p.sort in Torque" 2018-06-05 08:33:18 +00:00
stack-traces-custom-lazy.js
stack-traces-custom.js
stack-traces-overflow.js
stack-traces.js
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
string-charat.js
string-charcodeat-external.js [turbofan] Inline StringCharCodeAt like Crankshaft did. 2018-01-19 15:16:47 +00:00
string-charcodeat.js
string-compare-alignment.js
string-concat.js
string-deopt.js [turbofan] Introduce StringSubstring operator 2018-02-23 15:51:57 +00:00
string-equal.js
string-external-cached.js
string-externalize.js Revert "[objects] No longer create short external strings." 2017-11-30 20:04:41 +00:00
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-replace-gc.js
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] Add a fast path for empty separator in String.p.split 2018-05-18 16:09:49 +00:00
string-trim.js [esnext] Implement String.prototype.{trimStart,trimEnd} 2018-01-19 13:39:46 +00:00
string-wrapper.js
strong-rooted-literals.js
substr.js
sum-0-plus-undefined-is-NaN.js
switch-opt.js
switch.js
test-builtins-setup.js
testcfg.py [test] Forgive tests timing out on num-fuzzers 2018-02-08 23:08:05 +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
transcendentals.js
transition-elements-kind.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 Reland "Implement a new spec for timezone offset calculation" 2018-04-04 22:42:30 +00:00
tzoffset-seoul.js Reland "Implement a new spec for timezone offset calculation" 2018-04-04 22:42:30 +00:00
tzoffset-transition-apia.js Reland "Implement a new spec for timezone offset calculation" 2018-04-04 22:42:30 +00:00
tzoffset-transition-lord-howe.js Reland "Implement a new spec for timezone offset calculation" 2018-04-04 22:42:30 +00:00
tzoffset-transition-moscow.js Reland "Implement a new spec for timezone offset calculation" 2018-04-04 22:42:30 +00:00
tzoffset-transition-new-york-noi18n.js Reland "Implement a new spec for timezone offset calculation" 2018-04-04 22:42:30 +00:00
tzoffset-transition-new-york.js Reland "Implement a new spec for timezone offset calculation" 2018-04-04 22:42:30 +00:00
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
unicodelctest-no-optimization.js
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