• ahaas's avatar
    [wasm] Introduce the TrapIf and TrapUnless operators to generate trap code. · 7bd61b60
    ahaas authored
    Some instructions in WebAssembly trap for some inputs, which means that the
    execution is terminated and (at least at the moment) a JavaScript exception is
    thrown. Examples for traps are out-of-bounds memory accesses, or integer
    divisions by zero.
    
    Without the TrapIf and TrapUnless operators trap check in WebAssembly introduces 5
    TurboFan nodes (branch, if_true, if_false, trap-reason constant, trap-position
    constant), in addition to the trap condition itself. Additionally, each
    WebAssembly function has four TurboFan nodes (merge, effect_phi, 2 phis) whose
    number of inputs is linear to the number of trap checks in the function.
    Especially for functions with high numbers of trap checks we observe a
    significant slowdown in compilation time, down to 0.22 MiB/s in the sqlite
    benchmark instead of the average of 3 MiB/s in other benchmarks. By introducing
    a TrapIf common operator only a single node is necessary per trap check, in
    addition to the trap condition. Also the nodes which are shared between trap
    checks (merge, effect_phi, 2 phis) would disappear. First measurements suggest a
    speedup of 30-50% on average.
    
    This CL only implements TrapIf and TrapUnless on x64. The implementation is also
    hidden behind the --wasm-trap-if flag.
    
    Please take a special look at how the source position is transfered from the
    instruction selector to the code generator, and at the context that is used for
    the runtime call.
    
    R=titzer@chromium.org
    
    Review-Url: https://codereview.chromium.org/2562393002
    Cr-Commit-Position: refs/heads/master@{#41720}
    7bd61b60
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...
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-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-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...
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...
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...
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...
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-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...
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...
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...
if-in-undefined.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-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...
keywords-and-reserved_words.js Loading commit data...
large-object-allocation.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...
minmax-simple.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-debug-scopes1.js Loading commit data...
modules-debug-scopes2.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-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-turbo.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-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...
not.js Loading commit data...
nul-characters.js Loading commit data...
number-is.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-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-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...
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.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-default.js Loading commit data...
shared-function-tier-up-ignition.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...
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...
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...
testcfg.py 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...