• Benedikt Meurer's avatar
    [turbofan] Inline Map and Set iterators into optimized code. · 1287688c
    Benedikt Meurer authored
    This CL inlines the following builtins into TurboFan
    
      - %MapIteratorPrototype%.next
      - %SetIteratorPrototype%.next
    
    following the design that we are using for Array iteration already
    (different instance types for the different kinds of iterators). Details
    can be found in the relevant design document at:
    
      https://docs.google.com/document/d/13z1fvRVpe_oEroplXEEX0a3WK94fhXorHjcOMsDmR-8
    
    The key to great performance here is to ensure that the inlined code
    allows escape analysis and scalar replacement of aggregates to remove
    the allocations for the iterator itself as well as the iterator results
    and potential key/value arrays in the simple case of a for-of loop (and
    by extension also in other constructs that reduce to for-of loops
    internally), i.e.:
    
      const s = new Set;
      // ... do something with s
      for (const x of s) {
        // ...
      }
    
    Here the for-of loop shouldn't perform any allocations of helper
    objects.
    
    Drive-by-fix: Replace the ExistsJSMapWithness in JSBuiltinReducer with a more
    general HasInstanceTypeWitness, similar to what's in JSCallReducer. Also
    migrate the {Map,Set}.prototype.size getter inlining to the
    JSBuiltinReducer, so that everything is in a single place.
    
    R=jgruber@chromium.org
    
    Bug: v8:6344, v8:6571, chromium:740122
    Change-Id: I09cb506fe26ed3e10d7dcb2f95ec4415e639582d
    Reviewed-on: https://chromium-review.googlesource.com/570159Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46655}
    1287688c
Name
Last commit
Last update
..
asm Loading commit data...
bugs Loading commit data...
compiler Loading commit data...
es6 Loading commit data...
es7 Loading commit data...
es8 Loading commit data...
harmony Loading commit data...
ignition Loading commit data...
lithium Loading commit data...
regress Loading commit data...
third_party Loading commit data...
tools Loading commit data...
type-profile Loading commit data...
wasm Loading commit data...
accessor-map-sharing.js Loading commit data...
accessors-no-prototype.js Loading commit data...
accessors-on-global-object.js Loading commit data...
allocation-folding.js Loading commit data...
allocation-site-info.js Loading commit data...
api-call-after-bypassed-exception.js Loading commit data...
apply-arguments-gc-safepoint.js Loading commit data...
apply.js Loading commit data...
argument-assigned.js Loading commit data...
argument-named-arguments.js Loading commit data...
arguments-apply-deopt.js Loading commit data...
arguments-apply.js Loading commit data...
arguments-call-apply.js Loading commit data...
arguments-deopt.js Loading commit data...
arguments-enum.js Loading commit data...
arguments-escape.js Loading commit data...
arguments-indirect.js Loading commit data...
arguments-lazy.js Loading commit data...
arguments-load-across-eval.js Loading commit data...
arguments-read-and-assignment.js Loading commit data...
arguments.js Loading commit data...
array-bounds-check-removal.js Loading commit data...
array-concat.js Loading commit data...
array-construct-transition.js Loading commit data...
array-constructor-feedback.js Loading commit data...
array-constructor.js Loading commit data...
array-elements-from-array-prototype-chain.js Loading commit data...
array-elements-from-array-prototype.js Loading commit data...
array-elements-from-object-prototype.js Loading commit data...
array-feedback.js Loading commit data...
array-foreach.js Loading commit data...
array-functions-prototype-misc.js Loading commit data...
array-functions-prototype.js Loading commit data...
array-indexing-receiver.js Loading commit data...
array-indexing.js Loading commit data...
array-isarray.js Loading commit data...
array-iteration.js Loading commit data...
array-join.js Loading commit data...
array-length-number-conversion.js Loading commit data...
array-length.js Loading commit data...
array-literal-feedback.js Loading commit data...
array-literal-transitions.js Loading commit data...
array-methods-read-only-length.js Loading commit data...
array-natives-elements.js Loading commit data...
array-non-smi-length.js Loading commit data...
array-pop.js Loading commit data...
array-push-hole-double.js Loading commit data...
array-push-non-smi-value.js Loading commit data...
array-push.js Loading commit data...
array-push10.js Loading commit data...
array-push11.js Loading commit data...
array-push12.js Loading commit data...
array-push13.js Loading commit data...
array-push14.js Loading commit data...
array-push2.js Loading commit data...
array-push3.js Loading commit data...
array-push4.js Loading commit data...
array-push5.js Loading commit data...
array-push6.js Loading commit data...
array-push8.js Loading commit data...
array-push9.js Loading commit data...
array-reduce.js Loading commit data...
array-shift.js Loading commit data...
array-shift2.js Loading commit data...
array-shift3.js Loading commit data...
array-shift4.js Loading commit data...
array-shift5.js Loading commit data...
array-slice.js Loading commit data...
array-sort.js Loading commit data...
array-splice.js Loading commit data...
array-store-and-grow.js Loading commit data...
array-tostring.js Loading commit data...
array-unshift.js Loading commit data...
ascii-regexp-subject.js Loading commit data...
asm-directive.js Loading commit data...
assert-opt-and-deopt.js Loading commit data...
basic-promise.js Loading commit data...
big-array-literal.js Loading commit data...
big-object-literal.js Loading commit data...
binary-op-newspace.js Loading commit data...
binary-operation-overwrite.js Loading commit data...
bit-not.js Loading commit data...
bitops-info.js Loading commit data...
bitwise-operations-bools.js Loading commit data...
bitwise-operations-undefined.js Loading commit data...
body-not-visible.js Loading commit data...
bool-concat.js Loading commit data...
boolean.js Loading commit data...
bounds-checks-elimination.js Loading commit data...
break.js Loading commit data...
call-cross-realm.js Loading commit data...
call-intrinsic-type-error.js Loading commit data...
call-non-function-call.js Loading commit data...
call-non-function.js Loading commit data...
call-stub.js Loading commit data...
call.js Loading commit data...
char-escape.js Loading commit data...
class-of-builtins.js Loading commit data...
closure.js Loading commit data...
closures.js Loading commit data...
code-coverage-ad-hoc.js Loading commit data...
code-coverage-block.js Loading commit data...
code-coverage-precise.js Loading commit data...
codegen-coverage.js Loading commit data...
compare-character.js Loading commit data...
compare-known-objects-slow.js Loading commit data...
compare-known-objects-tostringtag.js Loading commit data...
compare-known-objects.js Loading commit data...
compare-nan.js Loading commit data...
compare-nil.js Loading commit data...
compare-objects.js Loading commit data...
compare-table-eq.js Loading commit data...
compare-table-gt.js Loading commit data...
compare-table-gteq.js Loading commit data...
compare-table-lt.js Loading commit data...
compare-table-lteq.js Loading commit data...
compare-table-ne.js Loading commit data...
compare-table-seq.js Loading commit data...
compare-table-sne.js Loading commit data...
comparison-ops-and-undefined.js Loading commit data...
concurrent-initial-prototype-change.js Loading commit data...
const-field-tracking.js Loading commit data...
constant-compare-nil-value.js Loading commit data...
constant-fold-control-instructions.js Loading commit data...
constant-folding-2.js Loading commit data...
constant-folding.js Loading commit data...
context-calls-maintained.js Loading commit data...
context-variable-assignments.js Loading commit data...
contextual-calls.js Loading commit data...
copy-on-write-assert.js Loading commit data...
count-based-osr.js Loading commit data...
cross-realm-filtering.js Loading commit data...
cross-realm-global-prototype.js Loading commit data...
cyclic-array-to-string.js Loading commit data...
cyrillic.js Loading commit data...
d8-os.js Loading commit data...
d8-performance-now.js Loading commit data...
d8-worker-sharedarraybuffer.js Loading commit data...
d8-worker-spawn-worker.js Loading commit data...
d8-worker.js Loading commit data...
date-parse.js Loading commit data...
date.js Loading commit data...
debugPrint.js Loading commit data...
declare-locally.js Loading commit data...
deep-recursion.js Loading commit data...
define-property-gc.js Loading commit data...
dehoisted-array-index.js Loading commit data...
delay-syntax-error.js Loading commit data...
delete-global-properties.js Loading commit data...
delete-in-eval.js Loading commit data...
delete-in-with.js Loading commit data...
delete-non-configurable.js Loading commit data...
delete-vars-from-eval.js Loading commit data...
delete.js Loading commit data...
deopt-global-accessor.js Loading commit data...
deopt-minus-zero.js Loading commit data...
deopt-recursive-eager-once.js Loading commit data...
deopt-recursive-lazy-once.js Loading commit data...
deopt-recursive-soft-once.js Loading commit data...
deopt-unlinked.js Loading commit data...
deopt-with-fp-regs.js Loading commit data...
deopt-with-outer-context.js Loading commit data...
deserialize-optimize-inner.js Loading commit data...
deserialize-reference.js Loading commit data...
deserialize-script-id.js Loading commit data...
dictionary-properties.js Loading commit data...
div-mod.js Loading commit data...
div-mul-minus-one.js Loading commit data...
do-not-strip-fc.js Loading commit data...
dont-enum-array-holes.js Loading commit data...
dont-reinit-global-var.js Loading commit data...
double-equals.js Loading commit data...
double-truncation.js Loading commit data...
dtoa.js Loading commit data...
duplicate-parameters.js Loading commit data...
eagerly-parsed-lazily-compiled-functions.js Loading commit data...
element-accessor.js Loading commit data...
element-read-only.js Loading commit data...
elements-kind-depends.js Loading commit data...
elements-kind.js Loading commit data...
elements-length-no-holey.js Loading commit data...
elements-transition-and-store.js Loading commit data...
elements-transition-hoisting.js Loading commit data...
elements-transition.js Loading commit data...
elide-double-hole-check-1.js Loading commit data...
elide-double-hole-check-10.js Loading commit data...
elide-double-hole-check-11.js Loading commit data...
elide-double-hole-check-12.js Loading commit data...
elide-double-hole-check-2.js Loading commit data...
elide-double-hole-check-3.js Loading commit data...
elide-double-hole-check-4.js Loading commit data...
elide-double-hole-check-5.js Loading commit data...
elide-double-hole-check-6.js Loading commit data...
elide-double-hole-check-7.js Loading commit data...
elide-double-hole-check-8.js Loading commit data...
elide-double-hole-check-9.js Loading commit data...
ensure-growing-store-learns.js Loading commit data...
enumeration-order.js Loading commit data...
error-accessors.js Loading commit data...
error-constructors.js Loading commit data...
error-tostring-omit.js Loading commit data...
error-tostring.js Loading commit data...
escape.js Loading commit data...
eval-enclosing-function-name.js Loading commit data...
eval-origin.js Loading commit data...
eval-stack-trace.js Loading commit data...
eval-typeof-non-existing.js Loading commit data...
eval.js Loading commit data...
external-array.js Loading commit data...
extra-arguments.js Loading commit data...
extra-commas.js Loading commit data...
fast-array-length.js Loading commit data...
fast-element-smi-check.js Loading commit data...
fast-literal.js Loading commit data...
fast-non-keyed.js Loading commit data...
fast-prototype.js Loading commit data...
field-type-tracking.js Loading commit data...
fixed-context-shapes-when-recompiling.js Loading commit data...
for-in-delete.js Loading commit data...
for-in-null-or-undefined.js Loading commit data...
for-in-special-cases.js Loading commit data...
for-in.js Loading commit data...
for.js Loading commit data...
fun-as-prototype.js Loading commit data...
fun-name.js Loading commit data...
function-arguments-duplicate.js Loading commit data...
function-arguments-null.js Loading commit data...
function-bind-name.js Loading commit data...
function-bind.js Loading commit data...
function-call.js Loading commit data...
function-caller.js Loading commit data...
function-length-accessor.js Loading commit data...
function-name-eval-shadowed.js Loading commit data...
function-named-self-reference.js Loading commit data...
function-names.js Loading commit data...
function-property.js Loading commit data...
function-prototype.js Loading commit data...
function-var.js Loading commit data...
function-without-prototype.js Loading commit data...
function.js Loading commit data...
fuzz-accessors.js Loading commit data...
generated-transition-stub.js Loading commit data...
get-own-property-descriptor-non-objects.js Loading commit data...
get-own-property-descriptor.js Loading commit data...
get-prototype-of.js Loading commit data...
getter-in-prototype.js Loading commit data...
getter-in-value-prototype.js Loading commit data...
getters-on-elements.js Loading commit data...
global-accessors.js Loading commit data...
global-arrow-delete-this.js Loading commit data...
global-deleted-property-ic.js Loading commit data...
global-hash.js Loading commit data...
global-ic.js Loading commit data...
global-infinity-strict.js Loading commit data...
global-infinity.js Loading commit data...
global-load-from-eval-in-with.js Loading commit data...
global-load-from-eval.js Loading commit data...
global-load-from-nested-eval.js Loading commit data...
global-nan-strict.js Loading commit data...
global-nan.js Loading commit data...
global-properties.js Loading commit data...
global-undefined-strict.js Loading commit data...
global-undefined.js Loading commit data...
global-vars-eval.js Loading commit data...
global-vars-with.js Loading commit data...
handle-count-ast.js Loading commit data...
handle-count-runtime-literals.js Loading commit data...
has-own-property-evaluation-order.js Loading commit data...
has-own-property.js Loading commit data...
heapObjectVerify.js Loading commit data...
hex-parsing.js Loading commit data...
holy-double-no-arg-array.js Loading commit data...
html-comments.js Loading commit data...
html-string-funcs.js Loading commit data...
icu-date-lord-howe.js Loading commit data...
icu-date-to-string.js Loading commit data...
if-in-undefined.js Loading commit data...
immutable-context-slot-inlining.js Loading commit data...
in.js Loading commit data...
indexed-accessors.js Loading commit data...
indexed-value-properties.js Loading commit data...
induction-variable-turbofan.js Loading commit data...
instanceof-2.js Loading commit data...
instanceof.js Loading commit data...
int32-ops.js Loading commit data...
integer-to-string.js Loading commit data...
invalid-lhs.js Loading commit data...
invalid-source-element.js Loading commit data...
json-errors.js Loading commit data...
json-parser-recursive.js Loading commit data...
json-replacer-number-wrapper-tostring.js Loading commit data...
json-replacer-order.js Loading commit data...
json-stringify-holder.js Loading commit data...
json-stringify-recursive.js Loading commit data...
json-stringify-stack.js Loading commit data...
json.js Loading commit data...
json2.js Loading commit data...
keyed-array-call.js Loading commit data...
keyed-call-generic.js Loading commit data...
keyed-call-ic.js Loading commit data...
keyed-ic.js Loading commit data...
keyed-load-dictionary-stub.js Loading commit data...
keyed-load-generic.js Loading commit data...
keyed-load-hole-to-undefined.js Loading commit data...
keyed-load-with-string-key.js Loading commit data...
keyed-load-with-symbol-key.js Loading commit data...
keyed-named-access.js Loading commit data...
keyed-storage-extend.js Loading commit data...
keyed-store-generic.js Loading commit data...
keywords-and-reserved_words.js Loading commit data...
large-object-allocation.js Loading commit data...
large-object-literal-2.js Loading commit data...
large-object-literal-slow-elements.js Loading commit data...
large-object-literal.js Loading commit data...
lazy-inner-functions.js Loading commit data...
lazy-load.js Loading commit data...
lea-add.js Loading commit data...
leakcheck.js Loading commit data...
length.js Loading commit data...
load-callback-from-value-classic.js Loading commit data...
load_poly_effect.js Loading commit data...
local-load-from-eval.js Loading commit data...
logical.js Loading commit data...
lookup-behind-property.js Loading commit data...
math-abs.js Loading commit data...
math-ceil.js Loading commit data...
math-exp-precision.js Loading commit data...
math-floor-negative.js Loading commit data...
math-floor-of-div-minus-zero.js Loading commit data...
math-floor-of-div-nosudiv.js Loading commit data...
math-floor-of-div.js Loading commit data...
math-floor-part1.js Loading commit data...
math-floor-part2.js Loading commit data...
math-floor-part3.js Loading commit data...
math-floor-part4.js Loading commit data...
math-imul.js Loading commit data...
math-min-max.js Loading commit data...
math-pow.js Loading commit data...
math-round.js Loading commit data...
math-sqrt.js Loading commit data...
md5.js Loading commit data...
megamorphic-callbacks.js Loading commit data...
messages.js Loading commit data...
migrations.js Loading commit data...
mjsunit-assertion-error.js Loading commit data...
mjsunit.gyp Loading commit data...
mjsunit.isolate Loading commit data...
mjsunit.js Loading commit data...
mjsunit.status Loading commit data...
mod-range.js Loading commit data...
mod.js Loading commit data...
modules-circular-valid.js Loading commit data...
modules-cycle.js Loading commit data...
modules-default-name1.js Loading commit data...
modules-default-name2.js Loading commit data...
modules-default-name3.js Loading commit data...
modules-default-name4.js Loading commit data...
modules-default-name5.js Loading commit data...
modules-default-name6.js Loading commit data...
modules-default-name7.js Loading commit data...
modules-default-name8.js Loading commit data...
modules-default-name9.js Loading commit data...
modules-default.js Loading commit data...
modules-empty-import1.js Loading commit data...
modules-empty-import2.js Loading commit data...
modules-empty-import3.js Loading commit data...
modules-empty-import4.js Loading commit data...
modules-error-trace.js Loading commit data...
modules-exports1.js Loading commit data...
modules-exports2.js Loading commit data...
modules-exports3.js Loading commit data...
modules-imports1.js Loading commit data...
modules-imports2.js Loading commit data...
modules-imports3.js Loading commit data...
modules-imports4.js Loading commit data...
modules-imports5.js Loading commit data...
modules-imports6.js Loading commit data...
modules-imports7.js Loading commit data...
modules-init1.js Loading commit data...
modules-init2.js Loading commit data...
modules-init3.js Loading commit data...
modules-namespace1.js Loading commit data...
modules-namespace2.js Loading commit data...
modules-namespace3.js Loading commit data...
modules-namespace4.js Loading commit data...
modules-preparse.js Loading commit data...
modules-relative-path.js Loading commit data...
modules-skip-1.js Loading commit data...
modules-skip-2.js Loading commit data...
modules-skip-3.js Loading commit data...
modules-skip-4.js Loading commit data...
modules-skip-5.js Loading commit data...
modules-skip-6.js Loading commit data...
modules-skip-7.js Loading commit data...
modules-skip-circular-valid.js Loading commit data...
modules-skip-cycle.js Loading commit data...
modules-skip-default-name1.js Loading commit data...
modules-skip-default-name2.js Loading commit data...
modules-skip-default-name3.js Loading commit data...
modules-skip-default-name4.js Loading commit data...
modules-skip-default-name5.js Loading commit data...
modules-skip-default-name6.js Loading commit data...
modules-skip-default-name7.js Loading commit data...
modules-skip-default-name8.js Loading commit data...
modules-skip-default-name9.js Loading commit data...
modules-skip-empty-import-aux.js Loading commit data...
modules-skip-empty-import.js Loading commit data...
modules-skip-init1.js Loading commit data...
modules-skip-init3.js Loading commit data...
modules-skip-namespace.js Loading commit data...
modules-skip-star-exports-conflict.js Loading commit data...
modules-skip-star-exports-cycle.js Loading commit data...
modules-star-exports-cycle.js Loading commit data...
modules-this.js Loading commit data...
modules-turbo1.js Loading commit data...
modules-turbo2.js Loading commit data...
mul-exhaustive-part1.js Loading commit data...
mul-exhaustive-part10.js Loading commit data...
mul-exhaustive-part2.js Loading commit data...
mul-exhaustive-part3.js Loading commit data...
mul-exhaustive-part4.js Loading commit data...
mul-exhaustive-part5.js Loading commit data...
mul-exhaustive-part6.js Loading commit data...
mul-exhaustive-part7.js Loading commit data...
mul-exhaustive-part8.js Loading commit data...
mul-exhaustive-part9.js Loading commit data...
multiline.js Loading commit data...
multiple-return.js Loading commit data...
nans.js Loading commit data...
negate-zero.js Loading commit data...
negate.js Loading commit data...
neuter-twice.js Loading commit data...
never-baseline.js Loading commit data...
never-optimize.js Loading commit data...
new-function.js Loading commit data...
new.js Loading commit data...
newline-in-string.js Loading commit data...
no-branch-elimination.js Loading commit data...
no-octal-constants-above-256.js Loading commit data...
no-semicolon.js Loading commit data...
non-ascii-replace.js Loading commit data...
noopt.js Loading commit data...
not.js Loading commit data...
nul-characters.js Loading commit data...
number-is.js Loading commit data...
number-isnan-opt.js Loading commit data...
number-limits.js Loading commit data...
number-literal.js Loading commit data...
number-string-index-call.js Loading commit data...
number-tostring-add.js Loading commit data...
number-tostring-big-integer.js Loading commit data...
number-tostring-func.js Loading commit data...
number-tostring-small.js Loading commit data...
number-tostring.js Loading commit data...
numops-fuzz-part1.js Loading commit data...
numops-fuzz-part2.js Loading commit data...
numops-fuzz-part3.js Loading commit data...
numops-fuzz-part4.js Loading commit data...
obj-construct.js Loading commit data...
object-create.js Loading commit data...
object-define-properties.js Loading commit data...
object-define-property.js Loading commit data...
object-freeze-global.js Loading commit data...
object-freeze.js Loading commit data...
object-get-own-property-names.js Loading commit data...
object-is.js Loading commit data...
object-keys.js Loading commit data...
object-literal-conversions.js Loading commit data...
object-literal-gc.js Loading commit data...
object-literal-multiple-fields.js Loading commit data...
object-literal-multiple-proto-fields.js Loading commit data...
object-literal-overwrite.js Loading commit data...
object-literal.js Loading commit data...
object-prevent-extensions.js Loading commit data...
object-seal-global.js Loading commit data...
object-seal.js Loading commit data...
object-toprimitive.js Loading commit data...
omit-constant-mapcheck.js Loading commit data...
opt-elements-kind.js Loading commit data...
optimized-foreach-holey-2.js Loading commit data...
optimized-foreach-holey-3.js Loading commit data...
optimized-foreach-holey.js Loading commit data...
optimized-foreach.js Loading commit data...
optimized-map.js Loading commit data...
optimized-typeof.js Loading commit data...
osr-elements-kind.js Loading commit data...
outobject-double-for-in.js Loading commit data...
override-read-only-property.js Loading commit data...
packed-elements.js Loading commit data...
parallel-optimize-disabled.js Loading commit data...
parse-int-float.js Loading commit data...
parse-surrogates.js Loading commit data...
parse-tasks.js Loading commit data...
pixel-array-rounding.js Loading commit data...
polymorph-arrays.js Loading commit data...
preparse-toplevel-strict-eval.js Loading commit data...
primitive-keyed-access.js Loading commit data...
print.js Loading commit data...
property-load-across-eval.js Loading commit data...
property-name-eval-arguments.js Loading commit data...
property-object-key.js Loading commit data...
proto-accessor.js Loading commit data...
proto-elements-add-during-foreach.js Loading commit data...
proto.js Loading commit data...
prototype-changes.js Loading commit data...
prototype-non-existing.js Loading commit data...
prototype.js Loading commit data...
random-bit-correlations.js Loading commit data...
readonly-accessor.js Loading commit data...
readonly.js Loading commit data...
realm-property-access.js Loading commit data...
receiver-in-with-calls.js Loading commit data...
recursive-store-opt.js Loading commit data...
regexp-UC16.js Loading commit data...
regexp-cache-replace.js Loading commit data...
regexp-call-as-function.js Loading commit data...
regexp-capture-3.js Loading commit data...
regexp-capture.js Loading commit data...
regexp-captures.js Loading commit data...
regexp-compile.js Loading commit data...
regexp-global.js Loading commit data...
regexp-indexof.js Loading commit data...
regexp-lastIndex.js Loading commit data...
regexp-lookahead.js Loading commit data...
regexp-loop-capture.js Loading commit data...
regexp-multiline.js Loading commit data...
regexp-regexpexec.js Loading commit data...
regexp-results-cache.js Loading commit data...
regexp-sort.js Loading commit data...
regexp-stack-overflow.js Loading commit data...
regexp-standalones.js Loading commit data...
regexp-static.js Loading commit data...
regexp-string-methods.js Loading commit data...
regexp.js Loading commit data...
result-table-max.js Loading commit data...
result-table-min.js Loading commit data...
samevalue.js Loading commit data...
scanner.js Loading commit data...
scope-calls-eval.js Loading commit data...
search-string-multiple.js Loading commit data...
serialize-embedded-error.js Loading commit data...
serialize-ic.js Loading commit data...
setter-on-constructor-prototype.js Loading commit data...
setters-on-elements.js Loading commit data...
shared-function-tier-up-turbo.js Loading commit data...
shift-for-integer-div.js Loading commit data...
shifts.js Loading commit data...
short-circuit-boolean.js Loading commit data...
simple-constructor.js Loading commit data...
sin-cos.js Loading commit data...
skipping-inner-functions.js Loading commit data...
smi-mul-const.js Loading commit data...
smi-mul.js Loading commit data...
smi-negative-zero.js Loading commit data...
smi-ops-inlined.js Loading commit data...
smi-ops.js Loading commit data...
smi-representation.js Loading commit data...
sparse-array-reverse.js Loading commit data...
sparse-array.js Loading commit data...
stack-overflow-arity-catch-noinline.js Loading commit data...
stack-traces-2.js Loading commit data...
stack-traces-custom-lazy.js Loading commit data...
stack-traces-custom.js Loading commit data...
stack-traces-overflow.js Loading commit data...
stack-traces.js Loading commit data...
store-dictionary.js Loading commit data...
str-to-num.js Loading commit data...
stress-array-push.js Loading commit data...
strict-equals.js Loading commit data...
strict-mode-eval.js Loading commit data...
strict-mode-implicit-receiver.js Loading commit data...
strict-mode-opt.js Loading commit data...
strict-mode.js Loading commit data...
string-add.js Loading commit data...
string-case.js Loading commit data...
string-charat.js Loading commit data...
string-charcodeat.js Loading commit data...
string-compare-alignment.js Loading commit data...
string-concat.js Loading commit data...
string-external-cached.js Loading commit data...
string-externalize.js Loading commit data...
string-flatten.js Loading commit data...
string-fromcharcode.js Loading commit data...
string-index.js Loading commit data...
string-indexof-1.js Loading commit data...
string-indexof-2.js Loading commit data...
string-lastindexof.js Loading commit data...
string-localecompare.js Loading commit data...
string-match.js Loading commit data...
string-normalize.js Loading commit data...
string-oom-array-join.js Loading commit data...
string-oom-concat.js Loading commit data...
string-oom-replace-global-regexp-with-string.js Loading commit data...
string-oom-replace-regexp-global-with-function.js Loading commit data...
string-replace-gc.js Loading commit data...
string-replace-one-char.js Loading commit data...
string-replace-with-empty.js Loading commit data...
string-replace.js Loading commit data...
string-search.js Loading commit data...
string-slices-regexp.js Loading commit data...
string-slices.js Loading commit data...
string-split-cache.js Loading commit data...
string-split.js Loading commit data...
string-wrapper.js Loading commit data...
strong-rooted-literals.js Loading commit data...
substr.js Loading commit data...
sum-0-plus-undefined-is-NaN.js Loading commit data...
switch-opt.js Loading commit data...
switch.js Loading commit data...
test-builtins-setup.js Loading commit data...
testcfg.py Loading commit data...
thin-strings.js Loading commit data...
this-dynamic-lookup.js Loading commit data...
this-in-callbacks.js Loading commit data...
this-property-assignment.js Loading commit data...
this.js Loading commit data...
throw-and-catch-function.js Loading commit data...
throw-exception-for-null-access.js Loading commit data...
to-precision.js Loading commit data...
to_number_order.js Loading commit data...
tobool.js Loading commit data...
toint32.js Loading commit data...
top-level-assignments.js Loading commit data...
touint32.js Loading commit data...
track-fields.js Loading commit data...
transcendentals.js Loading commit data...
transition-elements-kind.js Loading commit data...
try-catch-extension-object.js Loading commit data...
try-catch-scopes.js Loading commit data...
try-finally-continue.js Loading commit data...
try-finally-nested.js Loading commit data...
try.js Loading commit data...
typed-array-slice.js Loading commit data...
typeof.js Loading commit data...
unary-minus-deopt.js Loading commit data...
unbox-double-arrays.js Loading commit data...
unbox-double-field-indexed.js Loading commit data...
unbox-double-field.js Loading commit data...
unbox-smi-field-indexed.js Loading commit data...
unbox-smi-field.js Loading commit data...
undeletable-functions.js Loading commit data...
undetectable-compare.js Loading commit data...
undetectable.js Loading commit data...
unicode-case-overoptimization.js Loading commit data...
unicode-string-to-number.js Loading commit data...
unicode-test.js Loading commit data...
unicodelctest-no-optimization.js Loading commit data...
unicodelctest.js Loading commit data...
unused-context-in-with.js Loading commit data...
unusual-constructor.js Loading commit data...
uri.js Loading commit data...
value-callic-prototype-change.js Loading commit data...
value-of.js Loading commit data...
value-wrapper-accessor.js Loading commit data...
value-wrapper.js Loading commit data...
var.js Loading commit data...
verify-assert-false.js Loading commit data...
verify-check-false.js Loading commit data...
whitespaces.js Loading commit data...
with-function-expression.js Loading commit data...
with-leave.js Loading commit data...
with-parameter-access.js Loading commit data...
with-prototype.js Loading commit data...
with-readonly.js Loading commit data...
with-value.js Loading commit data...