WebKit Bugzilla
Attachment 342871 Details for
Bug 186715
: JSTests/stress should have a testingLoopCount variable
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-186715-20180615200912.patch (text/plain), 800.26 KB, created by
Keith Miller
on 2018-06-15 20:09:13 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Keith Miller
Created:
2018-06-15 20:09:13 PDT
Size:
800.26 KB
patch
obsolete
>Subversion Revision: 232894 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 8269510ccccf9e87a1b566b5a455d82f6e5bd852..18106c868c9b6d1d51947281fdaeb2a6e229ef1f 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,22 @@ >+2018-06-15 Keith Miller <keith_miller@apple.com> >+ >+ JSTests/stress should have a testingLoopCount variable >+ https://bugs.webkit.org/show_bug.cgi?id=186715 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This patch adds a new value to $vm that picks a reasonable number >+ of iterations for our tier up loops that defaults to 10/100/1000 >+ if running in the llint/baseline/optimizing tiers of the >+ engine. All these numbers are multiplied by 10 if the concurrent >+ jit is on. >+ >+ * runtime/Options.cpp: >+ (JSC::recomputeDependentOptions): >+ * runtime/Options.h: >+ * tools/JSDollarVM.cpp: >+ (JSC::JSDollarVM::finishCreation): >+ > 2018-06-15 Saam Barati <sbarati@apple.com> > > Make ForceOSRExit CFG pruning in bytecode parser more aggressive by making the original block to ignore be the plan's osrEntryBytecodeIndex >diff --git a/Source/JavaScriptCore/runtime/Options.cpp b/Source/JavaScriptCore/runtime/Options.cpp >index 4b3a0e9cd455500101c27ac030d17bc13967eb1c..15c163a83c6db3a563937a970d97acafb00ee48b 100644 >--- a/Source/JavaScriptCore/runtime/Options.cpp >+++ b/Source/JavaScriptCore/runtime/Options.cpp >@@ -387,7 +387,7 @@ static void recomputeDependentOptions() > #if !ENABLE(FTL_JIT) > Options::useFTLJIT() = false; > #endif >- >+ > #if !CPU(X86_64) && !CPU(ARM64) > Options::useConcurrentGC() = false; > #endif >@@ -503,6 +503,15 @@ static void recomputeDependentOptions() > // https://bugs.webkit.org/show_bug.cgi?id=177956 > Options::useProbeOSRExit() = false; > #endif >+ >+ if (!Options::useJIT()) >+ Options::testingLoopCount() = 10; >+ else if (!Options::useDFGJIT()) >+ Options::testingLoopCount() = 100; >+ else >+ Options::testingLoopCount() = 1000; >+ if (Options::useConcurrentJIT()) >+ Options::testingLoopCount() *= 10; > } > > void Options::initialize() >diff --git a/Source/JavaScriptCore/runtime/Options.h b/Source/JavaScriptCore/runtime/Options.h >index 7e8c954f0abe533a3c7b25f2a890eaa404b25e01..d260de1f611191e68f930fcd90fd1258b003b847 100644 >--- a/Source/JavaScriptCore/runtime/Options.h >+++ b/Source/JavaScriptCore/runtime/Options.h >@@ -350,6 +350,7 @@ constexpr bool enableWebAssemblyStreamingApi = false; > \ > v(int32, evalThresholdMultiplier, 10, Normal, nullptr) \ > v(unsigned, maximumEvalCacheableSourceLength, 256, Normal, nullptr) \ >+ v(unsigned, testingLoopCount, 1, Normal, "Sets the loop count we use for most testing.") /* This gets set based on what tiers are enabled. */\ > \ > v(bool, randomizeExecutionCountsBetweenCheckpoints, false, Normal, nullptr) \ > v(int32, maximumExecutionCountsBetweenCheckpointsForBaseline, 1000, Normal, nullptr) \ >diff --git a/Source/JavaScriptCore/tools/JSDollarVM.cpp b/Source/JavaScriptCore/tools/JSDollarVM.cpp >index 96204c6e9329e8d1add4d7a2734e37dd00d10639..734dfcc7d75372d768d99312a12e30f9c79f3ed9 100644 >--- a/Source/JavaScriptCore/tools/JSDollarVM.cpp >+++ b/Source/JavaScriptCore/tools/JSDollarVM.cpp >@@ -1793,6 +1793,8 @@ void JSDollarVM::finishCreation(VM& vm) > JSDollarVM::addConstructibleFunction(vm, globalObject, name, function, arguments); > }; > >+ putDirectWithoutTransition(vm, Identifier::fromString(&vm, "testingLoopCount"), jsNumber(Options::testingLoopCount())); >+ > addFunction(vm, "abort", functionCrash, 0); > addFunction(vm, "crash", functionCrash, 0); > addFunction(vm, "breakpoint", functionBreakpoint, 0); >diff --git a/JSTests/ChangeLog b/JSTests/ChangeLog >index 1e3361169b6966070b13c2386d5ef3798a82589b..39926756c7b864a3559b97d14104ad945d89ec10 100644 >--- a/JSTests/ChangeLog >+++ b/JSTests/ChangeLog >@@ -1,3 +1,1236 @@ >+2018-06-15 Keith Miller <keith_miller@apple.com> >+ >+ JSTests/stress should have a testingLoopCount variable >+ https://bugs.webkit.org/show_bug.cgi?id=186715 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Update tests to use $vm.testingLoopCount instead of a random constant. >+ >+ * stress/IIFE-es6-default-parameters.js: >+ * stress/IIFE-function-name-captured.js: >+ * stress/OverrideHasInstance-should-not-branch-across-register-allocations.js: >+ * stress/SharedArrayBuffer-opt.js: >+ * stress/add-constant-overflow-recovery.js: >+ * stress/add-inferred-type-table-to-existing-structure.js: >+ * stress/add-int52-constant-overflow-recovery.js: >+ * stress/add-int52-large-constant-overflow-recovery.js: >+ * stress/add-overflow-recovery.js: >+ * stress/add-overflows-after-not-equal.js: >+ * stress/add-small-constant-overflow-recovery.js: >+ * stress/ai-consistency-filter-cells.js: >+ * stress/ai-create-this-to-new-object.js: >+ (check): >+ (test.body): >+ * stress/allocation-sinking-defs-may-have-replacements.js: >+ * stress/allocation-sinking-new-object-with-poly-proto.js: >+ * stress/allocation-sinking-puthint-control-flow.js: >+ * stress/allow-math-ic-b3-code-duplication.js: >+ (test1): >+ (test2): >+ (test3): >+ (test4): >+ * stress/any-int-as-double-add.js: >+ * stress/apply-second-argument-must-be-array-like.js: >+ (shouldThrow): >+ (shouldNotThrow): >+ * stress/argument-count-bytecode.js: >+ * stress/arguments-callee-uninitialized.js: >+ * stress/arguments-captured.js: >+ * stress/arguments-copy-register-array-backing-store.js: >+ * stress/arguments-custom-properties-gc.js: >+ * stress/arguments-elimination-varargs-too-many-args-arg-count.js: >+ * stress/arguments-exit-fixed.js: >+ * stress/arguments-exit-strict-mode-fixed.js: >+ * stress/arguments-exit-strict-mode.js: >+ * stress/arguments-exit.js: >+ * stress/arguments-inlined-exit-strict-mode-fixed.js: >+ * stress/arguments-inlined-exit-strict-mode.js: >+ * stress/arguments-inlined-exit.js: >+ * stress/arith-clz32-effects.js: >+ * stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js: >+ * stress/arity-check-ftl-throw-more-args.js: >+ * stress/arity-check-ftl-throw.js: >+ * stress/arity-fixup-inlining-dont-generate-invalid-use.js: >+ * stress/array-concat-fast-spread-proxy.js: >+ * stress/array-concat-spread-object.js: >+ * stress/array-concat-spread-proxy-exception-check.js: >+ * stress/array-concat-spread-proxy.js: >+ * stress/array-concat-with-slow-indexingtypes.js: >+ * stress/array-constructor-no-result.js: >+ * stress/array-from-abs-and-floor.js: >+ * stress/array-indexof-object.js: >+ * stress/array-indexof-string.js: >+ * stress/array-indexof.js: >+ * stress/array-length-array-storage-plain-object.js: >+ * stress/array-length-plain-object.js: >+ * stress/array-pop-contiguous.js: >+ * stress/array-pop-double-hole.js: >+ * stress/array-pop-double.js: >+ * stress/array-pop-int32.js: >+ * stress/array-push-contiguous.js: >+ * stress/array-push-double-then-nan.js: >+ * stress/array-push-double.js: >+ * stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js: >+ * stress/array-push-nan-to-double-array.js: >+ * stress/array-push.js: >+ * stress/array-reverse-doesnt-clobber.js: >+ (testArrayReverse): >+ * stress/array-reverse-proxy.js: >+ (test): >+ * stress/array-slice-intrinsic.js: >+ * stress/array-slice-jettison-on-constructor-change.js: >+ (runTests): >+ * stress/array-slice-osr-exit-2.js: >+ (runTests): >+ * stress/array-slice-osr-exit.js: >+ (runTests): >+ * stress/array-symbol-species-lazy-watchpoints.js: >+ * stress/arrayify-array-storage-typed-array.js: >+ * stress/arrayify-fires-watchpoint.js: >+ * stress/arrayify-int32-typed-array.js: >+ * stress/arrayify-structure-bad-test.js: >+ * stress/arrayify-to-structure-contradiction.js: >+ * stress/arrayprofile-should-not-convert-get-by-val-cow.js: >+ * stress/arrow-function-needs-its-own-structure.js: >+ (noInline): >+ * stress/arrowfunction-lexical-bind-arguments-non-strict-1.js: >+ * stress/arrowfunction-lexical-bind-arguments-non-strict-2.js: >+ (test): >+ * stress/arrowfunction-lexical-bind-arguments-strict.js: >+ (test): >+ * stress/arrowfunction-lexical-bind-newtarget.js: >+ (noInline.getTarget): >+ * stress/arrowfunction-lexical-bind-supercall-1.js: >+ * stress/arrowfunction-lexical-bind-supercall-2.js: >+ * stress/arrowfunction-lexical-bind-supercall-3.js: >+ * stress/arrowfunction-lexical-bind-supercall-4.js: >+ * stress/arrowfunction-lexical-bind-superproperty.js: >+ * stress/arrowfunction-lexical-bind-this-2.js: >+ * stress/arrowfunction-lexical-bind-this-7.js: >+ * stress/arrowfunction-lexical-bind-this-8.js: >+ * stress/arrowfunction-lexical-this-sinking-no-double-allocate.js: >+ * stress/arrowfunction-lexical-this-sinking-osrexit.js: >+ * stress/arrowfunction-lexical-this-sinking-put.js: >+ * stress/arrowfunction-prototype.js: >+ * stress/arrowfunction-sinking-no-double-allocate.js: >+ * stress/arrowfunction-sinking-osrexit.js: >+ * stress/arrowfunction-sinking-put.js: >+ * stress/arrowfunction-tdz-1.js: >+ * stress/arrowfunction-tdz-2.js: >+ * stress/arrowfunction-tdz-3.js: >+ * stress/arrowfunction-tdz-4.js: >+ * stress/arrowfunction-tostring.js: >+ * stress/arrowfunction-typeof.js: >+ * stress/assign-argument-in-inlined-call.js: >+ * stress/assign-captured-argument-in-inlined-call.js: >+ * stress/async-await-long-loop.js: >+ (async.longLoop): >+ * stress/async-function-declaration-sinking-no-double-allocate.js: >+ * stress/async-function-declaration-sinking-osrexit.js: >+ * stress/async-function-declaration-sinking-put.js: >+ * stress/async-function-expression-sinking-no-double-allocate.js: >+ * stress/async-function-expression-sinking-osrexit.js: >+ * stress/async-function-expression-sinking-put.js: >+ * stress/atomics-known-int-use.js: >+ * stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js: >+ * stress/big-int-addition-jit.js: >+ * stress/big-int-addition-memory-stress.js: >+ * stress/big-int-constructor-gc.js: >+ * stress/big-int-constructor.js: >+ * stress/big-int-div-jit.js: >+ * stress/big-int-div-memory-stress.js: >+ * stress/big-int-greater-than-jit.js: >+ * stress/big-int-greater-than-or-equal-jit.js: >+ * stress/big-int-less-than-jit.js: >+ * stress/big-int-less-than-or-equal-jit.js: >+ * stress/big-int-mod-jit.js: >+ * stress/big-int-mod-memory-stress.js: >+ * stress/big-int-mul-jit.js: >+ * stress/big-int-multiply-memory-stress.js: >+ * stress/big-int-negate-jit.js: >+ * stress/big-int-spec-to-primitive.js: >+ * stress/big-int-spec-to-this.js: >+ * stress/big-int-strict-equals-jit.js: >+ * stress/big-int-strict-spec-to-this.js: >+ * stress/big-int-subtraction-jit.js: >+ * stress/big-int-type-of-proven-type.js: >+ * stress/bit-op-value-to-int32-input-liveness.js: >+ * stress/bound-function-lazy-name-generation.js: >+ * stress/branch-check-int32-on-boolean-to-number-untyped.js: >+ * stress/branch-check-number-on-boolean-to-number-untyped.js: >+ * stress/branch-may-exit-due-to-object-or-other-use-kind.js: >+ * stress/bug-131764.js: >+ * stress/bug-171786.js: >+ * stress/builtin-function-is-construct-type-none.js: >+ * stress/call-apply-exponential-bytecode-size.js: >+ * stress/call-forward-varargs-for-inlined-escaped-arguments.js: >+ * stress/call-object-constructor.js: >+ * stress/call-varargs-double-new-array-buffer.js: >+ * stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js: >+ * stress/call-varargs-from-inlined-code.js: >+ * stress/call-varargs-length-effects.js: >+ * stress/call-varargs-spread-new-array-buffer.js: >+ * stress/call-varargs-spread-new-array-buffer2.js: >+ * stress/call-varargs-spread.js: >+ * stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js: >+ * stress/capture-escape-and-throw.js: >+ * stress/captured-arguments-variable.js: >+ * stress/catch-set-argument-speculation-failure.js: >+ (noInline.run): >+ (noInline): >+ * stress/catch-variables-under-tdz.js: >+ (test): >+ * stress/check-dom-with-signature.js: >+ * stress/check-string-ident.js: >+ * stress/check-sub-class.js: >+ * stress/chill-mod-chill-mod.js: >+ * stress/class-subclassing-array.js: >+ * stress/class-subclassing-function.js: >+ * stress/class-subclassing-misc.js: >+ * stress/class-subclassing-string.js: >+ * stress/class-subclassing-typedarray.js: >+ * stress/class-syntax-double-constructor.js: >+ * stress/class-syntax-no-loop-tdz.js: >+ * stress/class-syntax-no-tdz-in-catch.js: >+ * stress/class-syntax-no-tdz-in-conditional.js: >+ * stress/class-syntax-no-tdz-in-loop-no-inline-super.js: >+ (B): >+ * stress/class-syntax-no-tdz-in-loop.js: >+ (B): >+ * stress/class-syntax-no-tdz.js: >+ * stress/class-syntax-super-in-eval.js: >+ * stress/class-syntax-tdz-in-catch.js: >+ * stress/class-syntax-tdz-in-conditional.js: >+ * stress/class-syntax-tdz-in-loop.js: >+ (B): >+ * stress/class-syntax-tdz.js: >+ * stress/clobberize-needs-to-model-spread-effects.js: >+ * stress/cloned-arguments-elimination.js: >+ * stress/cloned-arguments-get-by-val-double-array.js: >+ * stress/cloned-arguments-modification.js: >+ * stress/closure-call-exit.js: >+ * stress/closure-recursive-tail-call.js: >+ * stress/compare-clobber-untypeduse.js: >+ * stress/compare-eq-incomplete-profile.js: >+ * stress/compare-eq-object-or-other-to-object.js: >+ * stress/compare-eq-object-to-object-or-other.js: >+ * stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js: >+ * stress/compare-strict-eq-integer-to-misc.js: >+ * stress/computed-function-names.js: >+ * stress/constant-fold-multi-get-by-offset-to-get-by-offset-on-prototype-and-sink-allocation.js: >+ * stress/constant-folding-osr-exit.js: >+ * stress/construct-forward-varargs-for-inlined-escaped-arguments.js: >+ * stress/construct-varargs-inline-smaller-Foo.js: >+ * stress/construct-varargs-inline.js: >+ * stress/construct-varargs-no-inline.js: >+ * stress/constructor-with-return.js: >+ * stress/cow-convert-contiguous-to-array-storage.js: >+ * stress/cow-convert-double-to-array-storage.js: >+ * stress/cow-convert-double-to-contiguous.js: >+ * stress/cow-convert-int32-to-array-storage.js: >+ * stress/cow-convert-int32-to-contiguous.js: >+ * stress/cow-convert-int32-to-double.js: >+ * stress/create-rest-while-having-a-bad-time.js: >+ * stress/create-this-property-change.js: >+ * stress/create-this-structure-change-without-cse.js: >+ * stress/create-this-structure-change.js: >+ * stress/cse-multi-get-by-offset-remove-checks.js: >+ * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js: >+ (set get for): >+ * stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js: >+ * stress/dead-access-to-captured-variable-preceded-by-a-live-store.js: >+ * stress/dead-fiat-double-to-int52-then-exit-not-int52.js: >+ * stress/dead-fiat-double-to-int52.js: >+ * stress/dead-fiat-int32-to-int52.js: >+ * stress/dead-fiat-value-to-int52-double-path.js: >+ * stress/dead-fiat-value-to-int52-then-exit-not-double.js: >+ * stress/dead-fiat-value-to-int52-then-exit-not-int52.js: >+ * stress/dead-fiat-value-to-int52.js: >+ * stress/dead-get-closure-var.js: >+ * stress/dead-int32-to-double.js: >+ (foo): >+ * stress/dead-osr-entry-value.js: >+ (foo): >+ * stress/dead-speculating-argument-use.js: >+ * stress/dead-uint32-to-number.js: >+ (foo): >+ * stress/dead-value-with-mov-hint-in-another-block.js: >+ * stress/delete-by-val.js: >+ * stress/delete-to-object-exception.js: >+ * stress/dfg-call-class-constructor.js: >+ * stress/dfg-del-by-id.js: >+ * stress/dfg-exception-try-catch-in-constructor-with-inlined-throw.js: >+ * stress/dfg-get-by-id-should-not-assert-non-null-prediction.js: >+ (test): >+ * stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js: >+ * stress/dfg-put-accessors-by-id-class.js: >+ * stress/dfg-put-accessors-by-id.js: >+ * stress/dfg-put-by-val-direct-with-edge-numbers.js: >+ * stress/dfg-put-getter-by-id-class.js: >+ * stress/dfg-put-getter-by-id.js: >+ * stress/dfg-put-getter-by-val-class.js: >+ * stress/dfg-put-getter-by-val.js: >+ * stress/dfg-put-setter-by-id-class.js: >+ * stress/dfg-put-setter-by-id.js: >+ * stress/dfg-put-setter-by-val-class.js: >+ * stress/dfg-put-setter-by-val.js: >+ * stress/dfg-rare-data.js: >+ * stress/dfg-ssa-swap.js: >+ * stress/dfg-tail-calls.js: >+ * stress/dfg-to-primitive-pass-symbol.js: >+ * stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js: >+ * stress/direct-arguments-osr-entry.js: >+ * stress/direct-arguments-out-of-bounds-change-structure.js: >+ * stress/direct-arguments-override-length-then-access-normal-length.js: >+ * stress/direct-tail-call-arity-mismatch-count-args.js: >+ * stress/disable-caching-when-lazy-materializing-error-property-on-put.js: >+ * stress/disable-function-dot-arguments.js: >+ (foo): >+ * stress/disable-gigacage-arrays.js: >+ * stress/disable-gigacage-strings.js: >+ * stress/disable-gigacage-typed-arrays.js: >+ * stress/dom-jit-with-poly-proto.js: >+ * stress/domjit-getter-super-poly.js: >+ * stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js: >+ * stress/dont-constant-fold-check-type-info-on-bound-function.js: >+ * stress/dont-crash-ftl-osr-entry.js: >+ (f_1): >+ * stress/dont-crash-in-cfg-simplification.js: >+ * stress/dont-crash-when-hoist-check-structure-on-tdz.js: >+ * stress/dont-dead-lock-put-by-val-as-put-by-id.js: >+ * stress/dont-run-cleanup-after-licm.js: >+ (foo): >+ * stress/dont-strength-reduce-valuerep-of-doublerep.js: >+ * stress/dont-unwind-past-vm-entry-frame.js: >+ (start): >+ * stress/double-array-to-array-storage.js: >+ * stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js: >+ * stress/empty-function.js: >+ * stress/equals-masquerader.js: >+ * stress/es6-default-parameters.js: >+ (assert.method): >+ * stress/es6-for-of-loop-exception.js: >+ * stress/escape-object-in-diamond-then-exit.js: >+ * stress/eval-func-decl-block-with-remove.js: >+ * stress/eval-func-decl-block-with-var-and-remove.js: >+ * stress/eval-func-decl-block-with-var-sinthesize.js: >+ * stress/eval-func-decl-in-eval-within-block-with-let.js: >+ (goo): >+ * stress/eval-func-decl-in-eval-within-with-scope.js: >+ (boo): >+ (assert): >+ * stress/eval-func-decl-in-global-of-eval.js: >+ * stress/eval-func-decl-within-eval-with-reassign-to-var.js: >+ * stress/eval-func-decl-within-eval-without-reassign-to-let.js: >+ (goo): >+ * stress/eval-in-arrow-function.js: >+ * stress/eval-script-contains-null-character.js: >+ * stress/eval-that-is-not-eval.js: >+ * stress/exception-dfg-inlined-frame-not-strict-equal.js: >+ * stress/exception-dfg-not-strict-equal.js: >+ * stress/exception-dfg-operation-read-value.js: >+ * stress/exception-effect-strcat.js: >+ * stress/exception-in-strcat-string-overflow.js: >+ * stress/exception-in-strcat.js: >+ * stress/exception-in-to-property-key-should-be-handled-early.js: >+ * stress/exit-after-int32-to-double.js: >+ * stress/exit-after-int52-to-double.js: >+ * stress/exit-after-int52-to-value.js: >+ * stress/exit-after-llvm-folds-large-int-constant.js: >+ * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: >+ * stress/exit-from-ftl-when-caller-passed-extra-args-then-use-function-dot-arguments.js: >+ * stress/exit-from-ftl-with-arity-check-fail.js: >+ * stress/exit-then-eval.js: >+ * stress/fiat-double-to-int52-then-exit-not-int52.js: >+ * stress/fiat-double-to-int52-then-fail-to-fold.js: >+ * stress/fiat-double-to-int52-then-fold.js: >+ * stress/fiat-double-to-int52.js: >+ * stress/fiat-int32-to-int52.js: >+ * stress/fiat-value-to-int52-double-path.js: >+ * stress/fiat-value-to-int52-then-exit-not-double.js: >+ * stress/fiat-value-to-int52-then-exit-not-int52.js: >+ * stress/fiat-value-to-int52-then-fail-to-fold.js: >+ * stress/fiat-value-to-int52-then-fold.js: >+ * stress/fiat-value-to-int52.js: >+ * stress/flattening-prototype-remove-butterfly.js: >+ * stress/float32-array-nan-inlined.js: >+ * stress/float32-array-nan.js: >+ * stress/float32-array-out-of-bounds.js: >+ * stress/float32-repeat-out-of-bounds.js: >+ * stress/float32array-out-of-bounds.js: >+ * stress/float64-array-nan-inlined.js: >+ * stress/float64-array-nan.js: >+ * stress/fold-based-on-int32-proof-mul-branch.js: >+ * stress/fold-based-on-int32-proof-mul.js: >+ * stress/fold-based-on-int32-proof-or-zero.js: >+ * stress/fold-based-on-int32-proof.js: >+ * stress/fold-load-varargs-arity-check-fail-barely.js: >+ * stress/fold-load-varargs-arity-check-fail.js: >+ * stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js: >+ * stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check-new.js: >+ * stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check.js: >+ * stress/fold-multi-get-by-offset-to-get-by-offset.js: >+ * stress/fold-multi-put-by-offset-to-put-by-offset-without-folding-the-structure-check.js: >+ * stress/fold-multi-put-by-offset-to-put-by-offset.js: >+ * stress/fold-profiled-call-to-call.js: >+ * stress/fold-to-double-constant-then-exit.js: >+ * stress/fold-to-int52-constant-then-exit.js: >+ * stress/fold-to-primitive-in-cfa.js: >+ * stress/fold-to-primitive-to-identity-in-cfa.js: >+ * stress/fold-typed-array-properties.js: >+ * stress/for-in-array-mode.js: >+ (test): >+ * stress/for-in-base-reassigned-later-and-change-structure.js: >+ * stress/for-in-base-reassigned-later.js: >+ * stress/for-in-base-reassigned.js: >+ * stress/for-in-capture-string-loop-var.js: >+ * stress/for-in-delete-during-iteration.js: >+ * stress/for-in-invalidate-context-weird-assignments.js: >+ (test): >+ * stress/for-in-invalidation-for-any-write.js: >+ (test): >+ * stress/for-in-modify-int-loop-var.js: >+ * stress/for-in-modify-string-loop-var.js: >+ * stress/for-in-prototype.js: >+ * stress/for-in-proxy-target-changed-structure.js: >+ * stress/for-in-proxy.js: >+ * stress/for-in-shadow-prototype-property.js: >+ * stress/for-in-string.js: >+ * stress/for-in-tests.js: >+ * stress/for-in-typed-array.js: >+ * stress/force-exit-then-eval-dfg.js: >+ * stress/force-exit-then-eval.js: >+ * stress/forward-varargs-double-new-array-buffer.js: >+ (test): >+ * stress/forward-varargs-for-inlined-escaped-arguments.js: >+ * stress/ftl-arithcos.js: >+ * stress/ftl-arithsin.js: >+ * stress/ftl-arithsqrt.js: >+ * stress/ftl-arithtan.js: >+ * stress/ftl-bit-xor-right-result-interference.js: >+ * stress/ftl-call-bad-callee-exception-interesting-live-state.js: >+ * stress/ftl-call-exception-interesting-live-state.js: >+ * stress/ftl-call-exception-no-catch.js: >+ * stress/ftl-call-exception.js: >+ * stress/ftl-call-varargs-bad-args-exception-interesting-live-state.js: >+ * stress/ftl-call-varargs-bad-callee-exception-interesting-live-state.js: >+ * stress/ftl-call-varargs-exception-interesting-live-state.js: >+ * stress/ftl-call-varargs-exception-no-catch.js: >+ * stress/ftl-call-varargs-exception.js: >+ * stress/ftl-checkin-variable.js: >+ * stress/ftl-checkin.js: >+ * stress/ftl-force-osr-exit.js: >+ * stress/ftl-function-dot-arguments-with-callee-saves.js: >+ * stress/ftl-get-by-id-getter-exception-interesting-live-state.js: >+ * stress/ftl-get-by-id-getter-exception-no-catch.js: >+ * stress/ftl-get-by-id-getter-exception.js: >+ * stress/ftl-get-by-id-slow-exception-interesting-live-state.js: >+ * stress/ftl-get-by-id-slow-exception-no-catch.js: >+ * stress/ftl-get-by-id-slow-exception.js: >+ * stress/ftl-get-my-argument-by-val-inlined-and-not-inlined.js: >+ * stress/ftl-get-my-argument-by-val-inlined.js: >+ * stress/ftl-get-my-argument-by-val.js: >+ * stress/ftl-getmyargumentslength-inline.js: >+ * stress/ftl-getmyargumentslength.js: >+ * stress/ftl-gettypedarrayoffset-simple.js: >+ * stress/ftl-gettypedarrayoffset-wasteful.js: >+ * stress/ftl-has-a-bad-time.js: >+ * stress/ftl-in-overflow.js: >+ * stress/ftl-library-inlining-exceptions-dataview.js: >+ * stress/ftl-library-inlining-random.js: >+ * stress/ftl-library-substring.js: >+ * stress/ftl-negate-zero.js: >+ * stress/ftl-new-negative-array-size.js: >+ * stress/ftl-operation-exception-interesting-live-state.js: >+ * stress/ftl-operation-exception-no-catch.js: >+ * stress/ftl-operation-exception.js: >+ * stress/ftl-put-by-id-setter-exception-interesting-live-state.js: >+ * stress/ftl-put-by-id-setter-exception-no-catch.js: >+ * stress/ftl-put-by-id-setter-exception.js: >+ * stress/ftl-put-by-id-slow-exception-interesting-live-state.js: >+ * stress/ftl-put-by-id-slow-exception-no-catch.js: >+ * stress/ftl-put-by-id-slow-exception.js: >+ * stress/ftl-putbyid.js: >+ * stress/ftl-putbyiddirect.js: >+ * stress/ftl-reallocatepropertystorage.js: >+ * stress/ftl-regexp-exec.js: >+ * stress/ftl-regexp-test.js: >+ * stress/ftl-shr-exception.js: >+ * stress/ftl-string-equality.js: >+ * stress/ftl-string-ident-equality.js: >+ * stress/ftl-string-strict-equality.js: >+ * stress/ftl-sub-exception.js: >+ * stress/ftl-switch-string-slow-duplicate-cases.js: >+ * stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js: >+ (test2): >+ * stress/ftl-tail-call.js: >+ * stress/ftl-to-ftl-arity-fixup.js: >+ * stress/ftl-try-catch-arith-sub-exception.js: >+ * stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js: >+ * stress/ftl-try-catch-getter-throw-interesting-value-recovery.js: >+ * stress/ftl-try-catch-getter-throw.js: >+ * stress/ftl-try-catch-oom-error-lazy-slow-path.js: >+ * stress/ftl-try-catch-patchpoint-with-volatile-registers.js: >+ * stress/ftl-try-catch-setter-throw.js: >+ * stress/ftl-try-catch-varargs-call-throws.js: >+ * stress/ftl-xor-exception.js: >+ * stress/function-configurable-properties.js: >+ (test): >+ * stress/function-expression-exit.js: >+ * stress/function-name-scope.js: >+ * stress/function-reentry-infer-on-self.js: >+ (foo): >+ * stress/function-sinking-no-double-allocate.js: >+ * stress/function-sinking-osrexit.js: >+ * stress/function-sinking-put.js: >+ * stress/fuzz-bug-16399949.js: >+ (tryItOut): >+ * stress/generator-fib-ftl-and-array.js: >+ * stress/generator-fib-ftl-and-object.js: >+ * stress/generator-fib-ftl-and-string.js: >+ * stress/generator-fib-ftl.js: >+ * stress/generator-function-declaration-sinking-no-double-allocate.js: >+ * stress/generator-function-declaration-sinking-osrexit.js: >+ * stress/generator-function-declaration-sinking-put.js: >+ * stress/generator-function-expression-sinking-no-double-allocate.js: >+ * stress/generator-function-expression-sinking-osrexit.js: >+ * stress/generator-function-expression-sinking-put.js: >+ * stress/generic-arguments-correct-delete-behavior.js: >+ * stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js: >+ * stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js: >+ * stress/get-array-length-phantom-new-array-buffer.js: >+ * stress/get-array-length-undecided.js: >+ * stress/get-by-id-throw-from-getter-through-optimized-code.js: >+ * stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js: >+ * stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js: >+ * stress/get-by-id-untyped.js: >+ * stress/get-by-offset-double.js: >+ * stress/get-by-val-double-predicted-int.js: >+ * stress/get-by-val-on-undecided-trivial.js: >+ (string_appeared_here.iterateEmptyArray): >+ (iterateOpaqueEmptyArray): >+ * stress/get-by-val-to-id-with-getter.js: >+ * stress/get-by-val-with-string-constructor.js: >+ * stress/get-by-val-with-string-exit.js: >+ * stress/get-by-val-with-string-generated.js: >+ * stress/get-by-val-with-string-getter.js: >+ * stress/get-by-val-with-string.js: >+ * stress/get-by-val-with-symbol-constructor.js: >+ * stress/get-by-val-with-symbol-exit.js: >+ * stress/get-by-val-with-symbol-getter.js: >+ * stress/get-by-val-with-symbol.js: >+ * stress/get-declared-unpassed-argument-in-direct-arguments.js: >+ * stress/get-declared-unpassed-argument-in-scoped-arguments.js: >+ * stress/get-local-elimination.js: >+ * stress/get-my-argument-by-val-constant-folding.js: >+ (test): >+ * stress/get-my-argument-by-val-creates-arguments.js: >+ * stress/get-my-argument-by-val-for-inlined-escaped-arguments.js: >+ * stress/get-my-argument-by-val-inlined-no-formal-parameters.js: >+ * stress/get-my-argument-by-val-out-of-bounds.js: >+ * stress/get-my-argument-by-val-safe-out-of-bounds.js: >+ * stress/get-my-argument-by-val-safe-wrap-around.js: >+ * stress/get-my-argument-by-val-wrap-around.js: >+ * stress/get-stack-identity-due-to-sinking.js: >+ * stress/get-stack-mapping-with-dead-get-stack.js: >+ * stress/get-stack-mapping.js: >+ * stress/getter-arity.js: >+ * stress/getter.js: >+ * stress/global-const-redeclaration-setting-2.js: >+ * stress/global-lexical-environment-to-this.js: >+ * stress/global-lexical-let-no-rhs.js: >+ * stress/global-lexical-var-injection.js: >+ * stress/global-lexical-variable-with-statement.js: >+ * stress/global-property-into-variable-get-from-scope.js: >+ * stress/goofy-function-reentry-incorrect-inference.js: >+ * stress/has-custom-properties.js: >+ * stress/has-own-property-called-on-non-object.js: >+ * stress/has-own-property-name-cache-string-keys.js: >+ * stress/has-own-property-name-cache-symbol-keys.js: >+ * stress/having-a-bad-time-with-derived-arrays.js: >+ * stress/hoist-get-by-offset-with-control-dependent-inferred-type.js: >+ (f): >+ * stress/ic-throw-through-optimized-code.js: >+ * stress/impure-get-own-property-slot-inline-cache.js: >+ * stress/in-ftl-exception-check.js: >+ * stress/indirect-call-object-constructor-with-no-arguments.js: >+ * stress/infer-uninitialized-closure-var.js: >+ (foo): >+ * stress/inferred-infinite-loop-that-uses-captured-variables.js: >+ * stress/infinite-loop-that-uses-captured-variables-before-throwing.js: >+ * stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js: >+ * stress/infinite-loop-that-uses-captured-variables.js: >+ * stress/injected-numeric-setter-on-prototype.js: >+ * stress/inline-call-that-doesnt-use-all-args.js: >+ * stress/inline-call-to-recursive-tail-call.js: >+ * stress/inline-call-varargs-and-call.js: >+ * stress/inline-call-varargs.js: >+ * stress/inline-closure-call.js: >+ * stress/inline-llint-with-switch.js: >+ * stress/inline-varargs-get-arguments.js: >+ * stress/inlined-constructor-this-liveness.js: >+ * stress/inlined-function-this-liveness.js: >+ * stress/inlined-tail-call-in-inlined-setter-should-not-crash-when-getting-value-profile.js: >+ * stress/inlining-unreachable-non-tail.js: >+ * stress/inlining-unreachable.js: >+ * stress/instance-of-on-poly-proto-opc-should-not-crash.js: >+ * stress/instanceof-custom-hasinstancesymbol.js: >+ (body): >+ * stress/instanceof-dynamic-proxy-check-structure.js: >+ * stress/instanceof-dynamic-proxy-loop.js: >+ * stress/instanceof-dynamic-proxy.js: >+ * stress/instanceof-hit-one-object-then-another.js: >+ * stress/instanceof-hit-two-objects-then-another.js: >+ * stress/instanceof-late-constant-folding.js: >+ (body): >+ * stress/instanceof-not-cell.js: >+ * stress/instanceof-prototype-change-to-hit.js: >+ * stress/instanceof-prototype-change-to-null.js: >+ * stress/instanceof-prototype-change-watchpointable.js: >+ * stress/instanceof-prototype-change.js: >+ * stress/instanceof-proxy-check-structure.js: >+ * stress/instanceof-proxy-loop.js: >+ * stress/instanceof-proxy.js: >+ * stress/instanceof.js: >+ * stress/int16-put-by-val-in-and-out-of-bounds.js: >+ * stress/int16-put-by-val-in-bounds-then-exit-out-of-bounds.js: >+ * stress/int16-put-by-val-out-of-bounds-bounds-then-do-in-bounds.js: >+ * stress/int32-object-out-of-bounds.js: >+ * stress/int32-out-of-bounds.js: >+ * stress/int52-ai-add-then-filter-int32.js: >+ * stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js: >+ * stress/int52-ai-mul-then-filter-int32-directly.js: >+ * stress/int52-ai-mul-then-filter-int32.js: >+ * stress/int52-ai-neg-then-filter-int32.js: >+ * stress/int52-ai-sub-then-filter-int32.js: >+ * stress/int52-argument.js: >+ * stress/int52-force-osr-exit-path.js: >+ * stress/int52-inlined-call-argument.js: >+ * stress/int52-variable.js: >+ * stress/int8-repeat-out-of-bounds.js: >+ * stress/invalidation-point.js: >+ * stress/inverted-additive-subsumption.js: >+ * stress/is-undefined-exit-on-masquerader.js: >+ * stress/is-undefined-jettison-on-masquerader.js: >+ * stress/is-undefined-masquerader.js: >+ * stress/isInteger-doesnt-overwrite-argument.js: >+ * stress/isLockFree.js: >+ * stress/istypedarrayview-intrinsic.js: >+ (typedArrays.forEach): >+ (let.test): >+ (test): >+ * stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js: >+ * stress/jit-cache-replace-then-cache-get-and-fold-then-invalidate.js: >+ * stress/joined-strings-should-not-exceed-max-string-length.js: >+ * stress/length-of-new-array-with-spread.js: >+ * stress/lexical-let-and-with-statement.js: >+ * stress/lexical-let-global-not-captured-variables.js: >+ * stress/lexical-let-not-strict-mode.js: >+ * stress/lexical-scoping-break-continue.js: >+ * stress/licm-no-pre-header-nested.js: >+ * stress/licm-no-pre-header.js: >+ * stress/licm-pre-header-cannot-exit-nested.js: >+ * stress/licm-pre-header-cannot-exit.js: >+ * stress/liveness-pruning-needed-for-osr-availability-eager.js: >+ * stress/liveness-pruning-needed-for-osr-availability.js: >+ * stress/llint-cache-replace-then-cache-get-and-fold-then-invalidate.js: >+ * stress/load-varargs-elimination-bounds-check-barely.js: >+ * stress/load-varargs-elimination-bounds-check.js: >+ * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: >+ * stress/load-varargs-then-inlined-call-and-exit-strict.js: >+ * stress/load-varargs-then-inlined-call-and-exit.js: >+ * stress/load-varargs-then-inlined-call-exit-in-foo.js: >+ * stress/load-varargs-then-inlined-call-inlined.js: >+ * stress/load-varargs-then-inlined-call.js: >+ * stress/logical-not-masquerades.js: >+ * stress/make-dictionary-repatch.js: >+ * stress/make-large-string-jit-strcat.js: >+ * stress/make-large-string-jit.js: >+ * stress/make-rope-2.js: >+ * stress/make-rope-3.js: >+ * stress/many-sunken-locals.js: >+ * stress/map-cse-correctness.js: >+ (foo): >+ * stress/map-iteration.js: >+ * stress/materialize-activation-referenced-from-phantom-function.js: >+ * stress/materialize-object-referenced-from-phantom-object.js: >+ * stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js: >+ * stress/materialize-regexp-referenced-from-phantom-regexp.js: >+ * stress/math-abs-positive.js: >+ * stress/math-log-basics.js: >+ (testLogNaN): >+ (testLogZero): >+ (testLogOne): >+ (testLogMinusOne): >+ (testLogInfinity): >+ (testLogMinusInfinity): >+ (testLogInteger): >+ (testLogDouble): >+ * stress/math-log-with-constants.js: >+ (testLogNaN): >+ (testLogZero): >+ (testLogOne): >+ (testLogMinusOne): >+ (testLogInfinity): >+ (testLogMinusInfinity): >+ (testLogInteger): >+ (testLogDouble): >+ * stress/math-max-min-no-arguments.js: >+ (test): >+ * stress/math-pow-basics.js: >+ (test1): >+ (test2): >+ (test3): >+ (test4): >+ (test5): >+ (test6): >+ (test7): >+ (test8): >+ (test9): >+ (test10): >+ (test11): >+ * stress/math-pow-becomes-custom-function.js: >+ (testChangingMathPow): >+ * stress/math-pow-coherency.js: >+ * stress/math-pow-integer-exponent-fastpath.js: >+ (testExponentFifty): >+ (testExponentTenThousands): >+ * stress/math-pow-nan-behaviors.js: >+ (testIntegerBaseWithNaNExponentStatic): >+ (testIntegerBaseWithNaNExponentDynamic): >+ (testFloatingPointBaseWithNaNExponentStatic): >+ (testFloatingPointBaseWithNaNExponentDynamic): >+ (testNaNBaseStatic): >+ (testNaNBaseDynamic): >+ (infiniteExponentsStatic): >+ (infiniteExponentsDynamic): >+ * stress/math-pow-with-constants.js: >+ (testExponentIsZero): >+ (testExponentIsOne): >+ (testBaseAndExponentConstantLiterals): >+ (testExponentIsIntegerConstant): >+ (testExponentIsDoubleConstant): >+ (testExponentIsInfinityConstant): >+ (testExponentIsNegativeInfinityConstant): >+ * stress/math-pow-with-never-NaN-exponent.js: >+ (testExponentIsDoubleConstant): >+ * stress/math-sqrt-basics-disable-architecture-specific-optimizations.js: >+ (testSquareRoot16): >+ (testSquareRootDouble): >+ * stress/math-sqrt-basics.js: >+ (testSquareRoot16): >+ (testSquareRootDouble): >+ * stress/max-boolean-exit.js: >+ * stress/misaligned-int8-view-byte-offset.js: >+ * stress/misaligned-int8-view-read.js: >+ * stress/misaligned-int8-view-write.js: >+ * stress/misc-is-object-or-null.js: >+ * stress/model-effects-properly-of-spread-over-phantom-create-rest.js: >+ * stress/modify-map-during-iteration.js: >+ * stress/modify-set-during-iteration.js: >+ * stress/modules-syntax-error.js: >+ (checkModuleSyntaxError.String.raw): >+ (checkModuleSyntaxError.String.raw.import.checkModuleSyntaxError.String.raw.import.checkModuleSyntaxError.String.raw.import.checkModuleSyntaxError.String.raw.export.checkModuleSyntaxError.String.raw.export.checkModuleSyntaxError.String.raw.export.checkModuleSyntaxError.String.raw): >+ * stress/mul-boolean-exit.js: >+ * stress/multi-get-by-offset-dce.js: >+ * stress/multi-get-by-offset-hoist-around-structure-check.js: >+ (foo): >+ * stress/multi-get-by-offset-proto-and-self.js: >+ * stress/multi-get-by-offset-proto-or-unset.js: >+ (foo): >+ * stress/multi-get-by-offset-proto-self-or-unset.js: >+ (foo): >+ * stress/multi-get-by-offset-self-or-proto.js: >+ (foo): >+ * stress/multi-get-by-offset-self-or-unset.js: >+ (foo): >+ * stress/multi-put-by-offset-multiple-transitions.js: >+ * stress/multi-put-by-offset-reallocation-butterfly-cse.js: >+ * stress/multi-put-by-offset-reallocation-cases.js: >+ * stress/multiple-files-tests/global-lexical-redefine-const/second.js: >+ * stress/multiple-files-tests/global-lexical-variable-tdz/second.js: >+ * stress/multiple-files-tests/global-lexical-variable-unresolved-property/second.js: >+ * stress/nan-equal-untyped.js: >+ * stress/nan-equal.js: >+ * stress/new-array-dead.js: >+ * stress/new-array-having-a-bad-time-double.js: >+ * stress/new-array-storage-array-with-size.js: >+ * stress/new-array-then-exit.js: >+ * stress/new-array-with-size-throw-exception-and-tear-off-arguments.js: >+ * stress/new-array-with-size-with-bad-time.js: >+ * stress/new-contiguous-array-with-size.js: >+ * stress/new-double-array-with-size.js: >+ * stress/new-function-expression-has-structures.js: >+ * stress/new-int32-array-with-size.js: >+ * stress/new-largeish-contiguous-array-with-size.js: >+ * stress/new-regex-inline.js: >+ (testRegexpInline): >+ * stress/new-typed-array-cse-effects.js: >+ * stress/new-undecided-array-with-size.js: >+ * stress/no-abc-skippy-loop.js: >+ * stress/no-abc-skippy-paired-loop.js: >+ * stress/not-cell-use.js: >+ * stress/number-is-finite.js: >+ * stress/number-is-integer-intrinsic.js: >+ * stress/number-is-nan.js: >+ * stress/numeric-setter-on-prototype-non-blank-array.js: >+ * stress/numeric-setter-on-prototype.js: >+ * stress/numeric-setter-on-self.js: >+ * stress/object-add.js: >+ * stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js: >+ * stress/object-bit-and.js: >+ * stress/object-bit-or.js: >+ * stress/object-bit-xor.js: >+ * stress/object-div.js: >+ * stress/object-escapes-in-loop.js: >+ (foo): >+ * stress/object-lshift.js: >+ * stress/object-mul.js: >+ * stress/object-number-properties.js: >+ * stress/object-rshift.js: >+ * stress/object-sub.js: >+ * stress/object-urshift.js: >+ * stress/op-add-exceptions.js: >+ * stress/operation-get-by-val-default-should-not-called-for-already-optimized-site.js: >+ * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: >+ * stress/osr-exit-on-op-negate-should-no-fail-assertions.js: >+ * stress/other-is-object-or-null.js: >+ * stress/parameter-scoping.js: >+ (test): >+ * stress/parse-int-intrinsic-dfg-backend-flush.js: >+ * stress/parse-int-intrinsic.js: >+ (testIntrinsic): >+ (testIntrinsic2): >+ (testIntrinsic3): >+ (testIntrinsic4): >+ (testIntrinsic5): >+ (testIntrinsic6): >+ (testIntrinsic7): >+ * stress/path-sensitive-known-cell-crash.js: >+ * stress/phantom-arguments-set-local-then-exit-in-same-block.js: >+ * stress/phantom-direct-arguments-clobber-argument-count.js: >+ * stress/phantom-direct-arguments-clobber-callee.js: >+ * stress/phantom-inadequacy.js: >+ * stress/phantom-local-captured-but-not-flushed-to-ssa.js: >+ * stress/phantom-new-array-buffer-forward-varargs.js: >+ (test1): >+ * stress/phantom-new-array-buffer-forward-varargs2.js: >+ (test): >+ * stress/phantom-new-array-buffer-osr-exit.js: >+ * stress/phantom-new-array-with-spread-osr-exit.js: >+ * stress/phantom-spread-forward-varargs.js: >+ (test1): >+ * stress/phantom-spread-osr-exit.js: >+ * stress/plus-boolean-exit.js: >+ * stress/plus-boolean-or-double.js: >+ * stress/plus-boolean-or-int.js: >+ * stress/poly-call-stub-in-getter-stub.js: >+ * stress/poly-chain-getter.js: >+ * stress/poly-chain-setter.js: >+ * stress/poly-chain-then-getter.js: >+ * stress/poly-chain-then-setter.js: >+ * stress/poly-getter-combo.js: >+ * stress/poly-getter-then-chain.js: >+ * stress/poly-getter-then-self.js: >+ * stress/poly-proto-clear-stub.js: >+ * stress/poly-proto-custom-value-and-accessor.js: >+ (set get for): >+ * stress/poly-proto-intrinsic-getter-correctness.js: >+ * stress/poly-proto-miss.js: >+ * stress/poly-proto-op-in-caching.js: >+ * stress/poly-proto-put-transition.js: >+ * stress/poly-proto-set-prototype.js: >+ * stress/poly-proto-setter.js: >+ * stress/poly-proto-using-inheritance.js: >+ * stress/poly-self-getter.js: >+ * stress/poly-self-then-getter.js: >+ * stress/poly-setter-then-self.js: >+ * stress/polymorphic-prototype-accesses.js: >+ * stress/pow-basics.js: >+ (test1): >+ (test2): >+ (test3): >+ (test4): >+ (test5): >+ (test6): >+ (test7): >+ (test8): >+ (test9): >+ (test10): >+ (test11): >+ * stress/pow-coherency.js: >+ * stress/pow-integer-exponent-fastpath.js: >+ (testExponentFifty): >+ (testExponentTenThousands): >+ * stress/pow-nan-behaviors.js: >+ (testIntegerBaseWithNaNExponentStatic): >+ (testIntegerBaseWithNaNExponentDynamic): >+ (testFloatingPointBaseWithNaNExponentStatic): >+ (testFloatingPointBaseWithNaNExponentDynamic): >+ (testNaNBaseStatic): >+ (testNaNBaseDynamic): >+ (infiniteExponentsStatic): >+ (infiniteExponentsDynamic): >+ * stress/pow-no-result.js: >+ * stress/pow-with-constants.js: >+ (testExponentIsZero): >+ (testExponentIsOne): >+ (testBaseAndExponentConstantLiterals): >+ (testExponentIsIntegerConstant): >+ (testExponentIsDoubleConstant): >+ (testExponentIsInfinityConstant): >+ (testExponentIsNegativeInfinityConstant): >+ * stress/pow-with-never-NaN-exponent.js: >+ (testExponentIsDoubleConstant): >+ * stress/primitive-poly-proto.js: >+ * stress/prop-type-boolean-then-string.js: >+ * stress/prop-type-int32-then-string.js: >+ * stress/prop-type-number-then-string.js: >+ * stress/prop-type-object-or-other-then-string.js: >+ * stress/prop-type-object-then-string.js: >+ * stress/prop-type-other-then-string.js: >+ * stress/prop-type-string-then-object.js: >+ * stress/prop-type-struct-or-other-then-string.js: >+ * stress/prop-type-struct-then-object-opt-fold.js: >+ * stress/prop-type-struct-then-object-opt-multi.js: >+ * stress/prop-type-struct-then-object-opt.js: >+ * stress/prop-type-struct-then-object.js: >+ * stress/prop-type-symbol-then-object.js: >+ * stress/prop-type-symbol-then-string.js: >+ * stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js: >+ * stress/prototype-chain-has-dictionary-structure-for-in-caching.js: >+ * stress/prototype-getter.js: >+ * stress/prototype-is-not-js-object.js: >+ * stress/proxy-array-prototype-methods.js: >+ (test): >+ * stress/proxy-basic.js: >+ (assert): >+ * stress/proxy-get-own-property.js: >+ * stress/proxy-has-property.js: >+ (assert): >+ * stress/proxy-in-proto-chain.js: >+ * stress/proxy-instanceof.js: >+ (test): >+ * stress/proxy-property-descriptor.js: >+ * stress/proxy-set.js: >+ (throw.new.Error.let.handler.set 45): >+ (throw.new.Error): >+ * stress/proxy-with-private-symbols.js: >+ * stress/prune-multi-put-by-offset-replace-or-transition-variant.js: >+ * stress/put-by-id-build-list-order-recurse.js: >+ * stress/put-by-id-direct-strict-transition.js: >+ * stress/put-by-id-direct-transition.js: >+ * stress/put-by-id-throw-through-optimized-code.js: >+ * stress/put-by-id-transition-null-prototype.js: >+ * stress/put-by-val-with-string-generated.js: >+ * stress/put-direct-index-broken-2.js: >+ (test): >+ * stress/put-getter-setter-by-id-strict-transition.js: >+ * stress/put-getter-setter-by-id-transition.js: >+ * stress/put-indexed-getter-setter.js: >+ * stress/put-inline-cache-side-effects.js: >+ * stress/put-local-conservative.js: >+ * stress/put-on-cow-prototype.js: >+ * stress/recurse-infinitely-on-getter.js: >+ * stress/recursive-tail-call-with-different-argument-count.js: >+ * stress/redundant-add-overflow-checks.js: >+ * stress/redundant-array-bounds-checks-addition-skip-first.js: >+ * stress/redundant-array-bounds-checks-addition.js: >+ * stress/redundant-array-bounds-checks-unchecked-addition.js: >+ * stress/redundant-array-bounds-checks.js: >+ * stress/reflect-set-proxy-set.js: >+ (throw.new.Error.let.handler.set 45): >+ (throw.new.Error): >+ * stress/reflect-set-receiver-proxy-set.js: >+ (let.handler.set 45): >+ * stress/regexp-exec-effect-after-exception.js: >+ * stress/regexp-exec-test-effectful-last-index.js: >+ * stress/regexp-matches-array-bad-time.js: >+ * stress/regexp-matches-array-slow-put.js: >+ * stress/regexp-prototype-tostring.js: >+ (test): >+ * stress/regress-132147.js: >+ * stress/regress-135155.js: >+ * stress/regress-141489.js: >+ * stress/regress-150532.js: >+ * stress/regress-156765.js: >+ * stress/regress-157322.js: >+ * stress/regress-159537.js: >+ (test): >+ * stress/regress-159779-1.js: >+ (startAsmDifferential): >+ (start.testStuffForAWhile): >+ * stress/regress-159779-2.js: >+ (startAsmDifferential): >+ (start.testStuffForAWhile): >+ * stress/regress-160329.js: >+ * stress/regress-170990.js: >+ * stress/regress-171079.js: >+ * stress/regress-173321.js: >+ * stress/remove-phantom-after-setlocal.js: >+ * stress/repeated-arity-check-fail.js: >+ * stress/repeated-put-by-id-reallocating-transition.js: >+ * stress/replacement-watchpoint-dictionary.js: >+ * stress/replacement-watchpoint.js: >+ * stress/resources/binary-op-test.js: >+ (runTest): >+ * stress/resources/unary-op-test.js: >+ (runTest): >+ * stress/rest-parameter-allocation-elimination-watchpoints-2.js: >+ * stress/rest-parameter-allocation-elimination-watchpoints-3.js: >+ * stress/rest-parameter-allocation-elimination-watchpoints-4.js: >+ * stress/rest-parameter-allocation-elimination-watchpoints-5.js: >+ * stress/rest-parameter-allocation-elimination-watchpoints.js: >+ * stress/rest-parameter-and-default-arguments.js: >+ * stress/rest-parameter-basics.js: >+ * stress/rest-parameter-having-a-bad-time.js: >+ (test1.set get for): >+ (test1): >+ * stress/rest-parameter-inlined.js: >+ * stress/rest-parameter-many-arguments.js: >+ (test): >+ * stress/rest-parameter-negative.js: >+ * stress/retry-cache-later.js: >+ * stress/ropes-symbol-toprimitive.js: >+ * stress/runtime-throw-through-optimized-code.js: >+ * stress/sampling-profiler-basic.js: >+ (platformSupportsSamplingProfiler.checkInlining): >+ (platformSupportsSamplingProfiler): >+ * stress/sampling-profiler-bound-function-name.js: >+ (platformSupportsSamplingProfiler.foo): >+ (platformSupportsSamplingProfiler.bar): >+ * stress/sampling-profiler-deep-stack.js: >+ (platformSupportsSamplingProfiler.foo): >+ * stress/sampling-profiler-internal-function-name.js: >+ (platformSupportsSamplingProfiler.foo): >+ (platformSupportsSamplingProfiler.bar): >+ (platformSupportsSamplingProfiler): >+ * stress/sampling-profiler-microtasks.js: >+ (platformSupportsSamplingProfiler): >+ (platformSupportsSamplingProfiler.loop.jaz): >+ (platformSupportsSamplingProfiler.loop): >+ * stress/sampling-profiler/samplingProfiler.js: >+ (runTest): >+ * stress/scoped-arguments-array-length.js: >+ * stress/scoped-arguments-out-of-bounds-change-structure.js: >+ * stress/scoped-arguments-test.js: >+ * stress/scoped-then-direct-arguments-get-by-val-in-baseline.js: >+ * stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js: >+ * stress/setter.js: >+ * stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js: >+ * stress/simple-ai-effect.js: >+ * stress/simple-polyvariant-call-inlining-example.js: >+ * stress/simple-polyvariant-get-by-id-inlining-example.js: >+ * stress/simple-polyvariant-put-by-id-inlining-example.js: >+ * stress/simple-prototype-accesses.js: >+ * stress/simple-regexp-exec-folding-fail.js: >+ * stress/simple-regexp-exec-folding.js: >+ * stress/simple-regexp-test-folding-fail.js: >+ * stress/simple-regexp-test-folding.js: >+ * stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js: >+ * stress/singleton-scope-then-overwrite.js: >+ (foo): >+ * stress/singleton-scope-then-realloc-and-overwrite.js: >+ * stress/singleton-scope-then-realloc.js: >+ * stress/sink-arguments-past-invalid-check-dfg.js: >+ * stress/sink-arguments-past-invalid-check-int32-dfg.js: >+ * stress/sink-arguments-past-invalid-check-int32.js: >+ * stress/sink-arguments-past-invalid-check-sneakier.js: >+ * stress/sink-arguments-past-invalid-check.js: >+ * stress/sink-function-past-invalid-check-sneakier.js: >+ * stress/sink-function-past-invalid-check-sneaky.js: >+ * stress/sink-multigetbyoffset.js: >+ * stress/sink-object-past-invalid-check-int32.js: >+ * stress/sink-object-past-invalid-check-sneakier.js: >+ * stress/sink-object-past-invalid-check-sneaky.js: >+ * stress/sink-object-past-invalid-check.js: >+ * stress/sink-put-stack-over-kill-stack.js: >+ * stress/sink-to-impossible-multi-get-by-offset-on-prototypes.js: >+ * stress/sink_checkstructure.js: >+ * stress/slightly-more-difficult-to-fold-reflective-arguments-access.js: >+ * stress/slow-path-generator-updating-current-node-dfg.js: >+ * stress/sparse-map-non-skip-getter-overriding.js: >+ * stress/sparse-map-non-skip.js: >+ * stress/spec-empty-flows-through-cell-checks.js: >+ * stress/splay-flash-access.js: >+ * stress/spread-array-iterator-watchpoint-2.js: >+ * stress/spread-array-iterator-watchpoint.js: >+ * stress/spread-call-convert-to-static-call.js: >+ * stress/spread-correct-global-object-on-exception.js: >+ * stress/spread-escapes-but-create-rest-does-not.js: >+ * stress/spread-escapes-but-new-array-buffer-does-not.js: >+ * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: >+ * stress/spread-forward-varargs-stack-overflow.js: >+ * stress/spread-non-array.js: >+ * stress/spread-optimized-properly.js: >+ (test): >+ * stress/spread-outer-create-rest.js: >+ * stress/strcat-emtpy.js: >+ * stress/strict-to-this-int.js: >+ * stress/string-from-char-code-change-structure-not-dead.js: >+ * stress/string-from-char-code-change-structure.js: >+ * stress/string-from-char-code-slow.js: >+ (result): >+ * stress/string-ident-to-not-string-var-equality.js: >+ * stress/string-instanceof.js: >+ * stress/string-out-of-bounds-negative-proto-value.js: >+ * stress/string-replace-constant-folding-replacer-not-string.js: >+ * stress/string-rope-with-custom-valueof.js: >+ * stress/sub-overflows-after-not-equal.js: >+ * stress/super-force-ic-fail.js: >+ * stress/super-method-calls-check-tdz.js: >+ * stress/super-property-access-exceptions.js: >+ (test): >+ * stress/super-property-access.js: >+ (test): >+ * stress/switch-typeof-indirect.js: >+ * stress/switch-typeof-slightly-indirect.js: >+ * stress/switch-typeof.js: >+ * stress/symbol-and-string-constructor.js: >+ * stress/symbol-equality-over-gc.js: >+ * stress/symbol-equality.js: >+ (list.forEach.result.set 1): >+ * stress/symbol-instanceof.js: >+ * stress/symbol-registry.js: >+ * stress/symbol-should-not-break-for-in.js: >+ * stress/symbol-toprimitive.js: >+ * stress/tagged-template-tdz.js: >+ (test): >+ * stress/tail-call-host-call-throw.js: >+ * stress/tail-call-profiler.js: >+ (body): >+ * stress/tail-call-recognize.js: >+ * stress/tail-calls-dont-overwrite-live-stack.js: >+ * stress/tailCallForwardArguments.js: >+ (let.bodyText): >+ * stress/tdz-this-in-try-catch.js: >+ * stress/template-literal.js: >+ (dfgTests): >+ (testPreNode): >+ (testPostNode): >+ (testSingleObjectNode): >+ (testObjectPostNode): >+ * stress/throw-from-ftl-call-ic-slow-path-cells.js: >+ * stress/throw-from-ftl-call-ic-slow-path-undefined.js: >+ * stress/throw-from-ftl-call-ic-slow-path.js: >+ * stress/throw-from-ftl-in-loop.js: >+ * stress/throw-from-ftl.js: >+ * stress/throw-through-optimized-code.js: >+ * stress/tier-up-in-loop-with-cfg-simplification.js: >+ * stress/to-int32-sensible2.js: >+ * stress/to-lower-case-intrinsic-on-empty-rope.js: >+ * stress/to-lower-case.js: >+ * stress/to-property-key-correctness.js: >+ (test): >+ * stress/to-string-on-object-or-string.js: >+ * stress/to-string-on-object.js: >+ * stress/to-string-on-string-object.js: >+ * stress/to-string-on-string-or-string-object-then-object.js: >+ * stress/to-string-on-string-or-string-object.js: >+ * stress/to-string-on-value-or-string.js: >+ * stress/to-string-on-value.js: >+ * stress/to-this-global-object.js: >+ (get for): >+ * stress/to-this-on-constant-lexical-environment.js: >+ (foo.inner): >+ (foo): >+ * stress/to-this-polymorphic.js: >+ * stress/toprimitive-speculated-types.js: >+ * stress/tricky-array-bounds-checks.js: >+ * stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: >+ * stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: >+ * stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: >+ * stress/tricky-infinite-loop-that-uses-captured-variables.js: >+ * stress/trivially-foldable-reflective-arguments-access.js: >+ * stress/try-catch-custom-getter-as-get-by-id.js: >+ * stress/try-catch-getter-as-get-by-id-register-restoration.js: >+ * stress/try-catch-getter-as-get-by-id.js: >+ * stress/try-catch-setter-as-put-by-id.js: >+ * stress/try-catch-stub-routine-replaced.js: >+ (arr): >+ * stress/try-get-by-id-poly-proto.js: >+ * stress/try-get-by-id-should-spill-registers-dfg.js: >+ * stress/try-get-by-id.js: >+ * stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js: >+ * stress/type-of-functions-and-objects.js: >+ * stress/typed-array-byte-offset.js: >+ * stress/typedarray-access-monomorphic-neutered.js: >+ (test): >+ (testFTL): >+ * stress/typedarray-access-neutered.js: >+ * stress/typedarray-add-property-to-base-object.js: >+ (body): >+ * stress/typedarray-bad-getter.js: >+ (body): >+ * stress/typedarray-configure-index.js: >+ * stress/typedarray-construct-iterator.js: >+ (body): >+ * stress/typedarray-functions-with-neutered.js: >+ * stress/typedarray-getownproperty-not-configurable.js: >+ * stress/typedarray-getter-on-self.js: >+ (body.get for): >+ (body): >+ * stress/typedarray-length-dictionary.js: >+ * stress/typedarray-view-string-properties-neutered.js: >+ (test): >+ * stress/typeof-dfg-function-or-object.js: >+ * stress/typeof-symbol.js: >+ * stress/uint32-to-number-fold-constant-with-do-overflow.js: >+ * stress/uint32array-unsigned-load.js: >+ * stress/undefined-access-dictionary-then-proto-change.js: >+ (foo): >+ * stress/undefined-access-then-proto-change.js: >+ * stress/undefined-access-then-self-change.js: >+ * stress/unshift-array-storage.js: >+ * stress/untyped-add.js: >+ * stress/untyped-bit-and.js: >+ * stress/untyped-bit-or.js: >+ * stress/untyped-bit-xor.js: >+ * stress/untyped-div.js: >+ * stress/untyped-equality.js: >+ * stress/untyped-less-than.js: >+ * stress/untyped-lshift.js: >+ * stress/untyped-mul.js: >+ * stress/untyped-rshift.js: >+ * stress/untyped-sub.js: >+ * stress/untyped-urshift.js: >+ * stress/use-arguments-as-object-pointer.js: >+ * stress/v8-deltablue-strict.js: >+ (chainTest): >+ * stress/value-to-boolean.js: >+ * stress/value-to-int32-undefined-constant.js: >+ * stress/value-to-int32-undefined.js: >+ * stress/varargs-closure-inlined-exit-strict-mode.js: >+ * stress/varargs-closure-inlined-exit.js: >+ * stress/varargs-exit.js: >+ * stress/varargs-inlined-exit.js: >+ * stress/varargs-inlined-simple-exit-aliasing.js: >+ * stress/varargs-inlined-simple-exit.js: >+ * stress/varargs-inlining-underflow.js: >+ * stress/varargs-no-forward.js: >+ * stress/varargs-simple.js: >+ * stress/varargs-then-slow-call.js: >+ * stress/varargs-too-few-arguments.js: >+ * stress/varargs-two-level.js: >+ * stress/varargs-varargs-closure-inlined-exit.js: >+ * stress/varargs-varargs-inlined-exit-strict-mode.js: >+ * stress/varargs-varargs-inlined-exit.js: >+ * stress/varargs-with-unused-count.js: >+ * stress/weird-equality-folding-cases.js: >+ * stress/weird-getter-counter.js: >+ * stress/weird-put-stack-varargs.js: >+ * stress/weird-setter-counter-syntactic.js: >+ * stress/weird-setter-counter.js: >+ * stress/with.js: >+ * stress/with_and_arith.js: >+ * stress/yield-label-generator.js: >+ (testSyntaxError.test): >+ (testSyntaxError): >+ * stress/yield-label.js: >+ (yield): >+ (testSyntaxError.test): >+ > 2018-06-14 Leo Balter <leonardo.balter@gmail.com> > > Test262-Runner: Update config list with some failing tests >diff --git a/JSTests/stress/IIFE-es6-default-parameters.js b/JSTests/stress/IIFE-es6-default-parameters.js >index 113bd76f78b0c69da391b8f30112677cc815500b..5b5b52d8c49b3603c2b8c2ac4c3bf7dec198d113 100644 >--- a/JSTests/stress/IIFE-es6-default-parameters.js >+++ b/JSTests/stress/IIFE-es6-default-parameters.js >@@ -4,7 +4,7 @@ function assert(b) { > throw new Error("Bad assertion"); > } > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > > ;(function foo(x = 20) { > assert(typeof foo === "function"); >diff --git a/JSTests/stress/IIFE-function-name-captured.js b/JSTests/stress/IIFE-function-name-captured.js >index 9b0722c2062d79b06e1d21b3186eaf0942dcc7ba..11be8029fad8aac2ff8e33d2e4fbec4547f6d78a 100644 >--- a/JSTests/stress/IIFE-function-name-captured.js >+++ b/JSTests/stress/IIFE-function-name-captured.js >@@ -3,7 +3,7 @@ function assert(b) { > throw new Error("Bad assertion"); > } > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > ;(function foo() { > foo = 20; > assert(foo !== 20); >diff --git a/JSTests/stress/OverrideHasInstance-should-not-branch-across-register-allocations.js b/JSTests/stress/OverrideHasInstance-should-not-branch-across-register-allocations.js >index aecdd2bc50adb137a29385634e74987d5f608e87..e2f421a7513dad46b6c791d47f3a41edcb2c7ddf 100644 >--- a/JSTests/stress/OverrideHasInstance-should-not-branch-across-register-allocations.js >+++ b/JSTests/stress/OverrideHasInstance-should-not-branch-across-register-allocations.js >@@ -8,7 +8,7 @@ var test = function() { > Math.cos("0" instanceof arguments) > } > >-for (var k = 0; k < 10000; ++k) { >+for (var k = 0; k < $vm.testingLoopCount; ++k) { > try { > test(); > } catch (e) { >diff --git a/JSTests/stress/SharedArrayBuffer-opt.js b/JSTests/stress/SharedArrayBuffer-opt.js >index 7b2c27ff9ea13f12c5f4e4971b6b68bccf40013a..5bd6529cd387e5e464874f1b351132ac5ba5924d 100644 >--- a/JSTests/stress/SharedArrayBuffer-opt.js >+++ b/JSTests/stress/SharedArrayBuffer-opt.js >@@ -48,7 +48,7 @@ for (var op of ["add", "and", "compareExchange", "exchange", "load", "or", "stor > var f = eval(str()); > noInline(f); > // Warm it up on crazy. >- for (var i = 0; i < 10000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > f(arrays[i % arrays.length], 0, 0, 0); > genericAtomics.set(op, f); > >@@ -59,7 +59,7 @@ for (var op of ["add", "and", "compareExchange", "exchange", "load", "or", "stor > noInline(f); > > // Warm it up on something easy. >- for (var i = 0; i < 10000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > f(a, 0, 0, 0); > > map.set(op, f); >diff --git a/JSTests/stress/add-constant-overflow-recovery.js b/JSTests/stress/add-constant-overflow-recovery.js >index 24bb2cbe3ca7cd6f22c13f0d5fc06b7cee0a41dc..ab3653cc0bc9a37e365e12f0ed7038f140ee5ed4 100644 >--- a/JSTests/stress/add-constant-overflow-recovery.js >+++ b/JSTests/stress/add-constant-overflow-recovery.js >@@ -4,7 +4,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:1}); > if (result != 2000000001) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/add-inferred-type-table-to-existing-structure.js b/JSTests/stress/add-inferred-type-table-to-existing-structure.js >index 9ad5a2d5997501157ac16632a2f1b6c51a853762..0e7bc6225538456d306a38d19ace35cc11fc2f5e 100644 >--- a/JSTests/stress/add-inferred-type-table-to-existing-structure.js >+++ b/JSTests/stress/add-inferred-type-table-to-existing-structure.js >@@ -17,7 +17,7 @@ noInline(baz); > var o0 = baz(); > bar(o0, "f", "hello"); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = baz(); > o.f = 42; > var result = foo(o); >diff --git a/JSTests/stress/add-int52-constant-overflow-recovery.js b/JSTests/stress/add-int52-constant-overflow-recovery.js >index 7548d34fc190c59862014de6240e48ba6cdf661f..2cbf7a5e0fbeec81f2aa9d67bcf7fca6ff5d6c64 100644 >--- a/JSTests/stress/add-int52-constant-overflow-recovery.js >+++ b/JSTests/stress/add-int52-constant-overflow-recovery.js >@@ -4,7 +4,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1073736383); > if (result != 2251780886936072) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/add-int52-large-constant-overflow-recovery.js b/JSTests/stress/add-int52-large-constant-overflow-recovery.js >index c64bc3fe529efdc59222d2e0833dffbb3691ca5d..2b03cd60a747cab642a5c8b1366d7f592edbfa7c 100644 >--- a/JSTests/stress/add-int52-large-constant-overflow-recovery.js >+++ b/JSTests/stress/add-int52-large-constant-overflow-recovery.js >@@ -4,7 +4,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1073741151); > if (result != 2251799812372744) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/add-overflow-recovery.js b/JSTests/stress/add-overflow-recovery.js >index 8e1718c5c2be0edcdda69980ebb32fa3283e42e1..9b088fb4b766550dad17b2adcfffc2960f3e1970 100644 >--- a/JSTests/stress/add-overflow-recovery.js >+++ b/JSTests/stress/add-overflow-recovery.js >@@ -4,7 +4,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:1}, {f:2}); > if (result != 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/add-overflows-after-not-equal.js b/JSTests/stress/add-overflows-after-not-equal.js >index 181566fcf4612e181096a3dd4ef36687c13e8624..20cb0e42656f56f1b6a9ad46c791b42c64c4d2c7 100644 >--- a/JSTests/stress/add-overflows-after-not-equal.js >+++ b/JSTests/stress/add-overflows-after-not-equal.js >@@ -5,7 +5,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42); > if (result != 43) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/add-small-constant-overflow-recovery.js b/JSTests/stress/add-small-constant-overflow-recovery.js >index 64d9f04f68de88d8dcbcb44dad19f59ad1284630..5a6ec01c35bd065602f2e167a8b5cf546f167453 100644 >--- a/JSTests/stress/add-small-constant-overflow-recovery.js >+++ b/JSTests/stress/add-small-constant-overflow-recovery.js >@@ -4,7 +4,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:1}); > if (result != 1001) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ai-consistency-filter-cells.js b/JSTests/stress/ai-consistency-filter-cells.js >index ce2fab6f6116e6f272856b3176a2f173df9ea0d0..ae8686469613ba47b38c2ba71b8bb9836008d2e0 100644 >--- a/JSTests/stress/ai-consistency-filter-cells.js >+++ b/JSTests/stress/ai-consistency-filter-cells.js >@@ -22,7 +22,7 @@ let record = {key: "hello"}; > let record2 = {key: true}; > let key = "key"; > let attribute = {type: "type"}; >-for (; i < 100000; i++) { >+for (; i < $vm.testingLoopCount; i++) { > if (i % 2 === 0) > foo.call(thisValue, record, key, attribute); > else >diff --git a/JSTests/stress/ai-create-this-to-new-object.js b/JSTests/stress/ai-create-this-to-new-object.js >index c89fb1884e422b773c5d6123071e1ebfa8392572..a98fe09ed126daac042d38d3b7c7eb8ab4fe3415 100644 >--- a/JSTests/stress/ai-create-this-to-new-object.js >+++ b/JSTests/stress/ai-create-this-to-new-object.js >@@ -16,7 +16,7 @@ noInline(func); > > function check(index, arr, B) > { >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > assert(arr[i] instanceof B); > } > noInline(check); >@@ -34,7 +34,7 @@ test(function body(index) { > } > > let arr = []; >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > arr.push(new B(20)); > > check(index, arr, B); >diff --git a/JSTests/stress/allocation-sinking-defs-may-have-replacements.js b/JSTests/stress/allocation-sinking-defs-may-have-replacements.js >index 1437107ebf4c0d3b7e0dd4e226ca2957d11e5233..8448d6266dcff579652d0c247ce00b1f0cd01d10 100644 >--- a/JSTests/stress/allocation-sinking-defs-may-have-replacements.js >+++ b/JSTests/stress/allocation-sinking-defs-may-have-replacements.js >@@ -27,5 +27,5 @@ function foo(a1) { > } > noInline(foo); > >-for (let i = 0; i < 100000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > foo(i); >diff --git a/JSTests/stress/allocation-sinking-new-object-with-poly-proto.js b/JSTests/stress/allocation-sinking-new-object-with-poly-proto.js >index eea3040fa8fc1f24b714d305db40f4e1e41d0f28..a37c7b1c61caec37fac7ab55db588cb7ac8cf854 100644 >--- a/JSTests/stress/allocation-sinking-new-object-with-poly-proto.js >+++ b/JSTests/stress/allocation-sinking-new-object-with-poly-proto.js >@@ -13,7 +13,7 @@ function makePolyProto(o) { > } > noInline(makePolyProto); > >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > makePolyProto(i % 2 ? new A : new B); > } > >@@ -34,7 +34,7 @@ function baz(b) { > } > noInline(baz); > >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > let b = i % 10 === 0; > let r = bar(b); > if (b) { >@@ -43,7 +43,7 @@ for (let i = 0; i < 100000; ++i) { > } > } > >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > let b = i % 10 === 0; > let r = baz(b); > if (b) { >diff --git a/JSTests/stress/allocation-sinking-puthint-control-flow.js b/JSTests/stress/allocation-sinking-puthint-control-flow.js >index 7d01461c887c9ff913ced3713b0b8d9f61d32be9..8b6ce2cfac8b491ed6a3a2f156ea73c8d0696da4 100644 >--- a/JSTests/stress/allocation-sinking-puthint-control-flow.js >+++ b/JSTests/stress/allocation-sinking-puthint-control-flow.js >@@ -27,7 +27,7 @@ function foo(b, c, d) { > } > noInline(foo); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(!!(i % 2), true, false); > } > >diff --git a/JSTests/stress/allow-math-ic-b3-code-duplication.js b/JSTests/stress/allow-math-ic-b3-code-duplication.js >index 2059b182812a98c31483630323d7ac08d5a436cf..cc76c88b17a9af2b38bcd64d25e2e720d76500c3 100644 >--- a/JSTests/stress/allow-math-ic-b3-code-duplication.js >+++ b/JSTests/stress/allow-math-ic-b3-code-duplication.js >@@ -1,6 +1,6 @@ > function test1() { > var o1; >- for (let i = 0; i < 1000000; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > var o2 = { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { } } } } } } } } } } } } }; > } > return -o2; >@@ -9,7 +9,7 @@ test1(); > > function test2() { > var o1; >- for (let i = 0; i < 1000000; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > var o2 = { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { } } } } } } } } } } } } }; > } > return o1 - o2; >@@ -18,7 +18,7 @@ test2(); > > function test3() { > var o1; >- for (let i = 0; i < 1000000; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > var o2 = { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { } } } } } } } } } } } } }; > } > return o1 + o2; >@@ -27,7 +27,7 @@ test3(); > > function test4() { > var o1; >- for (let i = 0; i < 1000000; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > var o2 = { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { } } } } } } } } } } } } }; > } > return o1 * o2; >diff --git a/JSTests/stress/any-int-as-double-add.js b/JSTests/stress/any-int-as-double-add.js >index 98e9da7079b92b23bbdf6139d459df8571928bba..f90c5c50ea725d32a539caa9959e29dda9365ebd 100644 >--- a/JSTests/stress/any-int-as-double-add.js >+++ b/JSTests/stress/any-int-as-double-add.js >@@ -6,9 +6,9 @@ function shouldBe(actual, expected) > > var array = []; > >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > array.push(1024 * 1024 * 1024 * 1024 + i); >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > array.push(-(1024 * 1024 * 1024 * 1024 + i)); > > array.push(2251799813685248); >@@ -21,9 +21,9 @@ function test(array, index, value) > noInline(test); > > for (var i = 0; i < 1e4; ++i) { >- for (var index = 0; index < 100; ++index) >+ for (var index = 0; index < $vm.testingLoopCount; ++index) > shouldBe(test(array, index, 20), 1024 * 1024 * 1024 * 1024 + index + 20); >- for (var index = 0; index < 100; ++index) >+ for (var index = 0; index < $vm.testingLoopCount; ++index) > shouldBe(test(array, index + 100, 20), -(1024 * 1024 * 1024 * 1024 + index) + 20); > } > >diff --git a/JSTests/stress/apply-second-argument-must-be-array-like.js b/JSTests/stress/apply-second-argument-must-be-array-like.js >index 15fa9725552cf325ede7e78e382ad8878464489f..4cd418ee7fe40c637922d95a52af292629d90985 100644 >--- a/JSTests/stress/apply-second-argument-must-be-array-like.js >+++ b/JSTests/stress/apply-second-argument-must-be-array-like.js >@@ -7,7 +7,7 @@ function assert(x) { > > function shouldThrow(expr) { > let testFunc = new Function(expr); >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let error; > try { > testFunc(); >@@ -20,7 +20,7 @@ function shouldThrow(expr) { > > function shouldNotThrow(expr) { > let testFunc = new Function(expr); >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let error; > try { > testFunc(); >diff --git a/JSTests/stress/argument-count-bytecode.js b/JSTests/stress/argument-count-bytecode.js >index 59a13854253f24b63942736f4824de1a179d3751..c66ae52a74c43e5db6b8092a870e7aba93f57bee 100644 >--- a/JSTests/stress/argument-count-bytecode.js >+++ b/JSTests/stress/argument-count-bytecode.js >@@ -22,7 +22,7 @@ function assert(condition, message) { > throw new Error(message); > } > >-for (i = 0; i < 1000000; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > assert(count(1,1,2) === 3, i); > assert(count() === 0, i); > assert(count(1) === 1, i); >diff --git a/JSTests/stress/arguments-callee-uninitialized.js b/JSTests/stress/arguments-callee-uninitialized.js >index 68650423edc55e28cd9e6215afd552b3bb013196..dce58a40240fdf5b2e362643ecfaf118a47d407e 100644 >--- a/JSTests/stress/arguments-callee-uninitialized.js >+++ b/JSTests/stress/arguments-callee-uninitialized.js >@@ -6,6 +6,6 @@ function foo(e) { > } > noInline(foo); > >-for (var i = 0; i < 10000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > foo(1); > >diff --git a/JSTests/stress/arguments-captured.js b/JSTests/stress/arguments-captured.js >index 0b1e1ab062b9f3ab9ee186eaef5023e984f64da0..e45e91930502f5b7ab21a880754d5c22107811f2 100644 >--- a/JSTests/stress/arguments-captured.js >+++ b/JSTests/stress/arguments-captured.js >@@ -13,7 +13,7 @@ function bar(a) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 1000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(i); > if (result.f != i) > throw "Error: bad value of f: " + result.f; >diff --git a/JSTests/stress/arguments-copy-register-array-backing-store.js b/JSTests/stress/arguments-copy-register-array-backing-store.js >index 1e64f7b460e4c296e1ded4a9c5124f482cde762b..b4bf4116545b3635c57bddf72eb4f2694f7c39d5 100644 >--- a/JSTests/stress/arguments-copy-register-array-backing-store.js >+++ b/JSTests/stress/arguments-copy-register-array-backing-store.js >@@ -17,7 +17,7 @@ edenGC(); > > var expectedResult = 0; > var result = 0; >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > expectedResult += i + i + 1 + i + 2; > result += bar(i, i + 1, i + 2); > } >diff --git a/JSTests/stress/arguments-custom-properties-gc.js b/JSTests/stress/arguments-custom-properties-gc.js >index 86e44d5fa7256ddda0b0a37c75662dfb6fb446f4..d11f1891a9875c36e76c79246e2c7d07c8b2b4f8 100644 >--- a/JSTests/stress/arguments-custom-properties-gc.js >+++ b/JSTests/stress/arguments-custom-properties-gc.js >@@ -20,10 +20,10 @@ function cons(f) { > } > > var array = []; >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > array.push(cons(i)); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var j = (i * 3) % array.length; > array[j] = cons(j); > >diff --git a/JSTests/stress/arguments-elimination-varargs-too-many-args-arg-count.js b/JSTests/stress/arguments-elimination-varargs-too-many-args-arg-count.js >index c2b68595518192e8a12d6e0f325b5edc6fc90d8c..d05a5a421c46629c1d4ce7d1137a03136d552d22 100644 >--- a/JSTests/stress/arguments-elimination-varargs-too-many-args-arg-count.js >+++ b/JSTests/stress/arguments-elimination-varargs-too-many-args-arg-count.js >@@ -18,7 +18,7 @@ function baz() > > noInline(baz); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(); > if (result.ftl) { > if (result.result != 4) >diff --git a/JSTests/stress/arguments-exit-fixed.js b/JSTests/stress/arguments-exit-fixed.js >index 4d107a8d215dd5948d996a51af04c4c3a3c5376e..4daf9aa7fc301d22839e68abe2b683055d23cbf1 100644 >--- a/JSTests/stress/arguments-exit-fixed.js >+++ b/JSTests/stress/arguments-exit-fixed.js >@@ -5,7 +5,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:i}); > if (result != i + i + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/arguments-exit-strict-mode-fixed.js b/JSTests/stress/arguments-exit-strict-mode-fixed.js >index fa816f2eb3b2e5cfe9d16886f0b2d41ba422a194..2be331b8d303a8ae98b396e8a0f75cf58c4291bc 100644 >--- a/JSTests/stress/arguments-exit-strict-mode-fixed.js >+++ b/JSTests/stress/arguments-exit-strict-mode-fixed.js >@@ -7,7 +7,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:i}); > if (result != i + i + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/arguments-exit-strict-mode.js b/JSTests/stress/arguments-exit-strict-mode.js >index 04c714ee0016bb375fa5f8e658d6d6f208099c35..28b3e103f367936654d86c8060353318a1726b28 100644 >--- a/JSTests/stress/arguments-exit-strict-mode.js >+++ b/JSTests/stress/arguments-exit-strict-mode.js >@@ -7,7 +7,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(i); > if (result != i + i + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/arguments-exit.js b/JSTests/stress/arguments-exit.js >index 8580820c74491ee8dccd3a91d6e88f2bffe1ef66..ac7e7e8f54a1e8dce2da835d26baac2ae0661d30 100644 >--- a/JSTests/stress/arguments-exit.js >+++ b/JSTests/stress/arguments-exit.js >@@ -5,7 +5,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(i); > if (result != i + i + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/arguments-inlined-exit-strict-mode-fixed.js b/JSTests/stress/arguments-inlined-exit-strict-mode-fixed.js >index d08251f18bca206cd9d6dcb41df6b8cee4fe400c..271b6105eaf3fde0415b50bd70e10f482287be98 100644 >--- a/JSTests/stress/arguments-inlined-exit-strict-mode-fixed.js >+++ b/JSTests/stress/arguments-inlined-exit-strict-mode-fixed.js >@@ -11,7 +11,7 @@ function bar(x) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar({f:i}); > if (result != i + i + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/arguments-inlined-exit-strict-mode.js b/JSTests/stress/arguments-inlined-exit-strict-mode.js >index 748251d1f5d8566fcf18ee9705220db8392d02a5..3623b7a2b9c8dca17f99d422abd03423a2732209 100644 >--- a/JSTests/stress/arguments-inlined-exit-strict-mode.js >+++ b/JSTests/stress/arguments-inlined-exit-strict-mode.js >@@ -11,7 +11,7 @@ function bar(x) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(i); > if (result != i + i + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/arguments-inlined-exit.js b/JSTests/stress/arguments-inlined-exit.js >index 43470d9336bdf9af6d6fb35cbfaef31a01300b98..96a3880f20811ed47061ec1a8d686c0a512f3304 100644 >--- a/JSTests/stress/arguments-inlined-exit.js >+++ b/JSTests/stress/arguments-inlined-exit.js >@@ -9,7 +9,7 @@ function bar(x) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(i); > if (result != i + i + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/arith-clz32-effects.js b/JSTests/stress/arith-clz32-effects.js >index b58e428714f4a05834cc6e091846d3361d00a4e4..57ce539618b020e0366840ae920a470576e8c03d 100644 >--- a/JSTests/stress/arith-clz32-effects.js >+++ b/JSTests/stress/arith-clz32-effects.js >@@ -10,7 +10,7 @@ noInline(foo); > var o = {f: 42}; > o.g = 43; // Bust the transition watchpoint of {f}. > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f: 42}, "42"); > if (result != 84) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js b/JSTests/stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js >index 5d01839867cccbffacb8e4093c2c78b2893c7ff1..9f2686b4146d78f75ee1d114aa5e1cd6252be9b7 100644 >--- a/JSTests/stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js >+++ b/JSTests/stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js >@@ -18,14 +18,14 @@ function f3(arg) { > let r = -(arg ? f1() : f2()); > } > >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > try { > f3(!!(i % 2)); > } catch (e) {} > } > > flag = true; >-for (let i = 0; i < 100000; ++i) try { >+for (let i = 0; i < $vm.testingLoopCount; ++i) try { > runNearStackLimit(() => { > return f3(!!(i % 2)); > }); >diff --git a/JSTests/stress/arity-check-ftl-throw-more-args.js b/JSTests/stress/arity-check-ftl-throw-more-args.js >index ee2ed3c2971935a2ccc3a454d921775d381ba6fa..0aefec8eed3d17b2bba397dbf3dfeb46785e5306 100644 >--- a/JSTests/stress/arity-check-ftl-throw-more-args.js >+++ b/JSTests/stress/arity-check-ftl-throw-more-args.js >@@ -9,7 +9,7 @@ var g = new Function(script, "return recursionCount ? g(recursionCount - 1) : 0; > noInline(g); > > // Ensure that f and g get optimized. >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > // Recurse once to ensure profiling along all control flow paths. > g(1); > } >diff --git a/JSTests/stress/arity-check-ftl-throw.js b/JSTests/stress/arity-check-ftl-throw.js >index 0a336f75d9e824783cd552c6995ef1e3f06e1368..0b417883f68853d276808205cbe0c91c3495a6ed 100644 >--- a/JSTests/stress/arity-check-ftl-throw.js >+++ b/JSTests/stress/arity-check-ftl-throw.js >@@ -21,7 +21,7 @@ noInline(g); > noInline(f); > > // Ensure that f and g get optimized. >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > // Recurse once to ensure profiling along all control flow paths. > f(1); > } >diff --git a/JSTests/stress/arity-fixup-inlining-dont-generate-invalid-use.js b/JSTests/stress/arity-fixup-inlining-dont-generate-invalid-use.js >index 17f231185ef1bab8b18e56d07912487155324369..6485e0d1f364705fd5e70a168b2890c4bc18f8f2 100644 >--- a/JSTests/stress/arity-fixup-inlining-dont-generate-invalid-use.js >+++ b/JSTests/stress/arity-fixup-inlining-dont-generate-invalid-use.js >@@ -22,5 +22,5 @@ function foo(x, b) { > } > noInline(foo); > >-for (let i = 0; i < 1000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > foo(i+0.5, !!(i%2)); >diff --git a/JSTests/stress/array-concat-fast-spread-proxy.js b/JSTests/stress/array-concat-fast-spread-proxy.js >index eb6ee0665ec51dde1f4c1a7ae5498924fac14ebe..88dffaca683cb2cedd138fb326e5599e1f51dd94 100644 >--- a/JSTests/stress/array-concat-fast-spread-proxy.js >+++ b/JSTests/stress/array-concat-fast-spread-proxy.js >@@ -17,14 +17,14 @@ function arrayEq(a, b) { > let {proxy:p, revoke} = Proxy.revocable([4, 5], {}); > > // Test it works with proxies by default >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (!arrayEq(Array.prototype.concat.call(array, p), [1,2,3,4,5])) > throw "failed normally with a proxy" > } > > // Test it works with spreadable false. > p[Symbol.isConcatSpreadable] = false; >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (!arrayEq(Array.prototype.concat.call(array,p), [1,2,3,p])) > throw "failed with no spread" > } >diff --git a/JSTests/stress/array-concat-spread-object.js b/JSTests/stress/array-concat-spread-object.js >index 13b551eba92aa1409b7b48ea144ed3fe5ad7a62c..d8664653b99fbc5c6496015fe0aa866fe1d139ab 100644 >--- a/JSTests/stress/array-concat-spread-object.js >+++ b/JSTests/stress/array-concat-spread-object.js >@@ -15,14 +15,14 @@ function arrayEq(a, b) { > let o = {0:1, 1:2, 2:3, length:3}; > > // Test it works with proxies by default >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (!arrayEq(Array.prototype.concat.call(o,o), [o,o])) > throw "failed normally with an object" > } > > // Test it works with spreadable true > o[Symbol.isConcatSpreadable] = true; >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let result = Array.prototype.concat.call(o,o) > if (!arrayEq(result, [1,2,3,1,2,3])) > throw "failed with spread got: " + result; >@@ -31,7 +31,7 @@ function arrayEq(a, b) { > // Test it works with many things > o[Symbol.isConcatSpreadable] = true; > let other = {} >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let result = Array.prototype.concat.call(o,o,true,[1,2],other) > if (!arrayEq(result, [1,2,3,1,2,3,true,1,2,other])) > throw "failed with spread got: " + result; >@@ -39,7 +39,7 @@ function arrayEq(a, b) { > > // Test it works with strings > String.prototype[Symbol.isConcatSpreadable] = true; >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let result = Array.prototype.concat.call("hi","hi") > // This is what the spec says is the correct answer... D: > if (!arrayEq(result, ["h", "i", "hi"])) >diff --git a/JSTests/stress/array-concat-spread-proxy-exception-check.js b/JSTests/stress/array-concat-spread-proxy-exception-check.js >index 81b06ccbd1b6e397f5da6d44b1399b19d394da23..a7e7709a4dffc3f25a1107fb63485a2d541e2597 100644 >--- a/JSTests/stress/array-concat-spread-proxy-exception-check.js >+++ b/JSTests/stress/array-concat-spread-proxy-exception-check.js >@@ -16,7 +16,7 @@ function arrayEq(a, b) { > > concat.call(p,p); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (!arrayEq(concat.call(p,p), [1,2,3,1,2,3])) > throw "bad"; > } >diff --git a/JSTests/stress/array-concat-spread-proxy.js b/JSTests/stress/array-concat-spread-proxy.js >index 0726f62aeedbe246ca10e59fffd0799eae11aaea..e71ae2534b535fde2ccd7d7ebdcdaecc817fab95 100644 >--- a/JSTests/stress/array-concat-spread-proxy.js >+++ b/JSTests/stress/array-concat-spread-proxy.js >@@ -16,14 +16,14 @@ function arrayEq(a, b) { > let {proxy:p, revoke} = Proxy.revocable(array, { get : function(o, k) { return o[k]; } }); > > // Test it works with proxies by default >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (!arrayEq(Array.prototype.concat.call(p,p), [1,2,3,1,2,3])) > throw "failed normally with a proxy" > } > > // Test it works with spreadable false. > p[Symbol.isConcatSpreadable] = false; >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (!arrayEq(Array.prototype.concat.call(p,p), [p,p])) > throw "failed with no spread" > } >diff --git a/JSTests/stress/array-concat-with-slow-indexingtypes.js b/JSTests/stress/array-concat-with-slow-indexingtypes.js >index 492efb1ff3a8c27417a5238a69c8b6ede4b961a6..f57c9989b272ddb1889aa33c1ca106b5ee75de4e 100644 >--- a/JSTests/stress/array-concat-with-slow-indexingtypes.js >+++ b/JSTests/stress/array-concat-with-slow-indexingtypes.js >@@ -14,7 +14,7 @@ function arrayEq(a, b) { > array = [1,2]; > Object.defineProperty(array, 2, { get: () => { return 1; } }); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (!arrayEq(Array.prototype.concat.call(array,array), [1,2,1,1,2,1])) > throw "failed normally with a getter" > if (!arrayEq(Array.prototype.concat.call([],array), [1,2,1])) >@@ -26,7 +26,7 @@ function arrayEq(a, b) { > array.length = 3; > Array.prototype[2] = 1; > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (!arrayEq(Array.prototype.concat.call(array,array), [1,2,1,1,2,1])) > throw "failed normally with an indexed prototype" > if (!arrayEq(Array.prototype.concat.call([],array), [1,2,1])) >diff --git a/JSTests/stress/array-constructor-no-result.js b/JSTests/stress/array-constructor-no-result.js >index be2df9f5adfd6a6927847157c9384b3151b83b10..01809a67754b9e7c2d9d23d0011b95afe4ac3b5a 100644 >--- a/JSTests/stress/array-constructor-no-result.js >+++ b/JSTests/stress/array-constructor-no-result.js >@@ -8,6 +8,6 @@ function foo() > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(); > >diff --git a/JSTests/stress/array-from-abs-and-floor.js b/JSTests/stress/array-from-abs-and-floor.js >index 8bbb48a152775455edfed4fe42bfc3888a4ee38e..b12ac48f867d640a0a86a173a1cf16d515649378 100644 >--- a/JSTests/stress/array-from-abs-and-floor.js >+++ b/JSTests/stress/array-from-abs-and-floor.js >@@ -34,9 +34,9 @@ function target3() { > } > noInline(target3); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > target1(); >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > target2(); >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > target3(); >diff --git a/JSTests/stress/array-indexof-object.js b/JSTests/stress/array-indexof-object.js >index 26bba0154335e7178f06ecc0758b219d984db1e4..343ed23ca6899c411f64f7b73871321f40582288 100644 >--- a/JSTests/stress/array-indexof-object.js >+++ b/JSTests/stress/array-indexof-object.js >@@ -13,7 +13,7 @@ function shouldBe(actual, expected) > > var array = []; > var object = {}; >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > array.push({}); > array.push(object); > >@@ -30,7 +30,7 @@ function shouldBe(actual, expected) > > var array = []; > var object = {}; >- for (var i = 0; i < 100; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > array.push(42); > array.push({}); > array.push(String(i)); >diff --git a/JSTests/stress/array-indexof-string.js b/JSTests/stress/array-indexof-string.js >index f0f8804f6ce7cd89d553b96a84f3c44a05287ef1..1697e9d63b51d9abaa638ec5581d988d252a567c 100644 >--- a/JSTests/stress/array-indexof-string.js >+++ b/JSTests/stress/array-indexof-string.js >@@ -12,7 +12,7 @@ function shouldBe(actual, expected) > noInline(indexOf); > > var array = []; >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > array.push(String(i)); > > for (var i = 0; i < 1e5; ++i) >@@ -27,7 +27,7 @@ function shouldBe(actual, expected) > noInline(indexOf); > > var array = []; >- for (var i = 0; i < 100; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > array.push(String(i + 0.5)); > array.push({}); > } >diff --git a/JSTests/stress/array-indexof.js b/JSTests/stress/array-indexof.js >index d530bfe23dd8e4ef5b76f1fbd942e2fae8c8750f..1484efc6226290a26f84f4d38bb277239f955f7b 100644 >--- a/JSTests/stress/array-indexof.js >+++ b/JSTests/stress/array-indexof.js >@@ -12,7 +12,7 @@ function shouldBe(actual, expected) > noInline(indexOf); > > var array = []; >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > array.push(i); > > for (var i = 0; i < 1e5; ++i) >@@ -27,7 +27,7 @@ function shouldBe(actual, expected) > noInline(indexOf); > > var array = []; >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > array.push(i + 0.5); > > for (var i = 0; i < 1e5; ++i) >diff --git a/JSTests/stress/array-length-array-storage-plain-object.js b/JSTests/stress/array-length-array-storage-plain-object.js >index e4249332440da0453abf0fb52f4d630719380a6a..725c028eacd00ad32fc24b681873979040f0c102 100644 >--- a/JSTests/stress/array-length-array-storage-plain-object.js >+++ b/JSTests/stress/array-length-array-storage-plain-object.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var a = [1]; > a.length = 99999999; > a.f = 42; >diff --git a/JSTests/stress/array-length-plain-object.js b/JSTests/stress/array-length-plain-object.js >index ed85751727bdbfe21b4e5818f0d1cbdb6d1ffcbb..af323576c80110a5ba7ff116741e0053ed4a32ad 100644 >--- a/JSTests/stress/array-length-plain-object.js >+++ b/JSTests/stress/array-length-plain-object.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var a = [1]; > a.f = 42; > foo(a); >diff --git a/JSTests/stress/array-pop-contiguous.js b/JSTests/stress/array-pop-contiguous.js >index 86333fae128812269019fec76fe2543b6b7b2e15..5689be7d99c586eeaa20c788149d994f2a00c2d2 100644 >--- a/JSTests/stress/array-pop-contiguous.js >+++ b/JSTests/stress/array-pop-contiguous.js >@@ -4,7 +4,7 @@ function foo(array) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(["foo", "bar", "baz"]); > if (result.toString() != "baz,bar,foo,") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/array-pop-double-hole.js b/JSTests/stress/array-pop-double-hole.js >index 6782ea203e4fc97c3079af6a31b306b1ee32ad37..50d160bc9f0c094bea6bb23d32ce4e59779a0587 100644 >--- a/JSTests/stress/array-pop-double-hole.js >+++ b/JSTests/stress/array-pop-double-hole.js >@@ -7,7 +7,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result.toString() != "1.5,2,,4.5") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/array-pop-double.js b/JSTests/stress/array-pop-double.js >index 69c36c5cc7ae794c5ec08c59acae44462907be2d..8f08813d8a479bc94fe075b0abffbefa052feaee 100644 >--- a/JSTests/stress/array-pop-double.js >+++ b/JSTests/stress/array-pop-double.js >@@ -4,7 +4,7 @@ function foo(array) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo([1.5, 2.5, 3.5]); > if (result.toString() != "3.5,2.5,1.5,") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/array-pop-int32.js b/JSTests/stress/array-pop-int32.js >index 14075f343c8ab701aa8d8bdfa2b4d3c8e60c6176..8562569445b86e4bbfb3aae282cf716f98591446 100644 >--- a/JSTests/stress/array-pop-int32.js >+++ b/JSTests/stress/array-pop-int32.js >@@ -4,7 +4,7 @@ function foo(array) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo([1, 2, 3]); > if (result.toString() != "3,2,1,") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/array-push-contiguous.js b/JSTests/stress/array-push-contiguous.js >index 8f5e28512dd25990fbe1761675ae2b8cab83e1ef..05e1848edb3e47db302e685a82906db80366982c 100644 >--- a/JSTests/stress/array-push-contiguous.js >+++ b/JSTests/stress/array-push-contiguous.js >@@ -8,7 +8,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result[0].toString() != "hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello") > throw "Error: bad array: " + result[0]; >diff --git a/JSTests/stress/array-push-double-then-nan.js b/JSTests/stress/array-push-double-then-nan.js >index fdc6eabf520afec6a973ae7539b124810a060c85..64bbdcc1abe3ac10fa9365a73e78c1f8ece29ceb 100644 >--- a/JSTests/stress/array-push-double-then-nan.js >+++ b/JSTests/stress/array-push-double-then-nan.js >@@ -8,7 +8,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(5.5); > if (result[0].toString() != "5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5") > throw "Error: bad array: " + result[0]; >diff --git a/JSTests/stress/array-push-double.js b/JSTests/stress/array-push-double.js >index a7065ffc1f19e5f5b8cc694b3579d658b3009670..629e0d7ad3f5fbf7533edc0b003bfe2302e2401b 100644 >--- a/JSTests/stress/array-push-double.js >+++ b/JSTests/stress/array-push-double.js >@@ -8,7 +8,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result[0].toString() != "7.5,6.5,5.5,4.5,3.5,2.5,1.5,0.5,-0.5,-1.5,-2.5,-3.5,-4.5,-5.5,-6.5,-7.5,-8.5,-9.5,-10.5,-11.5,-12.5,-13.5,-14.5,-15.5,-16.5,-17.5,-18.5,-19.5,-20.5,-21.5,-22.5,-23.5,-24.5,-25.5,-26.5,-27.5,-28.5,-29.5,-30.5,-31.5,-32.5,-33.5") > throw "Error: bad array: " + result[0]; >diff --git a/JSTests/stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js b/JSTests/stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js >index 510bc5348473c625f38671bc1eacbe769cc25a5d..627253ffce25bb4859ad5e17466dc2ba0f0fd594 100644 >--- a/JSTests/stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js >+++ b/JSTests/stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js >@@ -14,7 +14,7 @@ function bar() > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(bar(), [42.5], 0); > > var result = bar(); >diff --git a/JSTests/stress/array-push-nan-to-double-array.js b/JSTests/stress/array-push-nan-to-double-array.js >index 3322ea7d27a9be936d55598489736e2abaff644a..bc65fe661f9376dfca0181dcb78d86b494e52475 100644 >--- a/JSTests/stress/array-push-nan-to-double-array.js >+++ b/JSTests/stress/array-push-nan-to-double-array.js >@@ -11,7 +11,7 @@ function bar() > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(bar(), 42.5, 3.1); > > var result = bar(); >diff --git a/JSTests/stress/array-push.js b/JSTests/stress/array-push.js >index 0560987abee17f13b3051c99b4245bda2e59b302..d833d4978af613443068bf9e5cb4a10416bd0204 100644 >--- a/JSTests/stress/array-push.js >+++ b/JSTests/stress/array-push.js >@@ -8,7 +8,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result[0].toString() != "7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34") > throw "Error: bad array: " + result[0]; >diff --git a/JSTests/stress/array-reverse-doesnt-clobber.js b/JSTests/stress/array-reverse-doesnt-clobber.js >index c98a4b5d1f46416c7fca7fc7dc69a34168897b64..6ab3595bc3be4c2e3bdeef19426051d0fd46a038 100644 >--- a/JSTests/stress/array-reverse-doesnt-clobber.js >+++ b/JSTests/stress/array-reverse-doesnt-clobber.js >@@ -28,7 +28,7 @@ function testArrayReverse(createArray) > } > > let f = []; >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > f.push(new Array(16).fill(0x42424242)); > > save.push(arr); >diff --git a/JSTests/stress/array-reverse-proxy.js b/JSTests/stress/array-reverse-proxy.js >index 45d843defbe4a3bdc33632a39064b2ee7ff0b984..9b9ed60fe5119bf08d3272d29ad04885a20ea0be 100644 >--- a/JSTests/stress/array-reverse-proxy.js >+++ b/JSTests/stress/array-reverse-proxy.js >@@ -4,7 +4,7 @@ function assert(b) { > } > > function test(f) { >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > f(); > } > >diff --git a/JSTests/stress/array-slice-intrinsic.js b/JSTests/stress/array-slice-intrinsic.js >index 562db6d5a3afffa15ab722ce69088f0193f47c2a..c7dac2af759fab5aac658b98507cc3d2c28a15e0 100644 >--- a/JSTests/stress/array-slice-intrinsic.js >+++ b/JSTests/stress/array-slice-intrinsic.js >@@ -38,7 +38,7 @@ function runTest2(a, b, c) { > } > noInline(runTest2); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > for (let [input, output, ...args] of tests) { > assert(args.length === 1 || args.length === 2); > if (args.length === 1) >diff --git a/JSTests/stress/array-slice-jettison-on-constructor-change.js b/JSTests/stress/array-slice-jettison-on-constructor-change.js >index 13aa63c93a4faad4a00d3ec1b51017c1366c26a3..1f65b9e23cd7cb55b8a8912d5712c9c1e4c0354e 100644 >--- a/JSTests/stress/array-slice-jettison-on-constructor-change.js >+++ b/JSTests/stress/array-slice-jettison-on-constructor-change.js >@@ -53,7 +53,7 @@ function addRandomProperties(input) { > noInline(addRandomProperties); > > function runTests() { >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > for (let [input, output, ...args] of tests) { > addRandomProperties(input); > assert(args.length === 1 || args.length === 2); >diff --git a/JSTests/stress/array-slice-osr-exit-2.js b/JSTests/stress/array-slice-osr-exit-2.js >index 15a7f442d33e6e0bed54551b55fc41140e0a7175..b64e9f38d554f7a102abd9bccf43ec49ae0275f7 100644 >--- a/JSTests/stress/array-slice-osr-exit-2.js >+++ b/JSTests/stress/array-slice-osr-exit-2.js >@@ -55,7 +55,7 @@ function addRandomProperties(input) { > noInline(addRandomProperties); > > function runTests() { >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > for (let [input, output, ...args] of tests) { > addRandomProperties(input); > assert(args.length === 1 || args.length === 2); >diff --git a/JSTests/stress/array-slice-osr-exit.js b/JSTests/stress/array-slice-osr-exit.js >index 980feace0623223802949f9e6cb3cdccaaa677c6..02fd7bc80aa803813e635f49a575b291bbb98752 100644 >--- a/JSTests/stress/array-slice-osr-exit.js >+++ b/JSTests/stress/array-slice-osr-exit.js >@@ -59,7 +59,7 @@ function addRandomProperties(input) { > noInline(addRandomProperties); > > function runTests() { >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > for (let [input, output, ...args] of tests) { > addRandomProperties(input); > assert(args.length === 1 || args.length === 2); >diff --git a/JSTests/stress/array-symbol-species-lazy-watchpoints.js b/JSTests/stress/array-symbol-species-lazy-watchpoints.js >index 05e51660986b93bd530ad57ec7352ef361de9ece..fcba5110313c8ad353639925b0dbf42f833ca6b5 100644 >--- a/JSTests/stress/array-symbol-species-lazy-watchpoints.js >+++ b/JSTests/stress/array-symbol-species-lazy-watchpoints.js >@@ -19,27 +19,27 @@ function arrayEq(a, b) { > } > } > >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > arrayEq(test([1,2,3,4,5,6,7,8,9]), [3,4,1,2,3]); > > class A extends Array { } > >-for (let i = 0; i < 100; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let result = test(new A(1,2,3,4,5,6,7,8,9)); > arrayEq(result, [3,4,1,2,3]); > if (!(result instanceof A)) > throw new Error(); > } > >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > arrayEq(test([1,2,3,4,5,6,7,8,9]), [3,4,1,2,3]); > > delete Array.prototype.sort; > >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > arrayEq(test([1,2,3,4,5,6,7,8,9]), [3,4,1,2,3]); > >-for (let i = 0; i < 100; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let result = test(new A(1,2,3,4,5,6,7,8,9)); > arrayEq(result, [3,4,1,2,3]); > if (!(result instanceof A)) >diff --git a/JSTests/stress/arrayify-array-storage-typed-array.js b/JSTests/stress/arrayify-array-storage-typed-array.js >index 34f764f7c8919b1b4a37b60f00820ce0574c1190..87b237dae9ee77bcf01a0caf3824139b96e1d0c6 100644 >--- a/JSTests/stress/arrayify-array-storage-typed-array.js >+++ b/JSTests/stress/arrayify-array-storage-typed-array.js >@@ -12,7 +12,7 @@ function make2() { > > noInline(make2); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > make1(); > make2(); > } >@@ -23,7 +23,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo(make1()); > foo(make2()); > } >diff --git a/JSTests/stress/arrayify-fires-watchpoint.js b/JSTests/stress/arrayify-fires-watchpoint.js >index 5ef7e3315bb8b308eaedbd420a87b79aaa651524..5190cfce59cd263474746057ed3df3a2a1c50283 100644 >--- a/JSTests/stress/arrayify-fires-watchpoint.js >+++ b/JSTests/stress/arrayify-fires-watchpoint.js >@@ -20,7 +20,7 @@ function makeObjectArray(value) { > > var p = {f:42}; > p[0] = 5; >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(makeObjectArray(4), p, 88); > test(makeObjectArray(4.5), p, 88.5); > } >diff --git a/JSTests/stress/arrayify-int32-typed-array.js b/JSTests/stress/arrayify-int32-typed-array.js >index e7dd2e7d9ff2d3257b0bf11b29cdbdaac26c431d..e63b2fc8f14478ad86fdd0f9ec3aaa6f0a3cf1f4 100644 >--- a/JSTests/stress/arrayify-int32-typed-array.js >+++ b/JSTests/stress/arrayify-int32-typed-array.js >@@ -10,7 +10,7 @@ function make2() { > > noInline(make2); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > make1(); > make2(); > } >@@ -21,7 +21,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo(make1()); > foo(make2()); > } >diff --git a/JSTests/stress/arrayify-structure-bad-test.js b/JSTests/stress/arrayify-structure-bad-test.js >index 88edb366888e6448aac62273b926f9bad6d32bfd..abe7c1c9484d36d49fffb8fb27607b25ff351897 100644 >--- a/JSTests/stress/arrayify-structure-bad-test.js >+++ b/JSTests/stress/arrayify-structure-bad-test.js >@@ -14,7 +14,7 @@ function test(a, b, c) { > > var p = {f:42}; > p[0] = 5; >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test([4], p, 88); > test([4.5], p, 88.5); > } >diff --git a/JSTests/stress/arrayify-to-structure-contradiction.js b/JSTests/stress/arrayify-to-structure-contradiction.js >index 22c80192fe0ad1af9ef5fab6cd6a6b73ea58085b..e8288992759e95bfd2a26476ea976a188c12cea2 100644 >--- a/JSTests/stress/arrayify-to-structure-contradiction.js >+++ b/JSTests/stress/arrayify-to-structure-contradiction.js >@@ -7,7 +7,7 @@ function foo(array, v, p) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = [42]; > foo(array, 43, false); > if (array[0] != 43) >diff --git a/JSTests/stress/arrayprofile-should-not-convert-get-by-val-cow.js b/JSTests/stress/arrayprofile-should-not-convert-get-by-val-cow.js >index bc59059f3511eb4113df7a7b33a1432cdb921e3f..3ea0c118a5b55c31aff05347f237ad6922fe1040 100644 >--- a/JSTests/stress/arrayprofile-should-not-convert-get-by-val-cow.js >+++ b/JSTests/stress/arrayprofile-should-not-convert-get-by-val-cow.js >@@ -53,5 +53,5 @@ function test() { > withArrayLiteralContiguous(0); > } > >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/arrow-function-needs-its-own-structure.js b/JSTests/stress/arrow-function-needs-its-own-structure.js >index f31625a5666fff23539ef98c5f9a42d38f3fc5ca..8a3bac35fb94e9d1bade3e3757a79a430b7d0278 100644 >--- a/JSTests/stress/arrow-function-needs-its-own-structure.js >+++ b/JSTests/stress/arrow-function-needs-its-own-structure.js >@@ -11,12 +11,12 @@ noInline(readPrototype); > { > let f1 = function () { }; > let f2 = () => undefined; >- for (let i = 0; i < 100; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > assert(!f2.hasOwnProperty("prototype")); > assert(f1.hasOwnProperty("prototype")); > } > >- for (let i = 0; i < 100; ++i) >+ for (let i = 0; i < $vm.testingLoopCount; ++i) > assert(readPrototype(f2) === undefined); > assert(readPrototype(f1) !== undefined); > assert(readPrototype(f1) === f1.prototype); >diff --git a/JSTests/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js b/JSTests/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js >index bb8ba7a72b1c29ee3977f6d1a036a6d278a89b30..5bfe23f197a3222ce0e647756ca1257fa2ff1f47 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js >@@ -44,7 +44,7 @@ var af1 = afFactory1('AB', 'CD', 'EF'); > > noInline(af1); > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(af1('G', i), 'AB-CD-EF-G-' + i, txtMsg + "#5"); > } > >@@ -55,7 +55,7 @@ if (true) { > > noInline(af2); > >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(af2('ABC', i), 'undefined-ABC' + i, txtMsg + "#6"); > } > >@@ -63,7 +63,7 @@ if (true) { > > noInline(af3); > >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(typeof af3('ABC', i), 'object', txtMsg + "#7"); > testCase(typeof af3('ABC', i)[0], 'undefined', txtMsg + "#8"); > } >@@ -76,7 +76,7 @@ var afFactory4 = function () { > var af4 = new afFactory4('P1', 'Q2', 'R3'); > noInline(af4); > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(af4.func('EF', i), 'P1_Q2_R3_EF_' + i, txtMsg + "#9"); > } > >@@ -87,7 +87,7 @@ var afFactory5 = function () { > var af5 = new afFactory5('PQ', 'RS', 'TU'); > noInline(af5); > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(af5.func('VW', 'XY')('Z',i), 'PQ_RS_TU_VW_XY_Z_' + i, txtMsg + "#9"); > } > >@@ -101,7 +101,7 @@ var afInternal = new afNested('AB', 'CD', 'EF'); > var af6 = new afInternal('GH', 'IJ', 'KL'); > noInline(af6); > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(af6.func('VW', 'XY')('Z',i), 'GH_IJ_KL_VW_XY_Z_' + i, txtMsg + "#9"); > } > >@@ -115,7 +115,7 @@ if (true) { > > noInline(obj.method); > >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(obj.method(i), 'undefined-' + i, txtMsg + "#10"); > } > } >@@ -129,7 +129,7 @@ var objFactory = function () { > > var objInternal = objFactory('ABC', 'DEF'); > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(objInternal.method(i), 'ABC-' + i, txtMsg + "#11"); > } > >@@ -180,7 +180,7 @@ var af_mixed_scope = function (first, x, y) { > return arr; > }; > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(af_block_scope(true, 'A', 'B')('C'), 'branch-1', txtMsg + "#12"); > testCase(af_block_scope(false, 'A', 'B')('C'), 'internal-arrow-block-scope', txtMsg + "#12"); > testCase(af_function_scope(true, 'D', 'E')('F'), 'af_function_scope', txtMsg + "#13"); >@@ -196,7 +196,7 @@ function foo() { > > var foo_arr = foo('A', 'B'); > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(foo_arr('arguments[0]'), 'A', txtMsg + "#15"); > testCase(foo_arr('arguments[1]'), 'B', txtMsg + "#16"); > } >@@ -211,7 +211,7 @@ function boo() { > } > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(boo('A' + i)('B' + i)('D' + i)('E' + i)('G' + i)[0], 'E' + i, txtMsg + "#17"); > } > >@@ -229,7 +229,7 @@ function f_args () { > return () => 'no-value'; > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > let v = f_args(testValue, 'anotherValue')()()(); > testCase(v, testValue); > } >@@ -246,7 +246,7 @@ function f_args_eval () { > return () => 'no-value'; > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > let v = f_args_eval(testValue, 'anotherValue')()()(); > testCase(v, testValue); > } >diff --git a/JSTests/stress/arrowfunction-lexical-bind-arguments-non-strict-2.js b/JSTests/stress/arrowfunction-lexical-bind-arguments-non-strict-2.js >index 1b64135cbfc0ec38e34b2999e14a6935004669e6..b17f7dfabcf322174fd359754b5300f260cf45b2 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-arguments-non-strict-2.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-arguments-non-strict-2.js >@@ -88,7 +88,7 @@ function test() { > b.addObj({ operand : (value) => value + value }); > } > >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > runTest(); > } > >diff --git a/JSTests/stress/arrowfunction-lexical-bind-arguments-strict.js b/JSTests/stress/arrowfunction-lexical-bind-arguments-strict.js >index 86ffeff07ae5cda3f6b6bf4a7738b5305739bff5..5f05988f0bb179f0333345150d303a4846888429 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-arguments-strict.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-arguments-strict.js >@@ -76,7 +76,7 @@ function foo() { > > var foo_arr = foo('A', 'B'); > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(foo_arr('arguments[0]'), 'A', txtMsg + "#15"); > testCase(foo_arr('arguments[1]'), 'B', txtMsg + "#16"); > } >@@ -91,7 +91,7 @@ function boo() { > } > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(boo('A' + i)('B' + i)('D' + i)('E' + i)('G' + i)[0], 'E' + i, txtMsg + "#17"); > } > >@@ -121,7 +121,7 @@ function test() { > b.addObj({ operand : (value) => value + value }); > } > >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > runTest(); > } > >@@ -146,7 +146,7 @@ function f_args () { > return () => 'no-value'; > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > let v = f_args(testValue, 'anotherValue')()()(); > testCase(v, testValue); > } >@@ -163,7 +163,7 @@ function f_args_eval () { > return () => 'no-value'; > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > let v = f_args_eval(testValue, 'anotherValue')()()(); > testCase(v, testValue); > } >diff --git a/JSTests/stress/arrowfunction-lexical-bind-newtarget.js b/JSTests/stress/arrowfunction-lexical-bind-newtarget.js >index 636401782614e33c054edb86b1d9ddb152a614f8..b837f32a02e119d9017be6f0583a165d43a2ebbd 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-newtarget.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-newtarget.js >@@ -10,12 +10,12 @@ function getTarget(name) { > > noInline(getTarget) > >-for (var i=0; i < 1000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > var undefinedTarget = getTarget()(); > testCase(undefinedTarget, undefined, "Error: new.target is not lexically binded inside of the arrow function #1.0"); > } > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > var newTarget = new getTarget()(); > testCase(newTarget, getTarget, "Error: new.target is not lexically binded inside of the arrow function #2.0"); > } >@@ -31,12 +31,12 @@ function getTargetWithBlock(name) { > > noInline(getTargetWithBlock); > >-for (var i=0; i < 1000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > var undefinedTarget = getTargetWithBlock()(); > testCase(undefinedTarget, undefined, "Error: new.target is not lexically binded inside of the arrow function #1.1"); > } > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > var newTarget = new getTargetWithBlock()(); > testCase(newTarget, getTargetWithBlock, "Error: new.target is not lexically binded inside of the arrow function #2.1"); > } >@@ -59,7 +59,7 @@ var B = class B extends A { > } > }; > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > passed = false; > var b = new B(); > >@@ -94,7 +94,7 @@ var tryToCreateClass = function (val) { > return result; > }; > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(tryToCreateClass(true), true, "Error: newTargetLocal should be hided variable"); > testCase(tryToCreateClass(false), true, "Error: newTargetLocal should be hided variable"); > } >@@ -108,7 +108,7 @@ function getTargetBlockScope() { > return ()=>value; > } > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > var undefinedTarget = getTargetBlockScope()() > testCase(undefinedTarget, undefined, "Error: new.target is not lexically binded inside of the arrow function #4"); > } >@@ -134,7 +134,7 @@ class E extends D { > > var e = new E(); > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > var parentNewTarget = e.getParentNewTarget(); > testCase(parentNewTarget, undefined, "Error: new.target is not lexically binded inside of the arrow function #5"); > } >diff --git a/JSTests/stress/arrowfunction-lexical-bind-supercall-1.js b/JSTests/stress/arrowfunction-lexical-bind-supercall-1.js >index c247147dfda7d4ee981e3870a2a178840d69880e..1bea47749081921912ecea262d19479eff66be0f 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-supercall-1.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-supercall-1.js >@@ -31,7 +31,7 @@ var B = class B extends A { > } > }; > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > new B(true, false); > new B(false, true); > } >@@ -50,7 +50,7 @@ var testException = function (value1, value2, index) { > throw "Exception not thrown for an unitialized this at iteration " + index; > } > >-for (var i=0; i < 1000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > testException(false, false, i); > } > >diff --git a/JSTests/stress/arrowfunction-lexical-bind-supercall-2.js b/JSTests/stress/arrowfunction-lexical-bind-supercall-2.js >index 83c8e3777762ff54aecb6d7724f4ecb4f734eabe..a125a663d1f4800ca7f99bfcdcd69b18855f3990 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-supercall-2.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-supercall-2.js >@@ -31,7 +31,7 @@ var B = class B extends A { > } > }; > >-for (var i=0; i < 1000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > new B(true, false); > new B(false, true); > } >@@ -50,7 +50,7 @@ var testException = function (index) { > throw "Exception not thrown for an unitialized this at iteration #" + index; > } > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testException(i, ReferenceError); > } > >@@ -72,7 +72,7 @@ var C = class C extends A { > } > }; > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > new C(); > } > >@@ -129,7 +129,7 @@ var testTypeErrorException = function (index) { > throw "Exception not thrown for an unitialized this at iteration #" + index; > } > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testTypeErrorException(i); > } > >@@ -160,7 +160,7 @@ var ChildClass = class ChildClass extends ParentClass { > } > }; > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > errorStack = ''; > let c = new ChildClass(); > >diff --git a/JSTests/stress/arrowfunction-lexical-bind-supercall-3.js b/JSTests/stress/arrowfunction-lexical-bind-supercall-3.js >index 6fbb6d5acb74bde68d5dd6937c11da6c3106c6f5..ed58ebb1e014c8fe7a256e986829aab936407f40 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-supercall-3.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-supercall-3.js >@@ -28,7 +28,7 @@ var B = class B extends A { > } > }; > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > var b = new B(false); > } > >@@ -47,6 +47,6 @@ var testException = function (value, index) { > } > > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testException(true, i); > } >diff --git a/JSTests/stress/arrowfunction-lexical-bind-supercall-4.js b/JSTests/stress/arrowfunction-lexical-bind-supercall-4.js >index fb887c26ae1ad1262209b8eff00f84a1144be352..c8ea285d4b0479c623167ef9885deb0a8f45e230 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-supercall-4.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-supercall-4.js >@@ -55,7 +55,7 @@ var E = class E extends A { > }; > > >-for (var i=0; i < 1000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > new B(true); > var c = new C(); > testCase(c.value, 'constructor-value', 'Error during set value in eval #1.0'); >@@ -82,7 +82,7 @@ var testException = function (Klass, value, index) { > throw "Exception not thrown for an unitialized this at iteration #" + index; > } > >-for (var i=0; i < 1000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > testException(B, false, i); > } > >@@ -158,7 +158,7 @@ class I extends A { > let ic = new I(true); > testCase(ic.idValue, testValue, 'Error: not correct binding superProperty&this in constructor'); > >-for (var i=0; i < 1000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > testException(I, false, i); > } > >@@ -175,7 +175,7 @@ class J extends A { > let jc = new J(true); > testCase(jc.idValue, testValue, 'Error: not correct binding superProperty&this in constructor'); > >-for (var i=0; i < 1000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > testException(J, false, i); > } > >@@ -192,7 +192,7 @@ class K extends A { > let kc = new K(true); > testCase(kc.idValue, testValue, 'Error: not correct binding superProperty&this in constructor'); > >-for (var i=0; i < 1000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > testException(K, false, i); > } > >diff --git a/JSTests/stress/arrowfunction-lexical-bind-superproperty.js b/JSTests/stress/arrowfunction-lexical-bind-superproperty.js >index 9635c4eebc15509f0628007470675f14007f9f6b..3f127173f201e00cb65353ee613786365c52255d 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-superproperty.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-superproperty.js >@@ -64,16 +64,16 @@ var E = class E extends A { > }; > > var b = new B(); >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(b.getParentValue(), testValue, i); > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(D.getParentStaticValue(), testValue, i); > } > > var e = new E(); >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > e.setInitValue(); > testCase(e.prop, testValue+'-'+testValue, i); > e.prop = 'new-test-value'; >@@ -89,7 +89,7 @@ var F = class F extends A { > }; > > var f = new F(); >-for (var i=0; i < 10000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > try { > var result = f.newMethod(); > testCase(result, testValue, i); >@@ -150,7 +150,7 @@ var G = class G extends A { > }; > > var g = new G(); >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > g.setInitValue(); > testCase(g.prop, testValue + '-' + testValue, 'Error: Some problem with using arrow and "super" inside of the method'); > g.prop = 'new-test-value'; >@@ -158,7 +158,7 @@ var G = class G extends A { > } > > var g1 = new G(); >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > g1.setInitValue(); > let getValue = g1.getValueCB(); > testCase(getValue(), testValue, 'Error: Some problem with using arrow and "super" inside of the method that retun arrow function'); >@@ -179,7 +179,7 @@ var H = class H extends A { > } > }; > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > let h = new H(); > testCase(h.newValue, testValue, 'Error: Some problem with using "super" inside of the constructor'); > } >@@ -212,7 +212,7 @@ var J = class J extends A { > } > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > let i = new I(false); > testCase(i._value, testValue, 'Error: Some problem with using "super" inside of the constructor'); > let j = new J(false); >@@ -276,7 +276,7 @@ class K extends A { > > var k = new K(); > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(k.newMethodArrowEval() , testValue, 'Error: Error in lexical bind with eval and arrow function #1'); > testCase(k.newMethodArrowDoubleEval() , testValue, 'Error: Error in lexical bind with eval and arrow function #2'); > testCase(k.newMethodArrowEvalEvalArrow() , testValue, 'Error: Error in lexical bind with eval and arrow function #3'); >diff --git a/JSTests/stress/arrowfunction-lexical-bind-this-2.js b/JSTests/stress/arrowfunction-lexical-bind-this-2.js >index 83e90a86c34cf5b9fe39882e3ad3e5083ea7a69b..2540ab2d63dd0b7d14235e361b552fcf855d65d7 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-this-2.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-this-2.js >@@ -20,21 +20,21 @@ var obj = { > > noInline(obj.method); > >-for (var i=0; i < 10000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > testCase(obj.method()() === obj, true, "Error: this is not lexically binded inside of the arrow function #3"); > } > > var fake = {steal: obj.method()}; > noInline(fake.steal); > >-for (var i=0; i < 10000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > testCase(fake.steal() === obj, true, "Error: this is not lexically binded inside of the arrow function #4"); > } > > var real = {borrow: obj.method}; > noInline(real.borrow); > >-for (var i=0; i < 10000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > testCase(real.borrow()() === real, true, "Error: this is not lexically binded inside of the arrow function #5"); > } > >@@ -52,7 +52,7 @@ var functionConstructorWithEval = function () { > > var arrowWithEval = new functionConstructorWithEval(); > >-for (var i=0; i < 10000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > testCase(arrowWithEval.func() === 'new-value', true, "Error: this is not lexically binded inside of the arrow function #6"); > } > >@@ -84,7 +84,7 @@ function fooDefault() { > > var fooDefaultObject = new fooDefault(); > >-for (var i=0; i < 10000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > testCase(fooObject.arr() === 123, true, "Error: this is not lexically binded inside of the arrow function #7"); > testCase(fooObject._id === '12345', true, "Error: this is not lexically binded inside of the arrow function #8"); > testCase(fooDefaultObject.arr() === 123, true, "Error: this is not lexically binded inside of the arrow function #7"); >diff --git a/JSTests/stress/arrowfunction-lexical-bind-this-7.js b/JSTests/stress/arrowfunction-lexical-bind-this-7.js >index 2f76c9dd6df7827ea4c40968255e2ead1a97da47..3daec419585f2f082cc45a96cf7ea40c5d444c1f 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-this-7.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-this-7.js >@@ -17,7 +17,7 @@ var anotherScope = function (_af) { > return _af(); > }; > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > testCase(c(), anotherScope.call({val:'I'}, c), "Error: this is not lexically binded inside of the arrow function #1"); > testCase(b(), anotherScope.call({val:'J'}, b), "Error: this is not lexically binded inside of the arrow function #2"); > testCase(a(), anotherScope.call({val:'K'}, a), "Error: this is not lexically binded inside of the arrow function #3"); >diff --git a/JSTests/stress/arrowfunction-lexical-bind-this-8.js b/JSTests/stress/arrowfunction-lexical-bind-this-8.js >index 8a497a008acdabaf81884d54c1fc1f85a18bebf0..8079de3898bbbcb34bc1b6a1a725d1725ed0d200 100644 >--- a/JSTests/stress/arrowfunction-lexical-bind-this-8.js >+++ b/JSTests/stress/arrowfunction-lexical-bind-this-8.js >@@ -19,7 +19,7 @@ var f_this = function () { > return () => value; > } > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > testCase(f_this.call({value : testValue})()()(), testValue); > } > >@@ -35,7 +35,7 @@ var f_this_eval = function () { > return () => 'no-value'; > } > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > testCase(f_this_eval.call({value : testValue}, false)()()(), testValue); > } > >@@ -58,7 +58,7 @@ function f_this_branches (branch, returnThis) { > return () => value; > } > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > testCase(f_this_branches.call({value : testValue}, 'B')() == testValue, false); > testCase(f_this_branches.call({value : testValue}, 'A', false)()()() == testValue, false); > testCase(f_this_branches.call({value : testValue}, 'A', true)()()(), testValue); >@@ -82,7 +82,7 @@ function f_this_eval_branches (branch, returnThis) { > return () => value; > } > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > testCase(f_this_eval_branches.call({value : testValue}, 'B')() == testValue, false); > testCase(f_this_eval_branches.call({value : testValue}, 'A', false)()()() == testValue, false); > testCase(f_this_eval_branches.call({value : testValue}, 'A', true)()()(), testValue); >@@ -94,11 +94,11 @@ let arrow = () => { > testCase(self, this, "Error: Wrong lexical bind of this"); > }; > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > arrow(); > } > > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > eval("let _self=this;(()=>testCase(self, this, 'Error: Wrong lexical bind of this in eval'))();"); > } >diff --git a/JSTests/stress/arrowfunction-lexical-this-sinking-no-double-allocate.js b/JSTests/stress/arrowfunction-lexical-this-sinking-no-double-allocate.js >index 869e027139c1667e1069babd295a6d7fc0b9e415..5596f20789be07a886f3c18239e3641915edee8f 100644 >--- a/JSTests/stress/arrowfunction-lexical-this-sinking-no-double-allocate.js >+++ b/JSTests/stress/arrowfunction-lexical-this-sinking-no-double-allocate.js >@@ -23,7 +23,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = sink.call(newContext, true, false); > if (o.x != 3) > throw "Error: expected o.x to be 2 but is " + result; >diff --git a/JSTests/stress/arrowfunction-lexical-this-sinking-osrexit.js b/JSTests/stress/arrowfunction-lexical-this-sinking-osrexit.js >index 7ffcb3fa5b1e77fb6286180b332a3be7de28f60e..0f0a87c01596a1732e8424d55e8487b168af68e6 100644 >--- a/JSTests/stress/arrowfunction-lexical-this-sinking-osrexit.js >+++ b/JSTests/stress/arrowfunction-lexical-this-sinking-osrexit.js >@@ -20,7 +20,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink.call(newContext, true, false);// Substitute this > var result = f(42); > if (result != 42) >diff --git a/JSTests/stress/arrowfunction-lexical-this-sinking-put.js b/JSTests/stress/arrowfunction-lexical-this-sinking-put.js >index 057ea07635a4131cd2311d450735f57c1dd95865..c24d6a8a0e8f10e54d5fb1d9ea93d8fdc3a476ff 100644 >--- a/JSTests/stress/arrowfunction-lexical-this-sinking-put.js >+++ b/JSTests/stress/arrowfunction-lexical-this-sinking-put.js >@@ -22,7 +22,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink.call(newContext, true, true);// use call to substitute context > var result = f(42); > if (result != 42) >diff --git a/JSTests/stress/arrowfunction-prototype.js b/JSTests/stress/arrowfunction-prototype.js >index d56437e33cba50c8e491e10f7ee576a7e52b3a65..05f2a5b27e359881a44fef3664cfa84f776165af 100644 >--- a/JSTests/stress/arrowfunction-prototype.js >+++ b/JSTests/stress/arrowfunction-prototype.js >@@ -12,7 +12,7 @@ noInline(af1); > noInline(af2); > noInline(af3); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > testCase(typeof af1.prototype, 'undefined', "Error: Not correct result for prototype of arrow function #1"); > testCase(typeof af2.prototype, 'undefined', "Error: Not correct result for prototype of arrow function #2"); > testCase(typeof af3.prototype, 'undefined', "Error: Not correct result for prototype of arrow function #5"); >diff --git a/JSTests/stress/arrowfunction-sinking-no-double-allocate.js b/JSTests/stress/arrowfunction-sinking-no-double-allocate.js >index d2862c628e3b2ca304410b1ae22694718051dec1..e83f51e75560be1a84d4dfe9afeb0d170f528499 100644 >--- a/JSTests/stress/arrowfunction-sinking-no-double-allocate.js >+++ b/JSTests/stress/arrowfunction-sinking-no-double-allocate.js >@@ -14,7 +14,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = sink(true, false); > if (o.x != 3) > throw "Error: expected o.x to be 2 but is " + result; >diff --git a/JSTests/stress/arrowfunction-sinking-osrexit.js b/JSTests/stress/arrowfunction-sinking-osrexit.js >index 727f3ca3bde8da30140fa149973e17aaa8d9105e..0ba6655c1b29fe985ce5e9ee3482418d1cde7579 100644 >--- a/JSTests/stress/arrowfunction-sinking-osrexit.js >+++ b/JSTests/stress/arrowfunction-sinking-osrexit.js >@@ -5,7 +5,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, false); > var result = f(42); > if (result != 42) >diff --git a/JSTests/stress/arrowfunction-sinking-put.js b/JSTests/stress/arrowfunction-sinking-put.js >index 8db70bb9abc23148f627efc6186be057c3cbb276..db0c281ebbad53c87fde2fd143098e3d76aa196c 100644 >--- a/JSTests/stress/arrowfunction-sinking-put.js >+++ b/JSTests/stress/arrowfunction-sinking-put.js >@@ -5,7 +5,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, true); > var result = f(42); > if (result != 42) >diff --git a/JSTests/stress/arrowfunction-tdz-1.js b/JSTests/stress/arrowfunction-tdz-1.js >index 8d4d9d439b0eb441186f2ae6e87c6493faa300f0..2df88bb0e4330acdf73cc8a9dfec0a6c7049b368 100644 >--- a/JSTests/stress/arrowfunction-tdz-1.js >+++ b/JSTests/stress/arrowfunction-tdz-1.js >@@ -13,7 +13,7 @@ var B = class B extends A { > }; > > var exception = null; >-for (var i=0; i < 10000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > try { > new B(true, true); > } catch (e) { >diff --git a/JSTests/stress/arrowfunction-tdz-2.js b/JSTests/stress/arrowfunction-tdz-2.js >index 7afccafcb6a9fd3ac626be24e4c07b1efe036588..f649a83acc99d0a7e2091e1aaf7f60226221ac7c 100644 >--- a/JSTests/stress/arrowfunction-tdz-2.js >+++ b/JSTests/stress/arrowfunction-tdz-2.js >@@ -14,7 +14,7 @@ var B = class B extends A { > }; > > var exception = null; >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > try { > new B(true, true); > } catch (e) { >diff --git a/JSTests/stress/arrowfunction-tdz-3.js b/JSTests/stress/arrowfunction-tdz-3.js >index ab98309f1e5bfb2cf00280c5a38d002f9b6a6759..49ff75a5184c50c23b52933f7c0e045e6d5ed207 100644 >--- a/JSTests/stress/arrowfunction-tdz-3.js >+++ b/JSTests/stress/arrowfunction-tdz-3.js >@@ -167,7 +167,7 @@ var check = function (classForCheck) { > testCase(result.res, 'ok', 'Error in setting id '); > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > check(B); > check(C); > check(D); >diff --git a/JSTests/stress/arrowfunction-tdz-4.js b/JSTests/stress/arrowfunction-tdz-4.js >index 87c2927a1f1e5523095e75a1c4fd95e0afcc2f0b..37f26eeb0dff552cb2388fa92131f0bfbf989c7b 100644 >--- a/JSTests/stress/arrowfunction-tdz-4.js >+++ b/JSTests/stress/arrowfunction-tdz-4.js >@@ -31,7 +31,7 @@ var B = class B extends A { > } > }; > >-for (var i=0; i < 10000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > var exception; > try { > new B(false); >diff --git a/JSTests/stress/arrowfunction-tostring.js b/JSTests/stress/arrowfunction-tostring.js >index 6e949848e61904b618dfcba223d46a07557a3fcb..642205bdf408c99944fb27190aab500d93ba2bd1 100644 >--- a/JSTests/stress/arrowfunction-tostring.js >+++ b/JSTests/stress/arrowfunction-tostring.js >@@ -12,7 +12,7 @@ var af4 = (x, y) => x + y; > noInline(af1); > noInline(af2); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > testCase(af1.toString(), '() => {}', "Error: Not correct toString in arrow function #1"); > testCase(af2.toString(), '(a) => { a + 1 }', "Error: Not correct toString in arrow function #2"); > testCase(af3.toString(), 'x => x + 1', "Error: Not correct toString in arrow function #3"); >diff --git a/JSTests/stress/arrowfunction-typeof.js b/JSTests/stress/arrowfunction-typeof.js >index 14c03c77ddb8772b648f9691c6766a735673a116..ca696d28a7f97fea8ae1d571de99a7b9fc5c96af 100644 >--- a/JSTests/stress/arrowfunction-typeof.js >+++ b/JSTests/stress/arrowfunction-typeof.js >@@ -10,14 +10,14 @@ var af2 = (a) => {a + 1}; > noInline(af1); > noInline(af2); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > testCase(typeof af1, "function", "Error: Not correct type of the arrow function #1"); > testCase(typeof af2, "function", "Error: Not correct type of the arrow function #2"); > > //Fixme: Some bug in inlining typeof with following run parameters ftl-no-cjit-no-inline-validate > // --useFTLJIT\=true --useFunctionDotArguments\=true --useConcurrentJIT=false --thresholdForJITAfterWarmUp=100 --validateGraph=true --maximumInliningDepth=1 > // >-// for (var i = 0; i < 10000; ++i) { >+// for (var i = 0; i < $vm.testingLoopCount; ++i) { > // if (typeof (function () {}) !== 'function') > // throw 'Wrong type'; > // } >diff --git a/JSTests/stress/assign-argument-in-inlined-call.js b/JSTests/stress/assign-argument-in-inlined-call.js >index de2d0010ac7fbabec9c9125ad23770c284015855..a4e8a05f718a585055f42b313e8e83f34cb96453 100644 >--- a/JSTests/stress/assign-argument-in-inlined-call.js >+++ b/JSTests/stress/assign-argument-in-inlined-call.js >@@ -19,7 +19,7 @@ function f3(a) { > > noInline(f3); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = f3(42); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/assign-captured-argument-in-inlined-call.js b/JSTests/stress/assign-captured-argument-in-inlined-call.js >index 59912be84cfc1ee312e5d57c30b018726d42306d..0f97434c487b45a5017c0c5feb93f3139e82490b 100644 >--- a/JSTests/stress/assign-captured-argument-in-inlined-call.js >+++ b/JSTests/stress/assign-captured-argument-in-inlined-call.js >@@ -13,7 +13,7 @@ function f3(a) { > > noInline(f3); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = f3(42); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/async-await-long-loop.js b/JSTests/stress/async-await-long-loop.js >index b21d31c677061fe44e99bc9c8219c3ea99ef45ba..244620ef13c89a17ead9f497b633700815e900ef 100644 >--- a/JSTests/stress/async-await-long-loop.js >+++ b/JSTests/stress/async-await-long-loop.js >@@ -14,7 +14,7 @@ function shouldBe(expected, actual, msg = "") { > let out; > > async function longLoop() { >- for (let i = 0; i < 10000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > await undefined; > out = 1; > } >diff --git a/JSTests/stress/async-function-declaration-sinking-no-double-allocate.js b/JSTests/stress/async-function-declaration-sinking-no-double-allocate.js >index c1a92ad91d0b9d3a44db525d364184e67541dd79..f555abfa77ac6439d5790d6fd51e15c2cd6e9ec2 100644 >--- a/JSTests/stress/async-function-declaration-sinking-no-double-allocate.js >+++ b/JSTests/stress/async-function-declaration-sinking-no-double-allocate.js >@@ -22,7 +22,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = sink(true, false); > shouldBe(o.__proto__, AsyncFunctionPrototype); > if (o.x != 3) >diff --git a/JSTests/stress/async-function-declaration-sinking-osrexit.js b/JSTests/stress/async-function-declaration-sinking-osrexit.js >index 9e5a569e13ecc2990056cfb0ceaf1c720dcb4a08..cd7b4ffb7bad40fc00e1cfb110b8f2dc21640596 100644 >--- a/JSTests/stress/async-function-declaration-sinking-osrexit.js >+++ b/JSTests/stress/async-function-declaration-sinking-osrexit.js >@@ -28,7 +28,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, false); > shouldBe(f.__proto__, AsyncFunctionPrototype); > shouldBeAsync(42, f(42)); >diff --git a/JSTests/stress/async-function-declaration-sinking-put.js b/JSTests/stress/async-function-declaration-sinking-put.js >index 06177e880fab0d98ab79eb7d8369995f7c1affaa..bf13abf33d7f896e7ceda9b58e79a57a07a91f86 100644 >--- a/JSTests/stress/async-function-declaration-sinking-put.js >+++ b/JSTests/stress/async-function-declaration-sinking-put.js >@@ -28,7 +28,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, true); > shouldBe(f.__proto__, AsyncFunctionPrototype); > shouldBeAsync(42, f(42)); >diff --git a/JSTests/stress/async-function-expression-sinking-no-double-allocate.js b/JSTests/stress/async-function-expression-sinking-no-double-allocate.js >index c17aa994e9ec95c10be24e5e11b3cb4dd26f5bab..fbd2485ce80077fee9ee919bb1e51d87fdc247d8 100644 >--- a/JSTests/stress/async-function-expression-sinking-no-double-allocate.js >+++ b/JSTests/stress/async-function-expression-sinking-no-double-allocate.js >@@ -20,7 +20,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = sink(true, false); > shouldBe(o.__proto__, AsyncFunctionPrototype); > if (o.x != 3) >diff --git a/JSTests/stress/async-function-expression-sinking-osrexit.js b/JSTests/stress/async-function-expression-sinking-osrexit.js >index 22b14668cbd3b0d045db292dc1edbe6265227d9e..4965a716ad434b9518d49fa76a31693a265cbed4 100644 >--- a/JSTests/stress/async-function-expression-sinking-osrexit.js >+++ b/JSTests/stress/async-function-expression-sinking-osrexit.js >@@ -26,7 +26,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, false); > shouldBe(f.__proto__, AsyncFunctionPrototype); > shouldBeAsync(42, f(42)); >diff --git a/JSTests/stress/async-function-expression-sinking-put.js b/JSTests/stress/async-function-expression-sinking-put.js >index 5b21d2c35c12c79604577c6aee471fb296ca5da8..9f9d0051bc77d8d75d7c209a895d8b86103e29d3 100644 >--- a/JSTests/stress/async-function-expression-sinking-put.js >+++ b/JSTests/stress/async-function-expression-sinking-put.js >@@ -27,7 +27,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, true); > shouldBe(f.__proto__, AsyncFunctionPrototype); > shouldBeAsync(42, f(42)); >diff --git a/JSTests/stress/atomics-known-int-use.js b/JSTests/stress/atomics-known-int-use.js >index 80731ea7c824a7d2cffc6293a9ef5c27b41e2eb2..2ea55067184b96e638ef207c2e54cb481f92eda9 100644 >--- a/JSTests/stress/atomics-known-int-use.js >+++ b/JSTests/stress/atomics-known-int-use.js >@@ -10,7 +10,7 @@ noInline(foo); > > var array = new Int32Array(new SharedArrayBuffer(4)); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > array[0] = 13; > var result = foo(array, {f: 0}); > if (result != 13) >diff --git a/JSTests/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js b/JSTests/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js >index f3f6ea7771ec9f1a6e1ce6db6cae67f14b18c95d..9448673b4af31108b85cb8bc41eebe3f1cfc04a4 100644 >--- a/JSTests/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js >+++ b/JSTests/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js >@@ -1,7 +1,7 @@ > //@ runFTLNoCJIT > > (function () { >- for (var i = 0; i < 1000000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > const v = Array & 1 ? v : 1; > } > }()); >diff --git a/JSTests/stress/big-int-addition-jit.js b/JSTests/stress/big-int-addition-jit.js >index 1158e0a0c1241a6dfa3bbdd6a3da958d3326285f..2b8c3901f0bd8d44407cfc78ecd56e30aa8de495 100644 >--- a/JSTests/stress/big-int-addition-jit.js >+++ b/JSTests/stress/big-int-addition-jit.js >@@ -12,7 +12,7 @@ function bigIntAddition(x, y) { > } > noInline(bigIntAddition); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = bigIntAddition(3n, 10n); > assert.sameValue(r, 13n, 3n + " + " + 10n + " = " + r); > } >diff --git a/JSTests/stress/big-int-addition-memory-stress.js b/JSTests/stress/big-int-addition-memory-stress.js >index 8b1aeb1975cb3e027814e65a633db513f506c39c..70bbbfcbd3e1d2590c162f26ca80646079e1ad51 100644 >--- a/JSTests/stress/big-int-addition-memory-stress.js >+++ b/JSTests/stress/big-int-addition-memory-stress.js >@@ -6,7 +6,7 @@ function assert(a) { > } > > let a = 0n; >-for (let i = 0; i < 1000000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > a += 30n; > } > >diff --git a/JSTests/stress/big-int-constructor-gc.js b/JSTests/stress/big-int-constructor-gc.js >index 2fd2777099f27331ef4c7874167e563ba986058c..6a5f0b6ae8edd4ce52a0a21c035d2ba651708822 100644 >--- a/JSTests/stress/big-int-constructor-gc.js >+++ b/JSTests/stress/big-int-constructor-gc.js >@@ -7,13 +7,13 @@ function assert(expected, value) { > > let arr = []; > >-for (let i = 0; i < 1000000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i] = BigInt(i.toString()); > } > > gc(); > >-for (let i = 0; i < 1000000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(i.toString(), arr[i].toString()); > } > >diff --git a/JSTests/stress/big-int-constructor.js b/JSTests/stress/big-int-constructor.js >index c76843bf82f45eb93ae6711eeb6ea9f1323a119e..a305a63ab5e197d4e73160c2566cf1f220823e36 100644 >--- a/JSTests/stress/big-int-constructor.js >+++ b/JSTests/stress/big-int-constructor.js >@@ -61,7 +61,7 @@ n = BigInt("00000"); > assert(n.toString() === "0"); > > let giantTrailingString = "0"; >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > giantTrailingString += " "; > > n = BigInt(giantTrailingString); >diff --git a/JSTests/stress/big-int-div-jit.js b/JSTests/stress/big-int-div-jit.js >index 0e217e8307e39d4f40c15a2ad0708448266a904f..ecb1d25daf156465469dc0fb404b3ca17f51929e 100644 >--- a/JSTests/stress/big-int-div-jit.js >+++ b/JSTests/stress/big-int-div-jit.js >@@ -12,7 +12,7 @@ function bigIntDiv(x, y) { > } > noInline(bigIntDiv); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = bigIntDiv(30n, 10n); > assert.sameValue(r, 3n, 30n + " / " + 10n + " = " + r); > } >diff --git a/JSTests/stress/big-int-div-memory-stress.js b/JSTests/stress/big-int-div-memory-stress.js >index 0cf0b9b6faf3ef85c5f59d3ba9bf4a974f73f6f4..d43001a159dcd2fc5733aa2e28f84746bf1f9eec 100644 >--- a/JSTests/stress/big-int-div-memory-stress.js >+++ b/JSTests/stress/big-int-div-memory-stress.js >@@ -7,7 +7,7 @@ function assert(a) { > > let a = 0n; > let b = 30n; >-for (let i = 0; i < 1000000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > a = b / 2n; > } > >diff --git a/JSTests/stress/big-int-greater-than-jit.js b/JSTests/stress/big-int-greater-than-jit.js >index f03ada2bd9a6c49ee3b0859c8fa0cac71d86ece0..87f41862a23371cba3151dbe4ea98a270d387259 100644 >--- a/JSTests/stress/big-int-greater-than-jit.js >+++ b/JSTests/stress/big-int-greater-than-jit.js >@@ -10,15 +10,15 @@ function greaterThanTest(a, b) { > } > noInline(greaterThanTest); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(greaterThanTest(3n, 4) === false); > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(greaterThanTest(3n, 4n) === false); > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(greaterThanTest(3n, "4") === false); > } > >diff --git a/JSTests/stress/big-int-greater-than-or-equal-jit.js b/JSTests/stress/big-int-greater-than-or-equal-jit.js >index d37fe517aad0688b01dc4c7db4d4b7ac9cdbcd4b..132718162a8177fef1e7245332279631550b7aa8 100644 >--- a/JSTests/stress/big-int-greater-than-or-equal-jit.js >+++ b/JSTests/stress/big-int-greater-than-or-equal-jit.js >@@ -10,15 +10,15 @@ function greaterThanOrEqualTest(a, b) { > } > noInline(greaterThanOrEqualTest); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(greaterThanOrEqualTest(3n, 4) === false); > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(greaterThanOrEqualTest(3n, 4n) === false); > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(greaterThanOrEqualTest(3n, "4") === false); > } > >diff --git a/JSTests/stress/big-int-less-than-jit.js b/JSTests/stress/big-int-less-than-jit.js >index 0e80addc11e08bcd4a3a74bb1148161153bcb74f..9300562595f37ce6a45a113b255667691bf8892a 100644 >--- a/JSTests/stress/big-int-less-than-jit.js >+++ b/JSTests/stress/big-int-less-than-jit.js >@@ -10,15 +10,15 @@ function lessThanTest(a, b) { > } > noInline(lessThanTest); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(lessThanTest(3n, 4) === true); > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(lessThanTest(3n, 4n) === true); > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(lessThanTest(3n, "4") === true); > } > >diff --git a/JSTests/stress/big-int-less-than-or-equal-jit.js b/JSTests/stress/big-int-less-than-or-equal-jit.js >index f3568440500ca14c281cb034a9d9ca7ed9f214eb..7ddd28a1040bca9232c65b3a6b1b1947c51010cf 100644 >--- a/JSTests/stress/big-int-less-than-or-equal-jit.js >+++ b/JSTests/stress/big-int-less-than-or-equal-jit.js >@@ -10,15 +10,15 @@ function lessThanOrEqualTest(a, b) { > } > noInline(lessThanOrEqualTest); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(lessThanOrEqualTest(3n, 4) === true); > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(lessThanOrEqualTest(3n, 4n) === true); > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(lessThanOrEqualTest(3n, "4") === true); > } > >diff --git a/JSTests/stress/big-int-mod-jit.js b/JSTests/stress/big-int-mod-jit.js >index 81c5da7c5bc99902e02db6d9de4eb1e390b5b829..8bdda44e8b134123a1fad074ce1ed1694d4d17d1 100644 >--- a/JSTests/stress/big-int-mod-jit.js >+++ b/JSTests/stress/big-int-mod-jit.js >@@ -12,7 +12,7 @@ function bigIntMod(x, y) { > } > noInline(bigIntMod); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = bigIntMod(30n, 10n); > assert.sameValue(r, 0n, 30n + " % " + 10n + " = " + r); > } >@@ -23,7 +23,7 @@ function bigIntModFolding(x, y) { > } > noInline(bigIntModFolding); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = bigIntModFolding(10, 30); > assert.sameValue(r, -10, "-(" + 10 + " % " + 30 + ") = " + r); > } >diff --git a/JSTests/stress/big-int-mod-memory-stress.js b/JSTests/stress/big-int-mod-memory-stress.js >index 9b67d718f76add8495545df9ee1651a12e654eea..617c9d01557abe9a7e37c9c014a6c42d95be3516 100644 >--- a/JSTests/stress/big-int-mod-memory-stress.js >+++ b/JSTests/stress/big-int-mod-memory-stress.js >@@ -7,7 +7,7 @@ function assert(a) { > > let a = 0n; > let b = 30n; >-for (let i = 0; i < 1000000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > a = b % 2n; > } > >diff --git a/JSTests/stress/big-int-mul-jit.js b/JSTests/stress/big-int-mul-jit.js >index 0cbede31875d21fb3822e7f28ff05bcaca1c9f7a..58d94357ef6cf20034556b9f91088469d467ddd7 100644 >--- a/JSTests/stress/big-int-mul-jit.js >+++ b/JSTests/stress/big-int-mul-jit.js >@@ -12,7 +12,7 @@ function bigIntMul(x, y) { > } > noInline(bigIntMul); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = bigIntMul(3n, 10n); > assert.sameValue(r, 30n, 3n + " * " + 10n + " = " + r); > } >diff --git a/JSTests/stress/big-int-multiply-memory-stress.js b/JSTests/stress/big-int-multiply-memory-stress.js >index 1abaa7e28f9aee65d21c0d36f63df68023b9c897..c4d67a7619dc170ac3a0c73d5a5b7425981c1100 100644 >--- a/JSTests/stress/big-int-multiply-memory-stress.js >+++ b/JSTests/stress/big-int-multiply-memory-stress.js >@@ -7,7 +7,7 @@ function assert(a) { > > let a = 0n; > let b = 1n; >-for (let i = 0; i < 1000000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > a = b * 30n; > } > >diff --git a/JSTests/stress/big-int-negate-jit.js b/JSTests/stress/big-int-negate-jit.js >index ab497831c965e87436ab904078bedb0269b58ca0..bd689d95fa2b43fe5d3bbbb682fcaa26b6a477d0 100644 >--- a/JSTests/stress/big-int-negate-jit.js >+++ b/JSTests/stress/big-int-negate-jit.js >@@ -11,7 +11,7 @@ function negateBigInt(n) { > } > noInline(negateBigInt); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(negateBigInt(100n), -100n); > assert(negateBigInt(-0x1fffffffffffff01n), 0x1fffffffffffff01n); > } >@@ -24,7 +24,7 @@ function negateBigIntSpecializedToInt(n) { > } > noInline(negateBigIntSpecializedToInt); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > negateBigIntSpecializedToInt(100); > } > >@@ -36,7 +36,7 @@ function mixedSpeculationNegateBigInt(n, arr) { > } > noInline(mixedSpeculationNegateBigInt); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i % 2) > assert(mixedSpeculationNegateBigInt(100), -100); > else >diff --git a/JSTests/stress/big-int-spec-to-primitive.js b/JSTests/stress/big-int-spec-to-primitive.js >index 37f8790d68ce4eeed927f951fbd7faaad44d3363..59cb0d7f78e91c105a03048619cf6980555b582e 100644 >--- a/JSTests/stress/big-int-spec-to-primitive.js >+++ b/JSTests/stress/big-int-spec-to-primitive.js >@@ -11,7 +11,7 @@ function foo(input) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(foo(10n) === "10"); > } > >diff --git a/JSTests/stress/big-int-spec-to-this.js b/JSTests/stress/big-int-spec-to-this.js >index f03bf680fdadae27be7ae04643e3958ac9215e3e..93d0c49ed6ded3d1f70a83fef6111a35b37a817d 100644 >--- a/JSTests/stress/big-int-spec-to-this.js >+++ b/JSTests/stress/big-int-spec-to-this.js >@@ -11,11 +11,11 @@ function foo() { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(foo.apply(10n) === "object"); > } > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(foo.apply(300) === "object"); > } > >diff --git a/JSTests/stress/big-int-strict-equals-jit.js b/JSTests/stress/big-int-strict-equals-jit.js >index 8457d4a06767f79ed351f0030f6951e68ab21a5e..0cfa944b6c1032c164eae324759f2a1436b135af 100644 >--- a/JSTests/stress/big-int-strict-equals-jit.js >+++ b/JSTests/stress/big-int-strict-equals-jit.js >@@ -10,7 +10,7 @@ function foo(a, b) { > } > noInline(foo); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(!foo(2n, 3n)); > assert(foo(3n, 3n)); > } >@@ -32,6 +32,6 @@ function bar() { > } > noInline(bar); > >-for (let i = 0; i < 100000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > assert(bar() === bar()); > >diff --git a/JSTests/stress/big-int-strict-spec-to-this.js b/JSTests/stress/big-int-strict-spec-to-this.js >index b5d03bd27b86d78f2899d8a13bf3d60afe4f96fe..b86e433044ee7ee1c1791e2c26258993c761d780 100644 >--- a/JSTests/stress/big-int-strict-spec-to-this.js >+++ b/JSTests/stress/big-int-strict-spec-to-this.js >@@ -11,11 +11,11 @@ function foo() { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(foo.apply(10n) === "bigint"); > } > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(foo.apply(300) === "number"); > } > >diff --git a/JSTests/stress/big-int-subtraction-jit.js b/JSTests/stress/big-int-subtraction-jit.js >index cb081aafb817bc39dfe56c23121c6781261c949b..76cd74dfa82406862a616f3bc10acd4d4af7d215 100644 >--- a/JSTests/stress/big-int-subtraction-jit.js >+++ b/JSTests/stress/big-int-subtraction-jit.js >@@ -12,7 +12,7 @@ function bigIntAddition(x, y) { > } > noInline(bigIntAddition); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = bigIntAddition(3n, 10n); > assert.sameValue(r, -7n, 3n + " - " + 10n + " = " + r); > } >diff --git a/JSTests/stress/big-int-type-of-proven-type.js b/JSTests/stress/big-int-type-of-proven-type.js >index d2f539798c5191d2164e0f1adebf9f2f27f01438..eccf1f37a0e961cf828b501728eed7e66ab46066 100644 >--- a/JSTests/stress/big-int-type-of-proven-type.js >+++ b/JSTests/stress/big-int-type-of-proven-type.js >@@ -12,7 +12,7 @@ function foo(o) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(foo(3n) === "3"); > } > >diff --git a/JSTests/stress/bit-op-value-to-int32-input-liveness.js b/JSTests/stress/bit-op-value-to-int32-input-liveness.js >index d614db2cd099261461ad716b5a0265056991fe2a..a72ccf4765bab19e7097e97844217fbb2e1ed958 100644 >--- a/JSTests/stress/bit-op-value-to-int32-input-liveness.js >+++ b/JSTests/stress/bit-op-value-to-int32-input-liveness.js >@@ -4,7 +4,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:5.5}, {f:6.5}); > if (result != 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/bound-function-lazy-name-generation.js b/JSTests/stress/bound-function-lazy-name-generation.js >index be1a747e3f7cd5b994a742ba661ac01e2ada05ce..db02b3f90279c71ea46a9c74a066c4cf9faf72fb 100644 >--- a/JSTests/stress/bound-function-lazy-name-generation.js >+++ b/JSTests/stress/bound-function-lazy-name-generation.js >@@ -19,5 +19,5 @@ function test() { > assert(f.name === "bound foo"); > assert(Reflect.ownKeys(f).includes("name")); > } >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/branch-check-int32-on-boolean-to-number-untyped.js b/JSTests/stress/branch-check-int32-on-boolean-to-number-untyped.js >index 8f4af0b3cf26d4f25f924c4a99fee8bc7168666d..ec410ee6b4360fee40cbd6073f5de162ca7c382b 100644 >--- a/JSTests/stress/branch-check-int32-on-boolean-to-number-untyped.js >+++ b/JSTests/stress/branch-check-int32-on-boolean-to-number-untyped.js >@@ -13,7 +13,7 @@ function test(value, expected) { > throw "Error: bad result for " + value + ": " + result; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(1, "yes"); > test(0, "no"); > test(true, "yes"); >diff --git a/JSTests/stress/branch-check-number-on-boolean-to-number-untyped.js b/JSTests/stress/branch-check-number-on-boolean-to-number-untyped.js >index d6099a9a94ccbff73df702a9e03e530d6f6f8baf..99bb1a79dea01640d441672906456713d967dd76 100644 >--- a/JSTests/stress/branch-check-number-on-boolean-to-number-untyped.js >+++ b/JSTests/stress/branch-check-number-on-boolean-to-number-untyped.js >@@ -13,7 +13,7 @@ function test(value, expected) { > throw "Error: bad result for " + value + ": " + result; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(1.5, "yes"); > test(0.0, "no"); > test(true, "yes"); >diff --git a/JSTests/stress/branch-may-exit-due-to-object-or-other-use-kind.js b/JSTests/stress/branch-may-exit-due-to-object-or-other-use-kind.js >index aee19edc1f47535bc84a58decdba8d0e7f9604b6..30b6d583da865a35463dca9d734bd126e5439d5d 100644 >--- a/JSTests/stress/branch-may-exit-due-to-object-or-other-use-kind.js >+++ b/JSTests/stress/branch-may-exit-due-to-object-or-other-use-kind.js >@@ -42,5 +42,5 @@ function foo(x) { > } > > makeMasquerader(); // Invalidates the masqueradesAsUndefined watchpoint for condition 3. >-for (var i = 0; i < 10000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > foo({}); // Pass an object argument to set up condition 1. >diff --git a/JSTests/stress/bug-131764.js b/JSTests/stress/bug-131764.js >index c740c4256a7c4adcecf16cbfc32bc58cf1388186..26ce546d564585b21c54b1187617e3a7d2dadc48 100644 >--- a/JSTests/stress/bug-131764.js >+++ b/JSTests/stress/bug-131764.js >@@ -14,7 +14,7 @@ if (this.noInline) { > > var array = [1,2,3,4,5]; > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > result ^= test2(1,2,3,4,5,6,7).length; > } > >diff --git a/JSTests/stress/bug-171786.js b/JSTests/stress/bug-171786.js >index 2e467557e748945855949196273782e69c93d049..f3b90f1ab90bda3f8c8105402163cdb9d906f568 100644 >--- a/JSTests/stress/bug-171786.js >+++ b/JSTests/stress/bug-171786.js >@@ -4,7 +4,7 @@ function foo(i, x) { > } > noInline(foo); > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > try { > if (i < 200) > foo(i, "hello"); >diff --git a/JSTests/stress/builtin-function-is-construct-type-none.js b/JSTests/stress/builtin-function-is-construct-type-none.js >index 626248dea07e1a20a81a2199afd9d7a18b52a152..3e7c6640ec4e12300eb783c0f276cf56758fb3e5 100644 >--- a/JSTests/stress/builtin-function-is-construct-type-none.js >+++ b/JSTests/stress/builtin-function-is-construct-type-none.js >@@ -11,7 +11,7 @@ function shouldThrow(func, message) { > throw new Error("bad error: " + String(error)); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > shouldThrow(function () { > new Array.prototype.forEach(function () { }); > }, "TypeError: function is not a constructor (evaluating 'new Array.prototype.forEach(function () { })')"); >diff --git a/JSTests/stress/call-apply-exponential-bytecode-size.js b/JSTests/stress/call-apply-exponential-bytecode-size.js >index 3ab699c73c1d077811b38d0a14bef994b6e4df0d..64dc56ec9165cc2076100603e663f370daa1c3b6 100644 >--- a/JSTests/stress/call-apply-exponential-bytecode-size.js >+++ b/JSTests/stress/call-apply-exponential-bytecode-size.js >@@ -49,7 +49,7 @@ assert(randomApplyOrCall(0, depth) === depth + 1); > assert(randomApplyOrCall(1, depth) === depth + 1); > assert(randomApplyOrCall(0, depth, 0) === depth + 1); > assert(randomApplyOrCall(1, depth, 1) === depth + 1); >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > assert(randomApplyOrCall(Math.random(), depth) === depth + 1); > assert(randomApplyOrCall(Math.random(), depth + 1, Math.random()) === depth + 2); > } >diff --git a/JSTests/stress/call-forward-varargs-for-inlined-escaped-arguments.js b/JSTests/stress/call-forward-varargs-for-inlined-escaped-arguments.js >index 475850681e34eb5a9144eee1c1c5e89ed7189dc8..a6acbe1e75c6b21cfddbaadb7b2d23c10ac5dd89 100644 >--- a/JSTests/stress/call-forward-varargs-for-inlined-escaped-arguments.js >+++ b/JSTests/stress/call-forward-varargs-for-inlined-escaped-arguments.js >@@ -15,7 +15,7 @@ function bar(a, b, c) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(1, 2, 3); > if (result != 47) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/call-object-constructor.js b/JSTests/stress/call-object-constructor.js >index ee1fea19bdf0cbc017c17dc6f084b6cdd8a555e7..4f8a8a804ca825bef9eff7abbc2476ca3a181db2 100644 >--- a/JSTests/stress/call-object-constructor.js >+++ b/JSTests/stress/call-object-constructor.js >@@ -8,7 +8,7 @@ function assert(condition) { > throw new Error("assertion failed"); > } > >-for (i = 0; i < 100000; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > assert(!test(null)); > assert(!test(undefined)); > assert(!test(1)); >diff --git a/JSTests/stress/call-varargs-double-new-array-buffer.js b/JSTests/stress/call-varargs-double-new-array-buffer.js >index 156030b7d0c0b6508ab2a535e30f464921bd7965..0110c25eb4dd1599ba74c0ead83ff3d23af4321a 100644 >--- a/JSTests/stress/call-varargs-double-new-array-buffer.js >+++ b/JSTests/stress/call-varargs-double-new-array-buffer.js >@@ -15,7 +15,7 @@ function foo(a, ...args) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 12); > assert(r[0] === i+1, JSON.stringify(r)); >diff --git a/JSTests/stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js b/JSTests/stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js >index b8d4395ccdd0fc2f799d68c2d18b4218a097f714..ef678f4f83df0ede0618ac594553e4800685804a 100644 >--- a/JSTests/stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js >+++ b/JSTests/stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js >@@ -16,14 +16,14 @@ function baz(x) { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(0); > if (result != 21586 - 26 * 101) > throw "Error: bad result: " + result; > } > > // Force recompilation. >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(2147483646); > if (result != 2147502606) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/call-varargs-from-inlined-code.js b/JSTests/stress/call-varargs-from-inlined-code.js >index 3484bdacd003f44c1d196aa20d33e8653cdc3292..1a2f4bc1c19551a5acac59bf47c4207cd86c7b16 100644 >--- a/JSTests/stress/call-varargs-from-inlined-code.js >+++ b/JSTests/stress/call-varargs-from-inlined-code.js >@@ -16,14 +16,14 @@ function baz(x) { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(0); > if (result != 21586) > throw "Error: bad result: " + result; > } > > // Force recompilation. >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(2147483646); > if (result != 2147505232) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/call-varargs-length-effects.js b/JSTests/stress/call-varargs-length-effects.js >index 03bcfd7eedc399e0515982b934adda0d903b2df9..9f33c1aa22ae821340ae326e3b9ad88c5230698a 100644 >--- a/JSTests/stress/call-varargs-length-effects.js >+++ b/JSTests/stress/call-varargs-length-effects.js >@@ -20,5 +20,5 @@ function bar() { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar(); >diff --git a/JSTests/stress/call-varargs-spread-new-array-buffer.js b/JSTests/stress/call-varargs-spread-new-array-buffer.js >index 6a5c8d39855e7f5f1b808d4b315fa9556baa9331..e9dd229f21bd11f4b04c583677eecc6d352956ed 100644 >--- a/JSTests/stress/call-varargs-spread-new-array-buffer.js >+++ b/JSTests/stress/call-varargs-spread-new-array-buffer.js >@@ -16,7 +16,7 @@ function foo() { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(); > assert(r.length === 7); > assert(r[0] === 1, JSON.stringify(r)); >diff --git a/JSTests/stress/call-varargs-spread-new-array-buffer2.js b/JSTests/stress/call-varargs-spread-new-array-buffer2.js >index d2f8ad8da49c5a7c8dcf743c420299426036bbe3..f34cfeb272253e3bbe01f6b28cfd872f0fb3fbeb 100644 >--- a/JSTests/stress/call-varargs-spread-new-array-buffer2.js >+++ b/JSTests/stress/call-varargs-spread-new-array-buffer2.js >@@ -15,7 +15,7 @@ function foo(a, ...args) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 12); > assert(r[0] === i+1, JSON.stringify(r)); >diff --git a/JSTests/stress/call-varargs-spread.js b/JSTests/stress/call-varargs-spread.js >index 0e19c888548c0a8a9cc39d568e97254a2a7d7b62..dee38767292c14f86aac16b272573b4868df0bce 100644 >--- a/JSTests/stress/call-varargs-spread.js >+++ b/JSTests/stress/call-varargs-spread.js >@@ -15,7 +15,7 @@ function foo(a, ...args) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 7); > assert(r[0] === i+1, JSON.stringify(r)); >diff --git a/JSTests/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js b/JSTests/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js >index c9b119ebe7344725c534c0c84ed8a077104a21dd..1cc077324991a38963faa9cb57a772d503877f3f 100644 >--- a/JSTests/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js >+++ b/JSTests/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js >@@ -10,7 +10,7 @@ function test1(f) { > Object.defineProperty(f, "arguments", {value:32}); > assert(f.arguments === 32); > } >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > test1(function () { "use strict"; }); > test1(class C { }); > test1(() => undefined); >@@ -32,7 +32,7 @@ function test2(f, p = {}) { > throw new Error("Should not be called!"); > } > }); >- for (let i = 0; i < 1000; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > test2(function () { "use strict"; }, proxy); > test2(class C { }, proxy); > test2(() => undefined, proxy); >@@ -41,7 +41,7 @@ function test2(f, p = {}) { > } > } > >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > test2(function () { "use strict"; }); > test2(class C { }); > test2(() => undefined); >@@ -65,7 +65,7 @@ function test3(f) { > assert(f.arguments === undefined); > assert(!f.hasOwnProperty("arguments")); > } >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > test3(function () { "use strict"; }); > test3(class C { }); > test3(() => undefined); >diff --git a/JSTests/stress/capture-escape-and-throw.js b/JSTests/stress/capture-escape-and-throw.js >index c77497c536123065febd5e9b90dc3c1cc70a98a8..a525c043160d86a10f22030845d2b164c2280915 100644 >--- a/JSTests/stress/capture-escape-and-throw.js >+++ b/JSTests/stress/capture-escape-and-throw.js >@@ -10,7 +10,7 @@ function foo(s) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(1); > > var didThrow = false; >diff --git a/JSTests/stress/captured-arguments-variable.js b/JSTests/stress/captured-arguments-variable.js >index a0e68e4ef8498f2912be002628919065b962487a..5c2238142d695df8c6b3e109927bf7105bc47e1f 100644 >--- a/JSTests/stress/captured-arguments-variable.js >+++ b/JSTests/stress/captured-arguments-variable.js >@@ -4,7 +4,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42, 97); > if (result != 4339) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/catch-set-argument-speculation-failure.js b/JSTests/stress/catch-set-argument-speculation-failure.js >index 12f939d9bd96ef53d0c15fed59e357afecabedb6..2ff943d4ea14e2cd269efcecde27ad13ae2f41ca 100644 >--- a/JSTests/stress/catch-set-argument-speculation-failure.js >+++ b/JSTests/stress/catch-set-argument-speculation-failure.js >@@ -41,7 +41,7 @@ noInline(baz); > { > let o = {x:20}; > function run() { >- for (let i = 0; i < 1000; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > try { > baz(o); > } catch { } >diff --git a/JSTests/stress/catch-variables-under-tdz.js b/JSTests/stress/catch-variables-under-tdz.js >index 0f9838508fe7c573e94849f1d1a055515bffc401..f8c08f049674eacfa9e6b6971acf04d589ec3460 100644 >--- a/JSTests/stress/catch-variables-under-tdz.js >+++ b/JSTests/stress/catch-variables-under-tdz.js >@@ -1,5 +1,5 @@ > function test(s) { >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > let evalString = `try { throw new Error } catch(${s}) { }`; >diff --git a/JSTests/stress/check-dom-with-signature.js b/JSTests/stress/check-dom-with-signature.js >index 26dac7a3baa35971782c46280a017d0cdee45ef2..4a910a5a709f0d199d51f39570339c8c69b88b13 100644 >--- a/JSTests/stress/check-dom-with-signature.js >+++ b/JSTests/stress/check-dom-with-signature.js >@@ -6,7 +6,7 @@ function shouldBe(actual, expected) { > } > > var array = []; >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > array.push(createDOMJITFunctionObject()); > > function calling(dom) >diff --git a/JSTests/stress/check-string-ident.js b/JSTests/stress/check-string-ident.js >index fc17421798efe22c629f8045d682e41b2281f7b7..a4fc2c85325b7d05e817c1447186e6a1e98017e7 100644 >--- a/JSTests/stress/check-string-ident.js >+++ b/JSTests/stress/check-string-ident.js >@@ -8,7 +8,7 @@ function foo(p) { > noInline(foo); > noOSRExitFuzzing(foo); > >-for (let i = 0; i < 1000000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > foo("baz"); > } > >diff --git a/JSTests/stress/check-sub-class.js b/JSTests/stress/check-sub-class.js >index 4b4b1d466cb20913127f3c3fdca60b1874f006ec..615317a57947fbc33ad66ec1e971fcb1948a000f 100644 >--- a/JSTests/stress/check-sub-class.js >+++ b/JSTests/stress/check-sub-class.js >@@ -22,7 +22,7 @@ function shouldThrow(func, errorMessage) { > } > > var array = []; >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > array.push(createDOMJITCheckSubClassObject()); > > // DOMJITNode is an instance of a super class (DOMJITNode) of DOMJITCheckSubClassObject. >diff --git a/JSTests/stress/chill-mod-chill-mod.js b/JSTests/stress/chill-mod-chill-mod.js >index e5e770f83c9966809f6c05388c599bcf2c1a1006..0cb80f4d8ee79fdb8cae64d9049940094b0543db 100644 >--- a/JSTests/stress/chill-mod-chill-mod.js >+++ b/JSTests/stress/chill-mod-chill-mod.js >@@ -5,6 +5,6 @@ function foo(a, b) > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(1, 2); > >diff --git a/JSTests/stress/class-subclassing-array.js b/JSTests/stress/class-subclassing-array.js >index 2868796bd44235efd7a6a717c38f88c537d084df..ab9f5841713837d0225470820807bcf202b4529f 100644 >--- a/JSTests/stress/class-subclassing-array.js >+++ b/JSTests/stress/class-subclassing-array.js >@@ -31,5 +31,5 @@ function test() { > } > noInline(test); > >-for(i = 0; i < 10000; i++) >+for(i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/class-subclassing-function.js b/JSTests/stress/class-subclassing-function.js >index b26f1783b0f134c02a07e7b2f0c7592003a6df7b..98c3cfb4f43a0e995fa82cb4be09965d3e05f7de 100644 >--- a/JSTests/stress/class-subclassing-function.js >+++ b/JSTests/stress/class-subclassing-function.js >@@ -33,5 +33,5 @@ function test(i) { > } > noInline(test); > >-for (i = 0; i < 10000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > test(i); >diff --git a/JSTests/stress/class-subclassing-misc.js b/JSTests/stress/class-subclassing-misc.js >index c37482032d5f34609faa50ffdd5c6c426624f2d5..5c7ab15d96379a6ab05191357f7717da97896bf4 100644 >--- a/JSTests/stress/class-subclassing-misc.js >+++ b/JSTests/stress/class-subclassing-misc.js >@@ -55,5 +55,5 @@ function test() { > } > noInline(test); > >-for(i = 0; i < 10000; i++) >+for(i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/class-subclassing-string.js b/JSTests/stress/class-subclassing-string.js >index bd9b37729b464d8117a0c1d7a5a6745fed39a791..5e772102e344d8a28e3758ebaeca956d5b3219c9 100644 >--- a/JSTests/stress/class-subclassing-string.js >+++ b/JSTests/stress/class-subclassing-string.js >@@ -34,5 +34,5 @@ function test() { > } > noInline(test); > >-for (i = 0; i < 10000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/class-subclassing-typedarray.js b/JSTests/stress/class-subclassing-typedarray.js >index 328669870cd1a2a808625f6c5756919e7bc045a3..c11fcbf5c495b4ad3215af6cb826bbdb4377957a 100644 >--- a/JSTests/stress/class-subclassing-typedarray.js >+++ b/JSTests/stress/class-subclassing-typedarray.js >@@ -15,5 +15,5 @@ function test() { > subclasses.forEach(checkSubclass); > } > >-for (var i = 0; i < 10000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/class-syntax-double-constructor.js b/JSTests/stress/class-syntax-double-constructor.js >index 71fac0403d3a7ce63ed190cf648349b9d783e1eb..9c9ca0a54a9727a2dcc4265b085c3111b80721b4 100644 >--- a/JSTests/stress/class-syntax-double-constructor.js >+++ b/JSTests/stress/class-syntax-double-constructor.js >@@ -124,7 +124,7 @@ testCase(tryCatch(H), false, 'Error: ReferenceError was raised but should not be > testCase(count, 4, 'Excpected two call of parent constructor #7'); > > noInline(B); >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > count = 0; > let result = false; > try { >diff --git a/JSTests/stress/class-syntax-no-loop-tdz.js b/JSTests/stress/class-syntax-no-loop-tdz.js >index 87a65cb73ed509199a42b1dc8ab6e974aa2cdcb9..04d1fc426382915b5d5e35e68997d621db66f312 100644 >--- a/JSTests/stress/class-syntax-no-loop-tdz.js >+++ b/JSTests/stress/class-syntax-no-loop-tdz.js >@@ -16,5 +16,5 @@ class B extends A { > > noInline(B); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > new B(); >diff --git a/JSTests/stress/class-syntax-no-tdz-in-catch.js b/JSTests/stress/class-syntax-no-tdz-in-catch.js >index 05d144a4b52b701f0f10f13646ee2dd248304019..d81c45c267ea917bbe451fe19c2a1e229c4200db 100644 >--- a/JSTests/stress/class-syntax-no-tdz-in-catch.js >+++ b/JSTests/stress/class-syntax-no-tdz-in-catch.js >@@ -15,5 +15,5 @@ class B extends A { > > noInline(B); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > new B(); >diff --git a/JSTests/stress/class-syntax-no-tdz-in-conditional.js b/JSTests/stress/class-syntax-no-tdz-in-conditional.js >index 71276b17ba0bcf439d7d6adfb17db8347ab4ae3f..ea0acb4481570e104aabee0ca2adc289bba6adb8 100644 >--- a/JSTests/stress/class-syntax-no-tdz-in-conditional.js >+++ b/JSTests/stress/class-syntax-no-tdz-in-conditional.js >@@ -14,5 +14,5 @@ class B extends A { > > noInline(B); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > new B(false); >diff --git a/JSTests/stress/class-syntax-no-tdz-in-loop-no-inline-super.js b/JSTests/stress/class-syntax-no-tdz-in-loop-no-inline-super.js >index 533a4adf4afefd762e44aea714d63cdaba68443c..c560b6e213a148c8abdee91c9d05ff057c069781 100644 >--- a/JSTests/stress/class-syntax-no-tdz-in-loop-no-inline-super.js >+++ b/JSTests/stress/class-syntax-no-tdz-in-loop-no-inline-super.js >@@ -8,7 +8,7 @@ noInline(A); > class B extends A { > constructor() { > var values = []; >- for (var j = 0; j < 100; j++) { >+ for (var j = 0; j < $vm.testingLoopCount; j++) { > if (j == 1) > super(); > else if (j > 2) >@@ -21,5 +21,5 @@ class B extends A { > > noInline(B); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > new B(); >diff --git a/JSTests/stress/class-syntax-no-tdz-in-loop.js b/JSTests/stress/class-syntax-no-tdz-in-loop.js >index 574bc1076e019d1b0aa562056cb8a721ccf0e813..6a649f75f8987c2c40b37ef2dbdd7b596ba6a447 100644 >--- a/JSTests/stress/class-syntax-no-tdz-in-loop.js >+++ b/JSTests/stress/class-syntax-no-tdz-in-loop.js >@@ -6,7 +6,7 @@ class A { > class B extends A { > constructor() { > var values = []; >- for (var j = 0; j < 100; j++) { >+ for (var j = 0; j < $vm.testingLoopCount; j++) { > if (j == 1) > super(); > else if (j > 2) >@@ -19,5 +19,5 @@ class B extends A { > > noInline(B); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > new B(); >diff --git a/JSTests/stress/class-syntax-no-tdz.js b/JSTests/stress/class-syntax-no-tdz.js >index b0c7c310e6bcedf9d5bb138abdf1202833f84e44..0e21b3c67561afcc9569140e8a268901d2bc2cdc 100644 >--- a/JSTests/stress/class-syntax-no-tdz.js >+++ b/JSTests/stress/class-syntax-no-tdz.js >@@ -12,5 +12,5 @@ class B extends A { > > noInline(B); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > new B(); >diff --git a/JSTests/stress/class-syntax-super-in-eval.js b/JSTests/stress/class-syntax-super-in-eval.js >index 3c3552ef007799bbe43cef363b14ba0fbee77c63..7b56146265412a67eddac39cd989a756f5d3f60a 100644 >--- a/JSTests/stress/class-syntax-super-in-eval.js >+++ b/JSTests/stress/class-syntax-super-in-eval.js >@@ -88,6 +88,6 @@ var e = new E(false); > if (e.value !== testValue) > throw new Error("wrong value"); > >-for (var i = 0; i < 1000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > checkTDZ(E); > } >diff --git a/JSTests/stress/class-syntax-tdz-in-catch.js b/JSTests/stress/class-syntax-tdz-in-catch.js >index 3704bcfcd85b5984c209fb60eb59b5428bcb3f3d..c71b23273259a8e2b13d10b35751150ecacce966 100644 >--- a/JSTests/stress/class-syntax-tdz-in-catch.js >+++ b/JSTests/stress/class-syntax-tdz-in-catch.js >@@ -16,7 +16,7 @@ class B extends A { > > noInline(B); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var exception = null; > try { > new B(false); >diff --git a/JSTests/stress/class-syntax-tdz-in-conditional.js b/JSTests/stress/class-syntax-tdz-in-conditional.js >index 27d0bcba8426153338ba2126a5d9e17f49e47f23..7a939285a7c6d87d19ebe3106aa9b425e4b9240d 100644 >--- a/JSTests/stress/class-syntax-tdz-in-conditional.js >+++ b/JSTests/stress/class-syntax-tdz-in-conditional.js >@@ -16,7 +16,7 @@ class B extends A { > > noInline(B); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var exception = null; > try { > new B(false); >diff --git a/JSTests/stress/class-syntax-tdz-in-loop.js b/JSTests/stress/class-syntax-tdz-in-loop.js >index 6ab5e6da7a018ee392df97db24a8a6990274af40..81b5ac793091ce5040e1f5ae5dbc47f58f8465ec 100644 >--- a/JSTests/stress/class-syntax-tdz-in-loop.js >+++ b/JSTests/stress/class-syntax-tdz-in-loop.js >@@ -5,7 +5,7 @@ class A { > > class B extends A { > constructor() { >- for (var j = 0; j < 100; j++) { >+ for (var j = 0; j < $vm.testingLoopCount; j++) { > if (j) > super(); > else >@@ -16,7 +16,7 @@ class B extends A { > > noInline(B); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var exception = null; > try { > new B(); >diff --git a/JSTests/stress/class-syntax-tdz.js b/JSTests/stress/class-syntax-tdz.js >index c14c66739e765c1c4f4c078c622fe2b4403cd358..140d3fa9d946537f69a45f87cf62a70c9a22e9ab 100644 >--- a/JSTests/stress/class-syntax-tdz.js >+++ b/JSTests/stress/class-syntax-tdz.js >@@ -33,7 +33,7 @@ noInline(shouldThrowTDZ); > function truth() { return true; } > noInline(truth); > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var exception; > try { > new B(); >@@ -71,7 +71,7 @@ for (var i = 0; i < 100; ++i) { > class C extends f(C) { } > } > >- for (var i = 0; i < 100; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > shouldThrowTDZ(foo); > bar(); > shouldThrowTDZ(baz); >diff --git a/JSTests/stress/clobberize-needs-to-model-spread-effects.js b/JSTests/stress/clobberize-needs-to-model-spread-effects.js >index 76218dda2f363a1b71cb9d5121269165e6a5ef13..3da0bd001c0398b179a504e227f50cd4962e4484 100644 >--- a/JSTests/stress/clobberize-needs-to-model-spread-effects.js >+++ b/JSTests/stress/clobberize-needs-to-model-spread-effects.js >@@ -17,7 +17,7 @@ let a = []; > a[Symbol.iterator] = function* () { > b[0] = 1; > }; >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > b[0] = 42; > foo(a, b); > } >diff --git a/JSTests/stress/cloned-arguments-elimination.js b/JSTests/stress/cloned-arguments-elimination.js >index 0e4e381cc0201ce9191c032ad6b309fbaf81b0be..39dbc0ffa9da1cc96b148d6501463fa42b4818e3 100644 >--- a/JSTests/stress/cloned-arguments-elimination.js >+++ b/JSTests/stress/cloned-arguments-elimination.js >@@ -23,7 +23,7 @@ function testAddOtherPropertyInBranch() { > } > noInline(testAddOtherPropertyInBranch); > >-for (i = 0; i < 100000; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > if (testModifyLength(1) !== 10) > throw "bad"; > if (testAddOtherProperty(1) !== 1) >diff --git a/JSTests/stress/cloned-arguments-get-by-val-double-array.js b/JSTests/stress/cloned-arguments-get-by-val-double-array.js >index a026aff358c80fef709fbf7425a8ea14f9706426..2847e73c9b53ca64a2e934a883838c4819a819b7 100644 >--- a/JSTests/stress/cloned-arguments-get-by-val-double-array.js >+++ b/JSTests/stress/cloned-arguments-get-by-val-double-array.js >@@ -5,7 +5,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(4.2); > if (result != 5.7) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/cloned-arguments-modification.js b/JSTests/stress/cloned-arguments-modification.js >index fdc261a2676b713e96c2e6d20d02695a30b01543..fa6e2b11d65f85f12ccb271d7cc7c265dec6c929 100644 >--- a/JSTests/stress/cloned-arguments-modification.js >+++ b/JSTests/stress/cloned-arguments-modification.js >@@ -33,5 +33,5 @@ function foo() { > throw "one property stopped another from showing up"; > } > >-for (i = 0; i < 10000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > foo(); >diff --git a/JSTests/stress/closure-call-exit.js b/JSTests/stress/closure-call-exit.js >index 3133cb0d20def3a7e6b7c3fbe3eb3509dafcab94..9607aef1ccf2881fc5b8c31592f648034add9239 100644 >--- a/JSTests/stress/closure-call-exit.js >+++ b/JSTests/stress/closure-call-exit.js >@@ -4,7 +4,7 @@ function foo(o, i) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo([function() { return 42; }], 0); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/closure-recursive-tail-call.js b/JSTests/stress/closure-recursive-tail-call.js >index e70c9ae6797873f639b6e847e0600638b222f1f0..49040f74db7a0343895a53b0a581bd70b9d0388c 100644 >--- a/JSTests/stress/closure-recursive-tail-call.js >+++ b/JSTests/stress/closure-recursive-tail-call.js >@@ -12,7 +12,7 @@ function makeClosure(x) > } > } > >-for (var i = 0; i < 1000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var g = makeClosure(42); > var h = makeClosure(41); > var value = g(h); >diff --git a/JSTests/stress/compare-clobber-untypeduse.js b/JSTests/stress/compare-clobber-untypeduse.js >index a1642161c517c2a7ab1ec40f49f71750200fae00..d1aa2ecae84b1c0a9431d57e38cd854e57e046cc 100644 >--- a/JSTests/stress/compare-clobber-untypeduse.js >+++ b/JSTests/stress/compare-clobber-untypeduse.js >@@ -2,7 +2,7 @@ > > let val; > >-for (var i = 0; i < 100000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > val = 42; > > for (let i = 0; i < 1e6; i++) { >diff --git a/JSTests/stress/compare-eq-incomplete-profile.js b/JSTests/stress/compare-eq-incomplete-profile.js >index 48442da8cac2073a2b094491c0c30b26779aaefb..8ffdace2ebe68a7a172b8fc66e67e3a6a35f770b 100644 >--- a/JSTests/stress/compare-eq-incomplete-profile.js >+++ b/JSTests/stress/compare-eq-incomplete-profile.js >@@ -6,7 +6,7 @@ const test = createBuiltin(`(function (arg) { > return arg == other; > })`); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > test({}); > test(null); > } >diff --git a/JSTests/stress/compare-eq-object-or-other-to-object.js b/JSTests/stress/compare-eq-object-or-other-to-object.js >index a6e1e6d66a0c2c924b099d779709ac1b7f177542..b4bc4786770240910136a2e0ac6449377b20aab1 100644 >--- a/JSTests/stress/compare-eq-object-or-other-to-object.js >+++ b/JSTests/stress/compare-eq-object-or-other-to-object.js >@@ -10,7 +10,7 @@ function test(a, b, expected) { > throw new Error("Unexpected result: " + result); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {f:42}; > var p = {g:43}; > test(o, o, true); >diff --git a/JSTests/stress/compare-eq-object-to-object-or-other.js b/JSTests/stress/compare-eq-object-to-object-or-other.js >index 20648391734548e3f28d8b62a0eca4172dd91ed0..418fe67aafc3aa468d1f30cc32e6fc7976ecce89 100644 >--- a/JSTests/stress/compare-eq-object-to-object-or-other.js >+++ b/JSTests/stress/compare-eq-object-to-object-or-other.js >@@ -10,7 +10,7 @@ function test(a, b, expected) { > throw new Error("Unexpected result: " + result); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {f:42}; > var p = {g:43}; > test(o, o, true); >diff --git a/JSTests/stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js b/JSTests/stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js >index dd608682aee4692e9b6becabcdc4688efb59af20..7cba306078c811fff645d1fc2775d0cd392cb8ff 100644 >--- a/JSTests/stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js >+++ b/JSTests/stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js >@@ -10,9 +10,9 @@ function foo(x) { > } > noInline(foo); > >-for (let i = 0; i < 100000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > foo(!!(i%2)); > > flag = true; >-for (let i = 0; i < 100000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > foo(!!(i%2)); >diff --git a/JSTests/stress/compare-strict-eq-integer-to-misc.js b/JSTests/stress/compare-strict-eq-integer-to-misc.js >index e4d7c9a50d364363caaf86c97f2387e2ceb6591a..25a0e9f4c294f561cdb84a01f09719580da1ef4a 100644 >--- a/JSTests/stress/compare-strict-eq-integer-to-misc.js >+++ b/JSTests/stress/compare-strict-eq-integer-to-misc.js >@@ -12,13 +12,13 @@ function test(object, expected) { > throw new Error("Bad result: " + result); > } > >-for (var i = 0; i < 1000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test({}, "yes"); > test([], "no"); > test("hello", "yes"); > test((function(){return arguments;})(), "no"); > var array = []; >- for (var j = 0; j < 100; ++j) { >+ for (var j = 0; j < $vm.testingLoopCount; ++j) { > test(array, "no"); > array.push(42); > } >diff --git a/JSTests/stress/computed-function-names.js b/JSTests/stress/computed-function-names.js >index 960553e2f0c9426fcbdeb74a30965bd289aa8e19..147e055b32843a2af1192deff0975de6d5b6ec04 100644 >--- a/JSTests/stress/computed-function-names.js >+++ b/JSTests/stress/computed-function-names.js >@@ -37,7 +37,7 @@ function makeObj(propKey, classMethodName) { > } > noInline(makeObj); > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > for (var k = 0; k < propKeys.length; k++) { > let key = propKeys[k]; > let o = makeObj(key, "prop"); >diff --git a/JSTests/stress/constant-fold-multi-get-by-offset-to-get-by-offset-on-prototype-and-sink-allocation.js b/JSTests/stress/constant-fold-multi-get-by-offset-to-get-by-offset-on-prototype-and-sink-allocation.js >index c233d601d23f1bc4de820496de4cf612d4a47941..29df01a8e59c6db7f94ee6911d1ab18bc7940ce9 100644 >--- a/JSTests/stress/constant-fold-multi-get-by-offset-to-get-by-offset-on-prototype-and-sink-allocation.js >+++ b/JSTests/stress/constant-fold-multi-get-by-offset-to-get-by-offset-on-prototype-and-sink-allocation.js >@@ -12,7 +12,7 @@ function foo(o, p) { > return p ? o.f : -1; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo(new ThingA(), true); > foo(new ThingB(), true); > ThingA.prototype.f = i; >@@ -25,7 +25,7 @@ function bar(p) { > > ThingA.prototype.f = 42; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(false); > if (result != -1) > throw new Error("Bad result in loop: " + result); >diff --git a/JSTests/stress/constant-folding-osr-exit.js b/JSTests/stress/constant-folding-osr-exit.js >index 12bbe18d0752b342d1ae06185fed9b9008ce4d6f..015046c9636e104910fe94a49989a71031578c7e 100644 >--- a/JSTests/stress/constant-folding-osr-exit.js >+++ b/JSTests/stress/constant-folding-osr-exit.js >@@ -124,7 +124,7 @@ function test(o) { > > var object = {f:{f:42}}; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(object); > } > >diff --git a/JSTests/stress/construct-forward-varargs-for-inlined-escaped-arguments.js b/JSTests/stress/construct-forward-varargs-for-inlined-escaped-arguments.js >index 3c17f4239de8aefd0e3310cb1824aa94a8d52dd2..3da201dc43890782ac2bfbd2a9f938e73c270d44 100644 >--- a/JSTests/stress/construct-forward-varargs-for-inlined-escaped-arguments.js >+++ b/JSTests/stress/construct-forward-varargs-for-inlined-escaped-arguments.js >@@ -15,7 +15,7 @@ function bar(a, b, c) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(1, 2, 3); > if (result.f != 47) > throw "Error: bad result: " + result.f; >diff --git a/JSTests/stress/construct-varargs-inline-smaller-Foo.js b/JSTests/stress/construct-varargs-inline-smaller-Foo.js >index 77b5b3df0bb2f599d0652c4d4664edb107db1e06..ba122645455c592bc3396f7df144037729b6af03 100644 >--- a/JSTests/stress/construct-varargs-inline-smaller-Foo.js >+++ b/JSTests/stress/construct-varargs-inline-smaller-Foo.js >@@ -26,7 +26,7 @@ function test(array) { > checkEqual(actual, expected); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > for (var j = 0; j < i % 6; ++j) > array.push(j); >diff --git a/JSTests/stress/construct-varargs-inline.js b/JSTests/stress/construct-varargs-inline.js >index ff4ccce952f05f960807985b60e7779da025d66f..6d6612de2bd3c69dc3b3e882350020100dc846a3 100644 >--- a/JSTests/stress/construct-varargs-inline.js >+++ b/JSTests/stress/construct-varargs-inline.js >@@ -30,7 +30,7 @@ function test(array) { > checkEqual(actual, expected); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > for (var j = 0; j < i % 6; ++j) > array.push(j); >diff --git a/JSTests/stress/construct-varargs-no-inline.js b/JSTests/stress/construct-varargs-no-inline.js >index 333646eedf0b5395765301e832fa3832c2e11456..1d15cf4bd1681de9880b57a1f715ff833da161b6 100644 >--- a/JSTests/stress/construct-varargs-no-inline.js >+++ b/JSTests/stress/construct-varargs-no-inline.js >@@ -32,7 +32,7 @@ function test(array) { > checkEqual(actual, expected); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > for (var j = 0; j < i % 6; ++j) > array.push(j); >diff --git a/JSTests/stress/constructor-with-return.js b/JSTests/stress/constructor-with-return.js >index d0a895b073be1632d6a55fe06f9e45079d746ab3..da06b86e33e339bf82ce7f21e68cc3f7c8d21a9a 100644 >--- a/JSTests/stress/constructor-with-return.js >+++ b/JSTests/stress/constructor-with-return.js >@@ -21,7 +21,7 @@ var tests = [ > new Test(Object(Symbol.iterator), true), > ]; > >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > tests.forEach(function (test) { > function Constructor() { > return test.value; >diff --git a/JSTests/stress/cow-convert-contiguous-to-array-storage.js b/JSTests/stress/cow-convert-contiguous-to-array-storage.js >index 03c6170663a10e3cce8cdbf765b8decd3c7f7721..bffd56dda3f7050ae6da12c2ea042538c40f8ed5 100644 >--- a/JSTests/stress/cow-convert-contiguous-to-array-storage.js >+++ b/JSTests/stress/cow-convert-contiguous-to-array-storage.js >@@ -21,5 +21,5 @@ function test() { > } > noInline(test); > >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/cow-convert-double-to-array-storage.js b/JSTests/stress/cow-convert-double-to-array-storage.js >index 9782c09f9dc8ff19b228285d7a097f92c7e32e01..137b3698f3785b171682289c5db408a1f4b4329a 100644 >--- a/JSTests/stress/cow-convert-double-to-array-storage.js >+++ b/JSTests/stress/cow-convert-double-to-array-storage.js >@@ -21,5 +21,5 @@ function test() { > } > noInline(test); > >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/cow-convert-double-to-contiguous.js b/JSTests/stress/cow-convert-double-to-contiguous.js >index 55896b1affa73e935605d46db727b53bd6fe16e4..9913f3e2eb3b3fbddd112d4bcf89445a8b3aa20d 100644 >--- a/JSTests/stress/cow-convert-double-to-contiguous.js >+++ b/JSTests/stress/cow-convert-double-to-contiguous.js >@@ -24,5 +24,5 @@ function test() { > } > noInline(test); > >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/cow-convert-int32-to-array-storage.js b/JSTests/stress/cow-convert-int32-to-array-storage.js >index 90a744da754fc3ba6554c66496c1f6e88bab2e34..331d97627284dcefbc38a2e11076224643241090 100644 >--- a/JSTests/stress/cow-convert-int32-to-array-storage.js >+++ b/JSTests/stress/cow-convert-int32-to-array-storage.js >@@ -21,5 +21,5 @@ function test() { > } > noInline(test); > >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/cow-convert-int32-to-contiguous.js b/JSTests/stress/cow-convert-int32-to-contiguous.js >index 62e321b00a4f9fc7c10f9087ecf090a6f0cd0603..2b7f203608dda9b031616b026bc53ec9b53e0704 100644 >--- a/JSTests/stress/cow-convert-int32-to-contiguous.js >+++ b/JSTests/stress/cow-convert-int32-to-contiguous.js >@@ -24,5 +24,5 @@ function test() { > } > noInline(test); > >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/cow-convert-int32-to-double.js b/JSTests/stress/cow-convert-int32-to-double.js >index 4dd378729fe90e7b21d31dafaa17f381b2b0a5fd..79bb174e5d6c195245414f0bb7c1d38498e484ee 100644 >--- a/JSTests/stress/cow-convert-int32-to-double.js >+++ b/JSTests/stress/cow-convert-int32-to-double.js >@@ -24,5 +24,5 @@ function test() { > } > noInline(test); > >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/create-rest-while-having-a-bad-time.js b/JSTests/stress/create-rest-while-having-a-bad-time.js >index e599681becc1abd08c4859e957464f6dfb5fd6bf..52926f9d322253e6a553bea172cacd53195597f2 100644 >--- a/JSTests/stress/create-rest-while-having-a-bad-time.js >+++ b/JSTests/stress/create-rest-while-having-a-bad-time.js >@@ -8,7 +8,7 @@ function g() { > function h() { > } > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > f(0); > f(0, 0); > } >diff --git a/JSTests/stress/create-this-property-change.js b/JSTests/stress/create-this-property-change.js >index 6a0e8d39625986de379c397dab5971689ad8168f..e624363cab9f4280bfe4458831d00497c8bc4b58 100644 >--- a/JSTests/stress/create-this-property-change.js >+++ b/JSTests/stress/create-this-property-change.js >@@ -30,7 +30,7 @@ var Bar = new Proxy(RealBar, { > > noInline(RealBar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > (function() { > globalO = {f:43}; > var result = new Bar().result; >diff --git a/JSTests/stress/create-this-structure-change-without-cse.js b/JSTests/stress/create-this-structure-change-without-cse.js >index 08642b51bf2b6ddc692882a16f0b53dbb72561c1..ea991fdb2d62c85ca11aac952e1572ac8e2f1a6f 100644 >--- a/JSTests/stress/create-this-structure-change-without-cse.js >+++ b/JSTests/stress/create-this-structure-change-without-cse.js >@@ -32,7 +32,7 @@ var Bar = new Proxy(RealBar, { > > noInline(RealBar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > (function() { > globalO = {f:43}; > var result = new Bar().result; >diff --git a/JSTests/stress/create-this-structure-change.js b/JSTests/stress/create-this-structure-change.js >index 68a98166131c642fd00c28b2c9ba0a8f66e52d26..3bd413e292a46f8bbc3f21b7eeb9b108b600117e 100644 >--- a/JSTests/stress/create-this-structure-change.js >+++ b/JSTests/stress/create-this-structure-change.js >@@ -32,7 +32,7 @@ var Bar = new Proxy(RealBar, { > > noInline(RealBar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > (function() { > globalO = {f:43}; > var result = new Bar().result; >diff --git a/JSTests/stress/cse-multi-get-by-offset-remove-checks.js b/JSTests/stress/cse-multi-get-by-offset-remove-checks.js >index 5eaa6c96046e8e73decf2ac51804a5cfef856463..a03db4faea449a2e6bf1e69bd05ad90e7fe9c213 100644 >--- a/JSTests/stress/cse-multi-get-by-offset-remove-checks.js >+++ b/JSTests/stress/cse-multi-get-by-offset-remove-checks.js >@@ -33,7 +33,7 @@ function foo(o, p, q) > return x + y; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo(new Cons1(), true, false); > foo(new Cons2(), false, true); > foo(new Cons3(), false, true); >@@ -46,7 +46,7 @@ function bar(o, p) > > noInline(bar); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar(new Cons1(), false); > > var result = bar(new Cons1(), true); >diff --git a/JSTests/stress/custom-get-set-inline-caching-one-level-up-proto-chain.js b/JSTests/stress/custom-get-set-inline-caching-one-level-up-proto-chain.js >index 11283a289ae9c513d0c20640b6cacc781f876543..a62849ae41ed3ec948ea09a2d541e11c267c82d0 100644 >--- a/JSTests/stress/custom-get-set-inline-caching-one-level-up-proto-chain.js >+++ b/JSTests/stress/custom-get-set-inline-caching-one-level-up-proto-chain.js >@@ -39,7 +39,7 @@ noInline(validate); > > > let start = Date.now(); >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let i = 0; i < items.length; ++i) { > validate(items[i], customGetterSetter, items[i]); > } >@@ -47,7 +47,7 @@ for (let i = 0; i < 10000; ++i) { > > customGetterSetter.randomProp = 42; > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let i = 0; i < items.length; ++i) { > validate(items[i], customGetterSetter, items[i]); > } >@@ -62,7 +62,7 @@ items.forEach((x) => { > }); > }); > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let i = 0; i < items.length; ++i) { > validate(items[i], 42, 22); > } >diff --git a/JSTests/stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js b/JSTests/stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js >index ab8e3f3a7b1c9318cababaf3292fa0a4bce55054..79b16985a1ea94d6d42e721eb14d668f0d23d1a4 100644 >--- a/JSTests/stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js >+++ b/JSTests/stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js >@@ -19,7 +19,7 @@ function foo(p) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(i & 1); > if (result != ((i & 1) ? 44 : 47)) > throw "Error: bad result with i = " + i + ": " + result; >diff --git a/JSTests/stress/dead-access-to-captured-variable-preceded-by-a-live-store.js b/JSTests/stress/dead-access-to-captured-variable-preceded-by-a-live-store.js >index effa6f2a690cfa92d13bf21de2e2f7a03bf070aa..58e30a33fa53e21c556c84505e14443b4b29cab3 100644 >--- a/JSTests/stress/dead-access-to-captured-variable-preceded-by-a-live-store.js >+++ b/JSTests/stress/dead-access-to-captured-variable-preceded-by-a-live-store.js >@@ -10,7 +10,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 44) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/dead-fiat-double-to-int52-then-exit-not-int52.js b/JSTests/stress/dead-fiat-double-to-int52-then-exit-not-int52.js >index b422c1b4d36d4a00ad1a05765c88315f5129cc3d..fd6f67695dd7fe263f6ae320ad0211ddb5fca534 100644 >--- a/JSTests/stress/dead-fiat-double-to-int52-then-exit-not-int52.js >+++ b/JSTests/stress/dead-fiat-double-to-int52-then-exit-not-int52.js >@@ -8,7 +8,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(); > > array[0] = 5.5; >diff --git a/JSTests/stress/dead-fiat-double-to-int52.js b/JSTests/stress/dead-fiat-double-to-int52.js >index fc5e60566ad8419c26db9b9392da5ac135616c05..984f4d7339bdce11d92259d43f52d2ee82e820c4 100644 >--- a/JSTests/stress/dead-fiat-double-to-int52.js >+++ b/JSTests/stress/dead-fiat-double-to-int52.js >@@ -8,5 +8,5 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(); >diff --git a/JSTests/stress/dead-fiat-int32-to-int52.js b/JSTests/stress/dead-fiat-int32-to-int52.js >index 5c154f44e9d43e7c4de68a527a91c3c38dcf8b5c..260dae73bcbef199b56af8a36079c068096b9a5c 100644 >--- a/JSTests/stress/dead-fiat-int32-to-int52.js >+++ b/JSTests/stress/dead-fiat-int32-to-int52.js >@@ -7,5 +7,5 @@ noInline(foo); > > var o = {f:42}; > >-for (var i = 0; i < 1000000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(o); >diff --git a/JSTests/stress/dead-fiat-value-to-int52-double-path.js b/JSTests/stress/dead-fiat-value-to-int52-double-path.js >index 083a5f63c742c4ef77bfc88aa56cc2739b331ba8..266a63a7e70f835a955c0a924f25287cdd48629c 100644 >--- a/JSTests/stress/dead-fiat-value-to-int52-double-path.js >+++ b/JSTests/stress/dead-fiat-value-to-int52-double-path.js >@@ -14,6 +14,6 @@ function bar() { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 1000000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(); > >diff --git a/JSTests/stress/dead-fiat-value-to-int52-then-exit-not-double.js b/JSTests/stress/dead-fiat-value-to-int52-then-exit-not-double.js >index c737a43c0a114b1d7603fbd1bf9b9d797cb0476c..d7dc1881321d368e32fe4023c84fa219f9f65429 100644 >--- a/JSTests/stress/dead-fiat-value-to-int52-then-exit-not-double.js >+++ b/JSTests/stress/dead-fiat-value-to-int52-then-exit-not-double.js >@@ -14,7 +14,7 @@ function bar(p) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 1000000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(); > > thingy = true; >diff --git a/JSTests/stress/dead-fiat-value-to-int52-then-exit-not-int52.js b/JSTests/stress/dead-fiat-value-to-int52-then-exit-not-int52.js >index 4d29e7f6299859d80085e1c2f4527713940d630c..e99f44431ca619c206db8c40f8b49ca1d7dd6218 100644 >--- a/JSTests/stress/dead-fiat-value-to-int52-then-exit-not-int52.js >+++ b/JSTests/stress/dead-fiat-value-to-int52-then-exit-not-int52.js >@@ -14,7 +14,7 @@ function bar(p) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 1000000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(); > > thingy = true; >diff --git a/JSTests/stress/dead-fiat-value-to-int52.js b/JSTests/stress/dead-fiat-value-to-int52.js >index fbde20195a503cc82b85a53641830aff5c4d8d0a..a03b1d23ee9568335b5bd83b810b59a3ee820291 100644 >--- a/JSTests/stress/dead-fiat-value-to-int52.js >+++ b/JSTests/stress/dead-fiat-value-to-int52.js >@@ -11,6 +11,6 @@ function bar(p) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 1000000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(); > >diff --git a/JSTests/stress/dead-get-closure-var.js b/JSTests/stress/dead-get-closure-var.js >index 7622fb08418b0a7c5ef35dd496c5b2f316a2c56a..372502ef1792d4b9dfb9d62c656268103b9c8737 100644 >--- a/JSTests/stress/dead-get-closure-var.js >+++ b/JSTests/stress/dead-get-closure-var.js >@@ -12,7 +12,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:i, g:i + 1}); > if (result != i) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/dead-int32-to-double.js b/JSTests/stress/dead-int32-to-double.js >index 0713fd67814d1f02e6d7e233776188c94a63b3bd..582f3ddf038687cdd535ff9cbb80cfb2e576a7cd 100644 >--- a/JSTests/stress/dead-int32-to-double.js >+++ b/JSTests/stress/dead-int32-to-double.js >@@ -1,13 +1,13 @@ > function foo(int, o) { > var x = int; > o.f = x; >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > x += 0.5; > } > > noInline(foo); > >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(42, {}); > > var o = {g: 43}; >diff --git a/JSTests/stress/dead-osr-entry-value.js b/JSTests/stress/dead-osr-entry-value.js >index db6639cb22b303104832bb33116639e88efe8d27..1b115209b49e07277163c675158d97fd6a689bf0 100644 >--- a/JSTests/stress/dead-osr-entry-value.js >+++ b/JSTests/stress/dead-osr-entry-value.js >@@ -2,14 +2,14 @@ function foo() { > var o = {f:42}; > var result = 0; > OSRExit(); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (!$vm.dfgTrue()) > result += o.f; > } > return result; > } > >-for (var i = 0; i < 1000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo(); > fullGC(); > } >diff --git a/JSTests/stress/dead-speculating-argument-use.js b/JSTests/stress/dead-speculating-argument-use.js >index 5f3ebfcb5218e68aba66f819d6dd82df7fa0cc1c..05f1964f259dcfdb843f4eba1e9446768ec36941 100644 >--- a/JSTests/stress/dead-speculating-argument-use.js >+++ b/JSTests/stress/dead-speculating-argument-use.js >@@ -4,7 +4,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(i); > > var didCall = false; >diff --git a/JSTests/stress/dead-uint32-to-number.js b/JSTests/stress/dead-uint32-to-number.js >index 4e3987868f2a4cd4b9c3c5f9eb37f05b5dcaad62..fb216eb25ab4b359ab29ebb2ac975513bd6d435d 100644 >--- a/JSTests/stress/dead-uint32-to-number.js >+++ b/JSTests/stress/dead-uint32-to-number.js >@@ -1,13 +1,13 @@ > function foo(a, o) { > var x = a >>> 0; > o.f = x | 0; >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > x++; > } > > noInline(foo); > >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(42, {}); > > var o = {g: 43}; >diff --git a/JSTests/stress/dead-value-with-mov-hint-in-another-block.js b/JSTests/stress/dead-value-with-mov-hint-in-another-block.js >index ae745077dfc9fc81d5939d1f0cf637afd5c4c2d2..ca7655662ba5ab35b2933bbf91b9452ed243087d 100644 >--- a/JSTests/stress/dead-value-with-mov-hint-in-another-block.js >+++ b/JSTests/stress/dead-value-with-mov-hint-in-another-block.js >@@ -10,7 +10,7 @@ function foo(a, b, p, o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 2, true, {f:{f:42}}); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/delete-by-val.js b/JSTests/stress/delete-by-val.js >index 327d889b393027fe8b4a518113ec7ad87d708d68..ae10e5cae26e903ce4409368120f397358dc4644 100644 >--- a/JSTests/stress/delete-by-val.js >+++ b/JSTests/stress/delete-by-val.js >@@ -11,5 +11,5 @@ function test(i) { > assert(!("bar" + i in foo)); > } > >-for (let i = 0; i < 100000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > test(i); >diff --git a/JSTests/stress/delete-to-object-exception.js b/JSTests/stress/delete-to-object-exception.js >index 3421003c12ed206c4d69d2eb8ae4d0b91ed5ecf8..25df50936952379c85153857d374e7da5648fff4 100644 >--- a/JSTests/stress/delete-to-object-exception.js >+++ b/JSTests/stress/delete-to-object-exception.js >@@ -20,5 +20,5 @@ function test(i) { > } > noInline(test); > >-for (let i = 0; i < 10000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > test(); >diff --git a/JSTests/stress/dfg-call-class-constructor.js b/JSTests/stress/dfg-call-class-constructor.js >index 6db3c51b5861c84fccf2d87a8aaae5bbdc1e9c80..7981b592a178bb216e3b62996b11e57a76a3dc9e 100644 >--- a/JSTests/stress/dfg-call-class-constructor.js >+++ b/JSTests/stress/dfg-call-class-constructor.js >@@ -2,7 +2,7 @@ class Foo extends Promise { } > > noInline(Foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var completed = false; > try { > Foo(); >diff --git a/JSTests/stress/dfg-del-by-id.js b/JSTests/stress/dfg-del-by-id.js >index 66f2f0bd15cd8ea7fd998f555dd90927c4dc87ea..2bf135e9a94d3c5b2f8cce7dc6e203c9e54308eb 100644 >--- a/JSTests/stress/dfg-del-by-id.js >+++ b/JSTests/stress/dfg-del-by-id.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {f:42}; > var result = foo(o); > if (result !== true) >diff --git a/JSTests/stress/dfg-exception-try-catch-in-constructor-with-inlined-throw.js b/JSTests/stress/dfg-exception-try-catch-in-constructor-with-inlined-throw.js >index 1346cefe3c813fe673764e3a39a4e31416cfb617..fb569ae7f63706caa7510810a1c4628453fa6feb 100644 >--- a/JSTests/stress/dfg-exception-try-catch-in-constructor-with-inlined-throw.js >+++ b/JSTests/stress/dfg-exception-try-catch-in-constructor-with-inlined-throw.js >@@ -20,7 +20,7 @@ function Foo(b) { > noInline(Foo); > > >-for (var i = 1; i < 1000; i++) { >+for (var i = 1; i < $vm.testingLoopCount; i++) { > let value = new Foo(i % 3 === 0); > if (i % 3 === 0 && value.value !== "Error: blah!") > throw new Error("bad value: " + value.value); >diff --git a/JSTests/stress/dfg-get-by-id-should-not-assert-non-null-prediction.js b/JSTests/stress/dfg-get-by-id-should-not-assert-non-null-prediction.js >index b6fac0243b7537ecbf51bd7d22d373ec13b634d1..f56afc880243025eac88ebbddb107a8ce275dd72 100644 >--- a/JSTests/stress/dfg-get-by-id-should-not-assert-non-null-prediction.js >+++ b/JSTests/stress/dfg-get-by-id-should-not-assert-non-null-prediction.js >@@ -7,7 +7,7 @@ function foo() { > }; > > function test() { >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > try { > foo(); > } catch(e) { >diff --git a/JSTests/stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js b/JSTests/stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js >index dab790b87c27e732c1b0651ddbc133a919a6f5ef..c378aa64f586a4adbe52ba7aa1473ab738b06b75 100644 >--- a/JSTests/stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js >+++ b/JSTests/stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js >@@ -7,7 +7,7 @@ function bar(f) { > } > > let array = [20]; >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > bar(() => { > return doIndexOf(array.concat()); > }); >diff --git a/JSTests/stress/dfg-put-accessors-by-id-class.js b/JSTests/stress/dfg-put-accessors-by-id-class.js >index 3b7ac5b53f092fdfb83269129facf81a18a2a4b8..d6eec949e4dbb917497b5f6b013365dce0a8997b 100644 >--- a/JSTests/stress/dfg-put-accessors-by-id-class.js >+++ b/JSTests/stress/dfg-put-accessors-by-id-class.js >@@ -75,7 +75,7 @@ function accessors() > } > noInline(accessors); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > shouldBe(getter(), 42); > shouldBe(setter(), 42); > shouldBe(accessors(), 42); >diff --git a/JSTests/stress/dfg-put-accessors-by-id.js b/JSTests/stress/dfg-put-accessors-by-id.js >index b46dc78d595d7953e5591113d3764e3796a17b2b..49930135dcf7544a4b53f6cacbefb5aefee45376 100644 >--- a/JSTests/stress/dfg-put-accessors-by-id.js >+++ b/JSTests/stress/dfg-put-accessors-by-id.js >@@ -68,7 +68,7 @@ function accessors() > } > noInline(accessors); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > shouldBe(getter(), 42); > shouldBe(setter(), 42); > shouldBe(accessors(), 42); >diff --git a/JSTests/stress/dfg-put-by-val-direct-with-edge-numbers.js b/JSTests/stress/dfg-put-by-val-direct-with-edge-numbers.js >index ebf21e23340f52c35dd8f2b12b979e238f44b04f..284d751599c03cc11b4e60c16d573df17f7fd8ef 100644 >--- a/JSTests/stress/dfg-put-by-val-direct-with-edge-numbers.js >+++ b/JSTests/stress/dfg-put-by-val-direct-with-edge-numbers.js >@@ -8,7 +8,7 @@ function lookupWithKey(key) { > } > noInline(lookupWithKey); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > [ > // integers > -0x80000001, // out of int32_t >@@ -90,7 +90,7 @@ var toStringThrowsError = { > } > }; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var error = null; > try { > lookupWithKey2(toStringThrowsError); >diff --git a/JSTests/stress/dfg-put-getter-by-id-class.js b/JSTests/stress/dfg-put-getter-by-id-class.js >index 7f4d6e6eea2e64f2248483cdbd66634c356b4f5f..be3b409de81e593438b92eb13a5eec4867690fa6 100644 >--- a/JSTests/stress/dfg-put-getter-by-id-class.js >+++ b/JSTests/stress/dfg-put-getter-by-id-class.js >@@ -41,5 +41,5 @@ function getter(name) > } > noInline(getter); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getter('dummy'), 42); >diff --git a/JSTests/stress/dfg-put-getter-by-id.js b/JSTests/stress/dfg-put-getter-by-id.js >index 45893e7441fd70d2d6d0f07dc91c0cde2db75a10..fce9e5c5da701715b7757fc618bcf6fef7e64c5c 100644 >--- a/JSTests/stress/dfg-put-getter-by-id.js >+++ b/JSTests/stress/dfg-put-getter-by-id.js >@@ -35,5 +35,5 @@ function getter(name) > } > noInline(getter); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getter('ok'), 42); >diff --git a/JSTests/stress/dfg-put-getter-by-val-class.js b/JSTests/stress/dfg-put-getter-by-val-class.js >index 0eb5c4185df0fe38d929bc43ad7cb651e0dd5e2c..7c1583265a321dff270c05821487c43e8230475b 100644 >--- a/JSTests/stress/dfg-put-getter-by-val-class.js >+++ b/JSTests/stress/dfg-put-getter-by-val-class.js >@@ -38,5 +38,5 @@ function getter(name) > } > noInline(getter); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getter('hello'), 42); >diff --git a/JSTests/stress/dfg-put-getter-by-val.js b/JSTests/stress/dfg-put-getter-by-val.js >index 74b614a8cce3c6c1f15ef8e7591ac3655a4f77bf..3dc60e2d886a466699fe011b08dc8177decbdcc5 100644 >--- a/JSTests/stress/dfg-put-getter-by-val.js >+++ b/JSTests/stress/dfg-put-getter-by-val.js >@@ -35,5 +35,5 @@ function getter(name) > } > noInline(getter); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getter('hello'), 42); >diff --git a/JSTests/stress/dfg-put-setter-by-id-class.js b/JSTests/stress/dfg-put-setter-by-id-class.js >index bb5b79d992b1399f03f3cde828836a10953af2a3..8f4ad425dd72b2add51663ebebb47afd9bfbc12b 100644 >--- a/JSTests/stress/dfg-put-setter-by-id-class.js >+++ b/JSTests/stress/dfg-put-setter-by-id-class.js >@@ -42,5 +42,5 @@ function getter(name) > } > noInline(getter); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getter('dummy'), 42); >diff --git a/JSTests/stress/dfg-put-setter-by-id.js b/JSTests/stress/dfg-put-setter-by-id.js >index 8f6f3b98cc11d5181a2003f9ec9bc6ccf159ca31..80119cea07087cabe43816306520cfdef8d9e8f1 100644 >--- a/JSTests/stress/dfg-put-setter-by-id.js >+++ b/JSTests/stress/dfg-put-setter-by-id.js >@@ -37,5 +37,5 @@ function setter(name) > } > noInline(setter); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(setter('ok'), 42); >diff --git a/JSTests/stress/dfg-put-setter-by-val-class.js b/JSTests/stress/dfg-put-setter-by-val-class.js >index f29c9ecfd43ffac4b508c374b090f7cb930330bf..4a99b4618b060503f1bea0595b03e5d23c10f179 100644 >--- a/JSTests/stress/dfg-put-setter-by-val-class.js >+++ b/JSTests/stress/dfg-put-setter-by-val-class.js >@@ -40,5 +40,5 @@ function setter(name) > } > noInline(setter); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(setter('hello'), 42); >diff --git a/JSTests/stress/dfg-put-setter-by-val.js b/JSTests/stress/dfg-put-setter-by-val.js >index 2a3546b62f065795cc18f581e0b667fc265f40de..cbc1b608d59f33aa1ae2d80f54726cd03f1bfa1f 100644 >--- a/JSTests/stress/dfg-put-setter-by-val.js >+++ b/JSTests/stress/dfg-put-setter-by-val.js >@@ -37,5 +37,5 @@ function setter(name) > } > noInline(setter); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(setter('hello'), 42); >diff --git a/JSTests/stress/dfg-rare-data.js b/JSTests/stress/dfg-rare-data.js >index 45a3f0e1542e9ad48007a7052a6358f8f849b494..06457ccab0661498305e097906d74e00c3dcb9b7 100644 >--- a/JSTests/stress/dfg-rare-data.js >+++ b/JSTests/stress/dfg-rare-data.js >@@ -1,6 +1,6 @@ > function F () { this.inner = 42; }; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var x = new F(false); > F.prototype = Object; // Force clearing of the function's rare data > var result = x.inner; >diff --git a/JSTests/stress/dfg-ssa-swap.js b/JSTests/stress/dfg-ssa-swap.js >index 2c0ad68a2c3433c4cc6f9080bc45d6db7377dfb7..e6edcad3e8cd512a4aeba1aaae67d6214f6c4874 100644 >--- a/JSTests/stress/dfg-ssa-swap.js >+++ b/JSTests/stress/dfg-ssa-swap.js >@@ -4,5 +4,5 @@ function foo() > var a=1,b;for(i=0;i<2;++i){[a,b]=[b,a];c++}if(!a^b)throw c > } > noInline(foo); >-for(var k = 0; k < 10000; ++k) >+for(var k = 0; k < $vm.testingLoopCount; ++k) > foo() >diff --git a/JSTests/stress/dfg-tail-calls.js b/JSTests/stress/dfg-tail-calls.js >index ef51c0ca82fcd398566cb22191456dadb164a83c..c3c14486ad9311f61fe515c142ad382e2c0f5e2a 100644 >--- a/JSTests/stress/dfg-tail-calls.js >+++ b/JSTests/stress/dfg-tail-calls.js >@@ -4,7 +4,7 @@ > > function caller() { "use strict"; return callee(); } > >- for (var i = 0; i < 10000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > caller(); > > function loop(n) { "use strict"; if (n > 0) return loop(n - 1); } >@@ -17,7 +17,7 @@ > function callee() { if (callee.caller != inlinedTailCall) throw new Error(); } > function caller() { "use strict"; return callee(); } > >- for (var i = 0; i < 10000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > caller(); > > function loop(n) { "use strict"; if (n > 0) return loop(n - 1); } >@@ -31,7 +31,7 @@ > noInline(callee); > function caller() { "use strict"; return callee(); } > >- for (var i = 0; i < 10000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > emulator(); > > function pad(n) { "use strict"; return loop(n); } >@@ -46,7 +46,7 @@ > function callee() { if (callee.caller != emulator) throw new Error(); } > function caller() { "use strict"; return callee(); } > >- for (var i = 0; i < 10000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > emulator(); > > function pad(n) { "use strict"; return loop(n); } >diff --git a/JSTests/stress/dfg-to-primitive-pass-symbol.js b/JSTests/stress/dfg-to-primitive-pass-symbol.js >index 5d265743e06bd3137b1b9d3de85a004162e67790..9d405f4e6901b260c0a2fb1c69e5f4cbc77f7d17 100644 >--- a/JSTests/stress/dfg-to-primitive-pass-symbol.js >+++ b/JSTests/stress/dfg-to-primitive-pass-symbol.js >@@ -15,7 +15,7 @@ function doToPrimitive() { > } > noInline(doToPrimitive); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = doToPrimitive(); > if (result !== "CocoaCappuccinoCocoa") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js b/JSTests/stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js >index 0d75b233c53b898ffc81fece2aa83761462704df..d672856e2486ff5c320accd36abd3ccc362bdd20 100644 >--- a/JSTests/stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js >+++ b/JSTests/stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js >@@ -43,7 +43,7 @@ function f() { > return o2; > } > noInline(f); >-for (i = 0; i < 10000; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > foo(f); > } > flag = true; >diff --git a/JSTests/stress/direct-arguments-osr-entry.js b/JSTests/stress/direct-arguments-osr-entry.js >index 97d1ab4f85b1e10102d0fdd0a0284ccf21d8154f..66a6c6d2da2cd03dc7da3b564ffbdad26fecf242 100644 >--- a/JSTests/stress/direct-arguments-osr-entry.js >+++ b/JSTests/stress/direct-arguments-osr-entry.js >@@ -8,7 +8,7 @@ function foo(a) > { > args = arguments; > var result = 0; >- for (var i = 0; i < 1000000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > (function() { > return arguments[0]; > })(42); >diff --git a/JSTests/stress/direct-arguments-out-of-bounds-change-structure.js b/JSTests/stress/direct-arguments-out-of-bounds-change-structure.js >index 6e9e177988149ca5ee1bb9de799b8c0a7fe9159f..ed9bdaeafc0c71cb4a2fdf2fccbbe9552d95fbf6 100644 >--- a/JSTests/stress/direct-arguments-out-of-bounds-change-structure.js >+++ b/JSTests/stress/direct-arguments-out-of-bounds-change-structure.js >@@ -12,7 +12,7 @@ o.g = 43; > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}); > if (result != 84) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/direct-arguments-override-length-then-access-normal-length.js b/JSTests/stress/direct-arguments-override-length-then-access-normal-length.js >index fd3a7bfe24479316620729942a4b07c9b22ff5b4..3d2b3e006984da305b7c1f00b9071196f78c8b7f 100644 >--- a/JSTests/stress/direct-arguments-override-length-then-access-normal-length.js >+++ b/JSTests/stress/direct-arguments-override-length-then-access-normal-length.js >@@ -13,7 +13,7 @@ > noInline(foo); > > var result = 0; >- for (var i = 0; i < 10000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > result += foo(array[i % array.length]); > > if (result != 45000) >diff --git a/JSTests/stress/direct-tail-call-arity-mismatch-count-args.js b/JSTests/stress/direct-tail-call-arity-mismatch-count-args.js >index a2478cf93d97d99a7068c9c32e3df4346d422aea..d1a944da3398ee6a29c304b8dd0d0d3cc25ad64b 100644 >--- a/JSTests/stress/direct-tail-call-arity-mismatch-count-args.js >+++ b/JSTests/stress/direct-tail-call-arity-mismatch-count-args.js >@@ -12,7 +12,7 @@ function bar() { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(); > if (result != 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/disable-caching-when-lazy-materializing-error-property-on-put.js b/JSTests/stress/disable-caching-when-lazy-materializing-error-property-on-put.js >index 6b08e7115608da0f2eabf4564da7e781e2f11f25..33fb0af8771c164b8a76cc3856bcfc62fdcbf04c 100644 >--- a/JSTests/stress/disable-caching-when-lazy-materializing-error-property-on-put.js >+++ b/JSTests/stress/disable-caching-when-lazy-materializing-error-property-on-put.js >@@ -16,7 +16,7 @@ function storeToStackAlreadyMaterialized(e) { > } > noInline(storeToStackAlreadyMaterialized); > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > let e = makeError(); > storeToStack(e); > assert(e.stack === "foo"); >diff --git a/JSTests/stress/disable-function-dot-arguments.js b/JSTests/stress/disable-function-dot-arguments.js >index 1996ce110b43f296fd0e44431212963c814eb47b..a15493b9ce94de189de34412c03d1fcfde3f12ba 100644 >--- a/JSTests/stress/disable-function-dot-arguments.js >+++ b/JSTests/stress/disable-function-dot-arguments.js >@@ -4,7 +4,7 @@ function foo() { > var a = bar.arguments; > if (a.length != 0) > throw "Error: arguments have non-zero length"; >- for (var i = 0; i < 100; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (a[i] !== void 0) > throw "Error: argument " + i + " has non-undefined value"; > } >diff --git a/JSTests/stress/disable-gigacage-arrays.js b/JSTests/stress/disable-gigacage-arrays.js >index 212fb1ee71228b0927e4657cdc8447e4d5c08e0f..6029a6ca3daace68d850803f8b35ab92972569ed 100644 >--- a/JSTests/stress/disable-gigacage-arrays.js >+++ b/JSTests/stress/disable-gigacage-arrays.js >@@ -11,7 +11,7 @@ > var array = new Array(1000); > for (var i = 0; i < array.length; ++i) > array[i] = 5 - i; >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = 0; > var expectedResult = 0; > for (var j = 0; j < array.length; ++j) { >diff --git a/JSTests/stress/disable-gigacage-strings.js b/JSTests/stress/disable-gigacage-strings.js >index 761d06769f762e2b1737110f87d64b20f258e45e..ac320796155afba458edeeaa1b40092e3c8bb879 100644 >--- a/JSTests/stress/disable-gigacage-strings.js >+++ b/JSTests/stress/disable-gigacage-strings.js >@@ -11,7 +11,7 @@ > var array = ""; > for (var i = 0; i < array.length; ++i) > array += String.fromCharCode(5 - i); >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = 0; > var expectedResult = 0; > for (var j = 0; j < array.length; ++j) { >diff --git a/JSTests/stress/disable-gigacage-typed-arrays.js b/JSTests/stress/disable-gigacage-typed-arrays.js >index 3663c1e59c3ab54f207b7fda0593faf6a140412c..762d24bf48d42270a51c8a66d0b1d0746614e225 100644 >--- a/JSTests/stress/disable-gigacage-typed-arrays.js >+++ b/JSTests/stress/disable-gigacage-typed-arrays.js >@@ -11,7 +11,7 @@ > var array = new Int32Array(1000); > for (var i = 0; i < array.length; ++i) > array[i] = 5 - i; >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = 0; > var expectedResult = 0; > for (var j = 0; j < array.length; ++j) { >diff --git a/JSTests/stress/dom-jit-with-poly-proto.js b/JSTests/stress/dom-jit-with-poly-proto.js >index b8ee62f0c657277a894e6bdf3e7ab8894900f504..daea77db511047376afe258d54127ef0661d9851 100644 >--- a/JSTests/stress/dom-jit-with-poly-proto.js >+++ b/JSTests/stress/dom-jit-with-poly-proto.js >@@ -28,14 +28,14 @@ function validate(x, v) { > } > noInline(validate); > >-for (let i = 0; i < 1000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > validate(obj, proto); > > proto.foo = 25; >-for (let i = 0; i < 1000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > validate(obj, proto); > > Reflect.setPrototypeOf(obj, {}); >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > validate(obj, undefined); > } >diff --git a/JSTests/stress/domjit-getter-super-poly.js b/JSTests/stress/domjit-getter-super-poly.js >index b6f21ddbfb56a33df794316ca52de0ee2c99d9f4..d0b5ae8491c80ba1db5a79dd28f48296f965ea79 100644 >--- a/JSTests/stress/domjit-getter-super-poly.js >+++ b/JSTests/stress/domjit-getter-super-poly.js >@@ -6,7 +6,7 @@ function shouldBe(actual, expected) { > } > > var domjits = []; >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > domjits.push(createDOMJITGetterObject()); > > function access(domjit) >diff --git a/JSTests/stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js b/JSTests/stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js >index b6ec24d0b4db1b0b80406794d0aad3e6bfc08a68..ff065f30aea448cac29a765e775c413a9553531d 100644 >--- a/JSTests/stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js >+++ b/JSTests/stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js >@@ -45,10 +45,10 @@ function foo(i) { > noInline(foo); > > foo(i); >-for (i = 0; i < 1000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > foo(i); > > o1.enableException(); > i = -1000; >-for (let j = 0; j < 1000; j++) >+for (let j = 0; j < $vm.testingLoopCount; j++) > foo(i); >diff --git a/JSTests/stress/dont-constant-fold-check-type-info-on-bound-function.js b/JSTests/stress/dont-constant-fold-check-type-info-on-bound-function.js >index 5c119b9011faae89ea084ca335dbc0ecf78105da..a834e28db4e5f08d28dfc59a090828a705c3aa37 100644 >--- a/JSTests/stress/dont-constant-fold-check-type-info-on-bound-function.js >+++ b/JSTests/stress/dont-constant-fold-check-type-info-on-bound-function.js >@@ -10,7 +10,7 @@ function foo(x) { > } > noInline(foo); > >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > let r = foo(x); > if (r !== true) > throw new Error("Bad") >diff --git a/JSTests/stress/dont-crash-ftl-osr-entry.js b/JSTests/stress/dont-crash-ftl-osr-entry.js >index 50b29c8150116b94e1df12071623c6e891d9c04f..a46c5e1bf37cb7fa76ec41e082dd4ab269cbc1b0 100644 >--- a/JSTests/stress/dont-crash-ftl-osr-entry.js >+++ b/JSTests/stress/dont-crash-ftl-osr-entry.js >@@ -12,7 +12,7 @@ function f_0() { > } > function f_1(v_1) { > var sum = 0; >- for (var i = 0; i < 1000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > for (var j = 0; j < 4; j++) { > sum += v_1(); > } >diff --git a/JSTests/stress/dont-crash-in-cfg-simplification.js b/JSTests/stress/dont-crash-in-cfg-simplification.js >index c7687bf0e059fb888d6f6876bd580baed1fee45a..0e0c175b0c05210152ee7366a6797a54abe3df2f 100644 >--- a/JSTests/stress/dont-crash-in-cfg-simplification.js >+++ b/JSTests/stress/dont-crash-in-cfg-simplification.js >@@ -13,5 +13,5 @@ function foo() { > } > } > noInline(foo); >-for (let i = 0; i < 10000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > foo(); >diff --git a/JSTests/stress/dont-crash-when-hoist-check-structure-on-tdz.js b/JSTests/stress/dont-crash-when-hoist-check-structure-on-tdz.js >index 86ea6d4bf3b0b7c7a5f52f6253e102275540f5c4..da76e1af9f73bd0170218227d84a8c2873fb9d58 100644 >--- a/JSTests/stress/dont-crash-when-hoist-check-structure-on-tdz.js >+++ b/JSTests/stress/dont-crash-when-hoist-check-structure-on-tdz.js >@@ -14,7 +14,7 @@ class Foo extends Object { > } > noInline(Foo); > >-for (let i = 0; i < 1000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > new Foo(true, !!(i%2)); > > let threw = false; >diff --git a/JSTests/stress/dont-dead-lock-put-by-val-as-put-by-id.js b/JSTests/stress/dont-dead-lock-put-by-val-as-put-by-id.js >index 5bfdd397118457ad9c42c3d3c3347650ccc1f049..e7fa10233ebad0e2d354a309e29c3de53194d2a3 100644 >--- a/JSTests/stress/dont-dead-lock-put-by-val-as-put-by-id.js >+++ b/JSTests/stress/dont-dead-lock-put-by-val-as-put-by-id.js >@@ -12,6 +12,6 @@ function foo(cond) { > o[ident()] = 20; > } > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(true); > } >diff --git a/JSTests/stress/dont-run-cleanup-after-licm.js b/JSTests/stress/dont-run-cleanup-after-licm.js >index d03849e61ddcdcce9ce9251f47a7211d0013612c..d678b74dab5d3594402bc77eb73f9f8e20b5da82 100644 >--- a/JSTests/stress/dont-run-cleanup-after-licm.js >+++ b/JSTests/stress/dont-run-cleanup-after-licm.js >@@ -1,6 +1,6 @@ > function foo(string) { > var result1, result2; >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > result1 = string[0]; > for (var j = 0; j < 10; ++j) > result2 = 1; >@@ -10,5 +10,5 @@ function foo(string) { > noInline(foo); > > foo(" "); >-for (var i = 0; i < 1000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > foo(new Error()); >diff --git a/JSTests/stress/dont-strength-reduce-valuerep-of-doublerep.js b/JSTests/stress/dont-strength-reduce-valuerep-of-doublerep.js >index bb9783b344e7ebf45d9fb3b7ba1d6bc2a647050c..29fc3a12a54c388ebff29601c6ec83b6c9abd95a 100644 >--- a/JSTests/stress/dont-strength-reduce-valuerep-of-doublerep.js >+++ b/JSTests/stress/dont-strength-reduce-valuerep-of-doublerep.js >@@ -5,7 +5,7 @@ let func = (x) => x; > noInline(Array.prototype.map); > > // This test should not crash. >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > try { > if (i > 0 && (i % 1000) === 0) > thingy.map(func) >diff --git a/JSTests/stress/dont-unwind-past-vm-entry-frame.js b/JSTests/stress/dont-unwind-past-vm-entry-frame.js >index d0d9fbb6ff8296904ee7a327e4f8fcae9abf60e7..b456904faa71d804967123c6e4f2a111c0f3d817 100644 >--- a/JSTests/stress/dont-unwind-past-vm-entry-frame.js >+++ b/JSTests/stress/dont-unwind-past-vm-entry-frame.js >@@ -25,12 +25,12 @@ function getItem() { > noInline(getItem); > > function start() { >- for (i = 0; i < 1000; i++) { >+ for (i = 0; i < $vm.testingLoopCount; i++) { > p(); > } > > shouldReturnBad = true; >- for (i = 0; i < 10000; i++) { >+ for (i = 0; i < $vm.testingLoopCount; i++) { > try { > p(); > } catch(e) { } >diff --git a/JSTests/stress/double-array-to-array-storage.js b/JSTests/stress/double-array-to-array-storage.js >index 9f3b7925c68e9dca8bf67c96e04f1be0e9a1d114..9f9d5350eb07a7019e0952918c74232ea62d64b9 100644 >--- a/JSTests/stress/double-array-to-array-storage.js >+++ b/JSTests/stress/double-array-to-array-storage.js >@@ -28,6 +28,6 @@ function test() > assert(arr.length === 2, "Length should be 2, but is " + arr.length); > } > >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test(); > >diff --git a/JSTests/stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js b/JSTests/stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js >index 607ee3253ddabd1b1e0421f7eb85d8b415fe17e5..95973c9b2c040fb7107f4dd63d333c7c29baf5e8 100644 >--- a/JSTests/stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js >+++ b/JSTests/stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js >@@ -14,6 +14,6 @@ let objs = [ > ]; > > >-for (let i = 0; i < 1000000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > foo(objs[i % objs.length], i); > } >diff --git a/JSTests/stress/empty-function.js b/JSTests/stress/empty-function.js >index 612e5105ea238557aca96b7ee4d4eb88b0d5588c..885c5a172e1258cf02b8399949cc537f43c07b31 100644 >--- a/JSTests/stress/empty-function.js >+++ b/JSTests/stress/empty-function.js >@@ -2,7 +2,7 @@ function foo() { } > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result !== void 0) > throw "You broke JSC so hard that even the empty function doesn't work: " + result; >diff --git a/JSTests/stress/equals-masquerader.js b/JSTests/stress/equals-masquerader.js >index 30bc4306878e4beb8dfa8f11b432f060b7fef2c0..7d951c015e2fac035e20fa0665b77d4ef2441f3f 100644 >--- a/JSTests/stress/equals-masquerader.js >+++ b/JSTests/stress/equals-masquerader.js >@@ -58,7 +58,7 @@ function test(func, iteration, object, outcome) { > throw new Error("Bad result: " + result + " on iteration " + iteration); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(equalsNull, i, null, true); > test(equalsNull, i, undefined, true); > test(equalsNull, i, void 0, true); >@@ -66,7 +66,7 @@ for (var i = 0; i < 10000; ++i) { > test(equalsNull, i, makeMasquerader(), true); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(notEqualsNull, i, null, false); > test(notEqualsNull, i, undefined, false); > test(notEqualsNull, i, void 0, false); >@@ -74,7 +74,7 @@ for (var i = 0; i < 10000; ++i) { > test(notEqualsNull, i, makeMasquerader(), false); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(strictEqualsNull, i, null, true); > test(strictEqualsNull, i, undefined, false); > test(strictEqualsNull, i, void 0, false); >@@ -82,7 +82,7 @@ for (var i = 0; i < 10000; ++i) { > test(strictEqualsNull, i, makeMasquerader(), false); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(strictNotEqualsNull, i, null, false); > test(strictNotEqualsNull, i, undefined, true); > test(strictNotEqualsNull, i, void 0, true); >@@ -90,7 +90,7 @@ for (var i = 0; i < 10000; ++i) { > test(strictNotEqualsNull, i, makeMasquerader(), true); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(equalsUndefined, i, null, true); > test(equalsUndefined, i, undefined, true); > test(equalsUndefined, i, void 0, true); >@@ -98,7 +98,7 @@ for (var i = 0; i < 10000; ++i) { > test(equalsUndefined, i, makeMasquerader(), true); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(notEqualsUndefined, i, null, false); > test(notEqualsUndefined, i, undefined, false); > test(notEqualsUndefined, i, void 0, false); >@@ -106,7 +106,7 @@ for (var i = 0; i < 10000; ++i) { > test(notEqualsUndefined, i, makeMasquerader(), false); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(strictEqualsUndefined, i, null, false); > test(strictEqualsUndefined, i, undefined, true); > test(strictEqualsUndefined, i, void 0, true); >@@ -114,7 +114,7 @@ for (var i = 0; i < 10000; ++i) { > test(strictEqualsUndefined, i, makeMasquerader(), false); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(strictNotEqualsUndefined, i, null, true); > test(strictNotEqualsUndefined, i, undefined, false); > test(strictNotEqualsUndefined, i, void 0, false); >@@ -122,7 +122,7 @@ for (var i = 0; i < 10000; ++i) { > test(strictNotEqualsUndefined, i, makeMasquerader(), true); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(isFalsey, i, null, true); > test(isFalsey, i, undefined, true); > test(isFalsey, i, void 0, true); >diff --git a/JSTests/stress/es6-default-parameters.js b/JSTests/stress/es6-default-parameters.js >index 160d18559359500dae35907d748e278a7bc6167a..eabfcc78438bc5f0396ea806d80137ffc46ac527 100644 >--- a/JSTests/stress/es6-default-parameters.js >+++ b/JSTests/stress/es6-default-parameters.js >@@ -210,7 +210,7 @@ augmentsArguments5(20); > assert(y === 11); > } > >- for (var i = 0; i < 1000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(); > bar(); > baz(); >@@ -338,7 +338,7 @@ assert( (class {static method(a=10,b,c=20,...r){}}).method.length === 0 ); > function bar(x = {p: [x]}) {} > function jaz(x = eval("y"), y) { } > function kaz(x = eval(";(function() { return y})();"), y) { } >- for (var i = 0; i < 1000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > shouldThrowTDZ(basicError); > shouldThrowTDZ(basicError2); > shouldThrowTDZ(baz); >@@ -374,7 +374,7 @@ assert( (class {static method(a=10,b,c=20,...r){}}).method.length === 0 ); > noInline(foo); > noInline(bar); > noInline(baz); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(undefined, {b: 34}); > bar(undefined, {b: 34}); > baz(undefined, undefined, {b: 34}); >diff --git a/JSTests/stress/es6-for-of-loop-exception.js b/JSTests/stress/es6-for-of-loop-exception.js >index 093b756fbb7d7af8c362ae1a071e104c8f12f63e..dd0194836763930ae7ba3aa655f27fce45d31c69 100644 >--- a/JSTests/stress/es6-for-of-loop-exception.js >+++ b/JSTests/stress/es6-for-of-loop-exception.js >@@ -25,5 +25,5 @@ function foo() { > item = 20; > } > } >-for (var i = 0; i < 1000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > shouldThrowInvalidConstAssignment(foo); >diff --git a/JSTests/stress/escape-object-in-diamond-then-exit.js b/JSTests/stress/escape-object-in-diamond-then-exit.js >index fbb903dd9159ba6cb3e298a35d00577fea60b1bd..d8ac64ae49f06c630a1ff404818af888caee1c40 100644 >--- a/JSTests/stress/escape-object-in-diamond-then-exit.js >+++ b/JSTests/stress/escape-object-in-diamond-then-exit.js >@@ -23,7 +23,7 @@ function validateEscape(when) { > global = null; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var escape = !!(i & 1); > var result = foo(escape, 42); > if (result != 42 + 42 + 1) >diff --git a/JSTests/stress/eval-func-decl-block-with-remove.js b/JSTests/stress/eval-func-decl-block-with-remove.js >index 03aa6b0163a4db58ceffdd4e1796d0ceed4e2332..24577c75244938e3ec1eb9b10883b0e2605dff62 100644 >--- a/JSTests/stress/eval-func-decl-block-with-remove.js >+++ b/JSTests/stress/eval-func-decl-block-with-remove.js >@@ -12,6 +12,6 @@ function foo() { > } > foo(); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(); > } >\ No newline at end of file >diff --git a/JSTests/stress/eval-func-decl-block-with-var-and-remove.js b/JSTests/stress/eval-func-decl-block-with-var-and-remove.js >index 443a3951397ce38962a95355381a73aeb5200a60..2e9fad258648c0e812de2a4f58ee9b3d4cf447b6 100644 >--- a/JSTests/stress/eval-func-decl-block-with-var-and-remove.js >+++ b/JSTests/stress/eval-func-decl-block-with-var-and-remove.js >@@ -30,7 +30,7 @@ function foo() { > assertThrow(() => f, "ReferenceError: Can't find variable: f", "#1"); > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } >@@ -46,7 +46,7 @@ function boo() { > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > boo(); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } >@@ -62,7 +62,7 @@ function joo() { > assertThrow(() => h, "ReferenceError: Can't find variable: h"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > joo(); > assertThrow(() => h, "ReferenceError: Can't find variable: h"); > } >@@ -78,7 +78,7 @@ function koo() { > assert(typeof k, "function", "#12"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > koo(); > assertThrow(() => k, "ReferenceError: Can't find variable: k"); > } >diff --git a/JSTests/stress/eval-func-decl-block-with-var-sinthesize.js b/JSTests/stress/eval-func-decl-block-with-var-sinthesize.js >index 2a92ce8d6e79d43e0fda5524b7dfbf0f1f6bb8ba..7e8f6488765cc6dedb92558a6268a060da872fd9 100644 >--- a/JSTests/stress/eval-func-decl-block-with-var-sinthesize.js >+++ b/JSTests/stress/eval-func-decl-block-with-var-sinthesize.js >@@ -28,7 +28,7 @@ function foo() { > assert(typeof f, "function"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > foo(); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } >@@ -42,7 +42,7 @@ function boo() { > assert(typeof l, 'function', "#4"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > boo(); > assertThrow(() => l, "ReferenceError: Can't find variable: l"); > } >@@ -56,7 +56,7 @@ function hoo() { > assert(h, undefined, ''); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > hoo(); > assertThrow(() => h, "ReferenceError: Can't find variable: h"); > } >@@ -70,7 +70,7 @@ function joo() { > assert(typeof h, "function", "#10"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > joo(); > assertThrow(() => h, "ReferenceError: Can't find variable: h"); > } >@@ -84,7 +84,7 @@ function koo() { > assert(typeof k, "function", "#12"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > koo(); > assertThrow(() => k, "ReferenceError: Can't find variable: k"); > } >diff --git a/JSTests/stress/eval-func-decl-in-eval-within-block-with-let.js b/JSTests/stress/eval-func-decl-in-eval-within-block-with-let.js >index a378fb9710ac20925704fe9171af716649e754db..32939cf1542cdded85d2d2c90b24b7a6c6d718cd 100644 >--- a/JSTests/stress/eval-func-decl-in-eval-within-block-with-let.js >+++ b/JSTests/stress/eval-func-decl-in-eval-within-block-with-let.js >@@ -29,7 +29,7 @@ function foo() { > } > > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > foo(); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } >@@ -43,7 +43,7 @@ function boo() { > assert(typeof l, 'function'); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > boo(); > assertThrow(() => l, "ReferenceError: Can't find variable: l"); > } >@@ -51,7 +51,7 @@ for (var i = 0; i < 10000; i++){ > function goo() { > { > let g = 20; >- eval(" for(var j=0; j < 10000; j++){ function g() { }; } "); >+ eval(" for(var j=0; j < $vm.testingLoopCount; j++){ function g() { }; } "); > assert(typeof g, 'number'); > } > assertThrow(() => g, "ReferenceError: Can't find variable: g"); >diff --git a/JSTests/stress/eval-func-decl-in-eval-within-with-scope.js b/JSTests/stress/eval-func-decl-in-eval-within-with-scope.js >index b47b27811be407c581cc44ecc48d95cab986f708..8b05eb74c2c536ae4cd78952f0cf998610312a3b 100644 >--- a/JSTests/stress/eval-func-decl-in-eval-within-with-scope.js >+++ b/JSTests/stress/eval-func-decl-in-eval-within-with-scope.js >@@ -29,13 +29,13 @@ function foo(withScope, firstAssertValue, secondAssertValue) { > > function boo(withScope, firstAssertValue, secondAssertValue) { > with (withScope) { >- eval(" for(var i = 0; i < 10000; i++ ){ if (i > 0) { function f() { }; } } "); >+ eval(" for(var i = 0; i < $vm.testingLoopCount; i++ ){ if (i > 0) { function f() { }; } } "); > assert(typeof f, firstAssertValue); > } > assert(typeof f, secondAssertValue); > } > { >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > foo({}, 'function', 'function'); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } >@@ -43,26 +43,26 @@ function boo(withScope, firstAssertValue, secondAssertValue) { > boo({}, 'function', 'function'); > } > { >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > foo({f : 10}, 'number', 'function'); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } > boo({f : 10}, 'number', 'function'); > >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > foo({f : {}}, 'object', 'function'); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } > boo({f : {}}, 'object', 'function'); > } > { >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(12345, 'function', 'function'); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } > boo(12345, 'function', 'function'); > >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > let val = 12345; > val.f = 10; > foo(val, 'function', 'function'); >@@ -74,13 +74,13 @@ function boo(withScope, firstAssertValue, secondAssertValue) { > } > { > >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > foo('12345', 'function', 'function'); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } > boo('12345', 'function', 'function'); > >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > let val = '12345'; > val.f = 10; > foo(val, 'function', 'function'); >@@ -91,14 +91,14 @@ function boo(withScope, firstAssertValue, secondAssertValue) { > boo(z, 'function', 'function'); > } > { >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(function () {}, 'function', 'function'); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } > > boo(function () {}, 'function', 'function'); > >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > let val2 = function () {}; > val2.f = 10; > foo(val2, 'number', 'function'); >diff --git a/JSTests/stress/eval-func-decl-in-global-of-eval.js b/JSTests/stress/eval-func-decl-in-global-of-eval.js >index fe193461b6819b89f672c0971e710f7671587b6b..1c79257a9d25a49a1f9dbcbab6bb6bd54ad71bcb 100644 >--- a/JSTests/stress/eval-func-decl-in-global-of-eval.js >+++ b/JSTests/stress/eval-func-decl-in-global-of-eval.js >@@ -29,7 +29,7 @@ function bar() { > } > > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > assertThrow(() => bar(), "SyntaxError: Can't create duplicate variable in eval: 'f'"); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } >@@ -45,7 +45,7 @@ function baz() { > assert(typeof l, 'function'); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > baz(); > assertThrow(() => l, "ReferenceError: Can't find variable: l"); > } >diff --git a/JSTests/stress/eval-func-decl-within-eval-with-reassign-to-var.js b/JSTests/stress/eval-func-decl-within-eval-with-reassign-to-var.js >index dfd892f7d9d98cdf43a39c82b43a60679961a11f..e23b69bc738eda87754c747d0c5acf9297beebbe 100644 >--- a/JSTests/stress/eval-func-decl-within-eval-with-reassign-to-var.js >+++ b/JSTests/stress/eval-func-decl-within-eval-with-reassign-to-var.js >@@ -28,7 +28,7 @@ function foo() { > assert(typeof f, "function", "#1"); > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } >@@ -42,7 +42,7 @@ function boo() { > assert(typeof l, 'number', "#4"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > boo(); > assertThrow(() => l, "ReferenceError: Can't find variable: l"); > } >@@ -52,7 +52,7 @@ function foobar() { > assert(_bar, undefined); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > foobar(); > assertThrow(() => _bar, "ReferenceError: Can't find variable: _bar"); > } >@@ -75,7 +75,7 @@ function goo() { > assert(typeof f, "undefined", "#6"); > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > goo(); > assert(typeof f, "undefined", "#7"); > } >@@ -90,7 +90,7 @@ function hoo() { > assert(typeof h, "undefined"); > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > hoo(); > assertThrow(() => h, "ReferenceError: Can't find variable: h"); > } >@@ -104,7 +104,7 @@ function joo() { > assert(typeof h, "number", "#10"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > joo(); > assertThrow(() => h, "ReferenceError: Can't find variable: h"); > } >@@ -118,7 +118,7 @@ function koo() { > assert(typeof k, "function", "#12"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > koo(); > assertThrow(() => h, "ReferenceError: Can't find variable: h"); > } >@@ -131,7 +131,7 @@ function loo() { > > assert(loo(), 20); > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > loo(); > assertThrow(() => h, "ReferenceError: Can't find variable: h"); > } >diff --git a/JSTests/stress/eval-func-decl-within-eval-without-reassign-to-let.js b/JSTests/stress/eval-func-decl-within-eval-without-reassign-to-let.js >index 74dfd8f12e61b048c2cae227f2ca61d9c96d6085..50313c58a67aef808053283293d1684fb9cfa302 100644 >--- a/JSTests/stress/eval-func-decl-within-eval-without-reassign-to-let.js >+++ b/JSTests/stress/eval-func-decl-within-eval-without-reassign-to-let.js >@@ -28,7 +28,7 @@ function foo() { > assert(typeof f, "undefined", "#1"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > foo(); > assertThrow(() => f, "ReferenceError: Can't find variable: f"); > } >@@ -42,7 +42,7 @@ function boo() { > assert(typeof l, 'function', "#4"); > } > >-for (var i = 0; i < 10000; i++){ >+for (var i = 0; i < $vm.testingLoopCount; i++){ > boo(); > assertThrow(() => l, "ReferenceError: Can't find variable: l"); > } >@@ -50,7 +50,7 @@ for (var i = 0; i < 10000; i++){ > function goo() { > { > let g = 20; >- eval('eval(" for(var j=0; j < 10000; j++){ function g() { }; } ")'); >+ eval('eval(" for(var j=0; j < $vm.testingLoopCount; j++){ function g() { }; } ")'); > assert(typeof g, 'number', "#6"); > } > assertThrow(() => g, "ReferenceError: Can't find variable: g"); >diff --git a/JSTests/stress/eval-in-arrow-function.js b/JSTests/stress/eval-in-arrow-function.js >index 4047286737da97906c05c5d88ebd3239f5bd32a4..ec762a73a4b6987c3bd83c636630cc6423f04281 100644 >--- a/JSTests/stress/eval-in-arrow-function.js >+++ b/JSTests/stress/eval-in-arrow-function.js >@@ -4,14 +4,14 @@ function shouldBe(actual, expected) { > } > > var global = this; >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > (() => { > // |this| should reference to the global one. > shouldBe(eval("this"), global); > })(); > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var THIS = {}; > (function test() { > // |this| should reference to the function's one. >diff --git a/JSTests/stress/eval-script-contains-null-character.js b/JSTests/stress/eval-script-contains-null-character.js >index 419215da49c27dbb4cbe6d9f7da05efd5d4b3e6a..ed6334fc3fe304d3de58587a0b6c0ca8f1f2f18f 100644 >--- a/JSTests/stress/eval-script-contains-null-character.js >+++ b/JSTests/stress/eval-script-contains-null-character.js >@@ -9,5 +9,5 @@ function test() { > } > noInline(test); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(); >diff --git a/JSTests/stress/eval-that-is-not-eval.js b/JSTests/stress/eval-that-is-not-eval.js >index c6c3064488c71ccbbc75a60298a3af46f339a788..5638d6a62f9e3f4e04777a2e9f146812f2e9bc27 100644 >--- a/JSTests/stress/eval-that-is-not-eval.js >+++ b/JSTests/stress/eval-that-is-not-eval.js >@@ -6,7 +6,7 @@ noInline(foo); > > eval = function(a) { return a + 1; } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42); > if (result != 43) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/exception-dfg-inlined-frame-not-strict-equal.js b/JSTests/stress/exception-dfg-inlined-frame-not-strict-equal.js >index 415b15d3f82fc3f2ee5afb31258c121a6eba9daa..8086fb59bad2d99ae95da4a7ab95d516943b4c79 100644 >--- a/JSTests/stress/exception-dfg-inlined-frame-not-strict-equal.js >+++ b/JSTests/stress/exception-dfg-inlined-frame-not-strict-equal.js >@@ -28,7 +28,7 @@ function foo(a, b) { > } > noInline(foo); > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(10, 20); > foo({}, {}); > foo(10, 10.0); >diff --git a/JSTests/stress/exception-dfg-not-strict-equal.js b/JSTests/stress/exception-dfg-not-strict-equal.js >index e4dd480dbaae12c49078f7abf1ed20b3d86d5970..ebeee1aa62c31d97f5207bdba078cb3ae2acbd09 100644 >--- a/JSTests/stress/exception-dfg-not-strict-equal.js >+++ b/JSTests/stress/exception-dfg-not-strict-equal.js >@@ -8,7 +8,7 @@ function foo(a, b) { > } > noInline(foo); > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(10, 20); > foo({}, {}); > foo(10, 10.0); >@@ -50,7 +50,7 @@ function foo(a, b) { > } > noInline(foo); > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(10, 20); > foo({}, {}); > foo(10, 10.0); >diff --git a/JSTests/stress/exception-dfg-operation-read-value.js b/JSTests/stress/exception-dfg-operation-read-value.js >index f3835a06daa99d713a5baa72a01d7cfcefb1d1e3..ef2cd0d4a9999c1c3cf2ab05732380818e5c8126 100644 >--- a/JSTests/stress/exception-dfg-operation-read-value.js >+++ b/JSTests/stress/exception-dfg-operation-read-value.js >@@ -24,7 +24,7 @@ function foo(a, b) { > } > noInline(foo); > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(10, 20); > foo({}, {}); > foo(10, 10.0); >diff --git a/JSTests/stress/exception-effect-strcat.js b/JSTests/stress/exception-effect-strcat.js >index 92772b9cf0adceb4160523ddc7be15e85a5b7f41..432333546b98e5270588f88e37ee969292bc9e79 100644 >--- a/JSTests/stress/exception-effect-strcat.js >+++ b/JSTests/stress/exception-effect-strcat.js >@@ -11,7 +11,7 @@ for (var i = 0; i < 30; ++i) > var effects = 0; > var b = {toString: function() { effects++; return bStr; }}; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > effects = 0; > var result = foo("a", b); > if (result.length != "a".length + bStr.length) >diff --git a/JSTests/stress/exception-in-strcat-string-overflow.js b/JSTests/stress/exception-in-strcat-string-overflow.js >index 26c48fc08b335d166c9e62f36070d58c39bc0268..36d3a4165a894a82b9f64ee309a2f56e3c39bf2c 100644 >--- a/JSTests/stress/exception-in-strcat-string-overflow.js >+++ b/JSTests/stress/exception-in-strcat-string-overflow.js >@@ -4,7 +4,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var b; > var expected; > if (i & 1) { >diff --git a/JSTests/stress/exception-in-strcat.js b/JSTests/stress/exception-in-strcat.js >index 3306c4d464e00210bb62bc80fd4ad88ec28a5d79..d207c96f1f15794ad2cefa208b0fdb9153600b2b 100644 >--- a/JSTests/stress/exception-in-strcat.js >+++ b/JSTests/stress/exception-in-strcat.js >@@ -4,7 +4,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({toString: function() { return "a"; }}, 42); > if (result != "ax42") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/exception-in-to-property-key-should-be-handled-early.js b/JSTests/stress/exception-in-to-property-key-should-be-handled-early.js >index ad153355b965ecfce4315f627a189284e2bcd8d9..7c0cfa244ab172d86c16ca858ade9196c2f81fcf 100644 >--- a/JSTests/stress/exception-in-to-property-key-should-be-handled-early.js >+++ b/JSTests/stress/exception-in-to-property-key-should-be-handled-early.js >@@ -83,7 +83,7 @@ function shouldThrow(func, message) { > } > noInline(test); > >- for (var i = 0; i < 10000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > test(object, property); > > shouldThrow(function () { test(object, propertyKey); }, "Error: propertyKey.toString is called."); >@@ -121,11 +121,11 @@ function shouldThrow(func, message) { > }); > > var array = [1, 2, 3]; >- for (var i = 0; i < 100000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > test(array, array.length, 0); > > var array = [1, false, 3]; >- for (var i = 0; i < 100000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > test(array, array.length, 1); > > test("hello", "hello".length, 2); >diff --git a/JSTests/stress/exit-after-int32-to-double.js b/JSTests/stress/exit-after-int32-to-double.js >index 580c5a9b72a8db3c00ce804c45c8fbc9506a9976..3b4b8c31f6c2d5e897e51603fc8d5e938998e707 100644 >--- a/JSTests/stress/exit-after-int32-to-double.js >+++ b/JSTests/stress/exit-after-int32-to-double.js >@@ -4,7 +4,7 @@ function foo(x, o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42.5, {f:5}); > if (result != 47.5) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/exit-after-int52-to-double.js b/JSTests/stress/exit-after-int52-to-double.js >index 06bab3b1dac15f68d23a47229fbbb71a6c6fa987..51d37336f76fe5d1963a8c13a6fdbd4f2cf0c48f 100644 >--- a/JSTests/stress/exit-after-int52-to-double.js >+++ b/JSTests/stress/exit-after-int52-to-double.js >@@ -4,7 +4,7 @@ function foo(a, b, c) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:2000000000}, {f:2000000000}, {f:0.5}); > if (result != 4000000000.5) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/exit-after-int52-to-value.js b/JSTests/stress/exit-after-int52-to-value.js >index 92ed1f85350250618066fbab293994a422fe9056..c1c483a6e5b07687f3b660cbdb18a97b430c9555 100644 >--- a/JSTests/stress/exit-after-int52-to-value.js >+++ b/JSTests/stress/exit-after-int52-to-value.js >@@ -11,7 +11,7 @@ function makeWeirdObject() { > return result; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = makeWeirdObject(); > foo({f:2000000000}, {f:2000000000}, {f:o}); > if (o.f != 4000000000) >diff --git a/JSTests/stress/exit-after-llvm-folds-large-int-constant.js b/JSTests/stress/exit-after-llvm-folds-large-int-constant.js >index 48d35fe5bd30a049d6691083d3a9ca1bc31401a7..b33071c1db78a4743cdeb2423d8d80c38ff62d4a 100644 >--- a/JSTests/stress/exit-after-llvm-folds-large-int-constant.js >+++ b/JSTests/stress/exit-after-llvm-folds-large-int-constant.js >@@ -7,7 +7,7 @@ function foo(o, io) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:{f:42}}, {f:92160}); > if (result != 92202) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/exit-during-inlined-arity-fixup-recover-proper-frame.js b/JSTests/stress/exit-during-inlined-arity-fixup-recover-proper-frame.js >index 7bcbc554ed373b4d044b18e7ca4445b5c7130d53..6f55db640df6c3837e3aa61c01119d569f73a8e0 100644 >--- a/JSTests/stress/exit-during-inlined-arity-fixup-recover-proper-frame.js >+++ b/JSTests/stress/exit-during-inlined-arity-fixup-recover-proper-frame.js >@@ -28,6 +28,6 @@ const bar = createBuiltin(`(function (f, a, b, c, d) { > > noInline(bar); > >-for (i = 0; i < 1000; ++i) { >+for (i = 0; i < $vm.testingLoopCount; ++i) { > bar(func, i, i+1, i+2, i+3); > } >diff --git a/JSTests/stress/exit-from-ftl-when-caller-passed-extra-args-then-use-function-dot-arguments.js b/JSTests/stress/exit-from-ftl-when-caller-passed-extra-args-then-use-function-dot-arguments.js >index d0682ab3bc14916f21aa236b814b189e3fa8ac2b..190e9fbc17f0b232cbc1373638342264218fbb83 100644 >--- a/JSTests/stress/exit-from-ftl-when-caller-passed-extra-args-then-use-function-dot-arguments.js >+++ b/JSTests/stress/exit-from-ftl-when-caller-passed-extra-args-then-use-function-dot-arguments.js >@@ -22,7 +22,7 @@ function arraycmp(a, b) { > return true; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 2, 3, 4, 5, 6); > if (result != 3) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/exit-from-ftl-with-arity-check-fail.js b/JSTests/stress/exit-from-ftl-with-arity-check-fail.js >index 6be3b210a01e0056e7a6d4ecc119fef7cedd29ef..edd5210ee01b726ed81d3270223492ef2b0d762d 100644 >--- a/JSTests/stress/exit-from-ftl-with-arity-check-fail.js >+++ b/JSTests/stress/exit-from-ftl-with-arity-check-fail.js >@@ -9,7 +9,7 @@ function bar(o) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar({f:42}); > > var result = bar({g:24, f:43}); >diff --git a/JSTests/stress/exit-then-eval.js b/JSTests/stress/exit-then-eval.js >index df3dacc517eec1dc0cd1155d7aebf4e4644af7c7..1b884154a9f1989204a65cf0409380fe85f336a6 100644 >--- a/JSTests/stress/exit-then-eval.js >+++ b/JSTests/stress/exit-then-eval.js >@@ -6,7 +6,7 @@ function foo(a, b, string) > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 2, "x + 1"); > if (result != 1 + 2 + 1) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/fiat-double-to-int52-then-exit-not-int52.js b/JSTests/stress/fiat-double-to-int52-then-exit-not-int52.js >index cc25bbf35d426626aed2982e844876b1037babff..ad0ea3a8b43a3c9718fdb0f9e2a9b3bbbd001bf2 100644 >--- a/JSTests/stress/fiat-double-to-int52-then-exit-not-int52.js >+++ b/JSTests/stress/fiat-double-to-int52-then-exit-not-int52.js >@@ -7,7 +7,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 43) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fiat-double-to-int52-then-fail-to-fold.js b/JSTests/stress/fiat-double-to-int52-then-fail-to-fold.js >index b6e5277929f5df2ad0e0819f8b98f941768b8ce2..27aba95c95719700352a3b0162425d0c287a858e 100644 >--- a/JSTests/stress/fiat-double-to-int52-then-fail-to-fold.js >+++ b/JSTests/stress/fiat-double-to-int52-then-fail-to-fold.js >@@ -4,7 +4,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != Math.sqrt(2) + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fiat-double-to-int52-then-fold.js b/JSTests/stress/fiat-double-to-int52-then-fold.js >index d2259a1047ba266c3b34db479e201969acf6114f..834ef5525296508f32fb5d56d59eec5b4bc0ce82 100644 >--- a/JSTests/stress/fiat-double-to-int52-then-fold.js >+++ b/JSTests/stress/fiat-double-to-int52-then-fold.js >@@ -4,7 +4,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 42 + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fiat-double-to-int52.js b/JSTests/stress/fiat-double-to-int52.js >index 0697b60568a1e8ee90fbc4fe2ddb1c3896ed7be6..5760446cf67d89f1927f345914e6f9688b94fe9b 100644 >--- a/JSTests/stress/fiat-double-to-int52.js >+++ b/JSTests/stress/fiat-double-to-int52.js >@@ -7,7 +7,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 43) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fiat-int32-to-int52.js b/JSTests/stress/fiat-int32-to-int52.js >index 3e3ef8ac4752df375cb95e03f3807a8ec913cf40..9a75807ea3c23ee32fbc37238c2afd7ea39c034f 100644 >--- a/JSTests/stress/fiat-int32-to-int52.js >+++ b/JSTests/stress/fiat-int32-to-int52.js >@@ -6,7 +6,7 @@ noInline(foo); > > var o = {f:42}; > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result != 43) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fiat-value-to-int52-double-path.js b/JSTests/stress/fiat-value-to-int52-double-path.js >index 235c5676a0984c36ac918694349de9b793feb031..9c1086ddc67c45a8aee663a130223823a247b548 100644 >--- a/JSTests/stress/fiat-value-to-int52-double-path.js >+++ b/JSTests/stress/fiat-value-to-int52-double-path.js >@@ -12,7 +12,7 @@ function bar() { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 43) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fiat-value-to-int52-then-exit-not-double.js b/JSTests/stress/fiat-value-to-int52-then-exit-not-double.js >index a20a5f8b067944cea9303d87740453119b7324f4..dc2f404077c1f2c93a682a4316512879bd35470f 100644 >--- a/JSTests/stress/fiat-value-to-int52-then-exit-not-double.js >+++ b/JSTests/stress/fiat-value-to-int52-then-exit-not-double.js >@@ -12,7 +12,7 @@ function bar(p) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 43 && result != 6.5) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fiat-value-to-int52-then-exit-not-int52.js b/JSTests/stress/fiat-value-to-int52-then-exit-not-int52.js >index e477a10b3b29c47a2f5a92d89544797b080535d1..50a09e2d014c963504fc842205926795786b6f40 100644 >--- a/JSTests/stress/fiat-value-to-int52-then-exit-not-int52.js >+++ b/JSTests/stress/fiat-value-to-int52-then-exit-not-int52.js >@@ -12,7 +12,7 @@ function bar(p) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 43 && result != 6.5) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fiat-value-to-int52-then-fail-to-fold.js b/JSTests/stress/fiat-value-to-int52-then-fail-to-fold.js >index fde0a28a793f787fa13febd5273b3f9306e4b080..fecde8c23ee3dde5e9d67b5aa28bbf4383f6bb9c 100644 >--- a/JSTests/stress/fiat-value-to-int52-then-fail-to-fold.js >+++ b/JSTests/stress/fiat-value-to-int52-then-fail-to-fold.js >@@ -4,7 +4,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 43 && result != 6.5) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fiat-value-to-int52-then-fold.js b/JSTests/stress/fiat-value-to-int52-then-fold.js >index 380240c75b1f29822c30d0483efc18543353f817..8e46479901714f4151c1f26132df64da59dad921 100644 >--- a/JSTests/stress/fiat-value-to-int52-then-fold.js >+++ b/JSTests/stress/fiat-value-to-int52-then-fold.js >@@ -4,7 +4,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 43 && result != 6.5) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fiat-value-to-int52.js b/JSTests/stress/fiat-value-to-int52.js >index 9833582d3e975c2e74ab870f460847045dc4c412..36391602945273a27119ac47bf872c150e0c0c84 100644 >--- a/JSTests/stress/fiat-value-to-int52.js >+++ b/JSTests/stress/fiat-value-to-int52.js >@@ -9,7 +9,7 @@ function bar(p) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 43 && result != 6.5) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/flattening-prototype-remove-butterfly.js b/JSTests/stress/flattening-prototype-remove-butterfly.js >index 47f6310d6da5c7d2e5d5518a611485e6f815324c..87725540a5c567c2037f6a07d6b27097c316a617 100644 >--- a/JSTests/stress/flattening-prototype-remove-butterfly.js >+++ b/JSTests/stress/flattening-prototype-remove-butterfly.js >@@ -19,5 +19,5 @@ function foo() { > noInline(foo); > > // Flatten into an empty butterfly. >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > foo(); >diff --git a/JSTests/stress/float32-array-nan-inlined.js b/JSTests/stress/float32-array-nan-inlined.js >index 53ec2d1376ed1078532c5b6dd00974089fb1a04d..89e67106c7344f807ad756b2b21a6bcb8a4673c9 100644 >--- a/JSTests/stress/float32-array-nan-inlined.js >+++ b/JSTests/stress/float32-array-nan-inlined.js >@@ -14,7 +14,7 @@ function test(a, x) { > > noInline(test); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(0, 1); > > test(0xFFFF0000, 0/0); >diff --git a/JSTests/stress/float32-array-nan.js b/JSTests/stress/float32-array-nan.js >index f74add8b32a9f4f3677e83975288ad2fbf5010f8..6bdae8f7329028da18bd69ac094c6436595d8b7f 100644 >--- a/JSTests/stress/float32-array-nan.js >+++ b/JSTests/stress/float32-array-nan.js >@@ -14,7 +14,7 @@ function test(a, x) { > throw "Error: bad result for " + a + ": " + result + ", but expected: " + x + "; loaded " + element + " from the array"; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(0, 1); > > test(0xFFFF0000, 0/0); >diff --git a/JSTests/stress/float32-array-out-of-bounds.js b/JSTests/stress/float32-array-out-of-bounds.js >index b50765d7c082b7f5c4188b44dc2198e90039c79c..ce29fa2c2a6404988cadefb67d22c5339a8f62b7 100644 >--- a/JSTests/stress/float32-array-out-of-bounds.js >+++ b/JSTests/stress/float32-array-out-of-bounds.js >@@ -13,10 +13,10 @@ function test(array, expected) { > throw new Error("bad result: " + result); > } > >-for (var i = 0; i < 1000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(shortArray, void 0); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(longArray, 0); > > test(shortArray, void 0); >diff --git a/JSTests/stress/float32-repeat-out-of-bounds.js b/JSTests/stress/float32-repeat-out-of-bounds.js >index 92f81c636899af8ca87bf9915bc9c62a53f0d876..3f44718d2e735fded6d2c3d647fab517658dd552 100644 >--- a/JSTests/stress/float32-repeat-out-of-bounds.js >+++ b/JSTests/stress/float32-repeat-out-of-bounds.js >@@ -10,7 +10,7 @@ noInline(foo); > > var array = new Float32Array(1); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(array); > > if (reoptimizationRetryCount(foo)) >diff --git a/JSTests/stress/float32array-out-of-bounds.js b/JSTests/stress/float32array-out-of-bounds.js >index 02a02dda7debf2c660d20770e9cc42535764e15a..7be4f4b2596f81e9da6daf711bf0c8e4eeaefdb1 100644 >--- a/JSTests/stress/float32array-out-of-bounds.js >+++ b/JSTests/stress/float32array-out-of-bounds.js >@@ -16,7 +16,7 @@ function test(value) { > throw "Error: bad result: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(42); > > var result = foo(make(42), 1); >diff --git a/JSTests/stress/float64-array-nan-inlined.js b/JSTests/stress/float64-array-nan-inlined.js >index 582d0389a8c65ced7c70e30458af838fd60f5a9e..d07ff5ec3c20970c5132a7b20799536b4656c52c 100644 >--- a/JSTests/stress/float64-array-nan-inlined.js >+++ b/JSTests/stress/float64-array-nan-inlined.js >@@ -25,7 +25,7 @@ function test(a, b, x) { > > noInline(test); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(0, 0, 1); > > if (isBigEndian()) { >diff --git a/JSTests/stress/float64-array-nan.js b/JSTests/stress/float64-array-nan.js >index fd91baf81fe8f7f8b87355843a1bb3123a15a8b8..d78895b588e46e20decd1528d08be61803dbe69b 100644 >--- a/JSTests/stress/float64-array-nan.js >+++ b/JSTests/stress/float64-array-nan.js >@@ -22,7 +22,7 @@ function test(a, b, x) { > throw "Error: bad result for " + a + ", " + b + ": " + result + ", but expected: " + x + "; loaded " + element + " from the array"; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(0, 0, 1); > > if (isBigEndian()) { >diff --git a/JSTests/stress/fold-based-on-int32-proof-mul-branch.js b/JSTests/stress/fold-based-on-int32-proof-mul-branch.js >index a9c6f01886e465bd26ebedd73a0f22f482183b66..25ed0db735d3b48a889229fbd57999cb6f35d667 100644 >--- a/JSTests/stress/fold-based-on-int32-proof-mul-branch.js >+++ b/JSTests/stress/fold-based-on-int32-proof-mul-branch.js >@@ -6,7 +6,7 @@ function foo(a, b) { > } > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 1); > if (result[1] !== false) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fold-based-on-int32-proof-mul.js b/JSTests/stress/fold-based-on-int32-proof-mul.js >index 94fa137f16ce6ec0dbe6214ac09e86fe6534cc4e..3516cc7f1b79c3c74939f3eb88710342727c982d 100644 >--- a/JSTests/stress/fold-based-on-int32-proof-mul.js >+++ b/JSTests/stress/fold-based-on-int32-proof-mul.js >@@ -3,7 +3,7 @@ function foo(a, b) { > } > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 1); > if (result !== false) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fold-based-on-int32-proof-or-zero.js b/JSTests/stress/fold-based-on-int32-proof-or-zero.js >index b28ed691dbbde2dfbe59476c1200da1a98a58b43..49191c20910f52d3bfde6b8b8dc5ebffec9ebbab 100644 >--- a/JSTests/stress/fold-based-on-int32-proof-or-zero.js >+++ b/JSTests/stress/fold-based-on-int32-proof-or-zero.js >@@ -4,7 +4,7 @@ function foo(a, b) { > } > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 1); > if (result !== true) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fold-based-on-int32-proof.js b/JSTests/stress/fold-based-on-int32-proof.js >index f9a2ee54b78c94d10ee8dd4c6c211880ac2c0253..8808e9661f4b23453fcc0501d953de491333ca3d 100644 >--- a/JSTests/stress/fold-based-on-int32-proof.js >+++ b/JSTests/stress/fold-based-on-int32-proof.js >@@ -3,7 +3,7 @@ function foo(a, b) { > } > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 1); > if (result !== false) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fold-load-varargs-arity-check-fail-barely.js b/JSTests/stress/fold-load-varargs-arity-check-fail-barely.js >index f1a1398290365bc5e82e55e88f99d5be9709f750..bc001294fee7c30aa33f0500afdd74ce16d628c2 100644 >--- a/JSTests/stress/fold-load-varargs-arity-check-fail-barely.js >+++ b/JSTests/stress/fold-load-varargs-arity-check-fail-barely.js >@@ -12,7 +12,7 @@ function baz() { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(); > if (!(result instanceof Array)) > throw "Error: result is not an array."; >diff --git a/JSTests/stress/fold-load-varargs-arity-check-fail.js b/JSTests/stress/fold-load-varargs-arity-check-fail.js >index f166f0f2ff701875d524f9c1666df5241c6095d8..33602d2c63ac3aa582557d29a141783454f2bda9 100644 >--- a/JSTests/stress/fold-load-varargs-arity-check-fail.js >+++ b/JSTests/stress/fold-load-varargs-arity-check-fail.js >@@ -12,7 +12,7 @@ function baz() { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(); > if (!(result instanceof Array)) > throw "Error: result is not an array."; >diff --git a/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js b/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js >index 0973369af1e288bc6f1b6c251dc26f6bb2be313e..a18acadcda77d9c8dbc2e76161402ef1c23f7f62 100644 >--- a/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js >+++ b/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js >@@ -4,7 +4,7 @@ function foo(o) { > return o.f; > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo((i & 1) ? {f:1, g:2} : {g:1, f:2}); > if (result != 2 - (i & 1)) > throw "Error: bad result in warm-up loop for i = " + i + ": " + result; >@@ -16,7 +16,7 @@ function bar(o) { > > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar({f:i, g:i * 3}); > if (result != i * 4 + 42) > throw "Error: bad result for i = " + i + ": " + result; >diff --git a/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check-new.js b/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check-new.js >index e406102391fdab408be7d86e9fd8432b7fe1207f..c9f4210440c7252673335b6da92f0d0424964ef5 100644 >--- a/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check-new.js >+++ b/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check-new.js >@@ -20,7 +20,7 @@ function baz(o, p, q) { > > noInline(baz); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o, p, q; > var expected1; > var expected2; >diff --git a/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check.js b/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check.js >index 56c35a005ebe436c4713b04a6f23be4ccc0d4f39..b46255045000e8ae0fb357948d62569d46aa1fff 100644 >--- a/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check.js >+++ b/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check.js >@@ -14,7 +14,7 @@ function baz(f, o) { > return f(o); > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo({f:1, e:2}); > foo({e:1, f:2}); > foo({d:1, e:2, f:3}); >@@ -23,7 +23,7 @@ for (var i = 0; i < 100; ++i) { > fu({d:1, e:2, f:3, g:4}); > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > bar(foo, {f:1}); > bar(function() { }, null); > bar(function() { return 42; }, null); >diff --git a/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset.js b/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset.js >index 34be8e9c8e9acd676058b859806c5ccfb7c5f30c..1c1517a515c8d3d00e6613255a4afea73ae88289 100644 >--- a/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset.js >+++ b/JSTests/stress/fold-multi-get-by-offset-to-get-by-offset.js >@@ -4,7 +4,7 @@ function foo(o) { > return o.f; > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo((i & 1) ? {f:1, g:2} : {g:1, f:2}); > if (result != 2 - (i & 1)) > throw "Error: bad result in warm-up loop for i = " + i + ": " + result; >@@ -16,7 +16,7 @@ function bar(o) { > > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar({f:i, g:i * 3}); > if (result != i * 4) > throw "Error: bad result for i = " + i + ": " + result; >diff --git a/JSTests/stress/fold-multi-put-by-offset-to-put-by-offset-without-folding-the-structure-check.js b/JSTests/stress/fold-multi-put-by-offset-to-put-by-offset-without-folding-the-structure-check.js >index 0f3b8a1a0c3bbd52f3bc837b244aeafa5739c48f..8718c78afbe01ef66af49a00df129192ecdb0de4 100644 >--- a/JSTests/stress/fold-multi-put-by-offset-to-put-by-offset-without-folding-the-structure-check.js >+++ b/JSTests/stress/fold-multi-put-by-offset-to-put-by-offset-without-folding-the-structure-check.js >@@ -14,7 +14,7 @@ function baz(f, o) { > f(o); > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo({f:1, e:2}); > foo({e:1, f:2}); > foo({d:1, e:2, f:3}); >@@ -23,7 +23,7 @@ for (var i = 0; i < 100; ++i) { > fu({d:1, e:2, f:3, g:4}); > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > bar(foo, {f:1}); > bar(function() { }, null); > bar(function() { return 42; }, null); >diff --git a/JSTests/stress/fold-multi-put-by-offset-to-put-by-offset.js b/JSTests/stress/fold-multi-put-by-offset-to-put-by-offset.js >index 8da82cf18cdbc99e8686ccc9f4ed8768f749e962..29995c83b4c6bdaa397dd7f1c831cd89ad2a500b 100644 >--- a/JSTests/stress/fold-multi-put-by-offset-to-put-by-offset.js >+++ b/JSTests/stress/fold-multi-put-by-offset-to-put-by-offset.js >@@ -8,7 +8,7 @@ function callFoo(o) { > > noInline(callFoo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var object; > if ((i % 3) == 0) > object = {g:3}; >@@ -29,7 +29,7 @@ function bar(o) { > > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {f:42}; > var result = bar(o); > if (result != 42) >diff --git a/JSTests/stress/fold-profiled-call-to-call.js b/JSTests/stress/fold-profiled-call-to-call.js >index 0ca898e318017e4ccca029f1f312447e0810b693..aaa7159456446d5218b337f5f95654ecf3e39781 100644 >--- a/JSTests/stress/fold-profiled-call-to-call.js >+++ b/JSTests/stress/fold-profiled-call-to-call.js >@@ -14,7 +14,7 @@ function bar() { > function baz() { return {f:42}; }; > > object = {f:42}; >-for (var i = 0; i < 1000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo((i & 1) ? bar : baz); > > object = {e:1, f:2}; >diff --git a/JSTests/stress/fold-to-double-constant-then-exit.js b/JSTests/stress/fold-to-double-constant-then-exit.js >index 8fa2327153a6afa9260e5194efcfa4cb3ec92263..b691c18b0dd0b55efb31d42652bfeb6b421e4c5e 100644 >--- a/JSTests/stress/fold-to-double-constant-then-exit.js >+++ b/JSTests/stress/fold-to-double-constant-then-exit.js >@@ -9,7 +9,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1.4, 1.3); > if (result != 1.4 + 1.3 + 0.5 && result != 5.4 + 5.4 + 0.5) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fold-to-int52-constant-then-exit.js b/JSTests/stress/fold-to-int52-constant-then-exit.js >index e3b4753766ff09efadef7fbecd87737073cff098..d676c65782b16dda2b1f1b885aa12341b6b8748d 100644 >--- a/JSTests/stress/fold-to-int52-constant-then-exit.js >+++ b/JSTests/stress/fold-to-int52-constant-then-exit.js >@@ -9,7 +9,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(2000000001, 2000000001); > if (result != 2000000001 + 2000000001 + 42 && result != 2000000000 + 2000000000 + 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fold-to-primitive-in-cfa.js b/JSTests/stress/fold-to-primitive-in-cfa.js >index 899a171203525299f6e48fc98f2e27675465f9ef..a7097987b0dcb1f32cc7652eab21698ae645031b 100644 >--- a/JSTests/stress/fold-to-primitive-in-cfa.js >+++ b/JSTests/stress/fold-to-primitive-in-cfa.js >@@ -6,7 +6,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({toString:function() { return "foo" }}); > if (result != "foo world" && result != "hello world") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fold-to-primitive-to-identity-in-cfa.js b/JSTests/stress/fold-to-primitive-to-identity-in-cfa.js >index 277488ca970e35ecccf5db2c0355d95b2b1b4a46..0f331fb2740f320bc6d6c45020f797d64ea240e0 100644 >--- a/JSTests/stress/fold-to-primitive-to-identity-in-cfa.js >+++ b/JSTests/stress/fold-to-primitive-to-identity-in-cfa.js >@@ -6,7 +6,7 @@ function foo(x, p) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({toString:function() { return "foo" }}, i & 1); > if (result != "foo world" && result != "hello world" && result != "bar world") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/fold-typed-array-properties.js b/JSTests/stress/fold-typed-array-properties.js >index 2d17d778bc2a06e21be87f0df5847c9edd7a1d3d..f8526eebb5b217be9ed71bdb76475ffcf4086dbc 100644 >--- a/JSTests/stress/fold-typed-array-properties.js >+++ b/JSTests/stress/fold-typed-array-properties.js >@@ -19,7 +19,7 @@ function foo(when) { > throw "Error: bad byte length (" + when + "): " + tmp; > } > >-for (var i = 0; i < 1000000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo("loop"); > > transferArrayBuffer(a.buffer); >diff --git a/JSTests/stress/for-in-array-mode.js b/JSTests/stress/for-in-array-mode.js >index 9002b940ad596b75481f02540e50ac9e9cbb5088..5189c4f17bfb6c52ca40d8d828024c47b329100a 100644 >--- a/JSTests/stress/for-in-array-mode.js >+++ b/JSTests/stress/for-in-array-mode.js >@@ -69,7 +69,7 @@ function test(name, data) { > > var failed = false; > var previousResult; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var expected = data.out; > var actual = eval(name + "(data.in)"); > >diff --git a/JSTests/stress/for-in-base-reassigned-later-and-change-structure.js b/JSTests/stress/for-in-base-reassigned-later-and-change-structure.js >index 1b087d52d74abaa381cc501930b0a92b13fb86aa..1366463ca83acf6f0cf3f855b01fc6288f043237 100644 >--- a/JSTests/stress/for-in-base-reassigned-later-and-change-structure.js >+++ b/JSTests/stress/for-in-base-reassigned-later-and-change-structure.js >@@ -11,7 +11,7 @@ function foo(o_) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({0:0, 1:1, a:2, b:3}); > if (result != 7) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/for-in-base-reassigned-later.js b/JSTests/stress/for-in-base-reassigned-later.js >index 83115b4973c837ca6d3ff06ea6ff131c34511e62..2e3e46a8ca56a34d65aaa7325dd602a921a81c66 100644 >--- a/JSTests/stress/for-in-base-reassigned-later.js >+++ b/JSTests/stress/for-in-base-reassigned-later.js >@@ -11,7 +11,7 @@ function foo(o_) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({0:0, 1:1, a:2, b:3}); > if (result != 7) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/for-in-base-reassigned.js b/JSTests/stress/for-in-base-reassigned.js >index 09c87953b8d320b4b4dad3f9f099b697f31cbd72..a2b747c06a267fa06eea83011e62d5c205369c4f 100644 >--- a/JSTests/stress/for-in-base-reassigned.js >+++ b/JSTests/stress/for-in-base-reassigned.js >@@ -10,7 +10,7 @@ function foo(o_) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({0:0, 1:1, a:2, b:3}); > if (result != 9) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/for-in-capture-string-loop-var.js b/JSTests/stress/for-in-capture-string-loop-var.js >index c92bf686f11702ec0953eb389473778c3fd0617f..8e96dfbbf600603259707f9998c60255034ef610 100644 >--- a/JSTests/stress/for-in-capture-string-loop-var.js >+++ b/JSTests/stress/for-in-capture-string-loop-var.js >@@ -14,7 +14,7 @@ > return sum; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() != 2) > throw new Error("bad result"); > } >diff --git a/JSTests/stress/for-in-delete-during-iteration.js b/JSTests/stress/for-in-delete-during-iteration.js >index 5ad3566fd0d361025a1e5f3365d0bad374d51202..77e0ec77ca7a3b8d683da17263b2c1688bd5a101 100644 >--- a/JSTests/stress/for-in-delete-during-iteration.js >+++ b/JSTests/stress/for-in-delete-during-iteration.js >@@ -11,7 +11,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "1235") > throw new Error("bad result"); > } >@@ -35,7 +35,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "xz") > throw new Error("bad result"); > } >@@ -61,7 +61,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "o.zo.yo.x") > throw new Error("bad result"); > } >diff --git a/JSTests/stress/for-in-invalidate-context-weird-assignments.js b/JSTests/stress/for-in-invalidate-context-weird-assignments.js >index d111a752035f6ad3028a6f49a89e379c69e3e29c..8e220f35dbb91fd9193e5df97997316da0c481cd 100644 >--- a/JSTests/stress/for-in-invalidate-context-weird-assignments.js >+++ b/JSTests/stress/for-in-invalidate-context-weird-assignments.js >@@ -5,7 +5,7 @@ function assert(b) { > > function test(f) { > noInline(f); >- for (let i = 0; i < 1000; ++i) >+ for (let i = 0; i < $vm.testingLoopCount; ++i) > f(); > } > >diff --git a/JSTests/stress/for-in-invalidation-for-any-write.js b/JSTests/stress/for-in-invalidation-for-any-write.js >index 7cbbbf2b2c6e3a2b236a10f68fbff70da4ce9d8a..f55d57ff1254101f66274c809fa2eb31b630fb00 100644 >--- a/JSTests/stress/for-in-invalidation-for-any-write.js >+++ b/JSTests/stress/for-in-invalidation-for-any-write.js >@@ -6,7 +6,7 @@ noInline(assert); > > function test(f) { > noInline(f); >- for (let i = 0; i < 1000; ++i) >+ for (let i = 0; i < $vm.testingLoopCount; ++i) > f(); > } > >diff --git a/JSTests/stress/for-in-modify-int-loop-var.js b/JSTests/stress/for-in-modify-int-loop-var.js >index 82397bc2646a8f19a03124baca2cd9b66b08dbec..b40199112adeb07c5b254664820e680b36c04bcd 100644 >--- a/JSTests/stress/for-in-modify-int-loop-var.js >+++ b/JSTests/stress/for-in-modify-int-loop-var.js >@@ -10,7 +10,7 @@ > return sum; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (typeof result !== "string") > throw new Error("result should have type string"); >diff --git a/JSTests/stress/for-in-modify-string-loop-var.js b/JSTests/stress/for-in-modify-string-loop-var.js >index 071a0860f8112eaf64a364563f52cae28c080105..82f31e305dce4c36cbee95be7b2990e840a162a5 100644 >--- a/JSTests/stress/for-in-modify-string-loop-var.js >+++ b/JSTests/stress/for-in-modify-string-loop-var.js >@@ -11,7 +11,7 @@ > return sum; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() != 42 * 4) > throw new Error("bad result"); > } >diff --git a/JSTests/stress/for-in-prototype.js b/JSTests/stress/for-in-prototype.js >index d12a1bdd505c0e8349422db84c7ae0151174a089..22fca9cca22ac5bceb38835ca29e5e289be7a6a1 100644 >--- a/JSTests/stress/for-in-prototype.js >+++ b/JSTests/stress/for-in-prototype.js >@@ -10,7 +10,7 @@ > result += o[p]; > return result; > }; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "43") > throw new Error("bad result"); > } >@@ -29,7 +29,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "43") > throw new Error("bad result"); > } >@@ -49,7 +49,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "433") > throw new Error("bad result"); > } >diff --git a/JSTests/stress/for-in-proxy-target-changed-structure.js b/JSTests/stress/for-in-proxy-target-changed-structure.js >index 332755334a4a6e2999ab3f04cab1119ccca3b7dc..ef5fd638303e4328198929f0e56aaf12f452dabb 100644 >--- a/JSTests/stress/for-in-proxy-target-changed-structure.js >+++ b/JSTests/stress/for-in-proxy-target-changed-structure.js >@@ -27,7 +27,7 @@ function foo(o_) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(createProxy(theO = {a:1, b:2, c:3, d:4})); > if (result != 1 + 12 + 13 + 14) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/for-in-proxy.js b/JSTests/stress/for-in-proxy.js >index 81b5e27760887ab057eb587970786a66da295831..c38be0b1fd1dd7ac6ba13ea24d10367c771391b8 100644 >--- a/JSTests/stress/for-in-proxy.js >+++ b/JSTests/stress/for-in-proxy.js >@@ -11,7 +11,7 @@ function foo(o_) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(createProxy({a:1, b:2, c:3, d:4})); > if (result != 1 + 2 + 3 + 4) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/for-in-shadow-prototype-property.js b/JSTests/stress/for-in-shadow-prototype-property.js >index 855ab085cce48e0b43b3897e30b67529d8321930..d2b1b32d07d88bfef95c68c1be141cd1a25265ea 100644 >--- a/JSTests/stress/for-in-shadow-prototype-property.js >+++ b/JSTests/stress/for-in-shadow-prototype-property.js >@@ -14,7 +14,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "A.xo.y") > throw new Error("bad result"); > } >diff --git a/JSTests/stress/for-in-string.js b/JSTests/stress/for-in-string.js >index 44640e6c7fa894ca1a1675e859e804f400b6f0f2..d64f7164d13b73bacc1d77de10f630b280ffc0dc 100644 >--- a/JSTests/stress/for-in-string.js >+++ b/JSTests/stress/for-in-string.js >@@ -8,7 +8,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo("hello") !== "hello") > throw new Error("incorrect result"); > } >diff --git a/JSTests/stress/for-in-tests.js b/JSTests/stress/for-in-tests.js >index a685489a2d2a9d973dc6ba1cb928eae74b1bb82b..16c546fc95a3e354aa116eb23333b9b8601957da 100644 >--- a/JSTests/stress/for-in-tests.js >+++ b/JSTests/stress/for-in-tests.js >@@ -9,7 +9,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "12345") > throw new Error("bad result"); > } >@@ -28,7 +28,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "123") > throw new Error("bad result"); > } >@@ -50,7 +50,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() != "456123") > throw new Error("bad result"); > } >@@ -69,7 +69,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "456123") > throw new Error("bad result"); > } >@@ -86,7 +86,7 @@ > } > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o1 = {}; > var o2 = {}; > o2.x = 42; >@@ -105,26 +105,26 @@ > return p; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var expected = 'expected-result'; > var result = foo({}, expected); > if (expected !== result) > throw new Error("bad result: " + result + "!==" + expected); > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var expected = 'a'; > var result = foo({a:'abcd'}, expected); > if (expected !== result) > throw new Error("bad result: " + result + "!==" + expected); > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var expected = 'b'; > var result = foo({a:'abcd', b: 'bcde'}, expected); > if (expected !== result) > throw new Error("bad result: " + result + "!==" + expected); > } > >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var expected = 'c'; > var o = {a:'abcd', b: 'bcde'}; > o.c = 'cdef'; >@@ -141,7 +141,7 @@ > return p; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var expected = 'expected-result'; > var result = foo({}); > if (expected !== result) >@@ -160,13 +160,13 @@ > return p; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var expected = 'expected-result'; > var result = foo({}, expected, true); > if (expected !== result) > throw new Error("bad result: " + result + "!==" + expected); > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var expected = 'expected-result'; > var result = foo({}, expected, false); > if (typeof result !== 'undefined') >@@ -180,7 +180,7 @@ > return p; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var expected = 'expected-result'; > var result = foo({}, 'expected', '-result'); > if (expected !== result) >diff --git a/JSTests/stress/for-in-typed-array.js b/JSTests/stress/for-in-typed-array.js >index 08f8828b961f4cc54e1f1dc8a314d3fe5b3585ad..8686e88eb02e4db8a85ae00977fd985d5f6284ba 100644 >--- a/JSTests/stress/for-in-typed-array.js >+++ b/JSTests/stress/for-in-typed-array.js >@@ -10,7 +10,7 @@ > return result; > }; > noInline(foo); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== "01234") > throw new Error("bad result"); > } >diff --git a/JSTests/stress/force-exit-then-eval-dfg.js b/JSTests/stress/force-exit-then-eval-dfg.js >index 5798086cc3612a7981c82d07a68f35458755d840..45d20936f39d89ee4e8f8caafd57dd7ddb9ad215 100644 >--- a/JSTests/stress/force-exit-then-eval-dfg.js >+++ b/JSTests/stress/force-exit-then-eval-dfg.js >@@ -6,7 +6,7 @@ function foo(a, b, string) > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 2, "a + b + 1"); > if (result != 1 + 2 + 1) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/force-exit-then-eval.js b/JSTests/stress/force-exit-then-eval.js >index b3fd93d37875c05d4ac0e838697ff1d0540485b8..a6f60456b1d5bee6d0f23cb4c9b61536680b9ae1 100644 >--- a/JSTests/stress/force-exit-then-eval.js >+++ b/JSTests/stress/force-exit-then-eval.js >@@ -11,7 +11,7 @@ function foo(a, b, string) > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 2, "x + 1"); > if (result != 42) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/forward-varargs-double-new-array-buffer.js b/JSTests/stress/forward-varargs-double-new-array-buffer.js >index 48fd783f9fa0b76e851831f881f933b48e5c3044..8ee44681873a79a054ae95c14abe17ada43cd4b1 100644 >--- a/JSTests/stress/forward-varargs-double-new-array-buffer.js >+++ b/JSTests/stress/forward-varargs-double-new-array-buffer.js >@@ -18,7 +18,7 @@ function test() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 5); > let [a, b, c, d, e] = r; >diff --git a/JSTests/stress/forward-varargs-for-inlined-escaped-arguments.js b/JSTests/stress/forward-varargs-for-inlined-escaped-arguments.js >index 6d2aed01febdeab4c99b35079af8f646533c6c19..39e76204c07dcacdea2647a86e066d1322e54512 100644 >--- a/JSTests/stress/forward-varargs-for-inlined-escaped-arguments.js >+++ b/JSTests/stress/forward-varargs-for-inlined-escaped-arguments.js >@@ -13,7 +13,7 @@ function bar(a, b, c) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(1, 2, 3); > if (result != 47) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ftl-arithcos.js b/JSTests/stress/ftl-arithcos.js >index 3c3ced74572adde6badd7c8b3a5bc4d82a6b7037..8a84145906cd5343826e26dbf28e24ae5c9f3b42 100644 >--- a/JSTests/stress/ftl-arithcos.js >+++ b/JSTests/stress/ftl-arithcos.js >@@ -7,7 +7,7 @@ function foo(x) { > noInline(foo); > > var j = 0; >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > j = foo(i); > > if (-0.5098753724179009 != j){ >diff --git a/JSTests/stress/ftl-arithsin.js b/JSTests/stress/ftl-arithsin.js >index b559f4d490519d27719d5b4393018a94845a9526..a90c2047a51fb77283446e88c3367649f4f2c014 100644 >--- a/JSTests/stress/ftl-arithsin.js >+++ b/JSTests/stress/ftl-arithsin.js >@@ -5,7 +5,7 @@ function foo(x) { > noInline(foo); > > var j = 0; >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > j = foo(i); > > if (0.860248280789742 != j){ >diff --git a/JSTests/stress/ftl-arithsqrt.js b/JSTests/stress/ftl-arithsqrt.js >index dbe01ce4b70e2405800547fee6b01d7162727cc2..4c86e9fd0a0eaeb08e23398cdbe3f6b802e1e8cc 100644 >--- a/JSTests/stress/ftl-arithsqrt.js >+++ b/JSTests/stress/ftl-arithsqrt.js >@@ -5,7 +5,7 @@ function foo(x) { > noInline(foo); > > var j = 0; >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > j = foo(i); > > if ( 316.226184874055 != j){ >diff --git a/JSTests/stress/ftl-arithtan.js b/JSTests/stress/ftl-arithtan.js >index b936c6eccd4890641888aaa657658f1d56ce590e..680504a60ad518beee6f1c0a62031c145f642e86 100644 >--- a/JSTests/stress/ftl-arithtan.js >+++ b/JSTests/stress/ftl-arithtan.js >@@ -6,7 +6,7 @@ noInline(foo); > > var expected = foo(100000 - 1); > var j = 0; >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > j = foo(i); > > if (expected != j){ >diff --git a/JSTests/stress/ftl-bit-xor-right-result-interference.js b/JSTests/stress/ftl-bit-xor-right-result-interference.js >index 467bc11cae593de96c9359bddfbab3dd7c1476bc..ce44d626c0052268385d3c968357477b33262912 100644 >--- a/JSTests/stress/ftl-bit-xor-right-result-interference.js >+++ b/JSTests/stress/ftl-bit-xor-right-result-interference.js >@@ -24,7 +24,7 @@ function foo() > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 45) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ftl-call-bad-callee-exception-interesting-live-state.js b/JSTests/stress/ftl-call-bad-callee-exception-interesting-live-state.js >index 48ed5dc9cbe7caef626106a0f80a85efe616b3d8..4ef50694b79359c8825e1c6a3956bac2550e81f4 100644 >--- a/JSTests/stress/ftl-call-bad-callee-exception-interesting-live-state.js >+++ b/JSTests/stress/ftl-call-bad-callee-exception-interesting-live-state.js >@@ -24,7 +24,7 @@ function bar() { > noInline(bar); > > // Warm up foo(). >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar, {g:200}); > if (result.outcome !== "return") > throw "Error in loop: bad outcome: " + result.outcome; >diff --git a/JSTests/stress/ftl-call-exception-interesting-live-state.js b/JSTests/stress/ftl-call-exception-interesting-live-state.js >index 61a8a6e5958a488ab9208f3f80b9eecac199426b..c04e584cb05bef5370d1a0fd44eff589e025bef8 100644 >--- a/JSTests/stress/ftl-call-exception-interesting-live-state.js >+++ b/JSTests/stress/ftl-call-exception-interesting-live-state.js >@@ -24,7 +24,7 @@ function bar() { > noInline(bar); > > // Warm up foo(). >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar, {g:200}); > if (result.outcome !== "return") > throw "Error in loop: bad outcome: " + result.outcome; >diff --git a/JSTests/stress/ftl-call-exception-no-catch.js b/JSTests/stress/ftl-call-exception-no-catch.js >index 1b795fbd3df6e92bf02c211da9ea4298fb45ec4d..7a36be144ce92a8025d927819895655ec0a67fd8 100644 >--- a/JSTests/stress/ftl-call-exception-no-catch.js >+++ b/JSTests/stress/ftl-call-exception-no-catch.js >@@ -19,7 +19,7 @@ function bar() { > noInline(bar); > > // Warm up foo(). >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar); > if (result.outcome !== "return") > throw "Error in loop: bad outcome: " + result.outcome; >diff --git a/JSTests/stress/ftl-call-exception.js b/JSTests/stress/ftl-call-exception.js >index 6893aa7fe30a237208ae42b6b5441fc31ab12777..f787fded600e893ab5d937ad1e884da42e5e924f 100644 >--- a/JSTests/stress/ftl-call-exception.js >+++ b/JSTests/stress/ftl-call-exception.js >@@ -23,7 +23,7 @@ function bar(a, b, c) { > noInline(bar); > > // Warm up foo(). >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar, null, [105, 1, 1]); > if (result.outcome !== "return") > throw "Error in loop: bad outcome: " + result.outcome; >diff --git a/JSTests/stress/ftl-call-varargs-bad-args-exception-interesting-live-state.js b/JSTests/stress/ftl-call-varargs-bad-args-exception-interesting-live-state.js >index 7b6d41e5b489edd69034fda6c6008a0e349ae988..5abec0f9539d31a8a6bed7ad501a926f6b203894 100644 >--- a/JSTests/stress/ftl-call-varargs-bad-args-exception-interesting-live-state.js >+++ b/JSTests/stress/ftl-call-varargs-bad-args-exception-interesting-live-state.js >@@ -27,7 +27,7 @@ function bar(a, b, c) { > noInline(bar); > > // Warm up foo(). >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar, {g:200}, [105, 1, 1]); > if (result.outcome !== "return") > throw "Error in loop: bad outcome: " + result.outcome; >diff --git a/JSTests/stress/ftl-call-varargs-bad-callee-exception-interesting-live-state.js b/JSTests/stress/ftl-call-varargs-bad-callee-exception-interesting-live-state.js >index f60ac24af19ef216c97febd917828b7b98cd5779..7ddc4307c03884f16bc605784b823d8ce23a72dc 100644 >--- a/JSTests/stress/ftl-call-varargs-bad-callee-exception-interesting-live-state.js >+++ b/JSTests/stress/ftl-call-varargs-bad-callee-exception-interesting-live-state.js >@@ -24,7 +24,7 @@ function bar(a, b, c) { > noInline(bar); > > // Warm up foo(). >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar, {g:200}, [105, 1, 1]); > if (result.outcome !== "return") > throw "Error in loop: bad outcome: " + result.outcome; >diff --git a/JSTests/stress/ftl-call-varargs-exception-interesting-live-state.js b/JSTests/stress/ftl-call-varargs-exception-interesting-live-state.js >index 35770c4be0286fc12262fcf137815e7ccc7d5dad..f50dfd34b54fbd45f7d5e7f8520e1589ceb510b1 100644 >--- a/JSTests/stress/ftl-call-varargs-exception-interesting-live-state.js >+++ b/JSTests/stress/ftl-call-varargs-exception-interesting-live-state.js >@@ -24,7 +24,7 @@ function bar(a, b, c) { > noInline(bar); > > // Warm up foo(). >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar, {g:200}, [105, 1, 1]); > if (result.outcome !== "return") > throw "Error in loop: bad outcome: " + result.outcome; >diff --git a/JSTests/stress/ftl-call-varargs-exception-no-catch.js b/JSTests/stress/ftl-call-varargs-exception-no-catch.js >index 6cac2c9a23bc9a21ee14e1a144c5aff4237d52a6..e0e1cd13944b8b8dd05323d2dcf72d38651d898d 100644 >--- a/JSTests/stress/ftl-call-varargs-exception-no-catch.js >+++ b/JSTests/stress/ftl-call-varargs-exception-no-catch.js >@@ -19,7 +19,7 @@ function bar(a, b, c) { > noInline(bar); > > // Warm up foo(). >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar, null, [105, 1, 1]); > if (result.outcome !== "return") > throw "Error in loop: bad outcome: " + result.outcome; >diff --git a/JSTests/stress/ftl-call-varargs-exception.js b/JSTests/stress/ftl-call-varargs-exception.js >index 76973eb99254c1bf490b5568c24f4ecec92da31f..a6f7ca649e9e5202fd90988b8309ec6b44843e7d 100644 >--- a/JSTests/stress/ftl-call-varargs-exception.js >+++ b/JSTests/stress/ftl-call-varargs-exception.js >@@ -23,7 +23,7 @@ function bar() { > noInline(bar); > > // Warm up foo(). >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar); > if (result.outcome !== "return") > throw "Error in loop: bad outcome: " + result.outcome; >diff --git a/JSTests/stress/ftl-checkin-variable.js b/JSTests/stress/ftl-checkin-variable.js >index 275f6b42c4c320a6cca32e9766e3fe699ac5fbfb..75200f109115f98c0ea25bf97184963d9832447b 100644 >--- a/JSTests/stress/ftl-checkin-variable.js >+++ b/JSTests/stress/ftl-checkin-variable.js >@@ -6,7 +6,7 @@ function foo(l,x){ > noInline(foo); > > var r; >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var z = { 'y' : i, 's' : i + 1 }; > z.s = 10; > r = foo("s",z); >diff --git a/JSTests/stress/ftl-checkin.js b/JSTests/stress/ftl-checkin.js >index 8cbde8b1b2986d211b260b0c3c9d13993eb39ff8..32ba5a8f590e44c853363116f70d71ef2454c550 100644 >--- a/JSTests/stress/ftl-checkin.js >+++ b/JSTests/stress/ftl-checkin.js >@@ -6,7 +6,7 @@ function foo(x){ > noInline(foo); > > var r; >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var z = { 'y' : i, 's' : i + 1 }; > z.s = 10; > r = foo(z); >diff --git a/JSTests/stress/ftl-force-osr-exit.js b/JSTests/stress/ftl-force-osr-exit.js >index 6fcfe53b43dcb8e112050d2ffdc4a2ba88776a3a..65677d5b1952cd02b03320513d32b891e9e0655e 100644 >--- a/JSTests/stress/ftl-force-osr-exit.js >+++ b/JSTests/stress/ftl-force-osr-exit.js >@@ -9,7 +9,7 @@ noInline(foo); > > var o = {q: {f: 41, g: 42}}; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(false, o); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ftl-function-dot-arguments-with-callee-saves.js b/JSTests/stress/ftl-function-dot-arguments-with-callee-saves.js >index 89b1d69adadb829433de279d17a9c0b1da744074..0cf3957aa4cd7218420a8f6162ae8bb89a081423 100644 >--- a/JSTests/stress/ftl-function-dot-arguments-with-callee-saves.js >+++ b/JSTests/stress/ftl-function-dot-arguments-with-callee-saves.js >@@ -15,7 +15,7 @@ function bar(o, i) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var a = bar({f:42}); > if (a.length != 2 || a[0].length != 3 || a[0][0] != 1 || a[0][1] != 2 || a[0][2] != 3 || a[1] != 42) > throw "Error: bad result: " + a; >diff --git a/JSTests/stress/ftl-get-by-id-getter-exception-interesting-live-state.js b/JSTests/stress/ftl-get-by-id-getter-exception-interesting-live-state.js >index a7320ab1bd01badb20f4b4a338d34f0201efde9c..1b7187c0d09b4ec97e6519037d58f3e5055fe9b9 100644 >--- a/JSTests/stress/ftl-get-by-id-getter-exception-interesting-live-state.js >+++ b/JSTests/stress/ftl-get-by-id-getter-exception-interesting-live-state.js >@@ -18,7 +18,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and getters. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineGetter__("f", function() { > return 107; >diff --git a/JSTests/stress/ftl-get-by-id-getter-exception-no-catch.js b/JSTests/stress/ftl-get-by-id-getter-exception-no-catch.js >index 85f357a26b0fa785a88484507711ec6c0de13aa5..73503d3204cf69930dc308850167aa9e2413372d 100644 >--- a/JSTests/stress/ftl-get-by-id-getter-exception-no-catch.js >+++ b/JSTests/stress/ftl-get-by-id-getter-exception-no-catch.js >@@ -13,7 +13,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and getters. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineGetter__("f", function() { > return 107; >diff --git a/JSTests/stress/ftl-get-by-id-getter-exception.js b/JSTests/stress/ftl-get-by-id-getter-exception.js >index 38e732d9167662aa6ecb7d323cf9064dbd2385c5..cd46c14c9a0145e8ad1015fc1e000fa2294fff38 100644 >--- a/JSTests/stress/ftl-get-by-id-getter-exception.js >+++ b/JSTests/stress/ftl-get-by-id-getter-exception.js >@@ -17,7 +17,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and getters. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineGetter__("f", function() { > return 107; >diff --git a/JSTests/stress/ftl-get-by-id-slow-exception-interesting-live-state.js b/JSTests/stress/ftl-get-by-id-slow-exception-interesting-live-state.js >index c8c14bc5368d72c4f4ce20e2b2e8e18366b42ec3..b82fa97441c245c96ae82d130c03f5cc7518a048 100644 >--- a/JSTests/stress/ftl-get-by-id-slow-exception-interesting-live-state.js >+++ b/JSTests/stress/ftl-get-by-id-slow-exception-interesting-live-state.js >@@ -18,7 +18,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o; > o = {f:107}; > o["i" + i] = i; // Make it polymorphic. >diff --git a/JSTests/stress/ftl-get-by-id-slow-exception-no-catch.js b/JSTests/stress/ftl-get-by-id-slow-exception-no-catch.js >index d19ab2e183c68afd7cb337cf1371ad170d574f40..c3fbc88860e27bf1bd3b4742bf8285312b5a73a8 100644 >--- a/JSTests/stress/ftl-get-by-id-slow-exception-no-catch.js >+++ b/JSTests/stress/ftl-get-by-id-slow-exception-no-catch.js >@@ -13,7 +13,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o; > o = {f:107}; > o["i" + i] = i; // Make it polymorphic. >diff --git a/JSTests/stress/ftl-get-by-id-slow-exception.js b/JSTests/stress/ftl-get-by-id-slow-exception.js >index 8dbfe6df63e1e4304ca6f1844e054c8adfee6f53..d3bb2129e3efb3aa85ad3c4c05aa7e9e44e1e7dc 100644 >--- a/JSTests/stress/ftl-get-by-id-slow-exception.js >+++ b/JSTests/stress/ftl-get-by-id-slow-exception.js >@@ -17,7 +17,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o; > o = {f:107}; > o["i" + i] = i; // Make it polymorphic. >diff --git a/JSTests/stress/ftl-get-my-argument-by-val-inlined-and-not-inlined.js b/JSTests/stress/ftl-get-my-argument-by-val-inlined-and-not-inlined.js >index 1d4eeaf2850e249f93dcd831d4a836b2c05aa6f4..2dcab4a75df7daff89971def4643f2986b7da8f6 100644 >--- a/JSTests/stress/ftl-get-my-argument-by-val-inlined-and-not-inlined.js >+++ b/JSTests/stress/ftl-get-my-argument-by-val-inlined-and-not-inlined.js >@@ -18,7 +18,7 @@ function arraycmp(a, b) { > return true; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var thingies = [i % 4, "one", 2, "three"]; > var otherThingies = [i % 4, "five", 6, "seven"]; > var result = bar(i % 4, "five", 6, "seven"); >diff --git a/JSTests/stress/ftl-get-my-argument-by-val-inlined.js b/JSTests/stress/ftl-get-my-argument-by-val-inlined.js >index 99c82da79ded127dbcd562a9d2c2d8ff5bad2b01..ed78699b2e597f855ae5ae7fba0e2517d847d646 100644 >--- a/JSTests/stress/ftl-get-my-argument-by-val-inlined.js >+++ b/JSTests/stress/ftl-get-my-argument-by-val-inlined.js >@@ -8,7 +8,7 @@ function bar(i) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var thingies = [i % 4, "one", 2, "three"]; > var result = bar(i % 4, "five", 6, "seven"); > if (result != thingies[i % 4]) >diff --git a/JSTests/stress/ftl-get-my-argument-by-val.js b/JSTests/stress/ftl-get-my-argument-by-val.js >index a17825394e6582ba5bd26b16f97dc63e72cf5b86..d2be728acd2b51a5fa86684da90437eef9f279e0 100644 >--- a/JSTests/stress/ftl-get-my-argument-by-val.js >+++ b/JSTests/stress/ftl-get-my-argument-by-val.js >@@ -4,7 +4,7 @@ function foo(i) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var thingies = [i % 4, "one", 2, "three"]; > var result = foo(i % 4, "one", 2, "three"); > if (result != thingies[i % 4]) >diff --git a/JSTests/stress/ftl-getmyargumentslength-inline.js b/JSTests/stress/ftl-getmyargumentslength-inline.js >index 51806340ce5171c834e7880824709c77c55339fb..bd29e49e1a5a0c4361a54ac62cfa4027e7710eae 100644 >--- a/JSTests/stress/ftl-getmyargumentslength-inline.js >+++ b/JSTests/stress/ftl-getmyargumentslength-inline.js >@@ -2,7 +2,7 @@ function foo(){ > return arguments.length; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var r = foo(11, 12, 13, 18, 19, 20); > if (r != 6) throw "Error: "+r; > } >diff --git a/JSTests/stress/ftl-getmyargumentslength.js b/JSTests/stress/ftl-getmyargumentslength.js >index 8f05ed2bdf3ea2dc61c8203712f12fa007561862..ff47ed46e42b431a165927dc85a7bdb3fc1e2ec0 100644 >--- a/JSTests/stress/ftl-getmyargumentslength.js >+++ b/JSTests/stress/ftl-getmyargumentslength.js >@@ -4,7 +4,7 @@ function foo(){ > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var r = foo(11, 12, 13, 18, 19, 20); > if (r != 6) throw "Error: "+r; > } >diff --git a/JSTests/stress/ftl-gettypedarrayoffset-simple.js b/JSTests/stress/ftl-gettypedarrayoffset-simple.js >index 7529fc647ec322dba5555f09ae842792060d4d0a..23a174fb80ed4f21a0eed977555f200bf214355c 100644 >--- a/JSTests/stress/ftl-gettypedarrayoffset-simple.js >+++ b/JSTests/stress/ftl-gettypedarrayoffset-simple.js >@@ -4,7 +4,7 @@ function foo(x){ > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var b = new Uint8Array(42, 0); > if (foo(b) != 0) > throw "error" >diff --git a/JSTests/stress/ftl-gettypedarrayoffset-wasteful.js b/JSTests/stress/ftl-gettypedarrayoffset-wasteful.js >index 0694e4ccc231965bfbeecac6aac9049be5b0c79e..95cd012ff6f67ddc089d20af6450af4e4b476a79 100644 >--- a/JSTests/stress/ftl-gettypedarrayoffset-wasteful.js >+++ b/JSTests/stress/ftl-gettypedarrayoffset-wasteful.js >@@ -4,7 +4,7 @@ function foo(x){ > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var b = new Uint8Array(new ArrayBuffer(42), 0); > if (foo(b) != 0) > throw "error" >diff --git a/JSTests/stress/ftl-has-a-bad-time.js b/JSTests/stress/ftl-has-a-bad-time.js >index 698b7e01f94469c1f5b2bdf020090dc542ff0c44..9492d67dbccf96f63cf7000c92a110175a2ce701 100644 >--- a/JSTests/stress/ftl-has-a-bad-time.js >+++ b/JSTests/stress/ftl-has-a-bad-time.js >@@ -5,7 +5,7 @@ function foo(p) { > noInline(foo); > > // Make sure we think that foo() allocates int arrays. >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(true); > > // Now have a bad time. >@@ -13,6 +13,6 @@ var array = new Array(); > Array.prototype.__defineSetter__("0", function() { }); > > // Finally, get foo() to compile in the FTL. But don't allocate anymore arrays. >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(false); > >diff --git a/JSTests/stress/ftl-in-overflow.js b/JSTests/stress/ftl-in-overflow.js >index 84ecd0385fb09dae87c66223d2ac0c516a9266ec..0802faec0af6be93dcb41e78bea49600be776546 100644 >--- a/JSTests/stress/ftl-in-overflow.js >+++ b/JSTests/stress/ftl-in-overflow.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o["i" + i] = 42; > o.foo = 43; >diff --git a/JSTests/stress/ftl-library-inlining-exceptions-dataview.js b/JSTests/stress/ftl-library-inlining-exceptions-dataview.js >index f41b9ce24167cda536004dfec5ab13fbefcd3ca4..ad8cfb9af0a8c6d83609e35e3e8cc311ce1f7153 100644 >--- a/JSTests/stress/ftl-library-inlining-exceptions-dataview.js >+++ b/JSTests/stress/ftl-library-inlining-exceptions-dataview.js >@@ -6,7 +6,7 @@ noInline(foo); > > var d = new DataView(new ArrayBuffer(43)); > d.setInt8(42, 43); >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(d); > if (result != 43) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ftl-library-inlining-random.js b/JSTests/stress/ftl-library-inlining-random.js >index 4b678037029b67294903eab99b62f7f12e1cc14e..2ce12c2aefaca758a6cc465bb734c18b2746e338 100644 >--- a/JSTests/stress/ftl-library-inlining-random.js >+++ b/JSTests/stress/ftl-library-inlining-random.js >@@ -6,6 +6,6 @@ noInline(foo); > > var x = 0; > >-for (var i = 0 ; i < 100000; i++){ >+for (var i = 0 ; i < $vm.testingLoopCount; i++){ > x = foo(i); > } >diff --git a/JSTests/stress/ftl-library-substring.js b/JSTests/stress/ftl-library-substring.js >index 2bc0532e1d47c2940cae438e443c41397308e76e..00b92dff958f918010e9c79c1e3d6ed5a4b2e217 100644 >--- a/JSTests/stress/ftl-library-substring.js >+++ b/JSTests/stress/ftl-library-substring.js >@@ -6,7 +6,7 @@ noInline(foo); > > var x = ""; > >-for (var i = 0 ; i < 100000; i++){ >+for (var i = 0 ; i < $vm.testingLoopCount; i++){ > x = foo(i, "lkajsx"); > } > >diff --git a/JSTests/stress/ftl-negate-zero.js b/JSTests/stress/ftl-negate-zero.js >index 516d851efa981940a3b92055cae31aa94555d314..d7c990be3e9feda30e98aeb0712fdd9b0fcd60f7 100644 >--- a/JSTests/stress/ftl-negate-zero.js >+++ b/JSTests/stress/ftl-negate-zero.js >@@ -4,7 +4,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(0); > if (1 / result != "-Infinity") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ftl-new-negative-array-size.js b/JSTests/stress/ftl-new-negative-array-size.js >index 16fdc9366b4c9fa23218506db86edb9c9f21e421..8648f57f37bb0c2d67c5d5d35250bfcd4caf38a2 100644 >--- a/JSTests/stress/ftl-new-negative-array-size.js >+++ b/JSTests/stress/ftl-new-negative-array-size.js >@@ -8,7 +8,7 @@ function foo(arg) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1); > if (result.length != 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ftl-operation-exception-interesting-live-state.js b/JSTests/stress/ftl-operation-exception-interesting-live-state.js >index 6f4ef2caf443e2aa0a4358e2d14c094d004e823e..9c84a7f2612ad430ebef0b51cb53c5ea09e3d9ac 100644 >--- a/JSTests/stress/ftl-operation-exception-interesting-live-state.js >+++ b/JSTests/stress/ftl-operation-exception-interesting-live-state.js >@@ -18,7 +18,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and non-object types. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o; > var isObject = i & 1; > if (isObject) { >diff --git a/JSTests/stress/ftl-operation-exception-no-catch.js b/JSTests/stress/ftl-operation-exception-no-catch.js >index 50ec2e4140a3e88e7676ceff90995b03133174ed..66749023029d545b29a2f5e725ba8a1eca45a29c 100644 >--- a/JSTests/stress/ftl-operation-exception-no-catch.js >+++ b/JSTests/stress/ftl-operation-exception-no-catch.js >@@ -13,7 +13,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and non-object types. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o; > var isObject = i & 1; > if (isObject) { >diff --git a/JSTests/stress/ftl-operation-exception.js b/JSTests/stress/ftl-operation-exception.js >index a63c33c722424b90b6ac61cb52b79f4d3a3f215e..71b482b5eeb31fcba02597af76403b6e6511d3ef 100644 >--- a/JSTests/stress/ftl-operation-exception.js >+++ b/JSTests/stress/ftl-operation-exception.js >@@ -17,7 +17,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and non-object types. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o; > var isObject = i & 1; > if (isObject) { >diff --git a/JSTests/stress/ftl-put-by-id-setter-exception-interesting-live-state.js b/JSTests/stress/ftl-put-by-id-setter-exception-interesting-live-state.js >index 444fc6f40872535e1af54a5b0a7f18c1810abf37..0a30e7107f86800b6019094861281d389885cb06 100644 >--- a/JSTests/stress/ftl-put-by-id-setter-exception-interesting-live-state.js >+++ b/JSTests/stress/ftl-put-by-id-setter-exception-interesting-live-state.js >@@ -18,7 +18,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and getters. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineSetter__("f", function(value) { > this._f = value; >diff --git a/JSTests/stress/ftl-put-by-id-setter-exception-no-catch.js b/JSTests/stress/ftl-put-by-id-setter-exception-no-catch.js >index 278dcc9b72ba97c50ed39695a51efed5c8170dec..d6ea1a8b63ff386eb4ddba3f303e7f010148ef59 100644 >--- a/JSTests/stress/ftl-put-by-id-setter-exception-no-catch.js >+++ b/JSTests/stress/ftl-put-by-id-setter-exception-no-catch.js >@@ -13,7 +13,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and getters. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineSetter__("f", function(value) { > this._f = value; >diff --git a/JSTests/stress/ftl-put-by-id-setter-exception.js b/JSTests/stress/ftl-put-by-id-setter-exception.js >index ea1fa8b5b0532baa902c419992746d07de39c45c..d722f0c2218cffae2862cfde477f6d9799f8e519 100644 >--- a/JSTests/stress/ftl-put-by-id-setter-exception.js >+++ b/JSTests/stress/ftl-put-by-id-setter-exception.js >@@ -17,7 +17,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and getters. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineSetter__("f", function(value) { > this._f = value; >diff --git a/JSTests/stress/ftl-put-by-id-slow-exception-interesting-live-state.js b/JSTests/stress/ftl-put-by-id-slow-exception-interesting-live-state.js >index 6f59ed6c36e8cefb61096613d1e3c44be75aa805..4dc92d00730bce09a277f3725753c338a501d39b 100644 >--- a/JSTests/stress/ftl-put-by-id-slow-exception-interesting-live-state.js >+++ b/JSTests/stress/ftl-put-by-id-slow-exception-interesting-live-state.js >@@ -18,7 +18,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and getters. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > if (i & 1) > o["i" + i] = i; // Make it polymorphic. >diff --git a/JSTests/stress/ftl-put-by-id-slow-exception-no-catch.js b/JSTests/stress/ftl-put-by-id-slow-exception-no-catch.js >index ed8d492e96874ab8229db9314e994685aacfc3ad..aa637e20713bc9a80cd7135e3e1eca5ab421eedb 100644 >--- a/JSTests/stress/ftl-put-by-id-slow-exception-no-catch.js >+++ b/JSTests/stress/ftl-put-by-id-slow-exception-no-catch.js >@@ -14,7 +14,7 @@ function foo(o, p) { > noInline(foo); > > // Warm up foo() with polymorphic objects and getters. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > if (i & 1) > o["i" + i] = i; // Make it polymorphic. >diff --git a/JSTests/stress/ftl-put-by-id-slow-exception.js b/JSTests/stress/ftl-put-by-id-slow-exception.js >index 3e1bb88a014032396aa126179942e2a007c4c5ae..43c3da10e0bcefa915bbaf24d3f8a87ee5745fcf 100644 >--- a/JSTests/stress/ftl-put-by-id-slow-exception.js >+++ b/JSTests/stress/ftl-put-by-id-slow-exception.js >@@ -17,7 +17,7 @@ > noInline(foo); > > // Warm up foo() with polymorphic objects and getters. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > if (i & 1) > o["i" + i] = i; // Make it polymorphic. >diff --git a/JSTests/stress/ftl-putbyid.js b/JSTests/stress/ftl-putbyid.js >index 9dfd9e4be69f65b95256e0d0361c29644d53956f..7b1d830c7ac620a63132b3e1e2eee41fee51e83d 100644 >--- a/JSTests/stress/ftl-putbyid.js >+++ b/JSTests/stress/ftl-putbyid.js >@@ -8,6 +8,6 @@ function foo(x){ > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(i); > >diff --git a/JSTests/stress/ftl-putbyiddirect.js b/JSTests/stress/ftl-putbyiddirect.js >index b50ad0dcb26d41af7abd9e671f743a93b8dfb3f5..bd81c074863856cedf59bf34b18337b07dd6ae18 100644 >--- a/JSTests/stress/ftl-putbyiddirect.js >+++ b/JSTests/stress/ftl-putbyiddirect.js >@@ -4,7 +4,7 @@ function foo(x){ > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > o = foo(i); > > if (o.a != 99999 || o[0] != 1) >diff --git a/JSTests/stress/ftl-reallocatepropertystorage.js b/JSTests/stress/ftl-reallocatepropertystorage.js >index ddebc8e9a31c1988d7cbcdcddd58e4a5908e75bf..b00b4221506a4e125821d14e9cf4e247b5034561 100644 >--- a/JSTests/stress/ftl-reallocatepropertystorage.js >+++ b/JSTests/stress/ftl-reallocatepropertystorage.js >@@ -15,7 +15,7 @@ function foo(x){ > noInline(foo); > > var c = {}; >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var b = {}; > foo(b); > c = b; >diff --git a/JSTests/stress/ftl-regexp-exec.js b/JSTests/stress/ftl-regexp-exec.js >index 03149a9d719b35e71ffef307652383ba1a5fb30a..9d760892302df95ac6b495dd03af802bac6dc302 100644 >--- a/JSTests/stress/ftl-regexp-exec.js >+++ b/JSTests/stress/ftl-regexp-exec.js >@@ -4,7 +4,7 @@ function foo(s) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo("foo"); > if (!result) > throw "Error: bad result for foo"; >diff --git a/JSTests/stress/ftl-regexp-test.js b/JSTests/stress/ftl-regexp-test.js >index da377a1ad7a4b40e7f51f0baeca7765c97a1da9a..698c2f40eb17dddcf8df1ebf33cb35f950353ef3 100644 >--- a/JSTests/stress/ftl-regexp-test.js >+++ b/JSTests/stress/ftl-regexp-test.js >@@ -4,7 +4,7 @@ function foo(s) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (!foo("foo")) > throw "Error: bad result for foo"; > if (foo("bar")) >diff --git a/JSTests/stress/ftl-shr-exception.js b/JSTests/stress/ftl-shr-exception.js >index 5003d7ffd3d205c7ff463c34b8fc44a20d5045e4..27e0412e5ae07dcb898b806bcd46a5d1e8fc3ca1 100644 >--- a/JSTests/stress/ftl-shr-exception.js >+++ b/JSTests/stress/ftl-shr-exception.js >@@ -8,7 +8,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo((i & 1) ? 32 : "32", 2); > if (result !== 8) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ftl-string-equality.js b/JSTests/stress/ftl-string-equality.js >index 3f803e6dceebd03b6eb6db66c3f6fcc4acd7377f..a496ed788106d7273e40ca9c45cbe46f5e3998eb 100644 >--- a/JSTests/stress/ftl-string-equality.js >+++ b/JSTests/stress/ftl-string-equality.js >@@ -25,7 +25,7 @@ var array2 = [ "a", "b", "c", "d", "e" ]; > for (var i = 0; i < array2.length; ++i) > array2[i] = makeString(array2[i]); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var index = i % array2.length; > var result = foo(array, array2[index]); > var expected = index >= array.length ? null : index >diff --git a/JSTests/stress/ftl-string-ident-equality.js b/JSTests/stress/ftl-string-ident-equality.js >index ccb36d839dea9c7ccb8d7ec43e52cb14ff850e58..b6d16608a80378ed953bcae4b3aff87c895d7bc8 100644 >--- a/JSTests/stress/ftl-string-ident-equality.js >+++ b/JSTests/stress/ftl-string-ident-equality.js >@@ -11,7 +11,7 @@ function foo(array, s) { > noInline(foo); > > var result = 0; >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > result += foo(array, "d"); > > if (result != 100000) >diff --git a/JSTests/stress/ftl-string-strict-equality.js b/JSTests/stress/ftl-string-strict-equality.js >index 043a7607a4f0185358ff910767fea22d8ecd774b..d773db8bde435a95101f777e5746dc11f2696ddb 100644 >--- a/JSTests/stress/ftl-string-strict-equality.js >+++ b/JSTests/stress/ftl-string-strict-equality.js >@@ -25,7 +25,7 @@ var array2 = [ "a", "b", "c", "d", "e" ]; > for (var i = 0; i < array2.length; ++i) > array2[i] = makeString(array2[i]); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var index = i % array2.length; > var result = foo(array, array2[index]); > var expected = index >= array.length ? null : index >diff --git a/JSTests/stress/ftl-sub-exception.js b/JSTests/stress/ftl-sub-exception.js >index 6fb3471d9d14f6443c6ceb69ebb92287aaf384a9..f4de365841b9d6ef23d1c543fb31424c76c23baa 100644 >--- a/JSTests/stress/ftl-sub-exception.js >+++ b/JSTests/stress/ftl-sub-exception.js >@@ -8,7 +8,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo((i & 1) ? 32 : "32", 10); > if (result !== 22) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ftl-switch-string-slow-duplicate-cases.js b/JSTests/stress/ftl-switch-string-slow-duplicate-cases.js >index ec9db4cdf5d94361182325792b699358b595209d..d97c32f4fe844183d34f6b76852c6b2591e9cace 100644 >--- a/JSTests/stress/ftl-switch-string-slow-duplicate-cases.js >+++ b/JSTests/stress/ftl-switch-string-slow-duplicate-cases.js >@@ -21,7 +21,7 @@ function cat(a, b) { > return a + b; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(cat("16-", "bit")); > if (result != 43) > throw "Error: bad result (1): " + result; >diff --git a/JSTests/stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js b/JSTests/stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js >index c2cbaa82daa9a9bb70ddc6d0516463bda7ef79c9..bf7bbb02725413724a4978a28bd76f77438e1dcd 100644 >--- a/JSTests/stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js >+++ b/JSTests/stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js >@@ -8,7 +8,7 @@ function test1() { > } > }; > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > try { base.getParentStaticValue() } catch (e) {} > try { base.getParentStaticValue() } catch (e) {} > } >@@ -23,7 +23,7 @@ function test2() { > } > }; > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > try { base.getParentStaticValue() } catch (e) {} > try { base.getParentStaticValue() } catch (e) {} > } >diff --git a/JSTests/stress/ftl-tail-call.js b/JSTests/stress/ftl-tail-call.js >index c78269e36804cf54a87f1d7224c7698f5fd9db6d..3e24f2c023ecd1b6e67eeeaae1dbf908391095ec 100644 >--- a/JSTests/stress/ftl-tail-call.js >+++ b/JSTests/stress/ftl-tail-call.js >@@ -12,7 +12,7 @@ function bar(a, b, c) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar({f: 4}, {g: 5}, {h: 6}); > if (result != 4 + 5 * 2 + 6 * 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ftl-to-ftl-arity-fixup.js b/JSTests/stress/ftl-to-ftl-arity-fixup.js >index 19b9c9a106e5f562efd499506b079d0106b1d75e..1d891b1f3860235442d6af23a1a9b9403c168d01 100644 >--- a/JSTests/stress/ftl-to-ftl-arity-fixup.js >+++ b/JSTests/stress/ftl-to-ftl-arity-fixup.js >@@ -20,7 +20,7 @@ function bar(o) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > // Call bar() in such a way that all of those callee-save variables have fairly unique > // looking values, to maximize the chances of foo() clobbering them in a recognizable > // way. >diff --git a/JSTests/stress/ftl-try-catch-arith-sub-exception.js b/JSTests/stress/ftl-try-catch-arith-sub-exception.js >index c6c7185e59c2838af1ee4f3aa1adfc2428c7c3c0..1339a0ef4e7c47d9732bc9191476814496da2e77 100644 >--- a/JSTests/stress/ftl-try-catch-arith-sub-exception.js >+++ b/JSTests/stress/ftl-try-catch-arith-sub-exception.js >@@ -26,7 +26,7 @@ function foo(x, o) { > noInline(foo); > > let x = 20.5; >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(foo(x, o) === 5.5); > } > flag = true; >@@ -52,7 +52,7 @@ function bar(x, o) { > noInline(bar); > > flag = false; >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(bar(x, o) === false); > } > flag = true; >diff --git a/JSTests/stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js b/JSTests/stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js >index 08c99b8b88cbf0b4aba69ba65e357a248650875f..aa683889b357ae8871a78bfd03139d27d01f062a 100644 >--- a/JSTests/stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js >+++ b/JSTests/stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js >@@ -42,7 +42,7 @@ function f() { > return o2; > } > noInline(f); >-for (i = 0; i < 100000; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > foo(f); > } > flag = true; >diff --git a/JSTests/stress/ftl-try-catch-getter-throw-interesting-value-recovery.js b/JSTests/stress/ftl-try-catch-getter-throw-interesting-value-recovery.js >index 79014a7d19dad200f718f3be54a505511bc5f8a4..fec30c1a2cdf80bd675d5396e6d8460094c31595 100644 >--- a/JSTests/stress/ftl-try-catch-getter-throw-interesting-value-recovery.js >+++ b/JSTests/stress/ftl-try-catch-getter-throw-interesting-value-recovery.js >@@ -52,7 +52,7 @@ function foo(o, a) { > } > > noInline(foo); >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i % 3 == 0) { > assert(foo(o1) === 60); > } else if (i % 3 === 1) { >diff --git a/JSTests/stress/ftl-try-catch-getter-throw.js b/JSTests/stress/ftl-try-catch-getter-throw.js >index 586a20a8d98572faba4722923e629ace62f4e4fe..e063e4a312555865edde186089f9fa83fd0939b5 100644 >--- a/JSTests/stress/ftl-try-catch-getter-throw.js >+++ b/JSTests/stress/ftl-try-catch-getter-throw.js >@@ -46,7 +46,7 @@ let o2 = { > } > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i % 2) { > assert(foo(o1) === 60); > } else { >diff --git a/JSTests/stress/ftl-try-catch-oom-error-lazy-slow-path.js b/JSTests/stress/ftl-try-catch-oom-error-lazy-slow-path.js >index a8f2b18d1745ca5fbfb30ca8319c98f8488ac4a5..70ced5a04e9bd966da776560fab4816128f16441 100644 >--- a/JSTests/stress/ftl-try-catch-oom-error-lazy-slow-path.js >+++ b/JSTests/stress/ftl-try-catch-oom-error-lazy-slow-path.js >@@ -55,7 +55,7 @@ noInline(foo); > function blah() { return "blah"; } > noInline(blah); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(foo(blah, "b", "a") === "blahba"); > if (!exponentialBlowup) > expString = "a"; >diff --git a/JSTests/stress/ftl-try-catch-patchpoint-with-volatile-registers.js b/JSTests/stress/ftl-try-catch-patchpoint-with-volatile-registers.js >index 753f21fd5a0177a5c53a1640d2741c61d924a0b2..a040490ea651f668301238d2366e9caed41ed78c 100644 >--- a/JSTests/stress/ftl-try-catch-patchpoint-with-volatile-registers.js >+++ b/JSTests/stress/ftl-try-catch-patchpoint-with-volatile-registers.js >@@ -67,7 +67,7 @@ function foo(o) { > } > noInline(foo); > >-for (var i = 0; i < 1000000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > foo(i % 2 ? o1 : o2); > flag = true; > foo(o1); >diff --git a/JSTests/stress/ftl-try-catch-setter-throw.js b/JSTests/stress/ftl-try-catch-setter-throw.js >index ae347d17924c0fe8f57fb67e580c929381815a09..e311b883049197d994d538f7c13ad281e3f7cc05 100644 >--- a/JSTests/stress/ftl-try-catch-setter-throw.js >+++ b/JSTests/stress/ftl-try-catch-setter-throw.js >@@ -35,7 +35,7 @@ let o2 = { > set f(v) { if (flag) throw new Error("blah"); } > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i % 2) { > assert(foo(o1) === 60); > } else { >diff --git a/JSTests/stress/ftl-try-catch-varargs-call-throws.js b/JSTests/stress/ftl-try-catch-varargs-call-throws.js >index 6cf84454d335511ffa71859b1ac12408be2f8eab..4160be8f7e7d4c810a0470879b23a335c29602f5 100644 >--- a/JSTests/stress/ftl-try-catch-varargs-call-throws.js >+++ b/JSTests/stress/ftl-try-catch-varargs-call-throws.js >@@ -25,7 +25,7 @@ function f(arg1, arg2, arg3) { > } > noInline(f); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(f, [10, 20, 30]); > } > flag = true; >diff --git a/JSTests/stress/ftl-xor-exception.js b/JSTests/stress/ftl-xor-exception.js >index 0038b5b8d2481dee98bc1d2374f84d73005f901c..28720d6bece25fb6aa0924c5a419e0a472bbe757 100644 >--- a/JSTests/stress/ftl-xor-exception.js >+++ b/JSTests/stress/ftl-xor-exception.js >@@ -8,7 +8,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo((i & 1) ? 32 : "32", 10); > if (result !== 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/function-configurable-properties.js b/JSTests/stress/function-configurable-properties.js >index 1a10ca1588cf13f26239a4e55092cacaa87a5f74..ecba8ebb6e2115e3abc452b0ee1ed99dedf98204 100644 >--- a/JSTests/stress/function-configurable-properties.js >+++ b/JSTests/stress/function-configurable-properties.js >@@ -21,18 +21,18 @@ var lazyPropNames = [ "name", "length" ]; > > function test(propName, foo) { > foo.x = 20; >- for (var i = 0; i < 1000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > shouldBe(readX(foo), 20); > > // Reify the lazy property. > var propValue = foo[propName]; > > // Verify that we can still access the property after the reification of foo.name. >- for (var i = 0; i < 1000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > shouldBe(readX(foo), 20); > > foo.y = 25; >- for (var i = 0; i < 1000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > shouldBe(readY(foo), 25); > > // Verify that the property has the configurable attribute. >diff --git a/JSTests/stress/function-expression-exit.js b/JSTests/stress/function-expression-exit.js >index e22c4796cd2675c325c69d644a8896874d6bb8d1..75947321fc83bb619acafc581c881b63d25fd67c 100644 >--- a/JSTests/stress/function-expression-exit.js >+++ b/JSTests/stress/function-expression-exit.js >@@ -5,7 +5,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42)(); > if (result != 42) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/function-name-scope.js b/JSTests/stress/function-name-scope.js >index a93e60f6b8f462249d75bfe0eef63f0f1dcd4a19..22e2cc73997f66b68be2bbb891ef6a23035837de 100644 >--- a/JSTests/stress/function-name-scope.js >+++ b/JSTests/stress/function-name-scope.js >@@ -35,6 +35,6 @@ function check() { > > // Execute check() more than once. At the time that we wrote this regression test, trunk would fail on > // the second execution. Executing 100 times would also gives us some optimizing JIT coverage. >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > check(); > >diff --git a/JSTests/stress/function-reentry-infer-on-self.js b/JSTests/stress/function-reentry-infer-on-self.js >index 893ce91b629c4f2807ac60a3a38f59ef28b3aac7..3d97d1408e424dd3ded7a09f01c7dd60dd951952 100644 >--- a/JSTests/stress/function-reentry-infer-on-self.js >+++ b/JSTests/stress/function-reentry-infer-on-self.js >@@ -9,7 +9,7 @@ function foo(a) { > x = a; > thingy(function() { return x; }); > var result = 0; >- for (var i = 0; i < 100000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > result += x; > return result; > } >diff --git a/JSTests/stress/function-sinking-no-double-allocate.js b/JSTests/stress/function-sinking-no-double-allocate.js >index 4f2f55138637f1469b942957ca30d5dc66a2b80f..57af88dce512bd21b22ff9418cd9b91e49e40517 100644 >--- a/JSTests/stress/function-sinking-no-double-allocate.js >+++ b/JSTests/stress/function-sinking-no-double-allocate.js >@@ -14,7 +14,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = sink(true, false); > if (o.x != 3) > throw "Error: expected o.x to be 2 but is " + result; >diff --git a/JSTests/stress/function-sinking-osrexit.js b/JSTests/stress/function-sinking-osrexit.js >index 7f33c7dd0ca66179c92af1f0ebf36d052b215d11..00cd37589e0bb5822539caf72482702150e6938b 100644 >--- a/JSTests/stress/function-sinking-osrexit.js >+++ b/JSTests/stress/function-sinking-osrexit.js >@@ -5,7 +5,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, false); > var result = f(42); > if (result != 42) >diff --git a/JSTests/stress/function-sinking-put.js b/JSTests/stress/function-sinking-put.js >index deb9e6f374ab95d3ce694d91cb8f3c544e964825..e4a6f32089543c2f46226fb863b6c74caf939615 100644 >--- a/JSTests/stress/function-sinking-put.js >+++ b/JSTests/stress/function-sinking-put.js >@@ -5,7 +5,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, true); > var result = f(42); > if (result != 42) >diff --git a/JSTests/stress/fuzz-bug-16399949.js b/JSTests/stress/fuzz-bug-16399949.js >index 1fe0f1059dc639df1ae933149e34aa55a14802b6..ff305b62b9c5e0578e41c7f0ed2c2f6b0a81df9a 100644 >--- a/JSTests/stress/fuzz-bug-16399949.js >+++ b/JSTests/stress/fuzz-bug-16399949.js >@@ -3,7 +3,7 @@ function tryItOut() > function f() { > Array( /x/.a = this) + ""; > } >- for (var i = 0; i < 1000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > f(); > } > tryItOut(); >diff --git a/JSTests/stress/generator-fib-ftl-and-array.js b/JSTests/stress/generator-fib-ftl-and-array.js >index fe939812fdbaec6b832bfd00f2153def84bb7592..744ef309ce79db969969ae4c320d0a8a9e0f61b9 100644 >--- a/JSTests/stress/generator-fib-ftl-and-array.js >+++ b/JSTests/stress/generator-fib-ftl-and-array.js >@@ -14,7 +14,7 @@ > let value = 0; > for (let i = 0; i < 1e4; ++i) { > let f = fib(); >- for (let i = 0; i < 100; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > value = f.next().value; > } > if (value[0] !== 354224848179262000000) >diff --git a/JSTests/stress/generator-fib-ftl-and-object.js b/JSTests/stress/generator-fib-ftl-and-object.js >index 667340f2ea4c7438a2d209aa40d0677e4ab7d3fb..e9d549e670a2baabd54a17ff37cbe0778f83daf4 100644 >--- a/JSTests/stress/generator-fib-ftl-and-object.js >+++ b/JSTests/stress/generator-fib-ftl-and-object.js >@@ -14,7 +14,7 @@ > let value = 0; > for (let i = 0; i < 1e4; ++i) { > let f = fib(); >- for (let i = 0; i < 100; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > value = f.next().value; > } > if (value.fib !== 354224848179262000000) >diff --git a/JSTests/stress/generator-fib-ftl-and-string.js b/JSTests/stress/generator-fib-ftl-and-string.js >index 438ae6ab3347046822849f43004ea5c403eeda28..868c83b91f2704e980385f607c2291401354442e 100644 >--- a/JSTests/stress/generator-fib-ftl-and-string.js >+++ b/JSTests/stress/generator-fib-ftl-and-string.js >@@ -13,7 +13,7 @@ > let value = 0; > for (let i = 0; i < 1e4; ++i) { > let f = fib(); >- for (let i = 0; i < 100; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > value = f.next().value; > } > if (value !== `Result! 354224848179262000000`) >diff --git a/JSTests/stress/generator-fib-ftl.js b/JSTests/stress/generator-fib-ftl.js >index 340e33dbc868bea7a893c9ec16b779ec26bdb19c..d06e18fc64d0cc5937825ad9091bcbf2563ff5f3 100644 >--- a/JSTests/stress/generator-fib-ftl.js >+++ b/JSTests/stress/generator-fib-ftl.js >@@ -12,7 +12,7 @@ > let value = 0; > for (let i = 0; i < 1e4; ++i) { > let f = fib(); >- for (let i = 0; i < 100; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > value = f.next().value; > } > if (value !== 354224848179262000000) >diff --git a/JSTests/stress/generator-function-declaration-sinking-no-double-allocate.js b/JSTests/stress/generator-function-declaration-sinking-no-double-allocate.js >index 412bdbfc365aed79470435f76dd216b88308c533..15d096b1459986f456930af89a77497d66cdc7e8 100644 >--- a/JSTests/stress/generator-function-declaration-sinking-no-double-allocate.js >+++ b/JSTests/stress/generator-function-declaration-sinking-no-double-allocate.js >@@ -20,7 +20,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = sink(true, false); > shouldBe(o.__proto__, GeneratorFunctionPrototype); > if (o.x != 3) >diff --git a/JSTests/stress/generator-function-declaration-sinking-osrexit.js b/JSTests/stress/generator-function-declaration-sinking-osrexit.js >index 3be9e31da89fb4b49f6bbc2342140e42d13fdb7e..64a6f39c45652c802f435dba9d77e1c2b6dcf5a2 100644 >--- a/JSTests/stress/generator-function-declaration-sinking-osrexit.js >+++ b/JSTests/stress/generator-function-declaration-sinking-osrexit.js >@@ -12,7 +12,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, false); > shouldBe(f.__proto__, GeneratorFunctionPrototype); > var result = f(42); >diff --git a/JSTests/stress/generator-function-declaration-sinking-put.js b/JSTests/stress/generator-function-declaration-sinking-put.js >index 3deca57d3da6d977ef0f5d62ff094534511df9b6..8e7456ee0f2774ea35f87bb02ad8100f920bb453 100644 >--- a/JSTests/stress/generator-function-declaration-sinking-put.js >+++ b/JSTests/stress/generator-function-declaration-sinking-put.js >@@ -12,7 +12,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, true); > shouldBe(f.__proto__, GeneratorFunctionPrototype); > var result = f(42); >diff --git a/JSTests/stress/generator-function-expression-sinking-no-double-allocate.js b/JSTests/stress/generator-function-expression-sinking-no-double-allocate.js >index 020e6f0e71e233a9dd1c5d82cd1ae350ee108c4f..724b93aa355910b8d3002038b6cb073763c4e7b1 100644 >--- a/JSTests/stress/generator-function-expression-sinking-no-double-allocate.js >+++ b/JSTests/stress/generator-function-expression-sinking-no-double-allocate.js >@@ -20,7 +20,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = sink(true, false); > shouldBe(o.__proto__, GeneratorFunctionPrototype); > if (o.x != 3) >diff --git a/JSTests/stress/generator-function-expression-sinking-osrexit.js b/JSTests/stress/generator-function-expression-sinking-osrexit.js >index d836581457ddbb3ff97f871a2b186838d24db70e..d7e0df2eba8b2a65e9c9d60d6798a413b8425a70 100644 >--- a/JSTests/stress/generator-function-expression-sinking-osrexit.js >+++ b/JSTests/stress/generator-function-expression-sinking-osrexit.js >@@ -11,7 +11,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, false); > shouldBe(f.__proto__, GeneratorFunctionPrototype); > var result = f(42); >diff --git a/JSTests/stress/generator-function-expression-sinking-put.js b/JSTests/stress/generator-function-expression-sinking-put.js >index 43f50917d82e9f2947af2df240f0a8a17ff56189..18afb30b3a195a9798438f98c069a6517022b4b8 100644 >--- a/JSTests/stress/generator-function-expression-sinking-put.js >+++ b/JSTests/stress/generator-function-expression-sinking-put.js >@@ -11,7 +11,7 @@ function sink (p, q) { > } > noInline(sink); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var f = sink(true, true); > shouldBe(f.__proto__, GeneratorFunctionPrototype); > var result = f(42); >diff --git a/JSTests/stress/generic-arguments-correct-delete-behavior.js b/JSTests/stress/generic-arguments-correct-delete-behavior.js >index f76813938a7c5b2c31c9b8ee0521396b61c68c0d..4d58d10389022adfd3414de99b7ece7a8b0aabd6 100644 >--- a/JSTests/stress/generic-arguments-correct-delete-behavior.js >+++ b/JSTests/stress/generic-arguments-correct-delete-behavior.js >@@ -42,6 +42,6 @@ functions.push(makeTest(true, true, true)); > > for (let f of functions) { > noInline(f); >- for (let i = 0; i < 1000; ++i) >+ for (let i = 0; i < $vm.testingLoopCount; ++i) > f(null); > } >diff --git a/JSTests/stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js b/JSTests/stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js >index 0f210ce7243c3a5f53069bddc88eae28f1310369..fec92fa9952d6ff8919b950186fa516ed6a83ae7 100644 >--- a/JSTests/stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js >+++ b/JSTests/stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js >@@ -15,14 +15,14 @@ var bigArray = []; > for (var i = 0; i < 50; ++i) > bigArray.push(42); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var mi = i % 50; > var result = bar(bigArray, mi); > if (result !== 42) > throw "Bad result in first loop: " + result + "; expected: " + 42; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var mi = i % 100; > var result = bar([42], mi); > var expected = mi ? void 0 : 42; >diff --git a/JSTests/stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js b/JSTests/stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js >index 9fb3c1c4a7b17ee51f87362cde469629b196299e..c3a7209e290b2c49d52c99fb03f98041023e6faa 100644 >--- a/JSTests/stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js >+++ b/JSTests/stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js >@@ -17,7 +17,7 @@ var bigArray = []; > for (var i = 0; i < 50; ++i) > bigArray.push(42); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var mi = i % 50; > var result = bar(bigArray, mi); > if (result !== 42) >@@ -25,7 +25,7 @@ for (var i = 0; i < 10000; ++i) { > } > > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var mi = i % 100; > var result = bar([42], mi); > var expected = mi ? void 0 : 42; >diff --git a/JSTests/stress/get-array-length-phantom-new-array-buffer.js b/JSTests/stress/get-array-length-phantom-new-array-buffer.js >index 0810c7822ac140c52d7bbff69ce193d6107356e7..39012c4f9e8b5d2aaceee02478bef4d755088ba0 100644 >--- a/JSTests/stress/get-array-length-phantom-new-array-buffer.js >+++ b/JSTests/stress/get-array-length-phantom-new-array-buffer.js >@@ -8,7 +8,7 @@ function foo() { > } > noInline(foo); > >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > if (foo() !== 3) > throw new Error(); > } >diff --git a/JSTests/stress/get-array-length-undecided.js b/JSTests/stress/get-array-length-undecided.js >index 2ea39436478fca5661e4b441013da0cfc7760bb9..f6f9891f02aaf51c0a34961caa6805375abbc1e6 100644 >--- a/JSTests/stress/get-array-length-undecided.js >+++ b/JSTests/stress/get-array-length-undecided.js >@@ -4,7 +4,7 @@ function test(array) { > noInline(test); > > let array = new Array(10); >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (test(array) !== 10) > throw new Error("bad result"); > } >diff --git a/JSTests/stress/get-by-id-throw-from-getter-through-optimized-code.js b/JSTests/stress/get-by-id-throw-from-getter-through-optimized-code.js >index 1b301d769dd76faed05aef63d78c098bdc15a69d..e649a1c5ad510a24aab584f148b8bf01a2fee330 100644 >--- a/JSTests/stress/get-by-id-throw-from-getter-through-optimized-code.js >+++ b/JSTests/stress/get-by-id-throw-from-getter-through-optimized-code.js >@@ -16,7 +16,7 @@ function makeWithGetter() { > return o; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:23}); > if (result != 24) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js b/JSTests/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js >index e14d0ceb6ecb0ab97ff0971d04ace6193b3e04b4..cb633a3f53f215110b1f0aae8ae1c447db4e6452 100644 >--- a/JSTests/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js >+++ b/JSTests/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js >@@ -12,7 +12,7 @@ function makeWithGetter() { > return o; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:23}); > if (result != 23) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js b/JSTests/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js >index 1ef7726a4898e57641c2ae3c1e0b0157bfff1ad0..b709e13e258f3a1085c519cae107b33c1a575a3c 100644 >--- a/JSTests/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js >+++ b/JSTests/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js >@@ -12,7 +12,7 @@ function makeWithGetter() { > return o; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:23}); > if (result != 24) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/get-by-id-untyped.js b/JSTests/stress/get-by-id-untyped.js >index 8995d8015dc191424f6d0c31baf1bde7d10d7026..d4ac3fc9ad0a2723a1ef7163b2bcfe0f6c63ec7a 100644 >--- a/JSTests/stress/get-by-id-untyped.js >+++ b/JSTests/stress/get-by-id-untyped.js >@@ -7,7 +7,7 @@ noInline(foo); > String.prototype.f = 42; > Number.prototype.f = 24; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo("hello"); > if (result != 42) > throw "Error: bad result for string: " + result; >diff --git a/JSTests/stress/get-by-offset-double.js b/JSTests/stress/get-by-offset-double.js >index 402155aa1226888bfddbc8bd42211ab2ec66d9ab..7729602d497e4e1d53f0f65e43f91b11751aafe6 100644 >--- a/JSTests/stress/get-by-offset-double.js >+++ b/JSTests/stress/get-by-offset-double.js >@@ -5,7 +5,7 @@ function foo(o, p) { > return [o * 1.1, o * 1.2, o * 1.3]; > } > >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo({f:42}, true); > > function bar() { >@@ -20,6 +20,6 @@ function bar() { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar(); > >diff --git a/JSTests/stress/get-by-val-double-predicted-int.js b/JSTests/stress/get-by-val-double-predicted-int.js >index 6af1fd73c9b983ea8b2eff71b123a60fa8da005e..b634ee9e4aa128c695fec9822945c795b76f25de 100644 >--- a/JSTests/stress/get-by-val-double-predicted-int.js >+++ b/JSTests/stress/get-by-val-double-predicted-int.js >@@ -8,7 +8,7 @@ noInline(foo); > > var array = [2000000000.5]; > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(array, 0); > if (result != 4000000000.5) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/get-by-val-on-undecided-trivial.js b/JSTests/stress/get-by-val-on-undecided-trivial.js >index 22e371c015f3875c79f2bd8426d51fae6bf8246d..a3e40c459422db35eb1f8a1a420979290cfccfd5 100644 >--- a/JSTests/stress/get-by-val-on-undecided-trivial.js >+++ b/JSTests/stress/get-by-val-on-undecided-trivial.js >@@ -4,7 +4,7 @@ > function iterateEmptyArray() > { > const array = new Array(); >- for (let i = 0; i < 100; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > if (array[i] !== undefined) > throw "Unexpected value in empty array at index i = " + i; > } >@@ -25,7 +25,7 @@ noInline(getArrayOpaque); > function iterateOpaqueEmptyArray() > { > const array = getArrayOpaque(); >- for (let i = 0; i < 100; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > if (array[i] !== undefined) > throw "Unexpected value in empty array at index i = " + i; > } >diff --git a/JSTests/stress/get-by-val-to-id-with-getter.js b/JSTests/stress/get-by-val-to-id-with-getter.js >index b46c16516eca5868104f2ed796e69af76323649c..dc62f1330122c47596aad6189df50c816cb28163 100644 >--- a/JSTests/stress/get-by-val-to-id-with-getter.js >+++ b/JSTests/stress/get-by-val-to-id-with-getter.js >@@ -17,7 +17,7 @@ o = { num: 0, > } > }; > >-for(i = 0; i < 100000; ++i) { >+for(i = 0; i < $vm.testingLoopCount; ++i) { > let num = i % 2; > o.num = num; > if (foo(o, "hello") !== num) >diff --git a/JSTests/stress/get-by-val-with-string-constructor.js b/JSTests/stress/get-by-val-with-string-constructor.js >index ac5851602e934b33668aed2cff4ddcb7876ee188..a554be046dd057c2ab643ae340c894d317e47836 100644 >--- a/JSTests/stress/get-by-val-with-string-constructor.js >+++ b/JSTests/stress/get-by-val-with-string-constructor.js >@@ -19,5 +19,5 @@ function ok() { > } > noInline(ok); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > ok(); >diff --git a/JSTests/stress/get-by-val-with-string-exit.js b/JSTests/stress/get-by-val-with-string-exit.js >index 9aa262d64a6614964669ab74cb2f01fa4ed802f7..9536ea30d8dee9c4a78ab87b353a40b4c8793fa3 100644 >--- a/JSTests/stress/get-by-val-with-string-exit.js >+++ b/JSTests/stress/get-by-val-with-string-exit.js >@@ -25,10 +25,10 @@ var object = { > hello: 42 > }; > >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getByVal(object, i % 2 === 0 ? getStr1() : getStr2()), 42); > shouldBe(getByVal(object, { toString() { return 'hello'; } }), 42); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getByVal(object, i % 2 === 0 ? getStr1() : getStr2()), 42); > shouldBe(getByVal(object, { toString() { return 'hello'; } }), 42); >diff --git a/JSTests/stress/get-by-val-with-string-generated.js b/JSTests/stress/get-by-val-with-string-generated.js >index e813a7e140d386653fbc354c50ead58e1219d3a4..e4d7458e0bfdc47dc3b3e13db1ca89d888c604dc 100644 >--- a/JSTests/stress/get-by-val-with-string-generated.js >+++ b/JSTests/stress/get-by-val-with-string-generated.js >@@ -28,6 +28,6 @@ var object = { > world: 50 > }; > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getByVal(object, i % 2 === 0 ? getStr1() : getStr2()), 42); > shouldBe(getByVal(object, 'world'), 50); >diff --git a/JSTests/stress/get-by-val-with-string-getter.js b/JSTests/stress/get-by-val-with-string-getter.js >index 858ec0a86db954d847f6b8f762d296bedceb1bf5..09f9c39df6ec56ac4dae64458ce46ad02b0471d7 100644 >--- a/JSTests/stress/get-by-val-with-string-getter.js >+++ b/JSTests/stress/get-by-val-with-string-getter.js >@@ -12,5 +12,5 @@ function ok() { > } > noInline(ok); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > ok(); >diff --git a/JSTests/stress/get-by-val-with-string.js b/JSTests/stress/get-by-val-with-string.js >index 6db33d9becb14ad205b8755bdfe1f95bb397bb48..ba266ac401fbd487bf059b436841f6956b236836 100644 >--- a/JSTests/stress/get-by-val-with-string.js >+++ b/JSTests/stress/get-by-val-with-string.js >@@ -26,6 +26,6 @@ var object = { > world: 50 > }; > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getByVal(object, i % 2 === 0 ? getStr1() : getStr2()), 42); > shouldBe(getByVal(object, 'world'), 50); >diff --git a/JSTests/stress/get-by-val-with-symbol-constructor.js b/JSTests/stress/get-by-val-with-symbol-constructor.js >index 2895c26451d257a97a2db3ec58929b9d55343251..25798f3d654606e347b068b39e6eb2f0e634c109 100644 >--- a/JSTests/stress/get-by-val-with-symbol-constructor.js >+++ b/JSTests/stress/get-by-val-with-symbol-constructor.js >@@ -19,5 +19,5 @@ function ok() { > } > noInline(ok); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > ok(); >diff --git a/JSTests/stress/get-by-val-with-symbol-exit.js b/JSTests/stress/get-by-val-with-symbol-exit.js >index c0cdcb676d94e46b6c101a8a77d00b6644a8c10b..9d5218b9970df9dbd5fff4d8fda228d10fcdab6c 100644 >--- a/JSTests/stress/get-by-val-with-symbol-exit.js >+++ b/JSTests/stress/get-by-val-with-symbol-exit.js >@@ -29,10 +29,10 @@ var object = { > hello: 50 > }; > >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getByVal(object, i % 2 === 0 ? getSym1() : getSym2()), 42); > shouldBe(getByVal(object, 'hello'), 50); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getByVal(object, i % 2 === 0 ? getSym1() : getSym2()), 42); > shouldBe(getByVal(object, 'hello'), 50); >diff --git a/JSTests/stress/get-by-val-with-symbol-getter.js b/JSTests/stress/get-by-val-with-symbol-getter.js >index 7035e4b038a465d43ebc28e5cf4819b59e66687d..b228e747b2bc62a1863634feb2fba04a8166fcda 100644 >--- a/JSTests/stress/get-by-val-with-symbol-getter.js >+++ b/JSTests/stress/get-by-val-with-symbol-getter.js >@@ -19,5 +19,5 @@ function ok() { > } > noInline(ok); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > ok(); >diff --git a/JSTests/stress/get-by-val-with-symbol.js b/JSTests/stress/get-by-val-with-symbol.js >index 2c834eb26be326e1c918491f0e19b7fa38bb0903..1e39c67471110461a80338dddad8f53ec7aaca07 100644 >--- a/JSTests/stress/get-by-val-with-symbol.js >+++ b/JSTests/stress/get-by-val-with-symbol.js >@@ -29,5 +29,5 @@ var object = { > hello: 50 > }; > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > shouldBe(getByVal(object, i % 2 === 0 ? getSym1() : getSym2()), 42); >diff --git a/JSTests/stress/get-declared-unpassed-argument-in-direct-arguments.js b/JSTests/stress/get-declared-unpassed-argument-in-direct-arguments.js >index 57d380afbb22bd3fcfe61976523f53e788222ba2..e627402f0fa7019b5db7c73d8fd1c625efdcef4a 100644 >--- a/JSTests/stress/get-declared-unpassed-argument-in-direct-arguments.js >+++ b/JSTests/stress/get-declared-unpassed-argument-in-direct-arguments.js >@@ -6,7 +6,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result !== void 0) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/get-declared-unpassed-argument-in-scoped-arguments.js b/JSTests/stress/get-declared-unpassed-argument-in-scoped-arguments.js >index a85cd9537bc5910bd79d56f50fcc8fd533e6cb8e..69d036bdfe32b999133226d6c0feb9b054574c4c 100644 >--- a/JSTests/stress/get-declared-unpassed-argument-in-scoped-arguments.js >+++ b/JSTests/stress/get-declared-unpassed-argument-in-scoped-arguments.js >@@ -8,7 +8,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result !== void 0) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/get-local-elimination.js b/JSTests/stress/get-local-elimination.js >index 612f9d51a9a0c082594f7d20d7b8e0d0aa765eff..57070c653f3ef2dc5ffdb4c17a5004a65405578f 100644 >--- a/JSTests/stress/get-local-elimination.js >+++ b/JSTests/stress/get-local-elimination.js >@@ -8,7 +8,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42); > if (result != 84) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/get-my-argument-by-val-constant-folding.js b/JSTests/stress/get-my-argument-by-val-constant-folding.js >index 1eb8b0372f93d172ce27b62e4bfc92d35fa21cae..8ecd7fefe8ddf3a0377c78603329bf2dc2777a65 100644 >--- a/JSTests/stress/get-my-argument-by-val-constant-folding.js >+++ b/JSTests/stress/get-my-argument-by-val-constant-folding.js >@@ -1,5 +1,5 @@ > function test() { >- for (var i = 0; i < 1000000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > (function () { > return arguments[-9]; >diff --git a/JSTests/stress/get-my-argument-by-val-creates-arguments.js b/JSTests/stress/get-my-argument-by-val-creates-arguments.js >index ec8c0cf3e149a4975fedcc76bbbdd1f38e054a77..e8476e8e0f6c3932efea34e41bf168e94f4a58f1 100644 >--- a/JSTests/stress/get-my-argument-by-val-creates-arguments.js >+++ b/JSTests/stress/get-my-argument-by-val-creates-arguments.js >@@ -34,7 +34,7 @@ function test(array) { > checkEqual(actual, array); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > for (var j = 0; j < i % 6; ++j) > array.push(j); >diff --git a/JSTests/stress/get-my-argument-by-val-for-inlined-escaped-arguments.js b/JSTests/stress/get-my-argument-by-val-for-inlined-escaped-arguments.js >index f5bdd784ee1cc39e09a64fbf9eb1e5e6d358dd77..873e9e578240d6a4d28cd1e04484cd211f616da2 100644 >--- a/JSTests/stress/get-my-argument-by-val-for-inlined-escaped-arguments.js >+++ b/JSTests/stress/get-my-argument-by-val-for-inlined-escaped-arguments.js >@@ -10,7 +10,7 @@ function bar(a, b, c, i) { > noInline(bar); > > var expected = [2, 3, 42]; >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(1, 2, 3, i % 3); > if (result != expected[i % 3]) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/get-my-argument-by-val-inlined-no-formal-parameters.js b/JSTests/stress/get-my-argument-by-val-inlined-no-formal-parameters.js >index eef298f5b3877ff9f9929f9b76a837274fe87aa2..e3c9354abb191b5ed42490d2e8f4390a8ff26f33 100644 >--- a/JSTests/stress/get-my-argument-by-val-inlined-no-formal-parameters.js >+++ b/JSTests/stress/get-my-argument-by-val-inlined-no-formal-parameters.js >@@ -13,14 +13,14 @@ function bar() { > > noInline(bar); > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > index = i & 1; > var result = foo(42, 53); > if (result != [42, 53][index]) > throw "Error: bad result in first loop: " + result; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > index = -(i & 1) - 1; > var result = bar(); > if (result !== 13) >diff --git a/JSTests/stress/get-my-argument-by-val-out-of-bounds.js b/JSTests/stress/get-my-argument-by-val-out-of-bounds.js >index c8ee317044bee382365edd51ba107571ee3ca7c6..431053e7091fdbb4be6e741f9b27318794a42e72 100644 >--- a/JSTests/stress/get-my-argument-by-val-out-of-bounds.js >+++ b/JSTests/stress/get-my-argument-by-val-out-of-bounds.js >@@ -4,7 +4,7 @@ function foo(index) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 42); > if (result != 42) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/get-my-argument-by-val-safe-out-of-bounds.js b/JSTests/stress/get-my-argument-by-val-safe-out-of-bounds.js >index 3737db6d779ca40fed78b2cdd6e5e02a2d3c3111..eb05ba7cfb32e990433327f83938062ad2777da9 100644 >--- a/JSTests/stress/get-my-argument-by-val-safe-out-of-bounds.js >+++ b/JSTests/stress/get-my-argument-by-val-safe-out-of-bounds.js >@@ -6,7 +6,7 @@ function foo(index) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 42); > if (result != 42) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/get-my-argument-by-val-safe-wrap-around.js b/JSTests/stress/get-my-argument-by-val-safe-wrap-around.js >index 4a7e3f8f32780bdd4f073c97b0d796bf1b9ba624..183e63c5a6cc371342fbfacf51610fa6c459981c 100644 >--- a/JSTests/stress/get-my-argument-by-val-safe-wrap-around.js >+++ b/JSTests/stress/get-my-argument-by-val-safe-wrap-around.js >@@ -6,7 +6,7 @@ function foo(index) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 42); > if (result != 42) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/get-my-argument-by-val-wrap-around.js b/JSTests/stress/get-my-argument-by-val-wrap-around.js >index 770b451b8a90d09494df4c9a0798465123c27ec1..c0597017227fe96ada851ec57a8a81813ed0f159 100644 >--- a/JSTests/stress/get-my-argument-by-val-wrap-around.js >+++ b/JSTests/stress/get-my-argument-by-val-wrap-around.js >@@ -4,7 +4,7 @@ function foo(index) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1, 42); > if (result != 42) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/get-stack-identity-due-to-sinking.js b/JSTests/stress/get-stack-identity-due-to-sinking.js >index 7f74135446b2b0926edb7e1794ccfd7fe9988718..f95411851ce3a2979d9220a35826463854c1c8d1 100644 >--- a/JSTests/stress/get-stack-identity-due-to-sinking.js >+++ b/JSTests/stress/get-stack-identity-due-to-sinking.js >@@ -11,7 +11,7 @@ function bar(p, a) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(false, 42); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/get-stack-mapping-with-dead-get-stack.js b/JSTests/stress/get-stack-mapping-with-dead-get-stack.js >index e158ccb6c0efa42a77b1245c47b3b0b2c5b14f71..05926367fad2fb85dd4235b626e0c8b7cb42265a 100644 >--- a/JSTests/stress/get-stack-mapping-with-dead-get-stack.js >+++ b/JSTests/stress/get-stack-mapping-with-dead-get-stack.js >@@ -20,7 +20,7 @@ function foo(a, p) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(0, false); > if (result != 9) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/get-stack-mapping.js b/JSTests/stress/get-stack-mapping.js >index c62f0de736f59aa7e00ccd2a020aff3e65861b8a..828b72c218b3035d5fda914c62cfeb7c4ccbc4fa 100644 >--- a/JSTests/stress/get-stack-mapping.js >+++ b/JSTests/stress/get-stack-mapping.js >@@ -19,7 +19,7 @@ function foo(a, p) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(0, false); > if (result != 9) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/getter-arity.js b/JSTests/stress/getter-arity.js >index eebe95410683ac181ff0806b41fb09ddc05bf367..66ba156affbebb9d588abf0c26028e5bcef6b886 100644 >--- a/JSTests/stress/getter-arity.js >+++ b/JSTests/stress/getter-arity.js >@@ -1,6 +1,6 @@ > var o = {}; > o.__defineGetter__("f", function(a, b, c, d, e, f) { return 42; }); >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = o.f; > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/getter.js b/JSTests/stress/getter.js >index cf232a526ae4ebc614262e0c425469ebc2d5def2..02142720bc21fa56dc436ff11a3b87d99be92b57 100644 >--- a/JSTests/stress/getter.js >+++ b/JSTests/stress/getter.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {g_: 5}; > o.__defineGetter__("f", function() { return 42 + this.g_; }); > o.__defineGetter__("g", function() { return 43 + this.g_; }); >diff --git a/JSTests/stress/global-const-redeclaration-setting-2.js b/JSTests/stress/global-const-redeclaration-setting-2.js >index fcfddf494973c664536b0715e910b5666c9d331d..1fb0cb84180f715daab894296a61f48a0e239ef1 100644 >--- a/JSTests/stress/global-const-redeclaration-setting-2.js >+++ b/JSTests/stress/global-const-redeclaration-setting-2.js >@@ -7,7 +7,7 @@ function assert(b) { > > setGlobalConstRedeclarationShouldNotThrow(); // Allow duplicate const declarations at the global level. > >-for (let i = 0; i < 100; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > load("./global-const-redeclaration-setting/first.js"); > assert(foo === 20); > load("./global-const-redeclaration-setting/second.js"); >diff --git a/JSTests/stress/global-lexical-environment-to-this.js b/JSTests/stress/global-lexical-environment-to-this.js >index a767358aa75499407b612d439fe5c6b58adb3309..d55e70502356c6aac9fdbd446ffc6a6386901de8 100644 >--- a/JSTests/stress/global-lexical-environment-to-this.js >+++ b/JSTests/stress/global-lexical-environment-to-this.js >@@ -15,8 +15,8 @@ let fStrict = function() { > noInline(fStrict); > > const globalThis = this; >-for (let i = 0; i < 1000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > assert(f() === globalThis, i); > >-for (let i = 0; i < 1000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > assert(fStrict() === undefined); >diff --git a/JSTests/stress/global-lexical-let-no-rhs.js b/JSTests/stress/global-lexical-let-no-rhs.js >index cd77889207ba6fe938ab5ecd77166ea381561a87..766814f155561df504a601ddcef6f30e912a10fa 100644 >--- a/JSTests/stress/global-lexical-let-no-rhs.js >+++ b/JSTests/stress/global-lexical-let-no-rhs.js >@@ -8,7 +8,7 @@ let x; > function foo() { > return x; > } >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > assert(x === undefined); > assert(foo() === undefined); > } >diff --git a/JSTests/stress/global-lexical-var-injection.js b/JSTests/stress/global-lexical-var-injection.js >index 662eb46bfe44cca77ebabd4c35215299498e0a71..b28cd6a090ea85dfc02a516953033103b527d6e2 100644 >--- a/JSTests/stress/global-lexical-var-injection.js >+++ b/JSTests/stress/global-lexical-var-injection.js >@@ -7,14 +7,14 @@ noInline(assert); > let foo = "foo"; > const bar = "bar"; > >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(foo === "foo"); > assert(bar === "bar"); > } > > eval("var INJECTION = 20"); > >-for (let i = 0; i < 100; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(foo === "foo"); > assert(bar === "bar"); > assert(INJECTION === 20); >@@ -47,11 +47,11 @@ function baz() { > return foo; > } > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > assert(baz() === "foo"); > assert(baz() === foo); > } > flag = true; >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > assert(baz() === 20); > } >diff --git a/JSTests/stress/global-lexical-variable-with-statement.js b/JSTests/stress/global-lexical-variable-with-statement.js >index aab0b65bc571e8019c4c11c9cf381983d06c697a..055b905707a754154b5d3226a616690c96d163d6 100644 >--- a/JSTests/stress/global-lexical-variable-with-statement.js >+++ b/JSTests/stress/global-lexical-variable-with-statement.js >@@ -24,7 +24,7 @@ noInline(makeObj); > let foo = "foo"; > const bar = "bar"; > >-for (var i = 0; i < 100; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > with (makeObj()) { > assert(foo === 20); > assert(bar === "bar"); >diff --git a/JSTests/stress/global-property-into-variable-get-from-scope.js b/JSTests/stress/global-property-into-variable-get-from-scope.js >index 947c4e8f1220d61880f5cdc40b6aec299cada11a..011cee0f53dacf390c39680a017b5236f7c0e70a 100644 >--- a/JSTests/stress/global-property-into-variable-get-from-scope.js >+++ b/JSTests/stress/global-property-into-variable-get-from-scope.js >@@ -10,4 +10,4 @@ load("resources/standalone-pre.js"); > > noInline(); > >-for (i = 0; i < 100000; i++); >+for (i = 0; i < $vm.testingLoopCount; i++); >diff --git a/JSTests/stress/goofy-function-reentry-incorrect-inference.js b/JSTests/stress/goofy-function-reentry-incorrect-inference.js >index a371347b6b3f6312d2dfb8df2bbb6e204a9ecdba..33121a535e6c3a16edbfa49049ed587bc35ed31a 100644 >--- a/JSTests/stress/goofy-function-reentry-incorrect-inference.js >+++ b/JSTests/stress/goofy-function-reentry-incorrect-inference.js >@@ -13,7 +13,7 @@ var array = foo(false); > noInline(array[0]); > noInline(array[1]); > array[1](42); >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = array[0](); > if (result != 42) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/has-custom-properties.js b/JSTests/stress/has-custom-properties.js >index 55775ba4418204372491bbd274c782763e4db512..320f0a86d69256d6afa308b8c4143d48994e1fe7 100644 >--- a/JSTests/stress/has-custom-properties.js >+++ b/JSTests/stress/has-custom-properties.js >@@ -1,5 +1,5 @@ > (function() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > > if (hasCustomProperties(o)) >diff --git a/JSTests/stress/has-own-property-called-on-non-object.js b/JSTests/stress/has-own-property-called-on-non-object.js >index 3db514d4217e5edfc4c6e8c744dc9508a2921b8f..d46270199f2dddb1c0a0b67d3e80aa31d288bf39 100644 >--- a/JSTests/stress/has-own-property-called-on-non-object.js >+++ b/JSTests/stress/has-own-property-called-on-non-object.js >@@ -15,7 +15,7 @@ function foo(o) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > foo(objs[i % objs.length]); > > foo("foo"); >diff --git a/JSTests/stress/has-own-property-name-cache-string-keys.js b/JSTests/stress/has-own-property-name-cache-string-keys.js >index b366af9bf7c38434676e293e2ec35792da7533fe..88169f5d098f3f847b6e291badefe692f589429e 100644 >--- a/JSTests/stress/has-own-property-name-cache-string-keys.js >+++ b/JSTests/stress/has-own-property-name-cache-string-keys.js >@@ -12,7 +12,7 @@ const numKeys = 800; > for (let i = 0; i < numKeys; ++i) > keyPool.push(i + "foo"); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let num = (Math.random() * numKeys) | 0; > let o = {}; > for (let i = 0; i < num; ++i) { >diff --git a/JSTests/stress/has-own-property-name-cache-symbol-keys.js b/JSTests/stress/has-own-property-name-cache-symbol-keys.js >index 4e6009fdee58aa195f2f2a2c781c39ae9f7cbcb4..fc12e6058a1c2396ad6dc1e4ea228b5f78ff7a2c 100644 >--- a/JSTests/stress/has-own-property-name-cache-symbol-keys.js >+++ b/JSTests/stress/has-own-property-name-cache-symbol-keys.js >@@ -12,7 +12,7 @@ const numSymbols = 800; > for (let i = 0; i < numSymbols; ++i) > symbolPool.push(Symbol()); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let num = (Math.random() * numSymbols) | 0; > let o = {}; > for (let i = 0; i < num; ++i) { >diff --git a/JSTests/stress/having-a-bad-time-with-derived-arrays.js b/JSTests/stress/having-a-bad-time-with-derived-arrays.js >index b316cf5ff6ca920cb05299a0f4a4a6c58eb2638a..995f5fc29c88d45416d0a2763bea40c9cc1612bc 100644 >--- a/JSTests/stress/having-a-bad-time-with-derived-arrays.js >+++ b/JSTests/stress/having-a-bad-time-with-derived-arrays.js >@@ -33,7 +33,7 @@ function doSlice(a) { > return r; > } > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > for (let [a, b, ...c] of arr) { > let s = doSlice(a); > iterate(s); >diff --git a/JSTests/stress/hoist-get-by-offset-with-control-dependent-inferred-type.js b/JSTests/stress/hoist-get-by-offset-with-control-dependent-inferred-type.js >index a06b7e1ed2072da486c49f2ddafe051d25c79c1d..c4904f8e938c0532178644e1ab8d9a8343fb811b 100644 >--- a/JSTests/stress/hoist-get-by-offset-with-control-dependent-inferred-type.js >+++ b/JSTests/stress/hoist-get-by-offset-with-control-dependent-inferred-type.js >@@ -4,7 +4,7 @@ function f() { > var xs = [a, ta]; > var q = 0; > var t = Date.now(); >- for (var i = 0; i < 100000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > for (var x of xs[i&1]) q+=x; > } > return [Date.now()-t,q]; >diff --git a/JSTests/stress/ic-throw-through-optimized-code.js b/JSTests/stress/ic-throw-through-optimized-code.js >index 96404264a403690fb599f1609b09be9b53b3405a..07815a61f7cb35476b9cc33c2f072fda17c523a0 100644 >--- a/JSTests/stress/ic-throw-through-optimized-code.js >+++ b/JSTests/stress/ic-throw-through-optimized-code.js >@@ -6,7 +6,7 @@ Number.prototype.f = 42; > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(23); > if (result != 43) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/impure-get-own-property-slot-inline-cache.js b/JSTests/stress/impure-get-own-property-slot-inline-cache.js >index b1293bd40caa70bc3df5b7c0222517b7f468c863..2d17f18d99741afbc57fc7453b81060355408bbe 100644 >--- a/JSTests/stress/impure-get-own-property-slot-inline-cache.js >+++ b/JSTests/stress/impure-get-own-property-slot-inline-cache.js >@@ -10,7 +10,7 @@ var foo = function(o) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(ig); > > setImpureGetterDelegate(ig, {x:"x"}); >diff --git a/JSTests/stress/in-ftl-exception-check.js b/JSTests/stress/in-ftl-exception-check.js >index 7f5df01e1ebb58ab3a9755014cf47bcbf24e9870..d31abc1ed764df14fcbf0d2fad7bdac5c16f5495 100644 >--- a/JSTests/stress/in-ftl-exception-check.js >+++ b/JSTests/stress/in-ftl-exception-check.js >@@ -9,7 +9,7 @@ function bar(a) { > } > noInline(bar); > >-for (let i = 0; i < 1000000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (foo({})) > throw new Error("bad"); > } >diff --git a/JSTests/stress/indirect-call-object-constructor-with-no-arguments.js b/JSTests/stress/indirect-call-object-constructor-with-no-arguments.js >index e2853a5d2d836d80f9eb21bb3af82dc643d490ce..10e002c02388b5e059b7195e3bf6f6472a41dc32 100644 >--- a/JSTests/stress/indirect-call-object-constructor-with-no-arguments.js >+++ b/JSTests/stress/indirect-call-object-constructor-with-no-arguments.js >@@ -5,5 +5,5 @@ function test() { > } > noInline(test); > >-for (i = 0; i < 100000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > test(); >diff --git a/JSTests/stress/infer-uninitialized-closure-var.js b/JSTests/stress/infer-uninitialized-closure-var.js >index aa64af4ae394df675a638978f4ee65443bce06fd..56a00628419e5c418640bd3d5e039abfd820cc37 100644 >--- a/JSTests/stress/infer-uninitialized-closure-var.js >+++ b/JSTests/stress/infer-uninitialized-closure-var.js >@@ -8,7 +8,7 @@ function foo(p) { > > foo(false); > >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = f(); > if (result !== void 0) > throw "Error: bad result (1): " + result; >diff --git a/JSTests/stress/inferred-infinite-loop-that-uses-captured-variables.js b/JSTests/stress/inferred-infinite-loop-that-uses-captured-variables.js >index 733dbf1af07454ae996fd7c3009b01b1079dff24..e7bbe64d3d17cd7e116a1b992d264d5c3a9b4952 100644 >--- a/JSTests/stress/inferred-infinite-loop-that-uses-captured-variables.js >+++ b/JSTests/stress/inferred-infinite-loop-that-uses-captured-variables.js >@@ -15,7 +15,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > foo(i); > } catch (f) { >diff --git a/JSTests/stress/infinite-loop-that-uses-captured-variables-before-throwing.js b/JSTests/stress/infinite-loop-that-uses-captured-variables-before-throwing.js >index 2961ada92a7efcd630fab12e75c63a1d7b543bea..69743332aced3d4eeb1cfb44aefcdd4ba559f174 100644 >--- a/JSTests/stress/infinite-loop-that-uses-captured-variables-before-throwing.js >+++ b/JSTests/stress/infinite-loop-that-uses-captured-variables-before-throwing.js >@@ -22,7 +22,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > foo(i); > } catch (f) { >diff --git a/JSTests/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js b/JSTests/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js >index ebce9fe2c8d8cda985472fea89ff9b84533b0c78..b4b3d676fc8aa8feaa21f02f5a9bcb909402fe63 100644 >--- a/JSTests/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js >+++ b/JSTests/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js >@@ -22,7 +22,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > foo(i); > } catch (done) { >diff --git a/JSTests/stress/infinite-loop-that-uses-captured-variables.js b/JSTests/stress/infinite-loop-that-uses-captured-variables.js >index fd614a2b9feaab9c60fe6e5d6622ce2456f03154..f58c3c1920f7f3427d6ebbf69c864f23331749f4 100644 >--- a/JSTests/stress/infinite-loop-that-uses-captured-variables.js >+++ b/JSTests/stress/infinite-loop-that-uses-captured-variables.js >@@ -13,7 +13,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > foo(i); > } catch (f) { >diff --git a/JSTests/stress/injected-numeric-setter-on-prototype.js b/JSTests/stress/injected-numeric-setter-on-prototype.js >index 594de33746bb0907481681f62c52117f2eb108be..96635bdf41e9e7999fc73bb6bc2023ed7b71dbd6 100644 >--- a/JSTests/stress/injected-numeric-setter-on-prototype.js >+++ b/JSTests/stress/injected-numeric-setter-on-prototype.js >@@ -21,7 +21,7 @@ class Trace { > } > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var t0 = new Trace(); > > var object = {}; >diff --git a/JSTests/stress/inline-call-that-doesnt-use-all-args.js b/JSTests/stress/inline-call-that-doesnt-use-all-args.js >index afbb790bb50392f579ce1d4ea45d05fa5c21a82c..2e82891e4a40303aeb054de041fa90da8e0019da 100644 >--- a/JSTests/stress/inline-call-that-doesnt-use-all-args.js >+++ b/JSTests/stress/inline-call-that-doesnt-use-all-args.js >@@ -16,7 +16,7 @@ var o = new Float32Array(3); > o[0] = 1; > o[1] = 2; > o[2] = 3; >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(foo, o); > if (result != 42) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/inline-call-to-recursive-tail-call.js b/JSTests/stress/inline-call-to-recursive-tail-call.js >index b00f71853d77d129a8eda5cd857a1dc9148c963c..b3ebc2cda00ab144df44d0fbd20ca3ea98b5af47 100644 >--- a/JSTests/stress/inline-call-to-recursive-tail-call.js >+++ b/JSTests/stress/inline-call-to-recursive-tail-call.js >@@ -84,7 +84,7 @@ function test(result, expected, name) { > throw "Wrong result for " + name + ": " + result + " instead of " + expected; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(factorial(20), 2432902008176640000, "factorial"); > test(factorial2(20), 2432902008176640000, "factorial2"); > test(factorial3(20), 2432902008176640000, "factorial3"); >diff --git a/JSTests/stress/inline-call-varargs-and-call.js b/JSTests/stress/inline-call-varargs-and-call.js >index e001d25600de455d92236662f16ff66200c24e40..15739cd6f21a0854629bf04a8571915141e30714 100644 >--- a/JSTests/stress/inline-call-varargs-and-call.js >+++ b/JSTests/stress/inline-call-varargs-and-call.js >@@ -14,7 +14,7 @@ function baz(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(7, 11); > if (result != 116) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/inline-call-varargs.js b/JSTests/stress/inline-call-varargs.js >index ae7a54509a729229509c9cfb11daa01db3741a6b..8e8583407e907c4e6a5de904e9dc06afa5b2c55b 100644 >--- a/JSTests/stress/inline-call-varargs.js >+++ b/JSTests/stress/inline-call-varargs.js >@@ -12,7 +12,7 @@ function baz(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(7, 11); > if (result != 29) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/inline-closure-call.js b/JSTests/stress/inline-closure-call.js >index 7d9a614dfa4ec8f346a20012a60bde898dbaab0b..836e2c94061c0b67f2e85c3e6a4c9376e29dce8d 100644 >--- a/JSTests/stress/inline-closure-call.js >+++ b/JSTests/stress/inline-closure-call.js >@@ -9,7 +9,7 @@ function bar(a, b) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(i, i + 1); > if (result != i * 2 + 1) > throw "Error: bad result for " + i + ": " + result; >diff --git a/JSTests/stress/inline-llint-with-switch.js b/JSTests/stress/inline-llint-with-switch.js >index 84b7b6bdfbac989c0ed005dd95b57bb649638ff9..9491cd47e4c88cc23137c028643771b5f3252e4f 100644 >--- a/JSTests/stress/inline-llint-with-switch.js >+++ b/JSTests/stress/inline-llint-with-switch.js >@@ -36,7 +36,7 @@ for (var i = 0; i < 2; ++i) > test(true); > > // Warm up bar and cause inlining, but make sure that foo() doesn't get DFG'd. >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(false); > > // And finally test the switch statement. >diff --git a/JSTests/stress/inline-varargs-get-arguments.js b/JSTests/stress/inline-varargs-get-arguments.js >index 041dd692878a45b66ed7ad42ce11c4f63fec101a..7209fece737e8f5ae9d395ad2f01e3c8d67e81b1 100644 >--- a/JSTests/stress/inline-varargs-get-arguments.js >+++ b/JSTests/stress/inline-varargs-get-arguments.js >@@ -15,7 +15,7 @@ noInline(baz); > > var array = [0, 0, 0, 42]; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar, array); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/inlined-constructor-this-liveness.js b/JSTests/stress/inlined-constructor-this-liveness.js >index bded332c4681c5c77565dbf247fcabdeb71655db..035b1ea87a12c9b76a8a1651b3e1839fc079527e 100644 >--- a/JSTests/stress/inlined-constructor-this-liveness.js >+++ b/JSTests/stress/inlined-constructor-this-liveness.js >@@ -9,7 +9,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:1}, {f:2}); > if (result.f != 1) > throw "Error: bad result.f: " + result.f; >diff --git a/JSTests/stress/inlined-function-this-liveness.js b/JSTests/stress/inlined-function-this-liveness.js >index 5d667c6e35873b61d0dd2ae4fed74a13f8d9f3e4..e570e9be5324ea965f51533a17d14ec48a9e4c75 100644 >--- a/JSTests/stress/inlined-function-this-liveness.js >+++ b/JSTests/stress/inlined-function-this-liveness.js >@@ -11,7 +11,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:1}, {f:2}); > if (result.f != 1) > throw "Error: bad result.f: " + result.f; >diff --git a/JSTests/stress/inlined-tail-call-in-inlined-setter-should-not-crash-when-getting-value-profile.js b/JSTests/stress/inlined-tail-call-in-inlined-setter-should-not-crash-when-getting-value-profile.js >index 4e6dee8fcfc49bb1795809beea24982b238a5b2f..b7b0c56c56b14ad49afca5019a47c033bd5da94f 100644 >--- a/JSTests/stress/inlined-tail-call-in-inlined-setter-should-not-crash-when-getting-value-profile.js >+++ b/JSTests/stress/inlined-tail-call-in-inlined-setter-should-not-crash-when-getting-value-profile.js >@@ -9,5 +9,5 @@ function bar() { > return 20; > } > >-for (let i = 0; i < 100000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > o.foo = 20; >diff --git a/JSTests/stress/inlining-unreachable-non-tail.js b/JSTests/stress/inlining-unreachable-non-tail.js >index 7ceb136afe99e4ee96b28eaa1d0ad02df9fe1d29..40f15efff7de78f1a7f586c0ac3547123a0bff4e 100644 >--- a/JSTests/stress/inlining-unreachable-non-tail.js >+++ b/JSTests/stress/inlining-unreachable-non-tail.js >@@ -6,7 +6,7 @@ var foo = class { > try {} catch {} > } > }; >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > try { > new foo(); > } catch {} >diff --git a/JSTests/stress/inlining-unreachable.js b/JSTests/stress/inlining-unreachable.js >index 35bd2cffdd45323b85aa842ff83de2eead422a7d..4178f23f06fed36b542aae22e5fcac7519a6de73 100644 >--- a/JSTests/stress/inlining-unreachable.js >+++ b/JSTests/stress/inlining-unreachable.js >@@ -2,7 +2,7 @@ var bar = class Bar { }; > var baz = class Baz { > constructor() { bar(); } > }; >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > try { > new baz(); > } catch (e) {} >diff --git a/JSTests/stress/instance-of-on-poly-proto-opc-should-not-crash.js b/JSTests/stress/instance-of-on-poly-proto-opc-should-not-crash.js >index 8d3d1bc07a2b06f0573019bb065b3c8d93191024..a108460bb831f03e712eba8091f70bdd4d4e6325 100644 >--- a/JSTests/stress/instance-of-on-poly-proto-opc-should-not-crash.js >+++ b/JSTests/stress/instance-of-on-poly-proto-opc-should-not-crash.js >@@ -23,6 +23,6 @@ class C { } > let o = makePolyProtoObject(); > o.__proto__= new C; > let x = {__proto__: o}; >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > foo(x, C); > } >diff --git a/JSTests/stress/instanceof-custom-hasinstancesymbol.js b/JSTests/stress/instanceof-custom-hasinstancesymbol.js >index 12f24230c34414628be5ee2953f84af324107f8f..45651c294b7d0a2c453a197a3de65ecd5dce42d6 100644 >--- a/JSTests/stress/instanceof-custom-hasinstancesymbol.js >+++ b/JSTests/stress/instanceof-custom-hasinstancesymbol.js >@@ -11,7 +11,7 @@ noInline(instanceOf); > > function body() { > var result = 0; >- for (var i = 0; i < 100000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > if (instanceOf(x, Constructor)) > result++; > } >diff --git a/JSTests/stress/instanceof-dynamic-proxy-check-structure.js b/JSTests/stress/instanceof-dynamic-proxy-check-structure.js >index 0b86b538bfb3cf0c883ba88526bbaed0e0c5e2b8..aae05599fc931d31381a38d5ec3c462aba80540d 100644 >--- a/JSTests/stress/instanceof-dynamic-proxy-check-structure.js >+++ b/JSTests/stress/instanceof-dynamic-proxy-check-structure.js >@@ -134,7 +134,7 @@ function foo(o, p, q) > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}, foos[i % foos.length], {f:0}); > if (result != 84) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof-dynamic-proxy-loop.js b/JSTests/stress/instanceof-dynamic-proxy-loop.js >index 50065e983e03731f4b3078d0a70de15ad3dde4aa..fb510f8db89b7161ae706cb5e239543d1cce12a8 100644 >--- a/JSTests/stress/instanceof-dynamic-proxy-loop.js >+++ b/JSTests/stress/instanceof-dynamic-proxy-loop.js >@@ -134,7 +134,7 @@ function foo(o, p) > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}, foos[i % foos.length]); > if (result != 84) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof-dynamic-proxy.js b/JSTests/stress/instanceof-dynamic-proxy.js >index 54abfcca6fdb65fc5e0f30d6bb550415c69ffaaf..dab3b7347a5018c00768cf526cc8ee8301d4c6a0 100644 >--- a/JSTests/stress/instanceof-dynamic-proxy.js >+++ b/JSTests/stress/instanceof-dynamic-proxy.js >@@ -131,7 +131,7 @@ function foo(o, p) > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}, foos[i % foos.length]); > if (result != 84) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof-hit-one-object-then-another.js b/JSTests/stress/instanceof-hit-one-object-then-another.js >index a486ab802fc762f6efff44b346f1b685c10d7706..542c9fe08f5c2212fa5f0657c89173ee4cc8405e 100644 >--- a/JSTests/stress/instanceof-hit-one-object-then-another.js >+++ b/JSTests/stress/instanceof-hit-one-object-then-another.js >@@ -8,7 +8,7 @@ noInline(foo); > class Foo { } > class Bar { } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Foo(), Foo); > if (!result) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof-hit-two-objects-then-another.js b/JSTests/stress/instanceof-hit-two-objects-then-another.js >index 72b2f9e4fe65f780865756fcbefb8d26e3374d35..244f15274595c5eedf76223b6b5c1e430d1df8c2 100644 >--- a/JSTests/stress/instanceof-hit-two-objects-then-another.js >+++ b/JSTests/stress/instanceof-hit-two-objects-then-another.js >@@ -9,7 +9,7 @@ class Foo { } > class Bar { } > class Baz { } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Foo(), Foo); > if (!result) > throw "Error: bad result in loop (1): " + result; >diff --git a/JSTests/stress/instanceof-late-constant-folding.js b/JSTests/stress/instanceof-late-constant-folding.js >index d74d0b502fb860d4bac76fcede4b5edfa750efd1..ddf82c922dba93baf1f945ace2da92f43ddfab00 100644 >--- a/JSTests/stress/instanceof-late-constant-folding.js >+++ b/JSTests/stress/instanceof-late-constant-folding.js >@@ -6,7 +6,7 @@ x = new Constructor(); > > function body() { > var result = 0; >- for (var i = 0; i < 100000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > if (x instanceof Constructor) > result++; > } >diff --git a/JSTests/stress/instanceof-not-cell.js b/JSTests/stress/instanceof-not-cell.js >index fb291efdbcb909290d74e16c6202ec9686ac5448..427d1d75b08af253f517528ff17aebe4546d5518 100644 >--- a/JSTests/stress/instanceof-not-cell.js >+++ b/JSTests/stress/instanceof-not-cell.js >@@ -15,7 +15,7 @@ function Foo() { } > function Bar() { } > Bar.prototype = new Foo(); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(42, Object, false); > test(42, Array, false); > test(42, String, false); >diff --git a/JSTests/stress/instanceof-prototype-change-to-hit.js b/JSTests/stress/instanceof-prototype-change-to-hit.js >index 35865a89107c884fd4d91ae0ed0e0bbeab5bf319..89ea7b265cc098e5bfdb09d4ea2d6a2b0ab52a6e 100644 >--- a/JSTests/stress/instanceof-prototype-change-to-hit.js >+++ b/JSTests/stress/instanceof-prototype-change-to-hit.js >@@ -14,7 +14,7 @@ new Foo().thingy = 42; > > class Baz { } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Bar(), Baz); > if (result) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof-prototype-change-to-null.js b/JSTests/stress/instanceof-prototype-change-to-null.js >index 6944e146a7afda628581c2359d79f9c62ed35c4c..3c0ddaddd1acaa8740e41268636b232283af21dd 100644 >--- a/JSTests/stress/instanceof-prototype-change-to-null.js >+++ b/JSTests/stress/instanceof-prototype-change-to-null.js >@@ -12,7 +12,7 @@ Bar.prototype = new Foo(); > > new Foo().thingy = 42; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Bar(), Foo); > if (!result) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof-prototype-change-watchpointable.js b/JSTests/stress/instanceof-prototype-change-watchpointable.js >index 84efbbaaea47df5faed6fb8f1c36db2f81817b48..dffb4d373228b8ff209c65d977a93d2d2fba5a0c 100644 >--- a/JSTests/stress/instanceof-prototype-change-watchpointable.js >+++ b/JSTests/stress/instanceof-prototype-change-watchpointable.js >@@ -9,7 +9,7 @@ class Foo { } > > class Bar extends Foo { } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Bar(), Foo); > if (!result) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof-prototype-change.js b/JSTests/stress/instanceof-prototype-change.js >index 7f53815078250e36eb349d79be808937200cf098..ac4ba322cb32287eb74e0b4e1cd51c289c83fdcf 100644 >--- a/JSTests/stress/instanceof-prototype-change.js >+++ b/JSTests/stress/instanceof-prototype-change.js >@@ -12,7 +12,7 @@ Bar.prototype = new Foo(); > > new Foo().thingy = 42; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Bar(), Foo); > if (!result) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof-proxy-check-structure.js b/JSTests/stress/instanceof-proxy-check-structure.js >index c4b88f9fa5ae4e28827b0bc7cf29d02441ce569a..3cf582d094bb144997492b2810f55f15152213a8 100644 >--- a/JSTests/stress/instanceof-proxy-check-structure.js >+++ b/JSTests/stress/instanceof-proxy-check-structure.js >@@ -31,7 +31,7 @@ function foo(o, p, q) > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}, new Bar(), {f:0}); > if (result != 84) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof-proxy-loop.js b/JSTests/stress/instanceof-proxy-loop.js >index 1bff5edc3255bcf2be517910591e7f06bdf928e1..8534db1534f20de688161c062ea6760b5df9b897 100644 >--- a/JSTests/stress/instanceof-proxy-loop.js >+++ b/JSTests/stress/instanceof-proxy-loop.js >@@ -31,7 +31,7 @@ function foo(o, p) > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}, new Bar()); > if (result != 84) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof-proxy.js b/JSTests/stress/instanceof-proxy.js >index c1ad114c01785a4c0ab2dabd82ce54a18c9b250d..4420ca678b0139ccb5b520dae8766674910e73e7 100644 >--- a/JSTests/stress/instanceof-proxy.js >+++ b/JSTests/stress/instanceof-proxy.js >@@ -28,7 +28,7 @@ function foo(o, p) > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}, new Bar()); > if (result != 84) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/instanceof.js b/JSTests/stress/instanceof.js >index f8d03e2ba60c44657b79a3151533fe952fcc5885..e91ba514f92b52f867b5598ea125a45d5a315785 100644 >--- a/JSTests/stress/instanceof.js >+++ b/JSTests/stress/instanceof.js >@@ -15,7 +15,7 @@ function Foo() { } > function Bar() { } > Bar.prototype = new Foo(); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test({}, Object, true); > test({}, Array, false); > test({}, String, false); >diff --git a/JSTests/stress/int16-put-by-val-in-and-out-of-bounds.js b/JSTests/stress/int16-put-by-val-in-and-out-of-bounds.js >index d3c283eb9d4788bd536d090e03fc44b573eed607..c6f33fddca8ac7507c3f3fef9d474353fce7e3c6 100644 >--- a/JSTests/stress/int16-put-by-val-in-and-out-of-bounds.js >+++ b/JSTests/stress/int16-put-by-val-in-and-out-of-bounds.js >@@ -12,7 +12,7 @@ function test(length, expected) { > throw new Error("bad value at a[42]: " + result); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(10, void 0); > test(100, 29474); > } >diff --git a/JSTests/stress/int16-put-by-val-in-bounds-then-exit-out-of-bounds.js b/JSTests/stress/int16-put-by-val-in-bounds-then-exit-out-of-bounds.js >index 0ed7462a432327bd238d39e93b38f85346915463..5c2bc90f74795b23db187fde521788deb1e3815b 100644 >--- a/JSTests/stress/int16-put-by-val-in-bounds-then-exit-out-of-bounds.js >+++ b/JSTests/stress/int16-put-by-val-in-bounds-then-exit-out-of-bounds.js >@@ -12,7 +12,7 @@ function test(length, expected) { > throw "Error: bad value at a[42]: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(100, 29474); > > test(10, void 0); >diff --git a/JSTests/stress/int16-put-by-val-out-of-bounds-bounds-then-do-in-bounds.js b/JSTests/stress/int16-put-by-val-out-of-bounds-bounds-then-do-in-bounds.js >index 3bb964ca0736d3a60426153705d5cea31d178176..21ff67fe813270655e741fe061ecda3eba84f5fc 100644 >--- a/JSTests/stress/int16-put-by-val-out-of-bounds-bounds-then-do-in-bounds.js >+++ b/JSTests/stress/int16-put-by-val-out-of-bounds-bounds-then-do-in-bounds.js >@@ -12,7 +12,7 @@ function test(length, expected) { > throw "Error: bad value at a[42]: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(10, void 0); > > test(100, 29474); >diff --git a/JSTests/stress/int32-object-out-of-bounds.js b/JSTests/stress/int32-object-out-of-bounds.js >index 6d38679f61a3e1a44dc3b822d024b8c400946d64..02d5696b48c0b3ae84a3e1722c95e0fd5916b873 100644 >--- a/JSTests/stress/int32-object-out-of-bounds.js >+++ b/JSTests/stress/int32-object-out-of-bounds.js >@@ -16,7 +16,7 @@ function test(value) { > throw "Error: bad result: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(42); > > var result = foo(make(42), 1); >diff --git a/JSTests/stress/int32-out-of-bounds.js b/JSTests/stress/int32-out-of-bounds.js >index 878709dcd7a424987872a6c1ae12c40316cf2f5c..6f8fe41fa4e2a65db3568aecdd1030359aecc265 100644 >--- a/JSTests/stress/int32-out-of-bounds.js >+++ b/JSTests/stress/int32-out-of-bounds.js >@@ -10,7 +10,7 @@ function test(value) { > throw "Error: bad result: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(42); > > var result = foo([42], 1); >diff --git a/JSTests/stress/int52-ai-add-then-filter-int32.js b/JSTests/stress/int52-ai-add-then-filter-int32.js >index 3f038dcbfe074bdac302456902833d18e3e81352..cf0d22c217384b2e73241c7d4b6b9735bbe45b11 100644 >--- a/JSTests/stress/int52-ai-add-then-filter-int32.js >+++ b/JSTests/stress/int52-ai-add-then-filter-int32.js >@@ -7,7 +7,7 @@ function foo(a, b, c) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(2000000000, 2000000000, -2000000000); > if (result != 2000000000 && result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js b/JSTests/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js >index 061b7ea7fe72a70c14f0bf2ba19aed66dc91db56..889f19bd2b87229674567a54b4f72aeadccf7634 100644 >--- a/JSTests/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js >+++ b/JSTests/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js >@@ -7,7 +7,7 @@ function foo(a, b, c) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(65536, 65536, 0); > if (result != 5 && result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/int52-ai-mul-then-filter-int32-directly.js b/JSTests/stress/int52-ai-mul-then-filter-int32-directly.js >index 5544e5c227d09ac295e50309be76485999863430..6c6693b45a272620b4dc379130939b723512d6bb 100644 >--- a/JSTests/stress/int52-ai-mul-then-filter-int32-directly.js >+++ b/JSTests/stress/int52-ai-mul-then-filter-int32-directly.js >@@ -6,7 +6,7 @@ function foo(a, b, c) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(65536, 65536, 0); > if (result != 5 && result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/int52-ai-mul-then-filter-int32.js b/JSTests/stress/int52-ai-mul-then-filter-int32.js >index 541801728fd382a59a930366bdfa41c8a8530ef8..a414915a6524909fc39b5d43dae346d988355bc0 100644 >--- a/JSTests/stress/int52-ai-mul-then-filter-int32.js >+++ b/JSTests/stress/int52-ai-mul-then-filter-int32.js >@@ -7,7 +7,7 @@ function foo(a, b, c) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(65536, 65536, 0); > if (result != 0 && result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/int52-ai-neg-then-filter-int32.js b/JSTests/stress/int52-ai-neg-then-filter-int32.js >index 82c971c0d164a417aba0262f4026d0ae295d3af1..5116e9abf45d5dc2bd7104496be33851fa2bfabb 100644 >--- a/JSTests/stress/int52-ai-neg-then-filter-int32.js >+++ b/JSTests/stress/int52-ai-neg-then-filter-int32.js >@@ -7,7 +7,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1073741824, 1073741824); > if (result != -2147483648 && result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/int52-ai-sub-then-filter-int32.js b/JSTests/stress/int52-ai-sub-then-filter-int32.js >index 7d70b155b73ae8c351ccfd2c0520bb79ed177729..55eb30fa8eaf0bb42d2f7b0cd3a99bca25186ab6 100644 >--- a/JSTests/stress/int52-ai-sub-then-filter-int32.js >+++ b/JSTests/stress/int52-ai-sub-then-filter-int32.js >@@ -7,7 +7,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(2000000000, -2000000000); > if (result != 2000000000 && result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/int52-argument.js b/JSTests/stress/int52-argument.js >index cf7952f4f4fb7b6ab31967b84391b129e49fb068..eed461b4cada90f7dad6ce9204b0fe3d9d013630 100644 >--- a/JSTests/stress/int52-argument.js >+++ b/JSTests/stress/int52-argument.js >@@ -11,7 +11,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1000000000); > if (result != 1000000000 * 2 + 1000000000 * 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/int52-force-osr-exit-path.js b/JSTests/stress/int52-force-osr-exit-path.js >index a7bf3b9aa63bf241d83ef3be3d0608e447953746..2bc186bec4478364b4ee187a876ea5bd82d2eb1a 100644 >--- a/JSTests/stress/int52-force-osr-exit-path.js >+++ b/JSTests/stress/int52-force-osr-exit-path.js >@@ -8,7 +8,7 @@ function foo(a, b, p, o) { > noInline(foo); > > var o = {f: 42}; >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(2000000000, 2000000000, false, o); > if (result != 4000000001) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/int52-inlined-call-argument.js b/JSTests/stress/int52-inlined-call-argument.js >index 02b53714ee995afd5b2461f52265e6436af2cc0e..3762b37414c7b6af6f7674ea665751a64074f2af 100644 >--- a/JSTests/stress/int52-inlined-call-argument.js >+++ b/JSTests/stress/int52-inlined-call-argument.js >@@ -12,7 +12,7 @@ function bar(a, b) { > > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(2000000000, 2000000000); > if (result != 4000000001) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/int52-variable.js b/JSTests/stress/int52-variable.js >index 6188f8b7e0fc6e22636666a92462ab21530e4556..e947d98a89ae693defb790fb9dc31ed1fd731108 100644 >--- a/JSTests/stress/int52-variable.js >+++ b/JSTests/stress/int52-variable.js >@@ -11,7 +11,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1000000000); > if (result != 1000000000 * 2 + 1000000000 * 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/int8-repeat-out-of-bounds.js b/JSTests/stress/int8-repeat-out-of-bounds.js >index 0963e43d382a61d8ae5aa4df13dc427d3e713663..43f04d4699f2c22e4574a4036cb51255f0d632da 100644 >--- a/JSTests/stress/int8-repeat-out-of-bounds.js >+++ b/JSTests/stress/int8-repeat-out-of-bounds.js >@@ -10,7 +10,7 @@ noInline(foo); > > var array = new Int8Array(1); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(array); > > if (reoptimizationRetryCount(foo)) >diff --git a/JSTests/stress/invalidation-point.js b/JSTests/stress/invalidation-point.js >index 6f8b55c7c63befbf3c69e8a9d8c265f5e204a7bb..b6666cab92aff697c1428ab7950854d2f5350abd 100644 >--- a/JSTests/stress/invalidation-point.js >+++ b/JSTests/stress/invalidation-point.js >@@ -13,7 +13,7 @@ function possiblyDoBadThings(p) { > } > noInline(possiblyDoBadThings); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Thingy(), false); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/inverted-additive-subsumption.js b/JSTests/stress/inverted-additive-subsumption.js >index d41fd1fed95118b1f0e8fde6fc16d7b2d2ac5f73..23b0de3e8db9168c0c423a10c0d8060292e7de72 100644 >--- a/JSTests/stress/inverted-additive-subsumption.js >+++ b/JSTests/stress/inverted-additive-subsumption.js >@@ -4,7 +4,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(i); > if (result != (i + 1) * 2) > throw "Error: bad result for i = " + i + ": " + result; >diff --git a/JSTests/stress/is-undefined-exit-on-masquerader.js b/JSTests/stress/is-undefined-exit-on-masquerader.js >index 018271470ee272ffae21d6a6979e4276d4427769..4a338113a337bbbddd5c9386db6fc01d27de19c2 100644 >--- a/JSTests/stress/is-undefined-exit-on-masquerader.js >+++ b/JSTests/stress/is-undefined-exit-on-masquerader.js >@@ -21,7 +21,7 @@ function test(o, expected) { > throw new Error("bad result: " + result); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(void 0, true); > test(null, false); > test(42, false); >diff --git a/JSTests/stress/is-undefined-jettison-on-masquerader.js b/JSTests/stress/is-undefined-jettison-on-masquerader.js >index 70e09cc14f6bb5f2cabace0b75df55100b0a851c..c02ba936777a2b814a5e72f96922ff43c43a6166 100644 >--- a/JSTests/stress/is-undefined-jettison-on-masquerader.js >+++ b/JSTests/stress/is-undefined-jettison-on-masquerader.js >@@ -10,7 +10,7 @@ function test(o, expected) { > throw new Error("bad result: " + result); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(void 0, true); > test(null, false); > test(42, false); >diff --git a/JSTests/stress/is-undefined-masquerader.js b/JSTests/stress/is-undefined-masquerader.js >index fb6ba711d396c1e70df2edae53eec7f98c92d3b2..a63dfc8f78960d76ca4c768e99af02e1271fbd62 100644 >--- a/JSTests/stress/is-undefined-masquerader.js >+++ b/JSTests/stress/is-undefined-masquerader.js >@@ -10,7 +10,7 @@ function test(o, expected) { > throw new Error("bad result: " + result); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(void 0, true); > test(null, false); > test(42, false); >diff --git a/JSTests/stress/isInteger-doesnt-overwrite-argument.js b/JSTests/stress/isInteger-doesnt-overwrite-argument.js >index 4158ac83000dfb8f0c701e4aac54a1488689341a..ada5ea397ca6126945c8107b249f1b2e9dde8a0a 100644 >--- a/JSTests/stress/isInteger-doesnt-overwrite-argument.js >+++ b/JSTests/stress/isInteger-doesnt-overwrite-argument.js >@@ -6,7 +6,7 @@ function testIsInteger(arg) > return arg; > } > >-for (var i = 0; i < 100000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > var r = testIsInteger(13.37); > if (r === false) > throw "Wrong value returned from function calling Number.isInteger"; >diff --git a/JSTests/stress/isLockFree.js b/JSTests/stress/isLockFree.js >index 1f08a53529bcee165634a5f91a4b0a9fc0b97196..5cc62d04d53625463adc2507583f0620b54e888c 100644 >--- a/JSTests/stress/isLockFree.js >+++ b/JSTests/stress/isLockFree.js >@@ -35,7 +35,7 @@ function foo5(bytes) { > } > noInline(foo5); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(0); > if (result !== false) > throw new Error("Bad result: " + result); >diff --git a/JSTests/stress/istypedarrayview-intrinsic.js b/JSTests/stress/istypedarrayview-intrinsic.js >index 998a8f6a5d2547b988f78bf9760b029bcc38ca44..71c279276804153b3227a83c19cfdc27f6ba725e 100644 >--- a/JSTests/stress/istypedarrayview-intrinsic.js >+++ b/JSTests/stress/istypedarrayview-intrinsic.js >@@ -16,7 +16,7 @@ typedArrays.forEach(function() { > let bar = makeFn(true); > let view = new Int8Array(10); > >- for (i = 0; i < 100000; i++) { >+ for (i = 0; i < $vm.testingLoopCount; i++) { > if (!foo(view)) > throw new Error(i); > if (!bar(view)) >@@ -36,7 +36,7 @@ typedArrays.forEach(constructor1 => { > let view1 = new ${constructor1.name}(10); > let view2 = new ${constructor2.name}(10); > >- for (i = 0; i < 100000; i++) { >+ for (i = 0; i < $vm.testingLoopCount; i++) { > let view = i % 2 === 0 ? view1 : view2; > if (!foo(view)) > throw new Error(i); >@@ -52,7 +52,7 @@ typedArrays.forEach(constructor1 => { > let test = function() { > let foo = makeFn(); > let bar = makeFn(true); >- for (i = 0; i < 100000; i++) { >+ for (i = 0; i < $vm.testingLoopCount; i++) { > if (foo(true)) > throw new Error(i); > if (bar(true)) >@@ -65,7 +65,7 @@ test = function() { > let bar = makeFn(true); > let view = new Int8Array(10); > let obj = new DataView(new ArrayBuffer(10)); >- for (i = 0; i < 100000; i++) { >+ for (i = 0; i < $vm.testingLoopCount; i++) { > if (i % 2 === 0) { > if (!foo(view)) > throw new Error(i); >diff --git a/JSTests/stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js b/JSTests/stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js >index 3d488a56699b7271f9a5ff72bb1d3096e67776d2..1426be0b2b22761ea85551bd09697a7f94731c6c 100644 >--- a/JSTests/stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js >+++ b/JSTests/stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js >@@ -21,7 +21,7 @@ for (var i = 0; i < 10; ++i) > for (var i = 0; i < 10; ++i) > foo(true, o, 42); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/jit-cache-replace-then-cache-get-and-fold-then-invalidate.js b/JSTests/stress/jit-cache-replace-then-cache-get-and-fold-then-invalidate.js >index ccbdfd920ce036e71b51f58d03a050ab5b5b9ddf..63834ff3bafc8ad564da9575622a6b191dcd9041 100644 >--- a/JSTests/stress/jit-cache-replace-then-cache-get-and-fold-then-invalidate.js >+++ b/JSTests/stress/jit-cache-replace-then-cache-get-and-fold-then-invalidate.js >@@ -18,7 +18,7 @@ for (var i = 0; i < 10; ++i) > for (var i = 0; i < 10; ++i) > foo(true, 42); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/joined-strings-should-not-exceed-max-string-length.js b/JSTests/stress/joined-strings-should-not-exceed-max-string-length.js >index 4044b1bf11098656a754ddf485675ebaf0bd6ea3..5ffa9246b11876b1bdbc39b20e253ad15ad3b32d 100644 >--- a/JSTests/stress/joined-strings-should-not-exceed-max-string-length.js >+++ b/JSTests/stress/joined-strings-should-not-exceed-max-string-length.js >@@ -14,7 +14,7 @@ arr = [null,null,null,null]; > str = "xx"; > > try { >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > str = arr.join(str); > } catch (e) { > exception = e; >diff --git a/JSTests/stress/length-of-new-array-with-spread.js b/JSTests/stress/length-of-new-array-with-spread.js >index 215ee5559a44ccd88bac8952843f61fd729a3ce1..1bd2e6f75edf78709370b4b90cf482b8a8495824 100644 >--- a/JSTests/stress/length-of-new-array-with-spread.js >+++ b/JSTests/stress/length-of-new-array-with-spread.js >@@ -24,7 +24,7 @@ function baz(arg0, ...c) > } > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo(); > bar(1, 2, 3); > baz(0, 1, 2, 3, 4); >diff --git a/JSTests/stress/lexical-let-and-with-statement.js b/JSTests/stress/lexical-let-and-with-statement.js >index 9c39b9157ac8ba44ad53fd3479e1204c0424e43b..0f792e775dbbe00bebf05915dfbb3d2d089cdd76 100644 >--- a/JSTests/stress/lexical-let-and-with-statement.js >+++ b/JSTests/stress/lexical-let-and-with-statement.js >@@ -70,7 +70,7 @@ noInline(assert); > } > noInline(baz); > >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(); > bar(); > baz(); >diff --git a/JSTests/stress/lexical-let-global-not-captured-variables.js b/JSTests/stress/lexical-let-global-not-captured-variables.js >index 66a6890bb87b24cd234d986522165b9d0dcdff13..279c8cc3df302f58292c98439b7d14ad0cd9e666 100644 >--- a/JSTests/stress/lexical-let-global-not-captured-variables.js >+++ b/JSTests/stress/lexical-let-global-not-captured-variables.js >@@ -19,7 +19,7 @@ function foo(y) { > let x = 40; > assert(x === 40); > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > if (truth()) { > let y = 20; > let capY = function() { return y; } >diff --git a/JSTests/stress/lexical-let-not-strict-mode.js b/JSTests/stress/lexical-let-not-strict-mode.js >index 56f1f97aee95f137c721ea02cbc72c3c43237143..531406355d4d9cec3065170d8fdf801adf4b6c43 100644 >--- a/JSTests/stress/lexical-let-not-strict-mode.js >+++ b/JSTests/stress/lexical-let-not-strict-mode.js >@@ -33,7 +33,7 @@ function bar() { > function capX() { return x; } > } > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > shouldThrowTDZ(foo); > shouldThrowTDZ(bar); > } >@@ -119,7 +119,7 @@ function baz() { > } > } > >-for (var i = 0; i < 100; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(); > bar(); > baz(); >diff --git a/JSTests/stress/lexical-scoping-break-continue.js b/JSTests/stress/lexical-scoping-break-continue.js >index cb03127e84ea9b7bdb46f54136318573ec7cd7f7..718ea0ba6d2b71f48474667d3a710fcb4779e174 100644 >--- a/JSTests/stress/lexical-scoping-break-continue.js >+++ b/JSTests/stress/lexical-scoping-break-continue.js >@@ -64,9 +64,9 @@ noInline(assert); > let x = 20; > function capX() { return x; } > function foo() { >- loop1: for (var i = 0; i++ < 1000; ) { >+ loop1: for (var i = 0; i++ < $vm.testingLoopCount; ) { > //assert(x === 20); >- loop2: for (var j = 0; j++ < 1000; ) { >+ loop2: for (var j = 0; j++ < $vm.testingLoopCount; ) { > let y = 21; > let capY = function() { return y; } > assert(x === 20); >@@ -84,8 +84,8 @@ noInline(assert); > let x = 20; > function capX() { return x; } > function foo() { >- loop1: for (var i = 0; i++ < 1000; ) { >- loop2: for (var j = 0; j++ < 1000; ) { >+ loop1: for (var i = 0; i++ < $vm.testingLoopCount; ) { >+ loop2: for (var j = 0; j++ < $vm.testingLoopCount; ) { > let y = 21; > let capY = function() { return y; } > assert(x === 20); >@@ -102,10 +102,10 @@ noInline(assert); > let x = 20; > function capX() { return x; } > function foo() { >- loop1: for (var i = 0; i++ < 1000; ) { >+ loop1: for (var i = 0; i++ < $vm.testingLoopCount; ) { > let y = 21; > let capY = function() { return y; } >- loop2: for (var j = 0; j++ < 1000; ) { >+ loop2: for (var j = 0; j++ < $vm.testingLoopCount; ) { > let y = 21; > let capY = function() { return y; } > assert(x === 20); >@@ -122,11 +122,11 @@ noInline(assert); > let x = 20; > function capX() { return x; } > function foo() { >- loop1: for (var i = 0; i++ < 1000; ) { >+ loop1: for (var i = 0; i++ < $vm.testingLoopCount; ) { > assert(x === 20); > let y = 21; > let capY = function() { return y; } >- loop2: for (var j = 0; j++ < 1000; ) { >+ loop2: for (var j = 0; j++ < $vm.testingLoopCount; ) { > let y = 21; > let capY = function() { return y; } > assert(x === 20); >@@ -149,11 +149,11 @@ noInline(assert); > let x = 20; > function capX() { return x; } > function foo() { >- loop1: for (var i = 0; i++ < 1000; ) { >+ loop1: for (var i = 0; i++ < $vm.testingLoopCount; ) { > assert(x === 20); > let y = 21; > let capY = function() { return y; } >- loop2: for (var j = 0; j++ < 1000; ) { >+ loop2: for (var j = 0; j++ < $vm.testingLoopCount; ) { > let y = 21; > let capY = function() { return y; } > assert(x === 20); >@@ -178,11 +178,11 @@ noInline(assert); > let x = 20; > function capX() { return x; } > function foo() { >- loop1: for (var i = 0; i++ < 1000; ) { >+ loop1: for (var i = 0; i++ < $vm.testingLoopCount; ) { > assert(x === 20); > let y = 21; > let capY = function() { return y; } >- loop2: for (var j = 0; j++ < 1000; ) { >+ loop2: for (var j = 0; j++ < $vm.testingLoopCount; ) { > let y = 21; > let capY = function() { return y; } > assert(x === 20); >diff --git a/JSTests/stress/licm-no-pre-header-nested.js b/JSTests/stress/licm-no-pre-header-nested.js >index ef22558e14d76edb70fbea952baedaa8f73f308a..0c4a4838b94fc2145dfa3ab6f5c35dcbfbf28471 100644 >--- a/JSTests/stress/licm-no-pre-header-nested.js >+++ b/JSTests/stress/licm-no-pre-header-nested.js >@@ -19,5 +19,5 @@ function foo(array, y) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo([1, 2, 3], 42); >diff --git a/JSTests/stress/licm-no-pre-header.js b/JSTests/stress/licm-no-pre-header.js >index 2390c93239bf6f8113d3527dd591bf3a351cda69..8f54ea1b93dd7fc2e6868adaf3d6328398df65e6 100644 >--- a/JSTests/stress/licm-no-pre-header.js >+++ b/JSTests/stress/licm-no-pre-header.js >@@ -13,5 +13,5 @@ function foo(array) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo([1, 2, 3]); >diff --git a/JSTests/stress/licm-pre-header-cannot-exit-nested.js b/JSTests/stress/licm-pre-header-cannot-exit-nested.js >index b866747cc7f6092acb2144fc811e0404721c22b9..a512cb75cefe43eb8787e2473d6e8475a1cb1b16 100644 >--- a/JSTests/stress/licm-pre-header-cannot-exit-nested.js >+++ b/JSTests/stress/licm-pre-header-cannot-exit-nested.js >@@ -17,5 +17,5 @@ function foo(object, predicate) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo({array: [1, 2, 3]}, {valueOf: function() { return 42; }}); >diff --git a/JSTests/stress/licm-pre-header-cannot-exit.js b/JSTests/stress/licm-pre-header-cannot-exit.js >index 8a4262d75937198ba4d30a8c7b9fcd1c48cd60c4..8c4d11f06397523daf5417fd6cc6753f9352de9c 100644 >--- a/JSTests/stress/licm-pre-header-cannot-exit.js >+++ b/JSTests/stress/licm-pre-header-cannot-exit.js >@@ -15,5 +15,5 @@ function foo(object, predicate) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo({array: [1, 2, 3]}, {valueOf: function() { return 42; }}); >diff --git a/JSTests/stress/liveness-pruning-needed-for-osr-availability-eager.js b/JSTests/stress/liveness-pruning-needed-for-osr-availability-eager.js >index e6078b58002f6889ac79b1e1529a6c55b841138f..af5817d62e25b38c4806c5f824a67e6bac8e234f 100644 >--- a/JSTests/stress/liveness-pruning-needed-for-osr-availability-eager.js >+++ b/JSTests/stress/liveness-pruning-needed-for-osr-availability-eager.js >@@ -12,5 +12,5 @@ var blah = function () { > each([ {}, {} ], func); > }; > >-for (var i = 0; i < 1000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > blah(); >diff --git a/JSTests/stress/liveness-pruning-needed-for-osr-availability.js b/JSTests/stress/liveness-pruning-needed-for-osr-availability.js >index bd2538b8034aec20ca93a48b17d44ba57dca3355..67c10495bd1375645561cf825aece99aa9edf71e 100644 >--- a/JSTests/stress/liveness-pruning-needed-for-osr-availability.js >+++ b/JSTests/stress/liveness-pruning-needed-for-osr-availability.js >@@ -11,5 +11,5 @@ function foo() { > }; > noInline(foo); > >-for (var i = 0; i < 100000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > foo(); >diff --git a/JSTests/stress/llint-cache-replace-then-cache-get-and-fold-then-invalidate.js b/JSTests/stress/llint-cache-replace-then-cache-get-and-fold-then-invalidate.js >index c2884827c4618a9a036ca9abf477c7bff01bc0fb..9ca764cd62f79fe5f0b281f34ae10a3cb747a3e2 100644 >--- a/JSTests/stress/llint-cache-replace-then-cache-get-and-fold-then-invalidate.js >+++ b/JSTests/stress/llint-cache-replace-then-cache-get-and-fold-then-invalidate.js >@@ -14,7 +14,7 @@ noInline(bar); > foo(42); > foo(42); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/load-varargs-elimination-bounds-check-barely.js b/JSTests/stress/load-varargs-elimination-bounds-check-barely.js >index 83c1328fc1bfe16ea46c3a1c1c44ded58aa1d4e2..b5a4df564f5748ef9c8036b4a32e8a8dd7af1af3 100644 >--- a/JSTests/stress/load-varargs-elimination-bounds-check-barely.js >+++ b/JSTests/stress/load-varargs-elimination-bounds-check-barely.js >@@ -22,11 +22,11 @@ baz(true); > > // Warm up profiling in bar and foo. Convince this profiling that bar()'s varargs call will tend to > // pass a small number of arguments; >-for (var i = 0; i < 1000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar(1); > > // Now compile baz(), but don't run the bad code yet. >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > baz(false); > > // Finally, trigger the bug. >diff --git a/JSTests/stress/load-varargs-elimination-bounds-check.js b/JSTests/stress/load-varargs-elimination-bounds-check.js >index 0fd39075c15a294c8a589c48d04fcfed57bdf3ed..63c42cf99fc9d8c40defa43fbafc1b26f370d557 100644 >--- a/JSTests/stress/load-varargs-elimination-bounds-check.js >+++ b/JSTests/stress/load-varargs-elimination-bounds-check.js >@@ -22,11 +22,11 @@ baz(true); > > // Warm up profiling in bar and foo. Convince this profiling that bar()'s varargs call will tend to > // pass a small number of arguments; >-for (var i = 0; i < 1000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar(1); > > // Now compile baz(), but don't run the bad code yet. >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > baz(false); > > // Finally, trigger the bug. >diff --git a/JSTests/stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js b/JSTests/stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js >index 48deb0dba1c63acb76dca862558307e553c71b39..9f2f5ad2704482e42edfef8473c6f140781106cb 100644 >--- a/JSTests/stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js >+++ b/JSTests/stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js >@@ -15,7 +15,7 @@ function foo(a, b, c, d) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 7); > assert(r[0] === i+1); >diff --git a/JSTests/stress/load-varargs-then-inlined-call-and-exit-strict.js b/JSTests/stress/load-varargs-then-inlined-call-and-exit-strict.js >index 3618f8cbb3d3211340e6a072072f143e5c46c242..6db9f74f9dcf11610a59a1e385d9a013aab0e419 100644 >--- a/JSTests/stress/load-varargs-then-inlined-call-and-exit-strict.js >+++ b/JSTests/stress/load-varargs-then-inlined-call-and-exit-strict.js >@@ -32,7 +32,7 @@ function test(array) { > checkEqual(actual, expected); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > for (var j = 0; j < 1 + (i % 5); ++j) > array.push(j); >diff --git a/JSTests/stress/load-varargs-then-inlined-call-and-exit.js b/JSTests/stress/load-varargs-then-inlined-call-and-exit.js >index c378171e1d05a282e4997b34660687ac7d9900f7..444fb55dd4a39f4251cc0baaba3be5467045e332 100644 >--- a/JSTests/stress/load-varargs-then-inlined-call-and-exit.js >+++ b/JSTests/stress/load-varargs-then-inlined-call-and-exit.js >@@ -30,7 +30,7 @@ function test(array) { > checkEqual(actual, expected); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > for (var j = 0; j < 1 + (i % 5); ++j) > array.push(j); >diff --git a/JSTests/stress/load-varargs-then-inlined-call-exit-in-foo.js b/JSTests/stress/load-varargs-then-inlined-call-exit-in-foo.js >index ecb227cc790afe21c7602b3cd00af418e8307f7c..bca5fa7a68a8e66285324779bd4207d70ae37586 100644 >--- a/JSTests/stress/load-varargs-then-inlined-call-exit-in-foo.js >+++ b/JSTests/stress/load-varargs-then-inlined-call-exit-in-foo.js >@@ -36,7 +36,7 @@ var array = []; > array.push(42); > array.push(42.5); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > for (var j = 0; j < i % 6; ++j) > array.push(j); >diff --git a/JSTests/stress/load-varargs-then-inlined-call-inlined.js b/JSTests/stress/load-varargs-then-inlined-call-inlined.js >index 56d05269e4d2cdbf8667dba361b829200754555f..c0dda338f52c0a0902aa6651c4ee18fbf4a9e964 100644 >--- a/JSTests/stress/load-varargs-then-inlined-call-inlined.js >+++ b/JSTests/stress/load-varargs-then-inlined-call-inlined.js >@@ -34,7 +34,7 @@ function test(array) { > checkEqual(actual, expected); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > for (var j = 0; j < i % 6; ++j) > array.push(j); >diff --git a/JSTests/stress/load-varargs-then-inlined-call.js b/JSTests/stress/load-varargs-then-inlined-call.js >index 45e3ea1613c77288b5226e0270d8f8f17e0be261..5c874f4b1034140ac26a9bd8526d5d30ecee3049 100644 >--- a/JSTests/stress/load-varargs-then-inlined-call.js >+++ b/JSTests/stress/load-varargs-then-inlined-call.js >@@ -30,7 +30,7 @@ function test(array) { > checkEqual(actual, expected); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > for (var j = 0; j < i % 6; ++j) > array.push(j); >diff --git a/JSTests/stress/logical-not-masquerades.js b/JSTests/stress/logical-not-masquerades.js >index 0fd59bad89183286585bdcd3e98204f51c27688b..2f9fd69c6be580757bc4fa439caf70f7f6316650 100644 >--- a/JSTests/stress/logical-not-masquerades.js >+++ b/JSTests/stress/logical-not-masquerades.js >@@ -22,7 +22,7 @@ var tests = [ > [makeMasquerader(), false] > ]; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > for (var j = 0; j < tests.length; ++j) { > var input = tests[j][0]; > var expected = tests[j][1]; >diff --git a/JSTests/stress/make-dictionary-repatch.js b/JSTests/stress/make-dictionary-repatch.js >index 992283708e16264f9779e86ca9f63dd6712ad459..c8a8e18092cc5e02835a13499781f6226784ed64 100644 >--- a/JSTests/stress/make-dictionary-repatch.js >+++ b/JSTests/stress/make-dictionary-repatch.js >@@ -21,14 +21,14 @@ function make() { > return Object.create(p2); > } > >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(make()); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > p2["i" + i] = i; > p2.f = 43; > >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo({f:24}); > > var result = foo(make()); >diff --git a/JSTests/stress/make-large-string-jit-strcat.js b/JSTests/stress/make-large-string-jit-strcat.js >index 979d044a97196cb8fc14477f98016f49731e7caa..385bfe27b10127649d08217a36b9554141bca60b 100644 >--- a/JSTests/stress/make-large-string-jit-strcat.js >+++ b/JSTests/stress/make-large-string-jit-strcat.js >@@ -10,7 +10,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo("a", "b"); > > try { >diff --git a/JSTests/stress/make-large-string-jit.js b/JSTests/stress/make-large-string-jit.js >index dc8ed87727bfafe424c30811509c430bdb074b44..a8e156eced16da5b7f2e890e62537e2a36f65b1a 100644 >--- a/JSTests/stress/make-large-string-jit.js >+++ b/JSTests/stress/make-large-string-jit.js >@@ -9,7 +9,7 @@ function foo(a, b) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo("a", "b"); > > try { >diff --git a/JSTests/stress/make-rope-2.js b/JSTests/stress/make-rope-2.js >index f2a23ab55830bee15bdd944cc2d1e886256c1ca2..df0d34993a141590b4e7f02c97c6aef74dba23ae 100644 >--- a/JSTests/stress/make-rope-2.js >+++ b/JSTests/stress/make-rope-2.js >@@ -4,7 +4,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(" world"); > if (typeof result != "string") { > describe(result); >diff --git a/JSTests/stress/make-rope-3.js b/JSTests/stress/make-rope-3.js >index 3a852cc371abe48386a200c0c567c35c2acaec8d..a1968256b97f2b91cb531cf3aa5808279b7f1e64 100644 >--- a/JSTests/stress/make-rope-3.js >+++ b/JSTests/stress/make-rope-3.js >@@ -4,7 +4,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(" world"); > if (typeof result != "string") { > describe(result); >diff --git a/JSTests/stress/many-sunken-locals.js b/JSTests/stress/many-sunken-locals.js >index b50aee26992615f3805a1699531ed5837a828c9a..1f40f486c72bcb7124a8c281dfd27c145fb4b2df 100644 >--- a/JSTests/stress/many-sunken-locals.js >+++ b/JSTests/stress/many-sunken-locals.js >@@ -23,5 +23,5 @@ function buzz(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, > > noInline(buzz); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > buzz(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); >diff --git a/JSTests/stress/map-cse-correctness.js b/JSTests/stress/map-cse-correctness.js >index 02ceebb78e7ed46e487f3d9b2ec7e3550d80c851..891f6a84356c1f16ab32f6b065cc4914c7f94563 100644 >--- a/JSTests/stress/map-cse-correctness.js >+++ b/JSTests/stress/map-cse-correctness.js >@@ -22,7 +22,7 @@ noInline(testGet); > > function foo() { > let map = new Map; >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let key = i; > map.set(key, key); > let f = () => map.delete(key); >@@ -31,7 +31,7 @@ function foo() { > assert(first); > assert(!second); > } >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let key = i; > map.set(key, key); > let f = () => {}; >@@ -42,7 +42,7 @@ function foo() { > } > > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let key = i; > let value = {}; > map.set(key, value); >@@ -52,7 +52,7 @@ function foo() { > assert(first === value); > assert(second === undefined); > } >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let key = i; > let value = {}; > map.set(key, value); >diff --git a/JSTests/stress/map-iteration.js b/JSTests/stress/map-iteration.js >index c5130e3f72d2fb4581781f2fadb8de886273fdd1..a54ed9a07b6876c59cbf294205872204a6832cbe 100644 >--- a/JSTests/stress/map-iteration.js >+++ b/JSTests/stress/map-iteration.js >@@ -16,7 +16,7 @@ function test1() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test1(); > > function test2() { >@@ -37,7 +37,7 @@ function test2() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test2(); > > function test3() { >@@ -65,7 +65,7 @@ function test3() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test3(); > > function test4() { >@@ -84,7 +84,7 @@ function test4() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test4(); > > function test5() { >@@ -109,7 +109,7 @@ function test5() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test5(); > > function test6() { >@@ -171,7 +171,7 @@ function test9() { > assert(map.get(-0) === 50); > assert(map.get(+0) === 50); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test9(); > > function test10() { >@@ -181,7 +181,7 @@ function test10() { > assert(1/value === -Infinity); > } > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test10(); > > function test11() { >@@ -200,7 +200,7 @@ function test11() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test11(); > > function test12() { >@@ -219,7 +219,7 @@ function test12() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test12(); > > function test13() { >@@ -242,7 +242,7 @@ function test13() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test13(); > > function test14() { >@@ -265,7 +265,7 @@ function test14() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test14(); > > function test15() { >@@ -294,7 +294,7 @@ function test15() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test15(); > > function test16() { >@@ -323,7 +323,7 @@ function test16() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test16(); > > function test17() { >@@ -357,7 +357,7 @@ function test17() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test17(); > > function test18() { >@@ -391,5 +391,5 @@ function test18() { > assert(done); > assert(value === undefined); > } >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > test18(); >diff --git a/JSTests/stress/materialize-activation-referenced-from-phantom-function.js b/JSTests/stress/materialize-activation-referenced-from-phantom-function.js >index e0ed6295f80a3526693828c1f4e59cf0b24e11de..a4df0a987379da9a64c53304908059827dcf8d08 100644 >--- a/JSTests/stress/materialize-activation-referenced-from-phantom-function.js >+++ b/JSTests/stress/materialize-activation-referenced-from-phantom-function.js >@@ -36,7 +36,7 @@ function test(x) > throw "Error: bad result: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(0); > > test(2000000000); >diff --git a/JSTests/stress/materialize-object-referenced-from-phantom-object.js b/JSTests/stress/materialize-object-referenced-from-phantom-object.js >index cf29b947766000757c082b8aee2b8d67ce53e9ac..2f3b1dd44c9213634572d0187b1863577e2fe7c7 100644 >--- a/JSTests/stress/materialize-object-referenced-from-phantom-object.js >+++ b/JSTests/stress/materialize-object-referenced-from-phantom-object.js >@@ -30,7 +30,7 @@ function test(x) > throw "Error: bad result: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(0); > > test(2000000000); >diff --git a/JSTests/stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js b/JSTests/stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js >index 1c32353fb0a1d0e87e9898715600dc5527c69a8f..948d168d525e1c022d10b8f812975d85898a0830 100644 >--- a/JSTests/stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js >+++ b/JSTests/stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js >@@ -36,7 +36,7 @@ function test(x) > throw "Error: bad result: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(0); > > test(2000000000); >diff --git a/JSTests/stress/materialize-regexp-referenced-from-phantom-regexp.js b/JSTests/stress/materialize-regexp-referenced-from-phantom-regexp.js >index d11b9dd90bcd5312f53fc58a32046aa1d57cebca..e7caf013d7ff42ab31fa805f025238285f3a646a 100644 >--- a/JSTests/stress/materialize-regexp-referenced-from-phantom-regexp.js >+++ b/JSTests/stress/materialize-regexp-referenced-from-phantom-regexp.js >@@ -33,7 +33,7 @@ function test(x) > throw "Error: bad result: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(0); > > test(2000000000); >diff --git a/JSTests/stress/math-abs-positive.js b/JSTests/stress/math-abs-positive.js >index fc4e1646056b1352d3568b61822e3afb475ceb5b..1b4d81cd8c298a652424d9a3b85bad1fd5484be6 100644 >--- a/JSTests/stress/math-abs-positive.js >+++ b/JSTests/stress/math-abs-positive.js >@@ -4,7 +4,7 @@ function foo() { > return Math.abs(minus_three_quarters); > } > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > var result = foo(); > if (result < 0) > throw "Error: Math.abs returned a negative value."; >diff --git a/JSTests/stress/math-log-basics.js b/JSTests/stress/math-log-basics.js >index d6d1d142d3387a07a63d00348c252cf1aec94b33..0f4b2252d825ac435051840843dc3a2bc80b2823 100644 >--- a/JSTests/stress/math-log-basics.js >+++ b/JSTests/stress/math-log-basics.js >@@ -7,7 +7,7 @@ function logNaN(antilogarithm) { > noInline(logNaN); > > function testLogNaN() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logNaN(NaN); > if (!isNaN(result)) > throw "logNaN(NaN) = " + result + ", expected NaN"; >@@ -23,7 +23,7 @@ function logZero(antilogarithm) { > noInline(logZero); > > function testLogZero() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logZero(0); > if (result !== -Infinity) > throw "logZero(0) = " + result + ", expected -Infinity"; >@@ -39,7 +39,7 @@ function logOne(antilogarithm) { > noInline(logOne); > > function testLogOne() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logOne(1); > if (result !== 0) > throw "logOne(1) = " + result + ", expected 0"; >@@ -55,7 +55,7 @@ function logMinusOne(antilogarithm) { > noInline(logMinusOne); > > function testLogMinusOne() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logMinusOne(-1); > if (!isNaN(result)) > throw "logMinusOne(-1) = " + result + ", expected NaN"; >@@ -71,7 +71,7 @@ function logInfinity(antilogarithm) { > noInline(logInfinity); > > function testLogInfinity() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logInfinity(Infinity); > if (result !== Infinity) > throw "logInfinity(Infinity) = " + result + ", expected Infinity"; >@@ -87,7 +87,7 @@ function logMinusInfinity(antilogarithm) { > noInline(logMinusInfinity); > > function testLogMinusInfinity() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logMinusInfinity(-Infinity); > if (!isNaN(result)) > throw "logMinusInfinity(-Infinity) = " + result + ", expected NaN"; >@@ -103,7 +103,7 @@ function logInteger(antilogarithm) { > noInline(logInteger); > > function testLogInteger() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logInteger(42); > if (result !== 3.7376696182833684) > throw "logInteger(42) = " + result + ", expected 3.7376696182833684"; >@@ -119,7 +119,7 @@ function logDouble(antilogarithm) { > noInline(logDouble); > > function testLogDouble() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logDouble(Math.PI); > if (result !== 1.1447298858494002) > throw "logDouble(Math.PI) = " + result + ", expected 1.1447298858494002"; >diff --git a/JSTests/stress/math-log-with-constants.js b/JSTests/stress/math-log-with-constants.js >index c05a075484127da1b204755e1d4fff53866f8aad..5c2a109d40db495eee7c30b56dcdda71be660f65 100644 >--- a/JSTests/stress/math-log-with-constants.js >+++ b/JSTests/stress/math-log-with-constants.js >@@ -7,7 +7,7 @@ function logNaN() { > noInline(logNaN); > > function testLogNaN() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logNaN(); > if (!isNaN(result)) > throw "logNaN() = " + result + ", expected NaN"; >@@ -23,7 +23,7 @@ function logZero() { > noInline(logZero); > > function testLogZero() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logZero(); > if (result !== -Infinity) > throw "logZero() = " + result + ", expected -Infinity"; >@@ -39,7 +39,7 @@ function logOne() { > noInline(logOne); > > function testLogOne() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logOne(); > if (result !== 0) > throw "logOne(1) = " + result + ", expected 0"; >@@ -55,7 +55,7 @@ function logMinusOne() { > noInline(logMinusOne); > > function testLogMinusOne() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logMinusOne(); > if (!isNaN(result)) > throw "logMinusOne() = " + result + ", expected NaN"; >@@ -71,7 +71,7 @@ function logInfinity() { > noInline(logInfinity); > > function testLogInfinity() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logInfinity(); > if (result !== Infinity) > throw "logInfinity() = " + result + ", expected Infinity"; >@@ -87,7 +87,7 @@ function logMinusInfinity() { > noInline(logMinusInfinity); > > function testLogMinusInfinity() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logMinusInfinity(); > if (!isNaN(result)) > throw "logMinusInfinity() = " + result + ", expected NaN"; >@@ -103,7 +103,7 @@ function logInteger() { > noInline(logInteger); > > function testLogInteger() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logInteger(); > if (result !== 3.7376696182833684) > throw "logInteger() = " + result + ", expected 3.7376696182833684"; >@@ -119,7 +119,7 @@ function logDouble() { > noInline(logDouble); > > function testLogDouble() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = logDouble(); > if (result !== 1.1447298858494002) > throw "logDouble() = " + result + ", expected 1.1447298858494002"; >diff --git a/JSTests/stress/math-max-min-no-arguments.js b/JSTests/stress/math-max-min-no-arguments.js >index 3bf5b80d9e1a7136afad8b4a3b90d7d7a0230ce8..56b0cdf2ed19e96fa26d87732b515899c2e52519 100644 >--- a/JSTests/stress/math-max-min-no-arguments.js >+++ b/JSTests/stress/math-max-min-no-arguments.js >@@ -12,7 +12,7 @@ function max() { > } > > function test() { >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(min() === Infinity); > assert(max() === -Infinity); > } >diff --git a/JSTests/stress/math-pow-basics.js b/JSTests/stress/math-pow-basics.js >index 1f1ca1ef4d05054ac28aa108de9d844ae58e9482..a6e077422f3658727b23234a762182037a024e3f 100644 >--- a/JSTests/stress/math-pow-basics.js >+++ b/JSTests/stress/math-pow-basics.js >@@ -14,13 +14,13 @@ function mathPowDoubleInt1(x, y) { > noInline(mathPowDoubleInt1); > > function test1(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble1(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble1(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt1(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt1(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -39,13 +39,13 @@ function mathPowDoubleInt2(x, y) { > } > noInline(mathPowDoubleInt2); > function test2(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble2(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble2(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt2(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt2(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -64,13 +64,13 @@ function mathPowDoubleInt3(x, y) { > } > noInline(mathPowDoubleInt3); > function test3(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble3(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble3(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt3(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt3(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -90,13 +90,13 @@ function mathPowDoubleInt4(x, y) { > } > noInline(mathPowDoubleInt4); > function test4(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble4(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble4(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt4(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt4(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -116,13 +116,13 @@ function mathPowDoubleInt5(x, y) { > } > noInline(mathPowDoubleInt5); > function test5(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble5(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble5(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt5(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -142,13 +142,13 @@ function mathPowDoubleInt6(x, y) { > } > noInline(mathPowDoubleInt6); > function test6(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble6(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble6(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt6(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt6(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -168,13 +168,13 @@ function mathPowDoubleInt7(x, y) { > } > noInline(mathPowDoubleInt7); > function test7(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble7(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble7(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble7(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleDouble7(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -194,13 +194,13 @@ function mathPowDoubleInt8(x, y) { > } > noInline(mathPowDoubleInt8); > function test8(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble8(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble8(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt8(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt8(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -219,13 +219,13 @@ function mathPowDoubleInt9(x, y) { > } > noInline(mathPowDoubleInt9); > function test9(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble9(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble9(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt9(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt9(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -245,13 +245,13 @@ function mathPowDoubleInt10(x, y) { > } > noInline(mathPowDoubleInt10); > function test10(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble10(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt10(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -270,13 +270,13 @@ function mathPowDoubleInt11(x, y) { > } > noInline(mathPowDoubleInt11); > function test11(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble11(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt11(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >diff --git a/JSTests/stress/math-pow-becomes-custom-function.js b/JSTests/stress/math-pow-becomes-custom-function.js >index 8893acc5075ff9ecf803a6ca60222556bfad1801..f360f986bdd55aaae220452be27891c57cb6bc46 100644 >--- a/JSTests/stress/math-pow-becomes-custom-function.js >+++ b/JSTests/stress/math-pow-becomes-custom-function.js >@@ -5,11 +5,11 @@ noInline(mathPowWrapper); > > function testChangingMathPow() { > var result = 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > result += mathPowWrapper(3, 2); > } > Math.pow = function(a, b) { return a + b; } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > result += mathPowWrapper(3, 2); > } > if (result !== 140000) >diff --git a/JSTests/stress/math-pow-coherency.js b/JSTests/stress/math-pow-coherency.js >index 636032bcc0fc1141e5c8f78130b7f8f2d8881639..922a3c9c3b77a4d6b67d164e724ef4813e6e2df8 100644 >--- a/JSTests/stress/math-pow-coherency.js >+++ b/JSTests/stress/math-pow-coherency.js >@@ -46,7 +46,7 @@ var funs = [ > ]; > var tiers = ['jit', 'dfg', 'ftl']; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > for (var j in funs) { > var name = funs[j][0]; > var fun = funs[j][1]; >diff --git a/JSTests/stress/math-pow-integer-exponent-fastpath.js b/JSTests/stress/math-pow-integer-exponent-fastpath.js >index d606c44f9525587b105e6eb6a725b216cc1f3790..3f164b23f18f048c89cb160eccb4c7f121afb3b4 100644 >--- a/JSTests/stress/math-pow-integer-exponent-fastpath.js >+++ b/JSTests/stress/math-pow-integer-exponent-fastpath.js >@@ -13,13 +13,13 @@ function mathPowDoubleIntTestExponentFifty(x, y) { > } > noInline(mathPowDoubleIntTestExponentFifty); > function testExponentFifty(x, y, expected) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDoubleTestExponentFifty(x, y); > if (!valuesAreClose(result, expected)) > throw "Error: bad result, Math.pow(" + x + ", " + y + ") = " + result + " expected value close to " + expected; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleIntTestExponentFifty(x, integerY); > if (!valuesAreClose(result, expected)) > throw "Error: bad result, Math.pow(" + x + ", " + integerY + ") = " + result + " expected value close to " + expected; >@@ -39,13 +39,13 @@ function mathPowDoubleIntTestExponentTenThousands(x, y) { > } > noInline(mathPowDoubleIntTestExponentTenThousands); > function testExponentTenThousands(x, y, expected) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDoubleTestExponentTenThousands(x, y); > if (!valuesAreClose(result, expected)) > throw "Error: bad result, Math.pow(" + x + ", " + y + ") = " + result + " expected value close to " + expected; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleIntTestExponentTenThousands(x, integerY); > if (!valuesAreClose(result, expected)) > throw "Error: bad result, Math.pow(" + x + ", " + integerY + ") = " + result + " expected value close to " + expected; >diff --git a/JSTests/stress/math-pow-nan-behaviors.js b/JSTests/stress/math-pow-nan-behaviors.js >index d67a1f99fb6e51e383366ecad02ff29723db8eaa..17a9d2de715bc341fef2aff7668bd860de68d797 100644 >--- a/JSTests/stress/math-pow-nan-behaviors.js >+++ b/JSTests/stress/math-pow-nan-behaviors.js >@@ -1,11 +1,11 @@ > // If an argument is NaN, the result of Math.pow(x, y) is NaN. > function testIntegerBaseWithNaNExponentStatic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(5, NaN); > if (!isNaN(result)) > throw "Error: bad result, Math.pow(5, NaN) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(i, NaN); > if (!isNaN(result)) > throw "Error: bad result, Math.pow(i, NaN) = " + result + " with i = " + i; >@@ -20,13 +20,13 @@ function mathPowIntegerBaseWithNaNExponentDynamic(x, y) { > noInline(mathPowIntegerBaseWithNaNExponentDynamic); > function testIntegerBaseWithNaNExponentDynamic() { > // Warm up with 2 integers. >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowIntegerBaseWithNaNExponentDynamic(2, 5); > if (result !== 32) > throw "Error: bad result, mathPowIntegerBaseWithNaNExponentDynamic(2, 5) = " + result + ", expected 32." > } > >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowIntegerBaseWithNaNExponentDynamic(i, NaN); > if (!isNaN(result)) > throw "Error: bad result, mathPowIntegerBaseWithNaNExponentDynamic(i, NaN) = " + result + " with i = " + i + ", expected NaN"; >@@ -36,12 +36,12 @@ noInline(testIntegerBaseWithNaNExponentDynamic); > testIntegerBaseWithNaNExponentDynamic(); > > function testFloatingPointBaseWithNaNExponentStatic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(5.5, NaN); > if (!isNaN(result)) > throw "Error: bad result, Math.pow(5.5, NaN) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(i + 0.5, NaN); > if (!isNaN(result)) > throw "Error: bad result, Math.pow(i + 0.5, NaN) = " + result + " with i = " + i; >@@ -56,13 +56,13 @@ function mathPowFloatingPointBaseWithNaNExponentDynamic(x, y) { > noInline(mathPowFloatingPointBaseWithNaNExponentDynamic); > function testFloatingPointBaseWithNaNExponentDynamic() { > // Warm up with 2 double. >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowFloatingPointBaseWithNaNExponentDynamic(2.5, 5.1); > if (result !== 107.02717054543135) > throw "Error: bad result, mathPowFloatingPointBaseWithNaNExponentDynamic(2.5, 5.1) = " + result + ", expected 107.02717054543135." > } > >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowFloatingPointBaseWithNaNExponentDynamic(i + 0.5, NaN); > if (!isNaN(result)) > throw "Error: bad result, mathPowFloatingPointBaseWithNaNExponentDynamic(i + 0.5, NaN) = " + result + " with i = " + i + ", expected NaN"; >@@ -75,22 +75,22 @@ testFloatingPointBaseWithNaNExponentDynamic(); > // If y is -0, the result is 1, even if x is NaN. > // If x is NaN and y is nonzero, the result is NaN. > function testNaNBaseStatic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(NaN, i + 1); > if (!isNaN(result)) > throw "Error: bad result, Math.pow(NaN, i + 1) = " + result + " with i = " + i; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(NaN, i + 1.5); > if (!isNaN(result)) > throw "Error: bad result, Math.pow(NaN, i + 1.5) = " + result + " with i = " + i; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(NaN, 0); > if (result !== 1) > throw "Error: bad result, Math.pow(NaN, 0) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(NaN, -0); > if (result !== 1) > throw "Error: bad result, Math.pow(NaN, -0) = " + result; >@@ -116,22 +116,22 @@ noInline(mathPowNaNBaseDynamic2); > noInline(mathPowNaNBaseDynamic3); > noInline(mathPowNaNBaseDynamic4); > function testNaNBaseDynamic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowNaNBaseDynamic1(NaN, i + 1); > if (!isNaN(result)) > throw "Error: bad result, mathPowNaNBaseDynamic1(NaN, i + 1) = " + result + " with i = " + i; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowNaNBaseDynamic2(NaN, i + 1.5); > if (!isNaN(result)) > throw "Error: bad result, mathPowNaNBaseDynamic2(NaN, i + 1.5) = " + result + " with i = " + i; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowNaNBaseDynamic3(NaN, 0); > if (result !== 1) > throw "Error: bad result, mathPowNaNBaseDynamic3(NaN, 0) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowNaNBaseDynamic4(NaN, -0); > if (result !== 1) > throw "Error: bad result, mathPowNaNBaseDynamic4(NaN, -0) = " + result; >@@ -143,22 +143,22 @@ testNaNBaseDynamic(); > // If abs(x) is 1 and y is +Inf the result is NaN. > // If abs(x) is 1 and y is −Inf the result is NaN. > function infiniteExponentsStatic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(1, Number.POSITIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, Math.pow(1, Number.POSITIVE_INFINITY) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(-1, Number.POSITIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, Math.pow(-1, Number.POSITIVE_INFINITY) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(1, Number.NEGATIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, Math.pow(1, Number.NEGATIVE_INFINITY) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = Math.pow(-1, Number.NEGATIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, Math.pow(-1, Number.NEGATIVE_INFINITY) = " + result; >@@ -184,22 +184,22 @@ noInline(mathPowInfiniteExponentsDynamic2); > noInline(mathPowInfiniteExponentsDynamic3); > noInline(mathPowInfiniteExponentsDynamic4); > function infiniteExponentsDynamic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowInfiniteExponentsDynamic1(1, Number.POSITIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, mathPowInfiniteExponentsDynamic1(1, Number.POSITIVE_INFINITY) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowInfiniteExponentsDynamic2(-1, Number.POSITIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, mathPowInfiniteExponentsDynamic2(-1, Number.POSITIVE_INFINITY) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowInfiniteExponentsDynamic3(1, Number.NEGATIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, mathPowInfiniteExponentsDynamic3(1, Number.NEGATIVE_INFINITY) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowInfiniteExponentsDynamic4(-1, Number.NEGATIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, mathPowInfiniteExponentsDynamic4(-1, Number.NEGATIVE_INFINITY) = " + result; >diff --git a/JSTests/stress/math-pow-with-constants.js b/JSTests/stress/math-pow-with-constants.js >index 090f5b7728cc6de788094ba8d8957f5487053832..045e07131aa31b02df98af891b1d49398c17f67e 100644 >--- a/JSTests/stress/math-pow-with-constants.js >+++ b/JSTests/stress/math-pow-with-constants.js >@@ -4,12 +4,12 @@ function exponentIsZero(x) { > noInline(exponentIsZero); > > function testExponentIsZero() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsZero(5); > if (result !== 1) > throw "Error: zeroExponent(5) should be 1, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsZero(5.5); > if (result !== 1) > throw "Error: zeroExponent(5.5) should be 1, was = " + result; >@@ -24,12 +24,12 @@ function exponentIsOne(x) { > noInline(exponentIsOne); > > function testExponentIsOne() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsOne(5); > if (result !== 5) > throw "Error: exponentIsOne(5) should be 5, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsOne(5.5); > if (result !== 5.5) > throw "Error: exponentIsOne(5.5) should be 5.5, was = " + result; >@@ -156,27 +156,27 @@ noInline(doubleIntConstants); > > function testBaseAndExponentConstantLiterals() > { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = intIntConstantsSmallNumbers(); > if (result !== 74088) > throw "Error: intIntConstantsSmallNumbers() should be 74088, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = intIntConstantsLargeNumbers(); > if (result !== 1.5013093754529656e+68) > throw "Error: intIntConstantsLargeNumbers() should be 1.5013093754529656e+68, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = intDoubleConstants(); > if (result !== 5.1338303882015765e+48) > throw "Error: intDoubleConstants() should be 5.1338303882015765e+48, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = doubleDoubleConstants(); > if (result !== 1.0944228729647829e+48) > throw "Error: doubleDoubleConstants() should be 1.0944228729647829e+48, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = doubleIntConstants(); > if (result !== 5.989022735311158e+58) > throw "Error: doubleIntConstants() should be 5.989022735311158e+58, was = " + result; >@@ -191,17 +191,17 @@ function exponentIsIntegerConstant(x) { > noInline(exponentIsIntegerConstant); > > function testExponentIsIntegerConstant() { >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsIntegerConstant(2); > if (result !== 4398046511104) > throw "Error: exponentIsIntegerConstant(2) should be 4398046511104, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsIntegerConstant(5); > if (result !== 2.2737367544323207e+29) > throw "Error: exponentIsIntegerConstant(5) should be 2.2737367544323207e+29, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsIntegerConstant(2.1); > if (result !== 34135823067412.42) > throw "Error: exponentIsIntegerConstant(2.1) should be 34135823067412.42, was = " + result; >@@ -216,17 +216,17 @@ function exponentIsDoubleConstant(x) { > noInline(exponentIsDoubleConstant); > > function testExponentIsDoubleConstant() { >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsDoubleConstant(2); > if (result !== 6219777023950.95) > throw "Error: exponentIsDoubleConstant(2) should be 6219777023950.95, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsDoubleConstant(5); > if (result !== 5.084229945850415e+29) > throw "Error: exponentIsDoubleConstant(5) should be 5.084229945850415e+29, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsDoubleConstant(2.1); > if (result !== 49467507261113.805) > throw "Error: exponentIsDoubleConstant(2.1) should be 49467507261113.805, was = " + result; >@@ -241,17 +241,17 @@ function exponentIsInfinityConstant(x) { > noInline(exponentIsInfinityConstant); > > function testExponentIsInfinityConstant() { >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsInfinityConstant(2); > if (result !== Infinity) > throw "Error: exponentIsInfinityConstant(2) should be Infinity, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsInfinityConstant(5); > if (result !== Infinity) > throw "Error: exponentIsInfinityConstant(5) should be Infinity, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsInfinityConstant(2.1); > if (result !== Infinity) > throw "Error: exponentIsInfinityConstant(2.1) should be Infinity, was = " + result; >@@ -266,17 +266,17 @@ function exponentIsNegativeInfinityConstant(x) { > noInline(exponentIsNegativeInfinityConstant); > > function testExponentIsNegativeInfinityConstant() { >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsNegativeInfinityConstant(2); > if (result !== 0) > throw "Error: exponentIsNegativeInfinityConstant(2) should be zero, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsNegativeInfinityConstant(5); > if (result !== 0) > throw "Error: exponentIsNegativeInfinityConstant(5) should be zero, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsNegativeInfinityConstant(2.1); > if (result !== 0) > throw "Error: exponentIsNegativeInfinityConstant(2.1) should be zero, was = " + result; >diff --git a/JSTests/stress/math-pow-with-never-NaN-exponent.js b/JSTests/stress/math-pow-with-never-NaN-exponent.js >index d5d6bc0d639cbac9b7a689c17dd4fafbbd0246d5..485101dfdb1159524e988aab29c4000b69bf329c 100644 >--- a/JSTests/stress/math-pow-with-never-NaN-exponent.js >+++ b/JSTests/stress/math-pow-with-never-NaN-exponent.js >@@ -10,12 +10,12 @@ function exponentIsNonNanDouble2(x, doubleArray) { > noInline(exponentIsNonNanDouble2); > > function testExponentIsDoubleConstant() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsNonNanDouble1(2, 0); > if (result !== 21.112126572366314) > throw "Error: exponentIsNonNanDouble1(2, 0) should be 21.112126572366314, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsNonNanDouble2(3, [-1.5]); > if (result !== 0.19245008972987526) > throw "Error: exponentIsNonNanDouble2(3, [-1.5]) should be 0.19245008972987526, was = " + result; >diff --git a/JSTests/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js b/JSTests/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js >index 33325238d3c17d162780ea668ec3ba9fa437df84..445b0448479081f88969b749efd5089e404e0f7b 100644 >--- a/JSTests/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js >+++ b/JSTests/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js >@@ -8,7 +8,7 @@ function sqrtOnInteger(radicand) { > noInline(sqrtOnInteger); > > function testSquareRoot16() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = sqrtOnInteger(16); > if (result !== 4) > throw "sqrtOnInteger(16) = " + result + ", expected 4"; >@@ -31,7 +31,7 @@ function sqrtOnDouble(radicand) { > noInline(sqrtOnDouble); > > function testSquareRootDouble() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = sqrtOnInteger(Math.LN2); > if (result !== 0.8325546111576977) > throw "sqrtOnInteger(Math.LN2) = " + result + ", expected 0.8325546111576977"; >diff --git a/JSTests/stress/math-sqrt-basics.js b/JSTests/stress/math-sqrt-basics.js >index f19b752b5bec3d25f699ffe51ac002051ef5aa07..95f251af9edd0a97dee58b95fe67784be80de4d2 100644 >--- a/JSTests/stress/math-sqrt-basics.js >+++ b/JSTests/stress/math-sqrt-basics.js >@@ -5,7 +5,7 @@ function sqrtOnInteger(radicand) { > noInline(sqrtOnInteger); > > function testSquareRoot16() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = sqrtOnInteger(16); > if (result !== 4) > throw "sqrtOnInteger(16) = " + result + ", expected 4"; >@@ -28,7 +28,7 @@ function sqrtOnDouble(radicand) { > noInline(sqrtOnDouble); > > function testSquareRootDouble() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = sqrtOnInteger(Math.LN2); > if (result !== 0.8325546111576977) > throw "sqrtOnInteger(Math.LN2) = " + result + ", expected 0.8325546111576977"; >diff --git a/JSTests/stress/max-boolean-exit.js b/JSTests/stress/max-boolean-exit.js >index 66aee2593a84cacbc8d09dd993547fa595778062..a07bf6e22abc4094322e9bf457a7d891b6431d2c 100644 >--- a/JSTests/stress/max-boolean-exit.js >+++ b/JSTests/stress/max-boolean-exit.js >@@ -10,7 +10,7 @@ function test(a, b, c) { > throw "Error: expected " + c + " but got: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(true, 42, 42); > > // Now try some unexpected things, in descending order of possible badness. >diff --git a/JSTests/stress/misaligned-int8-view-byte-offset.js b/JSTests/stress/misaligned-int8-view-byte-offset.js >index 66882981272afa871628085d74e14ce367420e9d..ee1b5840105c0254f8175fe0eeb993a52e212879 100644 >--- a/JSTests/stress/misaligned-int8-view-byte-offset.js >+++ b/JSTests/stress/misaligned-int8-view-byte-offset.js >@@ -18,7 +18,7 @@ function foo(o) { > noInline(foo); > > var o = make(); >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result != 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/misaligned-int8-view-read.js b/JSTests/stress/misaligned-int8-view-read.js >index 25b9d8acebfc4560ab18f29a9c57bc8814fa8908..e0d627f557f9dfc709b54de11c0382cdf2c79f62 100644 >--- a/JSTests/stress/misaligned-int8-view-read.js >+++ b/JSTests/stress/misaligned-int8-view-read.js >@@ -18,7 +18,7 @@ function foo(o, i) { > noInline(foo); > > var o = make(); >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var index = i % o.length; > var result = foo(o, index); > if (result != index + 1) >diff --git a/JSTests/stress/misaligned-int8-view-write.js b/JSTests/stress/misaligned-int8-view-write.js >index 04bc5753c1ef160f0f705349609402d763dc4cfe..c4254a74695242fb7104562215f0e00080526f9d 100644 >--- a/JSTests/stress/misaligned-int8-view-write.js >+++ b/JSTests/stress/misaligned-int8-view-write.js >@@ -19,7 +19,7 @@ noInline(foo); > > var o = make(); > var real = new Int8Array(o.buffer); >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var index = i % o.length; > var value = i % 7; > foo(o, index, value); >diff --git a/JSTests/stress/misc-is-object-or-null.js b/JSTests/stress/misc-is-object-or-null.js >index e8968e545dc65c39e3e4f6c31f21ae951738ba8b..bf1336dd551235dfbc1949a495346155a4e1720d 100644 >--- a/JSTests/stress/misc-is-object-or-null.js >+++ b/JSTests/stress/misc-is-object-or-null.js >@@ -5,7 +5,7 @@ function foo(p) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var p = !!(i & 1); > var result = foo(p); > if (result !== p) >diff --git a/JSTests/stress/model-effects-properly-of-spread-over-phantom-create-rest.js b/JSTests/stress/model-effects-properly-of-spread-over-phantom-create-rest.js >index 287906d5bda2669bb9e7399a40c6d2bd650805e6..e551a1f3855c7d81503c068b7e0f78e0a0b354a3 100644 >--- a/JSTests/stress/model-effects-properly-of-spread-over-phantom-create-rest.js >+++ b/JSTests/stress/model-effects-properly-of-spread-over-phantom-create-rest.js >@@ -20,6 +20,6 @@ let o2 = { > } > }; > for (let i = 0; i < 1e5; ++i) { >- for (let j = 0; j < 100; j++) {} >+ for (let j = 0; j < $vm.testingLoopCount; j++) {} > f2(o2, 897989, 42, theObj); > } >diff --git a/JSTests/stress/modify-map-during-iteration.js b/JSTests/stress/modify-map-during-iteration.js >index 6261689cb52e9b4dfa7ba8d89395d91d2bfe48a3..48148ccc9fa984073e70339d65402c4e913843ee 100644 >--- a/JSTests/stress/modify-map-during-iteration.js >+++ b/JSTests/stress/modify-map-during-iteration.js >@@ -88,10 +88,10 @@ map.delete(1); > map.delete(2); > map.delete(3); > // It will cause MapData packing. >-for (var i = 5; i < 1000; ++i) >+for (var i = 5; i < $vm.testingLoopCount; ++i) > map.set(i, i); > gc(); >-for (var i = 4; i < 1000; ++i) >+for (var i = 4; i < $vm.testingLoopCount; ++i) > testValue(iter.next().value, i); > testValue(iter.next().value, undefined); > >diff --git a/JSTests/stress/modify-set-during-iteration.js b/JSTests/stress/modify-set-during-iteration.js >index a7398473912a70a193fcdc85304a9978addb8f81..766ef30a352751c7c48d6557f98da1646c495e8e 100644 >--- a/JSTests/stress/modify-set-during-iteration.js >+++ b/JSTests/stress/modify-set-during-iteration.js >@@ -82,10 +82,10 @@ set.delete(1); > set.delete(2); > set.delete(3); > // It will cause MapData packing. >-for (var i = 5; i < 1000; ++i) >+for (var i = 5; i < $vm.testingLoopCount; ++i) > set.add(i); > gc(); >-for (var i = 4; i < 1000; ++i) >+for (var i = 4; i < $vm.testingLoopCount; ++i) > testValue(iter.next().value, i); > testValue(iter.next().value, undefined); > >diff --git a/JSTests/stress/modules-syntax-error.js b/JSTests/stress/modules-syntax-error.js >index 51828def71760e470a2449631935d5f400f1fb68..7d84489c2aeb0658e82472b805b93da97b3a9dba 100644 >--- a/JSTests/stress/modules-syntax-error.js >+++ b/JSTests/stress/modules-syntax-error.js >@@ -122,7 +122,7 @@ checkModuleSyntaxError(String.raw` > `, `SyntaxError: Unexpected token '*'. import call expects exactly one argument.:3`); > > checkModuleSyntaxError(String.raw` >-for (var i = 0; i < 1000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > import * as from from "Cocoa" > } > `, `SyntaxError: Unexpected token '*'. import call expects exactly one argument.:3`); >@@ -294,7 +294,7 @@ checkModuleSyntaxError(String.raw` > `, `SyntaxError: Unexpected keyword 'export':3`); > > checkModuleSyntaxError(String.raw` >-for (var i = 0; i < 1000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > export * from "Cocoa" > } > `, `SyntaxError: Unexpected keyword 'export':3`); >diff --git a/JSTests/stress/mul-boolean-exit.js b/JSTests/stress/mul-boolean-exit.js >index ba5883c99e787f8bf7fc18ef2dc13bfe4f334ef3..6b89b6040a56acda1f26b51d9c043443beeb5988 100644 >--- a/JSTests/stress/mul-boolean-exit.js >+++ b/JSTests/stress/mul-boolean-exit.js >@@ -17,7 +17,7 @@ function test(a, b, c) { > throw "Error: expected " + c + " but got: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(true, 42, 42); > > // Now try some unexpected things, in descending order of possible badness. >diff --git a/JSTests/stress/multi-get-by-offset-dce.js b/JSTests/stress/multi-get-by-offset-dce.js >index bce1e823fcd8063c14a2f68f66a04254698f9937..d909bdc890cbdc41f5294f8f41723bee4c80af6b 100644 >--- a/JSTests/stress/multi-get-by-offset-dce.js >+++ b/JSTests/stress/multi-get-by-offset-dce.js >@@ -6,7 +6,7 @@ function foo(o) { > noInline(foo); > > var array = [{f:1}, {g:1, f:2}]; >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(array[i % array.length]); > if (result != 42) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/multi-get-by-offset-hoist-around-structure-check.js b/JSTests/stress/multi-get-by-offset-hoist-around-structure-check.js >index 5fbb919eab4862f451c71d1e277e03febc85bbee..d689192f95160a0d33fcced930c98ea8cd5dc4cf 100644 >--- a/JSTests/stress/multi-get-by-offset-hoist-around-structure-check.js >+++ b/JSTests/stress/multi-get-by-offset-hoist-around-structure-check.js >@@ -1,6 +1,6 @@ > function foo(o, start) { > var result = 0; >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > result += o.f; > return result; > } >@@ -13,11 +13,11 @@ var f = {}; > f.f = 43; > f.g = 44; > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > o.f = i; > o.f = 42; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var p; > if (i & 1) > p = o; >diff --git a/JSTests/stress/multi-get-by-offset-proto-and-self.js b/JSTests/stress/multi-get-by-offset-proto-and-self.js >index e4510b3f1ef60262810b2a5d48bbfd7fae14cdff..42931c46f8f5e86582087ca22a4e47935ceef327 100644 >--- a/JSTests/stress/multi-get-by-offset-proto-and-self.js >+++ b/JSTests/stress/multi-get-by-offset-proto-and-self.js >@@ -7,7 +7,7 @@ noInline(foo); > function Foo() { } > Foo.prototype.f = 42; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (i & 1) { > var result = foo(new Foo()); > if (result != 42) >diff --git a/JSTests/stress/multi-get-by-offset-proto-or-unset.js b/JSTests/stress/multi-get-by-offset-proto-or-unset.js >index 72bc25dc0f9e69f1fd40b437695a0c53ce1d040d..18e8c4238b7e1ec2ddbf8fa845d60b7ca9bfa134 100644 >--- a/JSTests/stress/multi-get-by-offset-proto-or-unset.js >+++ b/JSTests/stress/multi-get-by-offset-proto-or-unset.js >@@ -1,6 +1,6 @@ > function foo(o, start) { > var result = 0; >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > result += o.f; > return result; > } >@@ -11,11 +11,11 @@ var o = {}; > o.f = 42; > var f = {}; > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > o.f = i; > o.f = 42; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (foo(o) !== 4200) > throw new Error("bad result: " + result); > var result = foo(f); >diff --git a/JSTests/stress/multi-get-by-offset-proto-self-or-unset.js b/JSTests/stress/multi-get-by-offset-proto-self-or-unset.js >index 31556d56b607cbe14e1f0bec5c7181b675661cec..cc96c77d4fcb663a295457797da08dbf32f042fc 100644 >--- a/JSTests/stress/multi-get-by-offset-proto-self-or-unset.js >+++ b/JSTests/stress/multi-get-by-offset-proto-self-or-unset.js >@@ -1,6 +1,6 @@ > function foo(o, start) { > var result = 0; >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > result += o.f; > return result; > } >@@ -17,11 +17,11 @@ q.f = 42; > > var f = {}; > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > o.f = i; > o.f = 42; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > if (i % 100 === 0) { > let result = foo(q) > if (result !== 4200) >diff --git a/JSTests/stress/multi-put-by-offset-reallocation-butterfly-cse.js b/JSTests/stress/multi-put-by-offset-reallocation-butterfly-cse.js >index d283f3ff02dd3646a852a0f9518f227cb14096ae..757ffe812774e08640634319ec6484efef4118ba 100644 >--- a/JSTests/stress/multi-put-by-offset-reallocation-butterfly-cse.js >+++ b/JSTests/stress/multi-put-by-offset-reallocation-butterfly-cse.js >@@ -78,7 +78,7 @@ for (var i = 0; i < 8; ++i) > noInline(foos[i]); > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > var p = {a:1, b:2, c:3, d:4, e:5, f:6}; > o[0] = 0; >diff --git a/JSTests/stress/multi-put-by-offset-reallocation-cases.js b/JSTests/stress/multi-put-by-offset-reallocation-cases.js >index f8f386c1d5e2fe86efeb2b9847b4be666fb402a9..f605c4df04b6ee18f6d2e178c16c5137d574cb75 100644 >--- a/JSTests/stress/multi-put-by-offset-reallocation-cases.js >+++ b/JSTests/stress/multi-put-by-offset-reallocation-cases.js >@@ -78,7 +78,7 @@ for (var i = 0; i < 8; ++i) > noInline(foos[i]); > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > var p = {a:1, b:2, c:3, d:4, e:5, f:6}; > bar(o, i % 8); >diff --git a/JSTests/stress/multiple-files-tests/global-lexical-redefine-const/second.js b/JSTests/stress/multiple-files-tests/global-lexical-redefine-const/second.js >index 12337fe25cda1b732280c5fd2e05a9f145118a0f..0d2776f2675776c3b8a328463c752450c6a7c618 100644 >--- a/JSTests/stress/multiple-files-tests/global-lexical-redefine-const/second.js >+++ b/JSTests/stress/multiple-files-tests/global-lexical-redefine-const/second.js >@@ -10,7 +10,7 @@ function baz() { > destructureArr = 100; > } > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > shouldThrowInvalidConstAssignment(foo); > assert(constValue === "const"); > >diff --git a/JSTests/stress/multiple-files-tests/global-lexical-variable-tdz/second.js b/JSTests/stress/multiple-files-tests/global-lexical-variable-tdz/second.js >index 81dcedcdebedb2c0857400587cdbeab8cd4d5aed..ae580b0bbc2b98a3a6a99e40916c8132f2b5d7cc 100644 >--- a/JSTests/stress/multiple-files-tests/global-lexical-variable-tdz/second.js >+++ b/JSTests/stress/multiple-files-tests/global-lexical-variable-tdz/second.js >@@ -1,12 +1,12 @@ > >-for (var i = 0; i < 1000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > shouldThrowTDZ(foo); > > let lexicalVariableNotYetDefined = 100; > assert(foo() === lexicalVariableNotYetDefined); > > >-for (var i = 0; i < 1000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > shouldThrowTDZ(bar); > let lexicalVariableNotYetDefinedSecond = 200; > assert(bar() === 300); >diff --git a/JSTests/stress/multiple-files-tests/global-lexical-variable-unresolved-property/second.js b/JSTests/stress/multiple-files-tests/global-lexical-variable-unresolved-property/second.js >index f234b851947a72d402268b834ff17248ade94407..37c5e9fee12ff86bf7c9047199c57fd0e1734284 100644 >--- a/JSTests/stress/multiple-files-tests/global-lexical-variable-unresolved-property/second.js >+++ b/JSTests/stress/multiple-files-tests/global-lexical-variable-unresolved-property/second.js >@@ -1,13 +1,13 @@ > b = true; > let x = "x"; >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > assert(foo() === "x"); > assert(x === "x"); > } > > x = 20; > x = 40; >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > assert(foo() === 40); > assert(x === 40); > } >diff --git a/JSTests/stress/nan-equal-untyped.js b/JSTests/stress/nan-equal-untyped.js >index 7584d203298454b9af6f5d49fd7efd497368c882..cd10d376885c8c42dcae4de6fb6cd5dc329fe1e4 100644 >--- a/JSTests/stress/nan-equal-untyped.js >+++ b/JSTests/stress/nan-equal-untyped.js >@@ -10,7 +10,7 @@ function test(value) { > throw "Error: bad result for " + value + ": " + result; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(true); > test(4); > test("hello"); >diff --git a/JSTests/stress/nan-equal.js b/JSTests/stress/nan-equal.js >index eaf2b6e919da8fdb23efb706a879bdb64077c085..4667730605e9b030b530cac3a58551da1b9a752e 100644 >--- a/JSTests/stress/nan-equal.js >+++ b/JSTests/stress/nan-equal.js >@@ -4,7 +4,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(0/0); > if (result !== false) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/new-array-dead.js b/JSTests/stress/new-array-dead.js >index 617e4725ee88604397ef5a47756069e468940617..012fb6b43d2b09c49f38931079abbc8fb78a7ca7 100644 >--- a/JSTests/stress/new-array-dead.js >+++ b/JSTests/stress/new-array-dead.js >@@ -34,7 +34,7 @@ function foo(a, b, c) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1.5, 2.5, 3.5); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/new-array-having-a-bad-time-double.js b/JSTests/stress/new-array-having-a-bad-time-double.js >index 5ee4f6a3db79f393e9947c3e652b731abac514ef..c787114f706c34f0abcb3ecdaed19cd9c29623c3 100644 >--- a/JSTests/stress/new-array-having-a-bad-time-double.js >+++ b/JSTests/stress/new-array-having-a-bad-time-double.js >@@ -11,7 +11,7 @@ noInline(foo); > > Object.defineProperty(Object.prototype, "10000", {get() { return 20; }}); > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > let a = 10.5; > let b = 1.1; > let c = 1.2; >diff --git a/JSTests/stress/new-array-storage-array-with-size.js b/JSTests/stress/new-array-storage-array-with-size.js >index af3a239ef568f6666e3d4c856dff2ba4fc8af72c..d438b36273fea0fd25e2c6c0ad71969cc86f66c4 100644 >--- a/JSTests/stress/new-array-storage-array-with-size.js >+++ b/JSTests/stress/new-array-storage-array-with-size.js >@@ -5,7 +5,7 @@ function foo(x) { > noInline(foo); > > // Warm up up to create array storage. >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = foo(10); > array.__defineSetter__(0, function(v) { }); > } >@@ -24,6 +24,6 @@ function test(size) { > throw "Error: array is in wierd state: " + result; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(10); > } >diff --git a/JSTests/stress/new-array-then-exit.js b/JSTests/stress/new-array-then-exit.js >index 7c8a6901e84f77ba559df37d0808fea54ebee81b..8ff45673176fc279afc11ebff696ec0e42512f03 100644 >--- a/JSTests/stress/new-array-then-exit.js >+++ b/JSTests/stress/new-array-then-exit.js >@@ -4,7 +4,7 @@ function foo(f) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(Array); > > var didCall = false; >diff --git a/JSTests/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js b/JSTests/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js >index 8908bce17a32c383c149d7299fff263cf4e9b6ef..07c9bc794a71053559a8f4406e1a4a2005846d3e 100644 >--- a/JSTests/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js >+++ b/JSTests/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js >@@ -9,7 +9,7 @@ function bar(x) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(42); > if (result.length != 42) > throw "Error: bad result length: " + result; >diff --git a/JSTests/stress/new-array-with-size-with-bad-time.js b/JSTests/stress/new-array-with-size-with-bad-time.js >index f56774156f29cb91bdb59913af4591214b5476d1..2b9478a69152d7c279b15ceb0f9de4bb70048981 100644 >--- a/JSTests/stress/new-array-with-size-with-bad-time.js >+++ b/JSTests/stress/new-array-with-size-with-bad-time.js >@@ -29,6 +29,6 @@ function test(size) { > throw "Error: setter not called."; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(42); > } >diff --git a/JSTests/stress/new-contiguous-array-with-size.js b/JSTests/stress/new-contiguous-array-with-size.js >index d08a6f67e8195a5e254126987c9945bbe6c5d9c3..5bbcd028f6064db425cff180c5af382e5face04d 100644 >--- a/JSTests/stress/new-contiguous-array-with-size.js >+++ b/JSTests/stress/new-contiguous-array-with-size.js >@@ -24,7 +24,7 @@ function test(size) { > } > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(0); > test(1); > test(42); >diff --git a/JSTests/stress/new-double-array-with-size.js b/JSTests/stress/new-double-array-with-size.js >index 64f28ba64389cfc0a5e007db65eabf9b0ee7648a..3990ae500e0a9015c58c81766161a4fc6e9151e5 100644 >--- a/JSTests/stress/new-double-array-with-size.js >+++ b/JSTests/stress/new-double-array-with-size.js >@@ -18,7 +18,7 @@ function test(size) { > throw "Error: array is in wierd state: " + result; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(0); > test(1); > test(42); >diff --git a/JSTests/stress/new-function-expression-has-structures.js b/JSTests/stress/new-function-expression-has-structures.js >index ce0751a3a289d1e53dcc501964053b6dae3c37c4..bd5a1f4b3c882741cc097a8ed82a6109ec480b17 100644 >--- a/JSTests/stress/new-function-expression-has-structures.js >+++ b/JSTests/stress/new-function-expression-has-structures.js >@@ -6,6 +6,6 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(); > >diff --git a/JSTests/stress/new-int32-array-with-size.js b/JSTests/stress/new-int32-array-with-size.js >index 4f8c5db7207eda443c7f22b2b23165c11ef4f243..99c40e9aed9b5b9ec3d2316876da327363306207 100644 >--- a/JSTests/stress/new-int32-array-with-size.js >+++ b/JSTests/stress/new-int32-array-with-size.js >@@ -18,7 +18,7 @@ function test(size) { > throw "Error: array is in wierd state: " + result; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(0); > test(1); > test(42); >diff --git a/JSTests/stress/new-largeish-contiguous-array-with-size.js b/JSTests/stress/new-largeish-contiguous-array-with-size.js >index 05a2614a45b07114f0040f390a6e478f6ad450ea..3af7da681337ef667eff6b4f18d9c27783d4c1a2 100644 >--- a/JSTests/stress/new-largeish-contiguous-array-with-size.js >+++ b/JSTests/stress/new-largeish-contiguous-array-with-size.js >@@ -25,7 +25,7 @@ function test(size) { > > var result = gcHeapSize(); > >-for (var i = 0; i < 1000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > // The test was written when we found that large array allocations weren't being accounted for > // in that part of the GC's accounting that determined the GC trigger. Consequently, the GC > // would run too infrequently in this loop and we would use an absurd amount of memory when this >diff --git a/JSTests/stress/new-regex-inline.js b/JSTests/stress/new-regex-inline.js >index 22feeb5b1361e984f073d1a9a02acba88a2074c5..0116666a90cb3c2c3c5d6e1d36b238615ce11675 100644 >--- a/JSTests/stress/new-regex-inline.js >+++ b/JSTests/stress/new-regex-inline.js >@@ -4,7 +4,7 @@ function assert(a) { > } > > function testRegexpInline(functor) { >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > functor(); > } > >@@ -16,7 +16,7 @@ function testRegexpInline(functor) { > } > > // Checking if RegExp were collected >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > functor(); > } > } >diff --git a/JSTests/stress/new-typed-array-cse-effects.js b/JSTests/stress/new-typed-array-cse-effects.js >index 1f1914be679d5cedbbc687d8e68f26426733becf..10448c722c2ec88fcbd20a1650843ca968483df3 100644 >--- a/JSTests/stress/new-typed-array-cse-effects.js >+++ b/JSTests/stress/new-typed-array-cse-effects.js >@@ -11,7 +11,7 @@ noInline(foo); > var o = {f:42}; > o.f = 43; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}, [1, 2, 3]); > if (result != 84) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/new-undecided-array-with-size.js b/JSTests/stress/new-undecided-array-with-size.js >index b142c7e211dee3140726dfc7d9e10fa41f802f9d..9dc33343714a6aea2d5265e0e93dbd9d3e4a58b4 100644 >--- a/JSTests/stress/new-undecided-array-with-size.js >+++ b/JSTests/stress/new-undecided-array-with-size.js >@@ -15,7 +15,7 @@ function test(size) { > throw "Error: array is in bad state: " + result; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(0); > test(1); > test(42); >diff --git a/JSTests/stress/no-abc-skippy-loop.js b/JSTests/stress/no-abc-skippy-loop.js >index 67d867ed807057b80dbf0bbc7f1e0ac00655216e..fa471fa6e626a810ab1918990cd0422e9fb82230 100644 >--- a/JSTests/stress/no-abc-skippy-loop.js >+++ b/JSTests/stress/no-abc-skippy-loop.js >@@ -12,7 +12,7 @@ function foo(array) { > noInline(foo); > > var array = [1, 2, 3, 4]; >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(array); > if (result != 4) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/no-abc-skippy-paired-loop.js b/JSTests/stress/no-abc-skippy-paired-loop.js >index 8bf8dd94df18eb92fd89b00c9927e70757ebef5e..c62915d42baac027f6f41457ba62da6c676c19a0 100644 >--- a/JSTests/stress/no-abc-skippy-paired-loop.js >+++ b/JSTests/stress/no-abc-skippy-paired-loop.js >@@ -8,7 +8,7 @@ function foo(array) { > noInline(foo); > > var array = [1, 2, 3, 4]; >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(array); > if (result != 10) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/not-cell-use.js b/JSTests/stress/not-cell-use.js >index c4a2bdb6bb9501bd108cc00d10b2cd2066020dc2..4c1cd2b985467a0b998b1dc648444acc35b5e7bf 100644 >--- a/JSTests/stress/not-cell-use.js >+++ b/JSTests/stress/not-cell-use.js >@@ -16,7 +16,7 @@ function bar(o) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar({ > f:i * 3, g:i - 1, h:(i / 2)|0, i:-i, j:13 + ((i / 5)|0), k:14 - ((i / 6)|0), > l:1 - i}); >diff --git a/JSTests/stress/number-is-finite.js b/JSTests/stress/number-is-finite.js >index 887efb97a1f2d4644736da2fd72dc05df4cb6d3f..821ebeaea9546ec3f0a33dc9c50ee6b09b8da1b5 100644 >--- a/JSTests/stress/number-is-finite.js >+++ b/JSTests/stress/number-is-finite.js >@@ -21,7 +21,7 @@ function test2(i) > noInline(test2); > > // Emit DoubleRep. >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test2(i); > > >@@ -33,5 +33,5 @@ function test3(i) > noInline(test3); > > // Emit IsNumber. >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test3(i); >diff --git a/JSTests/stress/number-is-integer-intrinsic.js b/JSTests/stress/number-is-integer-intrinsic.js >index 788d6b228d83bada1a6f587fb35be55c355705e4..8c1d2f91cdf48eba5dd6abd0a31016ecf11e044f 100644 >--- a/JSTests/stress/number-is-integer-intrinsic.js >+++ b/JSTests/stress/number-is-integer-intrinsic.js >@@ -30,7 +30,7 @@ let interestingValues = [ > [-Number.MAX_VALUE, true], > ]; > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let [value, result] of interestingValues) { > assert(onlyDouble(value) === result); > } >@@ -51,7 +51,7 @@ function generic(x) { > } > noInline(generic); > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let [value, result] of interestingValues) { > assert(generic(value) === result); > } >@@ -62,10 +62,10 @@ function onlyInts(x) { > } > noInline(onlyInts); > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > assert(onlyInts(i) === true); > } >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let [value, result] of interestingValues) { > assert(onlyInts(value) === result); > } >diff --git a/JSTests/stress/number-is-nan.js b/JSTests/stress/number-is-nan.js >index de4812ef69bb12a88a0887644926c1e4ccf0f0c2..c7638ebe300f8d452661772019e230cf6004bf7c 100644 >--- a/JSTests/stress/number-is-nan.js >+++ b/JSTests/stress/number-is-nan.js >@@ -21,7 +21,7 @@ function test2(i) > noInline(test2); > > // Emit DoubleRep. >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test2(i); > > >@@ -34,5 +34,5 @@ function test3(i) > noInline(test3); > > // Emit IsNumber. >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test3(i); >diff --git a/JSTests/stress/numeric-setter-on-prototype-non-blank-array.js b/JSTests/stress/numeric-setter-on-prototype-non-blank-array.js >index eb44ed7b561529ae7acca2b2f8c07e6832d18d91..87f2e841e772d602e3c78ea3b71775345ba3d9f6 100644 >--- a/JSTests/stress/numeric-setter-on-prototype-non-blank-array.js >+++ b/JSTests/stress/numeric-setter-on-prototype-non-blank-array.js >@@ -21,7 +21,7 @@ class Trace { > } > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var t3 = new Trace(); > > var object = { 2: 2, 4: 4 }; >diff --git a/JSTests/stress/numeric-setter-on-prototype.js b/JSTests/stress/numeric-setter-on-prototype.js >index 17e0b3c9fe330032b877f6018025f817ffed076f..6e7d4d19c7a56c430104049d58f1552fb14e9e3b 100644 >--- a/JSTests/stress/numeric-setter-on-prototype.js >+++ b/JSTests/stress/numeric-setter-on-prototype.js >@@ -21,7 +21,7 @@ class Trace { > } > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var t0 = new Trace(); > > shouldBe(t0.count, 0); >diff --git a/JSTests/stress/numeric-setter-on-self.js b/JSTests/stress/numeric-setter-on-self.js >index 5b19460f153c6a9e1af2a1736a319c032d69a325..d674e3bd7dccc955525ac749be7bf7a729cc4439 100644 >--- a/JSTests/stress/numeric-setter-on-self.js >+++ b/JSTests/stress/numeric-setter-on-self.js >@@ -21,7 +21,7 @@ class Trace { > } > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var t0 = new Trace(); > > shouldBe(t0.count, 0); >diff --git a/JSTests/stress/object-add.js b/JSTests/stress/object-add.js >index c486e82385300045e7950962d612f274105d5b66..bca6664269d5e91ce37c4331d0d9aa64f7a6dc07 100644 >--- a/JSTests/stress/object-add.js >+++ b/JSTests/stress/object-add.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [{valueOf: function() { return 4; }}]; > var results = [5]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 1); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js b/JSTests/stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js >index 374b3b0ab7141a853dc6bc9025199963e60a5ae8..a253111fdfb9a6dff55f033d0b362dabae6c2203 100644 >--- a/JSTests/stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js >+++ b/JSTests/stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js >@@ -36,7 +36,7 @@ function foo(p) { > } > noInline(foo); > >-for (var i = 0; i < 10000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > foo(true); > > // A reduced version: >@@ -48,6 +48,6 @@ function foo2(p) { > } > noInline(foo2); > >-for (var i = 0; i < 10000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > foo2(true); > >diff --git a/JSTests/stress/object-bit-and.js b/JSTests/stress/object-bit-and.js >index e90ade20bb94f074a4f82a2787cbda4c34ae338d..6a13867ac5bd9c75839d8b5342dac9c51dda2087 100644 >--- a/JSTests/stress/object-bit-and.js >+++ b/JSTests/stress/object-bit-and.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [{valueOf: function() { return 6; }}]; > var results = [2]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 10); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/object-bit-or.js b/JSTests/stress/object-bit-or.js >index bfbd42e6c1064403607e721905ee8db904e7be0f..f8042839ea2e9dfd0b0df5a12781217d40e646dc 100644 >--- a/JSTests/stress/object-bit-or.js >+++ b/JSTests/stress/object-bit-or.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [{valueOf: function() { return 6; }}]; > var results = [14]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 10); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/object-bit-xor.js b/JSTests/stress/object-bit-xor.js >index 356004dcbd15c19e6de848d6b68cb4c5f430b37f..2e898c123f6189eab29f718974e59aafba349e9b 100644 >--- a/JSTests/stress/object-bit-xor.js >+++ b/JSTests/stress/object-bit-xor.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [{valueOf: function() { return 6; }}]; > var results = [12]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 10); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/object-div.js b/JSTests/stress/object-div.js >index ea91b53704355fc03bee70b3e358f3a868a73573..ab7cc86f86c7c5edc38d4f49e1d227ccc8062d3e 100644 >--- a/JSTests/stress/object-div.js >+++ b/JSTests/stress/object-div.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [{valueOf: function() { return 4; }}]; > var results = [2]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 2); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/object-escapes-in-loop.js b/JSTests/stress/object-escapes-in-loop.js >index 196f72fe8377bd52115716bd3d833778f9b11014..0bf42c12edf06163eb743e9e7767f811f70178ad 100644 >--- a/JSTests/stress/object-escapes-in-loop.js >+++ b/JSTests/stress/object-escapes-in-loop.js >@@ -1,7 +1,7 @@ > function foo(p) { > var o = {}; > if (p) { >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > bar(o); > } > return 42; >@@ -13,5 +13,5 @@ function bar() { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(true); >diff --git a/JSTests/stress/object-lshift.js b/JSTests/stress/object-lshift.js >index a30cd715dfd4ea7ba74915904532bd8778e287ee..5a4cc6905a93a8bd720beb0154691c3a284ced0a 100644 >--- a/JSTests/stress/object-lshift.js >+++ b/JSTests/stress/object-lshift.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [{valueOf: function() { return 4; }}]; > var results = [8]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 1); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/object-mul.js b/JSTests/stress/object-mul.js >index 23ec8463106a8d4f8c0a9257e2345a1172ce9cfd..13d6b353a08b9f828162522731fd9cd867e37a8c 100644 >--- a/JSTests/stress/object-mul.js >+++ b/JSTests/stress/object-mul.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [{valueOf: function() { return 4; }}]; > var results = [8]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 2); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/object-number-properties.js b/JSTests/stress/object-number-properties.js >index 2c0daccd9cbbc1255a164ce6cee0aaa14e67ee1e..62c7c038fdc33cb5f8ec65bcdce6fe39766a956c 100644 >--- a/JSTests/stress/object-number-properties.js >+++ b/JSTests/stress/object-number-properties.js >@@ -59,7 +59,7 @@ var boo = function () { > }; > }; > >-for (var i = 0; i < 10000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > const b = boo(); > const keys = Object.keys(b); > const values = Object.values(b); >diff --git a/JSTests/stress/object-rshift.js b/JSTests/stress/object-rshift.js >index 7aa56b5617d4e2e7f938d72a9cdd6ca5c1a5b9ad..44a664668950d81015ed7cca33713af981c81656 100644 >--- a/JSTests/stress/object-rshift.js >+++ b/JSTests/stress/object-rshift.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [{valueOf: function() { return -4; }}]; > var results = [-2]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 1); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/object-sub.js b/JSTests/stress/object-sub.js >index 69a14ad30beafee2545871afaf1bba4fd1c71738..779f8ea558085503fa1922ba32f00df39d1b3f6a 100644 >--- a/JSTests/stress/object-sub.js >+++ b/JSTests/stress/object-sub.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [{valueOf: function() { return 4; }}]; > var results = [3]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 1); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/object-urshift.js b/JSTests/stress/object-urshift.js >index 8517cc15f8e5ad7781015e3bb953fcd4554792f9..e3783aaf41ea4c81d15c253e9009ad494b77e39f 100644 >--- a/JSTests/stress/object-urshift.js >+++ b/JSTests/stress/object-urshift.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [{valueOf: function() { return -4; }}]; > var results = [2147483646]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 1); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/op-add-exceptions.js b/JSTests/stress/op-add-exceptions.js >index fc1ccd6c697ee025628419297870e19117237f7a..3ff3878dcfa3f5ec51d9f4194b73297642ffc231 100644 >--- a/JSTests/stress/op-add-exceptions.js >+++ b/JSTests/stress/op-add-exceptions.js >@@ -31,12 +31,12 @@ function foo(arg1, arg2) { > } > noInline(foo); > >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(i, {}); > foo({}, i); > } > foo(oException, oException); >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(i, {}); > foo({}, i); > } >@@ -67,12 +67,12 @@ function bar(arg1, arg2) { > } > noInline(bar); > >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > bar(i, {}); > bar({}, i); > } > bar(oException, oException); >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > bar(i, {}); > bar({}, i); > } >diff --git a/JSTests/stress/operation-get-by-val-default-should-not-called-for-already-optimized-site.js b/JSTests/stress/operation-get-by-val-default-should-not-called-for-already-optimized-site.js >index d9e24c36dfb8089d0f4c4f3f15af50017b91db37..fd09f3a9b4e39a45a0a8c6f2a4661b9b1f6c0b28 100644 >--- a/JSTests/stress/operation-get-by-val-default-should-not-called-for-already-optimized-site.js >+++ b/JSTests/stress/operation-get-by-val-default-should-not-called-for-already-optimized-site.js >@@ -3,7 +3,7 @@ function hello(object, name) > return object[name]; > } > noInline(hello); >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > hello([0,1,2,3], 1); > hello([0.1,0.2,0.3,0.4], 1); > hello('string', 1); >diff --git a/JSTests/stress/osr-enter-to-catch-with-set-local-type-check-failure.js b/JSTests/stress/osr-enter-to-catch-with-set-local-type-check-failure.js >index e357a2da4573e26cfc864a82bcd7ff3bb578783c..6a4f67dc9564e28743b08b87b87991cb5b67220a 100644 >--- a/JSTests/stress/osr-enter-to-catch-with-set-local-type-check-failure.js >+++ b/JSTests/stress/osr-enter-to-catch-with-set-local-type-check-failure.js >@@ -34,5 +34,5 @@ for (let i = 0; i < 2000; ++i) { > } > > flag = false; >-for (let i = 0; i < 1000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > bar(); >diff --git a/JSTests/stress/osr-exit-on-op-negate-should-no-fail-assertions.js b/JSTests/stress/osr-exit-on-op-negate-should-no-fail-assertions.js >index 708de6375d9ddceab9c1f0287ce9b62eca2e0739..0570903f14ee67c4d3c20004088ae25130d16211 100644 >--- a/JSTests/stress/osr-exit-on-op-negate-should-no-fail-assertions.js >+++ b/JSTests/stress/osr-exit-on-op-negate-should-no-fail-assertions.js >@@ -17,6 +17,6 @@ function test(y) { > } > noInline(test); > >-for (var i = 0; i < 1000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > test([false, -Infinity, Infinity, 0x50505050, undefined]); > } >diff --git a/JSTests/stress/other-is-object-or-null.js b/JSTests/stress/other-is-object-or-null.js >index 81c0b0ae965ef62f61c15e1fd7c8d2b756e18e35..4fb4421356d77792da3610b62d9f16359422dee0 100644 >--- a/JSTests/stress/other-is-object-or-null.js >+++ b/JSTests/stress/other-is-object-or-null.js >@@ -5,7 +5,7 @@ function foo(p) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var p = !!(i & 1); > var result = foo(p); > if (result !== p) >diff --git a/JSTests/stress/parameter-scoping.js b/JSTests/stress/parameter-scoping.js >index 0fb5deb3bf6bfe7df31ef9fb8b79d89999009c42..554fa4344b6cf431fc8f4e88aea927717f11fcda 100644 >--- a/JSTests/stress/parameter-scoping.js >+++ b/JSTests/stress/parameter-scoping.js >@@ -4,7 +4,7 @@ function assert(b) { > } > > function test(f) { >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > f(); > } > >diff --git a/JSTests/stress/parse-int-intrinsic-dfg-backend-flush.js b/JSTests/stress/parse-int-intrinsic-dfg-backend-flush.js >index b66057c16472b1f86cd3b660789987a1702554b7..4a1e75aa4994544ad03e3ab611c16b861ec95b82 100644 >--- a/JSTests/stress/parse-int-intrinsic-dfg-backend-flush.js >+++ b/JSTests/stress/parse-int-intrinsic-dfg-backend-flush.js >@@ -8,7 +8,7 @@ function foo(x) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(!foo(`${i}`)); > assert(foo(i)); > } >diff --git a/JSTests/stress/parse-int-intrinsic.js b/JSTests/stress/parse-int-intrinsic.js >index 9be1a4dda416b827c178da18f0c454d83375db6e..85589b0c8109ed89bfb3396e19ae1d7cb7c99fed 100644 >--- a/JSTests/stress/parse-int-intrinsic.js >+++ b/JSTests/stress/parse-int-intrinsic.js >@@ -13,7 +13,7 @@ function testIntrinsic(radix) { > return parseInt(n, ${radix}); > } > noInline(foo); >- for (let i = 0; i < 10000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo(i) === i); > assert(foo("20") === 20); > } >@@ -32,7 +32,7 @@ function testIntrinsic2() { > } > noInline(baz); > >- for (let i = 0; i < 100000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > assert(baz(i) === parseInt("0x" + i)); > } > noDFG(testIntrinsic2); >@@ -44,7 +44,7 @@ function testIntrinsic3() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo(i + "") === i + 1); > } > noDFG(testIntrinsic3); >@@ -56,7 +56,7 @@ function testIntrinsic4() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo(i + "") === i + 1); > } > testIntrinsic4(); >@@ -67,7 +67,7 @@ function testIntrinsic5() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo(i + "") === i + 1); > } > testIntrinsic5(); >@@ -78,7 +78,7 @@ function testIntrinsic6() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo(i + "") === (parseInt("0x" + i) + 1)); > } > noDFG(testIntrinsic6); >@@ -90,7 +90,7 @@ function testIntrinsic7() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo(i + "") === (parseInt("0x" + i) * 2)); > } > noDFG(testIntrinsic7); >diff --git a/JSTests/stress/path-sensitive-known-cell-crash.js b/JSTests/stress/path-sensitive-known-cell-crash.js >index cc655f4c21c3aa2aa9f9d26880ab77669f755f4a..ec7becbc9a786cf300666552d3b42569be740859 100644 >--- a/JSTests/stress/path-sensitive-known-cell-crash.js >+++ b/JSTests/stress/path-sensitive-known-cell-crash.js >@@ -13,7 +13,7 @@ function foo(o) { > noInline(foo); > > // Warm up foo with some different object types. >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo({f:{k:0, f:1}}); > foo({g:1, f:{l: -1, f:2, g:3}}); > foo({h:2, f:null}); >diff --git a/JSTests/stress/phantom-arguments-set-local-then-exit-in-same-block.js b/JSTests/stress/phantom-arguments-set-local-then-exit-in-same-block.js >index fe64414bf58a35c3da6291a270f16f29420e7b76..1ea4aacfa68366954828d47316d88f7142f28237 100644 >--- a/JSTests/stress/phantom-arguments-set-local-then-exit-in-same-block.js >+++ b/JSTests/stress/phantom-arguments-set-local-then-exit-in-same-block.js >@@ -8,7 +8,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo({f:42}, 1, 2, 3); > > var result = foo({g:40, f:41}, 1, 2.5, 3); >diff --git a/JSTests/stress/phantom-direct-arguments-clobber-argument-count.js b/JSTests/stress/phantom-direct-arguments-clobber-argument-count.js >index eb504772f58ae0532e9177660e45d6fa59c55102..66a80a6e7f3b0d9aa532f1a1298ec7f6dafc6f19 100644 >--- a/JSTests/stress/phantom-direct-arguments-clobber-argument-count.js >+++ b/JSTests/stress/phantom-direct-arguments-clobber-argument-count.js >@@ -9,7 +9,7 @@ function bar(a, b) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = "" + bar(1, []); > if (result != "1,1,1,1,1,1,1,1,43") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/phantom-direct-arguments-clobber-callee.js b/JSTests/stress/phantom-direct-arguments-clobber-callee.js >index 70588f8d69e1617ca447e93f44fb52336a42789d..f7088fa06dbfb8425cc339bfe3df735cbb731f50 100644 >--- a/JSTests/stress/phantom-direct-arguments-clobber-callee.js >+++ b/JSTests/stress/phantom-direct-arguments-clobber-callee.js >@@ -10,7 +10,7 @@ function bar(a) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = "" + bar(1); > if (result != "42,42,42,42,42,42,42,42,43") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/phantom-inadequacy.js b/JSTests/stress/phantom-inadequacy.js >index bb72e22d3469ceff3d0779c1bdc51c6b5e59bdd0..65ded3fbe2cb3c68e459f2582e817524dd1b8728 100644 >--- a/JSTests/stress/phantom-inadequacy.js >+++ b/JSTests/stress/phantom-inadequacy.js >@@ -22,7 +22,7 @@ function foo(a) { > } > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(1); > if (result != 42.5 + 1 + 1 + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/phantom-local-captured-but-not-flushed-to-ssa.js b/JSTests/stress/phantom-local-captured-but-not-flushed-to-ssa.js >index 19699af6d69fd84b6e7e698f4b85ca26c32d26dd..7d77ea32b75ae0713d5c907893224b99b5db24f5 100644 >--- a/JSTests/stress/phantom-local-captured-but-not-flushed-to-ssa.js >+++ b/JSTests/stress/phantom-local-captured-but-not-flushed-to-ssa.js >@@ -14,7 +14,7 @@ function bar(x) { > > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(true); > if (result != 10) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/phantom-new-array-buffer-forward-varargs.js b/JSTests/stress/phantom-new-array-buffer-forward-varargs.js >index 4e08665ff3a2c2375bddb48548a491888dec7222..2fb001fed34b68d36fabd1616d6ec8179b1390c8 100644 >--- a/JSTests/stress/phantom-new-array-buffer-forward-varargs.js >+++ b/JSTests/stress/phantom-new-array-buffer-forward-varargs.js >@@ -15,7 +15,7 @@ function test1() { > } > noInline(foo); > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let [a, b, c, d] = foo(); > assert(a === 0); > assert(b === 1); >@@ -34,7 +34,7 @@ function test2() { > } > noInline(foo); > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(); > assert(r.length === 7); > let [a, b, c, d, e, f, g] = r; >@@ -61,7 +61,7 @@ function test3() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(); > assert(r.length === 3); > let [a, b, c] = r; >@@ -84,7 +84,7 @@ function test4() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(); > assert(r.length === 1); > assert(r[0] === 0); >diff --git a/JSTests/stress/phantom-new-array-buffer-forward-varargs2.js b/JSTests/stress/phantom-new-array-buffer-forward-varargs2.js >index 5a1e306c5b4f7d76375bc6a440b0f7de51b74ff1..80cfd8c1f952fcc95050b520b3753274963fb49d 100644 >--- a/JSTests/stress/phantom-new-array-buffer-forward-varargs2.js >+++ b/JSTests/stress/phantom-new-array-buffer-forward-varargs2.js >@@ -18,7 +18,7 @@ function test() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 5); > let [a, b, c, d, e] = r; >diff --git a/JSTests/stress/phantom-new-array-buffer-osr-exit.js b/JSTests/stress/phantom-new-array-buffer-osr-exit.js >index bc913b2a603428eccd6cb8459f622ccb4eaec2b0..cec355cf6141db0b4ed313f5756bc77e69c5abfb 100644 >--- a/JSTests/stress/phantom-new-array-buffer-osr-exit.js >+++ b/JSTests/stress/phantom-new-array-buffer-osr-exit.js >@@ -34,7 +34,7 @@ function foo(a) { > } > noInline(foo); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(i); > assert(!didEffects); > } >diff --git a/JSTests/stress/phantom-new-array-with-spread-osr-exit.js b/JSTests/stress/phantom-new-array-with-spread-osr-exit.js >index 5109ab007b55f6d1baedf26bf957136118d8e487..649c0bbbd178b098ff2d841bd08e1a21c0cf60f3 100644 >--- a/JSTests/stress/phantom-new-array-with-spread-osr-exit.js >+++ b/JSTests/stress/phantom-new-array-with-spread-osr-exit.js >@@ -33,7 +33,7 @@ function foo(a, ...args) { > } > noInline(foo); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(i, i+1); > assert(!didEffects); > } >diff --git a/JSTests/stress/phantom-spread-forward-varargs.js b/JSTests/stress/phantom-spread-forward-varargs.js >index f9a22e2d2e312936b97adc914a82ffbae5b97642..40eadf3ca9127d6a0053e01f84953109710a5057 100644 >--- a/JSTests/stress/phantom-spread-forward-varargs.js >+++ b/JSTests/stress/phantom-spread-forward-varargs.js >@@ -15,7 +15,7 @@ function test1() { > } > noInline(foo); > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let [a, b, c, d] = foo(i, i+1, i+2, i+3); > assert(a === i); > assert(b === i+1); >@@ -33,7 +33,7 @@ function test2() { > } > noInline(foo); > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 7); > let [a, b, c, d, e, f, g] = r; >@@ -59,7 +59,7 @@ function test3() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 3); > let [a, b, c] = r; >@@ -81,7 +81,7 @@ function test4() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 1); > assert(r[0] === i); >@@ -100,7 +100,7 @@ function test5() { > } > noInline(foo); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 3); > let [a, b, c] = r; >diff --git a/JSTests/stress/phantom-spread-osr-exit.js b/JSTests/stress/phantom-spread-osr-exit.js >index c9189f95cff3c82ec01a51d30336e4ab849ffe97..d1ea5c261e0ef55434287e5fa4632d90a667b683 100644 >--- a/JSTests/stress/phantom-spread-osr-exit.js >+++ b/JSTests/stress/phantom-spread-osr-exit.js >@@ -31,7 +31,7 @@ function foo(a, ...args) { > } > noInline(foo); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(i, i+1); > assert(!didEffects); > } >diff --git a/JSTests/stress/plus-boolean-exit.js b/JSTests/stress/plus-boolean-exit.js >index e02141d5895be4c74fdb4a21248dd39f4f24481e..91f421942f38f7845c325a4cc9c9ffa35ba875f8 100644 >--- a/JSTests/stress/plus-boolean-exit.js >+++ b/JSTests/stress/plus-boolean-exit.js >@@ -10,7 +10,7 @@ function test(a, b, c) { > throw "Error: expected " + c + " but got: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(true, 42, 43); > > // Now try some unexpected things, in descending order of possible badness. >diff --git a/JSTests/stress/plus-boolean-or-double.js b/JSTests/stress/plus-boolean-or-double.js >index 4caa2f08b57ce3b11d1509e4b097da38781c3294..7170c365c51d0307b1efb1ea8d4579b9b031a362 100644 >--- a/JSTests/stress/plus-boolean-or-double.js >+++ b/JSTests/stress/plus-boolean-or-double.js >@@ -10,7 +10,7 @@ function test(a, b, c) { > throw "Error: expected " + c + " but got: " + result; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(true, 42, 43); > test(42.5, 10, 52.5); > } >diff --git a/JSTests/stress/plus-boolean-or-int.js b/JSTests/stress/plus-boolean-or-int.js >index a1d3d5cba40d6d1e1b87b76ef82ab5e5a8821a49..7b44a17dd665fa90dd65a926ff02104471e5d0ee 100644 >--- a/JSTests/stress/plus-boolean-or-int.js >+++ b/JSTests/stress/plus-boolean-or-int.js >@@ -10,7 +10,7 @@ function test(a, b, c) { > throw "Error: expected " + c + " but got: " + result; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(true, 42, 43); > test(42, 10, 52); > } >diff --git a/JSTests/stress/poly-call-stub-in-getter-stub.js b/JSTests/stress/poly-call-stub-in-getter-stub.js >index d774796cfc4b71fcaabeb3261dad26e947114760..2dd0eec2a423ef7ad5c213915c10396fbedd1c14 100644 >--- a/JSTests/stress/poly-call-stub-in-getter-stub.js >+++ b/JSTests/stress/poly-call-stub-in-getter-stub.js >@@ -18,7 +18,7 @@ function makeGetter() { > }; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = Object.create(p); > if (i & 1) { > o.__defineGetter__("f", makeGetter()); >diff --git a/JSTests/stress/poly-chain-getter.js b/JSTests/stress/poly-chain-getter.js >index 1f617a285f9e193844e261326fc35aed6e30ba3b..340fdbd488be241ebbaaa52828cedb3815b05140 100644 >--- a/JSTests/stress/poly-chain-getter.js >+++ b/JSTests/stress/poly-chain-getter.js >@@ -21,7 +21,7 @@ function test(o, expected, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(new Cons(), 84, counter + 1); > > var o = new Cons(); >diff --git a/JSTests/stress/poly-chain-setter.js b/JSTests/stress/poly-chain-setter.js >index 491fe5f946cb57a6bc71d5d7f3b3ff0b85f943c5..457b69b3b66b613628db8f4de78441b5b13a87b8 100644 >--- a/JSTests/stress/poly-chain-setter.js >+++ b/JSTests/stress/poly-chain-setter.js >@@ -23,7 +23,7 @@ function test(o, value, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(new Cons(), i, counter + 1); > > var o = new Cons(); >diff --git a/JSTests/stress/poly-chain-then-getter.js b/JSTests/stress/poly-chain-then-getter.js >index ecb89bd50a0ed60b69095355f0a0936b31830359..1c51856a44617f330b45425030f78df63799a72f 100644 >--- a/JSTests/stress/poly-chain-then-getter.js >+++ b/JSTests/stress/poly-chain-then-getter.js >@@ -25,7 +25,7 @@ function test(o, expected, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(new Cons1(), 42, counter); > test(new Cons2(), 84, counter + 1); > } >diff --git a/JSTests/stress/poly-chain-then-setter.js b/JSTests/stress/poly-chain-then-setter.js >index cc363b9f305c0eccae61d6496de7a1d235cdc355..46d57ad3049bc5cd36389e22aff0a076163eeff8 100644 >--- a/JSTests/stress/poly-chain-then-setter.js >+++ b/JSTests/stress/poly-chain-then-setter.js >@@ -27,7 +27,7 @@ function test(o, value, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(new Cons1(), i, counter); > test(new Cons2(), i, counter + 1); > } >diff --git a/JSTests/stress/poly-getter-combo.js b/JSTests/stress/poly-getter-combo.js >index cdeeee58d05626606c4b056a22b39bc92e220faa..ef8f8b7300031e01e6551e39d4849da587a2902d 100644 >--- a/JSTests/stress/poly-getter-combo.js >+++ b/JSTests/stress/poly-getter-combo.js >@@ -25,7 +25,7 @@ function test(o, expected, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(new Cons1(), 42, counter); > test(new Cons2(), 84, counter + 1); > >diff --git a/JSTests/stress/poly-getter-then-chain.js b/JSTests/stress/poly-getter-then-chain.js >index 8db9310776608b03d06f6f32bd5f6d22e4bcd519..37bdb9b3e6bb237c06f9c62e4a108f4696b6338b 100644 >--- a/JSTests/stress/poly-getter-then-chain.js >+++ b/JSTests/stress/poly-getter-then-chain.js >@@ -25,7 +25,7 @@ function test(o, expected, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(new Cons2(), 84, counter + 1); > test(new Cons1(), 42, counter); > } >diff --git a/JSTests/stress/poly-getter-then-self.js b/JSTests/stress/poly-getter-then-self.js >index d90fb102038fe189ecf5a194d70ee7021a6c5d79..182194c2cb385a7224e4ff3cfa38c46768f7a56f 100644 >--- a/JSTests/stress/poly-getter-then-self.js >+++ b/JSTests/stress/poly-getter-then-self.js >@@ -14,7 +14,7 @@ function test(o, expected, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineGetter__("f", function() { > counter++; >diff --git a/JSTests/stress/poly-proto-clear-stub.js b/JSTests/stress/poly-proto-clear-stub.js >index 5b3b307df982e1f1d13b08bd7db5617cee3545df..fb62d0690f60494ca70dee4a94e23c97ee719e40 100644 >--- a/JSTests/stress/poly-proto-clear-stub.js >+++ b/JSTests/stress/poly-proto-clear-stub.js >@@ -95,7 +95,7 @@ function foo() { > } > > let start = Date.now(); >-for (let i = 0; i < 1000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > foo(); > if (false) > print(Date.now() - start); >diff --git a/JSTests/stress/poly-proto-custom-value-and-accessor.js b/JSTests/stress/poly-proto-custom-value-and-accessor.js >index c3c3c4034c7044c326a1cbcc17b8c9ff9c3343e1..13905a85cbb9ddb5bc9c332c4ee4b4b7f32ff8b8 100644 >--- a/JSTests/stress/poly-proto-custom-value-and-accessor.js >+++ b/JSTests/stress/poly-proto-custom-value-and-accessor.js >@@ -62,7 +62,7 @@ noInline(validate); > > > let start = Date.now(); >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let i = 0; i < items.length; ++i) { > validate(items[i], customGetterSetter, items[i]); > } >@@ -70,7 +70,7 @@ for (let i = 0; i < 10000; ++i) { > > customGetterSetter.randomProp = 42; > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let i = 0; i < items.length; ++i) { > validate(items[i], customGetterSetter, items[i]); > } >@@ -85,7 +85,7 @@ items.forEach((x) => { > }); > }); > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let i = 0; i < items.length; ++i) { > validate(items[i], 42, 22); > } >diff --git a/JSTests/stress/poly-proto-intrinsic-getter-correctness.js b/JSTests/stress/poly-proto-intrinsic-getter-correctness.js >index 7cf4bb78bf731c336423817898ad81c428110ef7..ba8b4b1b1bbff7a00987f942d8a18e494496121d 100644 >--- a/JSTests/stress/poly-proto-intrinsic-getter-correctness.js >+++ b/JSTests/stress/poly-proto-intrinsic-getter-correctness.js >@@ -28,7 +28,7 @@ function foo(x) { > } > noInline(foo); > >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > assert(foo(x) === 10 * 4); > }; > >diff --git a/JSTests/stress/poly-proto-miss.js b/JSTests/stress/poly-proto-miss.js >index 4210460f86fc958ccbf580af3ade2f9dc5358b89..65cf498861abb58826356cdd9f9b3166d494e961 100644 >--- a/JSTests/stress/poly-proto-miss.js >+++ b/JSTests/stress/poly-proto-miss.js >@@ -43,7 +43,7 @@ function validate(x) { > noInline(validate); > > let start = Date.now(); >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let i = 0; i < instances.length; ++i) > validate(instances[i]); > } >diff --git a/JSTests/stress/poly-proto-op-in-caching.js b/JSTests/stress/poly-proto-op-in-caching.js >index 5367019f118dd72bce3c56bef8b3caaac56eb1a0..8d8564ac18317e49ca3744eb78ec6ea000b561e2 100644 >--- a/JSTests/stress/poly-proto-op-in-caching.js >+++ b/JSTests/stress/poly-proto-op-in-caching.js >@@ -31,13 +31,13 @@ for (let i = 0; i < 10; ++i) > > objs.forEach(obj => Reflect.setPrototypeOf(obj, {x:20})); > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let obj of objs) > validate(obj, true); > } > > objs.forEach(obj => Reflect.setPrototypeOf(obj, {})); >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let obj of objs) > validate(obj, false); > } >@@ -49,13 +49,13 @@ function validate2(o, b) { > noInline(validate2); > > objs.forEach(obj => Reflect.setPrototypeOf(obj, null)); >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let obj of objs) > validate2(obj, false); > } > > objs.forEach(obj => Reflect.setPrototypeOf(obj, {x:25})); >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let obj of objs) > validate2(obj, true); > } >diff --git a/JSTests/stress/poly-proto-put-transition.js b/JSTests/stress/poly-proto-put-transition.js >index 345f3e58ca997d719164139deacb7b128eb72337..52ffb57244181f15257b2115f30e3f43b5beb20a 100644 >--- a/JSTests/stress/poly-proto-put-transition.js >+++ b/JSTests/stress/poly-proto-put-transition.js >@@ -24,7 +24,7 @@ function performSet(o) { > } > > let start = Date.now(); >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > let obj = makePolyProtoObject(); > obj.__proto__ = null; > performSet(obj); >@@ -33,7 +33,7 @@ for (let i = 0; i < 1000; ++i) { > > } > >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > let obj = makePolyProtoObject(); > obj.__proto__ = { set p(x) { global = x; } }; > performSet(obj); >@@ -42,7 +42,7 @@ for (let i = 0; i < 1000; ++i) { > global = null; > } > >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > let obj = makePolyProtoObject(); > performSet(obj); > assert(obj.hasOwnProperty("p")); >diff --git a/JSTests/stress/poly-proto-set-prototype.js b/JSTests/stress/poly-proto-set-prototype.js >index 6cac7e4b02db26c6e8ea819bb216997b9d365912..4e5a3d6f33bfa4ea1cd934dbb3c2b66006f03ea8 100644 >--- a/JSTests/stress/poly-proto-set-prototype.js >+++ b/JSTests/stress/poly-proto-set-prototype.js >@@ -39,7 +39,7 @@ foo(); > for (let i = 0; i < 25; ++i) > arr.push(foo()); > >-for (let i = 0; i < 100; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let a of arr) > validate(a, 42); > } >@@ -47,7 +47,7 @@ for (let i = 0; i < 100; ++i) { > for (let a of arr) { > a.__proto__ = alternateProto; > } >-for (let i = 0; i < 100; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let a of arr) { > validate(a, null); > } >@@ -57,7 +57,7 @@ for (let a of arr) { > a.__proto__ = alternateProto2; > } > >-for (let i = 0; i < 100; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let a of arr) { > validate(a, null); > assert(a.y === 22); >diff --git a/JSTests/stress/poly-proto-setter.js b/JSTests/stress/poly-proto-setter.js >index 3faa06e0c2adb57edc26c6a1306194e046b01b5b..ed2095e8cf0e3b7a076de6ee38a6b59f55d38418 100644 >--- a/JSTests/stress/poly-proto-setter.js >+++ b/JSTests/stress/poly-proto-setter.js >@@ -44,7 +44,7 @@ function performSet(x, i) { > } > > let start = Date.now(); >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let i = 0; i < items.length; ++i) { > let o = items[i]; > performSet(o, i); >@@ -58,7 +58,7 @@ items.forEach(o => { > Reflect.setPrototypeOf(o, null); > }); > >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let i = 0; i < items.length; ++i) { > let o = items[i]; > performSet(o, i); >diff --git a/JSTests/stress/poly-proto-using-inheritance.js b/JSTests/stress/poly-proto-using-inheritance.js >index 30b1a1a4a53df9a59c1601f14d4daf2d9b9ff84b..ec7f984d4e2d49bc893cfd63b724ebe49140330d 100644 >--- a/JSTests/stress/poly-proto-using-inheritance.js >+++ b/JSTests/stress/poly-proto-using-inheritance.js >@@ -44,7 +44,7 @@ function validate(item) { > } > > let start = Date.now(); >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > instances.forEach((x) => validate(x)); > } > if (false) >diff --git a/JSTests/stress/poly-self-getter.js b/JSTests/stress/poly-self-getter.js >index 72d7d3a897b801cd6463c293b831f03089363af7..ca0f48331b9fd5a5f1befb7977d6a3cede57b98f 100644 >--- a/JSTests/stress/poly-self-getter.js >+++ b/JSTests/stress/poly-self-getter.js >@@ -19,7 +19,7 @@ function getter() { > return 84; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineGetter__("f", getter); > test(o, 84, counter + 1); >diff --git a/JSTests/stress/poly-self-then-getter.js b/JSTests/stress/poly-self-then-getter.js >index 24310ac9cf3e2356486a185c49193c695d80fbd1..73258150de9ebd5c14a141b6317f283882c0cefe 100644 >--- a/JSTests/stress/poly-self-then-getter.js >+++ b/JSTests/stress/poly-self-then-getter.js >@@ -14,7 +14,7 @@ function test(o, expected, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test({f: 42}, 42, counter); > > var o = {}; >diff --git a/JSTests/stress/poly-setter-then-self.js b/JSTests/stress/poly-setter-then-self.js >index 3c35db7d9b9fee0780c3936d1c16b418dc1c92c9..1831bf642d41d786b379e6682e998a798a61aba0 100644 >--- a/JSTests/stress/poly-setter-then-self.js >+++ b/JSTests/stress/poly-setter-then-self.js >@@ -15,7 +15,7 @@ function test(o, value, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineSetter__("f", function(value) { > counter++; >diff --git a/JSTests/stress/polymorphic-prototype-accesses.js b/JSTests/stress/polymorphic-prototype-accesses.js >index f206551345eb583fa5a38fb9d8c75206f8f7a377..0912950567401edaaec3c8b641e1ed4d3c7f3cfd 100644 >--- a/JSTests/stress/polymorphic-prototype-accesses.js >+++ b/JSTests/stress/polymorphic-prototype-accesses.js >@@ -18,7 +18,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Foo()); > if (result != 89) > throw "Error: bad result for Foo: " + result; >diff --git a/JSTests/stress/pow-basics.js b/JSTests/stress/pow-basics.js >index 8842d495bfe8237fd914d1833ce1eda438130aa1..9e2ceb22c5b2486214195fc1157db52e9c388920 100644 >--- a/JSTests/stress/pow-basics.js >+++ b/JSTests/stress/pow-basics.js >@@ -14,13 +14,13 @@ function mathPowDoubleInt1(x, y) { > noInline(mathPowDoubleInt1); > > function test1(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble1(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble1(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt1(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt1(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -39,13 +39,13 @@ function mathPowDoubleInt2(x, y) { > } > noInline(mathPowDoubleInt2); > function test2(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble2(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble2(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt2(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt2(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -64,13 +64,13 @@ function mathPowDoubleInt3(x, y) { > } > noInline(mathPowDoubleInt3); > function test3(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble3(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble3(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt3(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt3(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -90,13 +90,13 @@ function mathPowDoubleInt4(x, y) { > } > noInline(mathPowDoubleInt4); > function test4(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble4(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble4(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt4(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt4(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -116,13 +116,13 @@ function mathPowDoubleInt5(x, y) { > } > noInline(mathPowDoubleInt5); > function test5(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble5(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble5(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt5(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -142,13 +142,13 @@ function mathPowDoubleInt6(x, y) { > } > noInline(mathPowDoubleInt6); > function test6(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble6(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble6(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt6(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt6(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -168,13 +168,13 @@ function mathPowDoubleInt7(x, y) { > } > noInline(mathPowDoubleInt7); > function test7(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble7(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble7(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble7(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleDouble7(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -194,13 +194,13 @@ function mathPowDoubleInt8(x, y) { > } > noInline(mathPowDoubleInt8); > function test8(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble8(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble8(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt8(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt8(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -219,13 +219,13 @@ function mathPowDoubleInt9(x, y) { > } > noInline(mathPowDoubleInt9); > function test9(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble9(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble9(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt9(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt9(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -245,13 +245,13 @@ function mathPowDoubleInt10(x, y) { > } > noInline(mathPowDoubleInt10); > function test10(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble10(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt10(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >@@ -270,13 +270,13 @@ function mathPowDoubleInt11(x, y) { > } > noInline(mathPowDoubleInt11); > function test11(x, y, expected1, expected2) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDouble11(x, y); > if (!valuesAreClose(result, expected1)) > throw "Error: bad result, mathPowDoubleDouble(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleInt11(x, integerY); > if (!valuesAreClose(result, expected2)) > throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; >diff --git a/JSTests/stress/pow-coherency.js b/JSTests/stress/pow-coherency.js >index 29671a42dbd82ce568c3c2869b18a3093d813821..63e695724fde06daa29f156ca53266dc5a7513d2 100644 >--- a/JSTests/stress/pow-coherency.js >+++ b/JSTests/stress/pow-coherency.js >@@ -46,7 +46,7 @@ var funs = [ > ]; > var tiers = ['jit', 'dfg', 'ftl']; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > for (var j in funs) { > var name = funs[j][0]; > var fun = funs[j][1]; >diff --git a/JSTests/stress/pow-integer-exponent-fastpath.js b/JSTests/stress/pow-integer-exponent-fastpath.js >index 21ee27cb6a122583b9f61f8c93d1738ba67b5802..ba427905fdc28435d3431e1fbfeff94d3e7d1830 100644 >--- a/JSTests/stress/pow-integer-exponent-fastpath.js >+++ b/JSTests/stress/pow-integer-exponent-fastpath.js >@@ -13,13 +13,13 @@ function mathPowDoubleIntTestExponentFifty(x, y) { > } > noInline(mathPowDoubleIntTestExponentFifty); > function testExponentFifty(x, y, expected) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDoubleTestExponentFifty(x, y); > if (!valuesAreClose(result, expected)) > throw "Error: bad result, (" + x + ") ** (" + y + ") = " + result + " expected value close to " + expected; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleIntTestExponentFifty(x, integerY); > if (!valuesAreClose(result, expected)) > throw "Error: bad result, (" + x + ") ** (" + integerY + ") = " + result + " expected value close to " + expected; >@@ -39,13 +39,13 @@ function mathPowDoubleIntTestExponentTenThousands(x, y) { > } > noInline(mathPowDoubleIntTestExponentTenThousands); > function testExponentTenThousands(x, y, expected) { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleDoubleTestExponentTenThousands(x, y); > if (!valuesAreClose(result, expected)) > throw "Error: bad result, (" + x + ") ** (" + y + ") = " + result + " expected value close to " + expected; > } > var integerY = y | 0; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowDoubleIntTestExponentTenThousands(x, integerY); > if (!valuesAreClose(result, expected)) > throw "Error: bad result, (" + x + ") ** (" + integerY + ") = " + result + " expected value close to " + expected; >diff --git a/JSTests/stress/pow-nan-behaviors.js b/JSTests/stress/pow-nan-behaviors.js >index 3d754824238f7f7c775d9b8d28df2d6e98ac5304..e95c79b4cfc3233e772359734d9245ad4ec942ca 100644 >--- a/JSTests/stress/pow-nan-behaviors.js >+++ b/JSTests/stress/pow-nan-behaviors.js >@@ -1,11 +1,11 @@ > // If an argument is NaN, the result of x ** y is NaN. > function testIntegerBaseWithNaNExponentStatic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = 5 ** NaN; > if (!isNaN(result)) > throw "Error: bad result, 5 ** NaN = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = i ** NaN; > if (!isNaN(result)) > throw "Error: bad result, i ** NaN = " + result + " with i = " + i; >@@ -20,13 +20,13 @@ function mathPowIntegerBaseWithNaNExponentDynamic(x, y) { > noInline(mathPowIntegerBaseWithNaNExponentDynamic); > function testIntegerBaseWithNaNExponentDynamic() { > // Warm up with 2 integers. >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowIntegerBaseWithNaNExponentDynamic(2, 5); > if (result !== 32) > throw "Error: bad result, mathPowIntegerBaseWithNaNExponentDynamic(2, 5) = " + result + ", expected 32." > } > >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowIntegerBaseWithNaNExponentDynamic(i, NaN); > if (!isNaN(result)) > throw "Error: bad result, mathPowIntegerBaseWithNaNExponentDynamic(i, NaN) = " + result + " with i = " + i + ", expected NaN"; >@@ -36,12 +36,12 @@ noInline(testIntegerBaseWithNaNExponentDynamic); > testIntegerBaseWithNaNExponentDynamic(); > > function testFloatingPointBaseWithNaNExponentStatic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = 5.5 ** NaN; > if (!isNaN(result)) > throw "Error: bad result, 5.5 ** NaN = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = (i + 0.5) ** NaN; > if (!isNaN(result)) > throw "Error: bad result, (i + 0.5) ** NaN = " + result + " with i = " + i; >@@ -56,13 +56,13 @@ function mathPowFloatingPointBaseWithNaNExponentDynamic(x, y) { > noInline(mathPowFloatingPointBaseWithNaNExponentDynamic); > function testFloatingPointBaseWithNaNExponentDynamic() { > // Warm up with 2 double. >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowFloatingPointBaseWithNaNExponentDynamic(2.5, 5.1); > if (result !== 107.02717054543135) > throw "Error: bad result, mathPowFloatingPointBaseWithNaNExponentDynamic(2.5, 5.1) = " + result + ", expected 107.02717054543135." > } > >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowFloatingPointBaseWithNaNExponentDynamic(i + 0.5, NaN); > if (!isNaN(result)) > throw "Error: bad result, mathPowFloatingPointBaseWithNaNExponentDynamic(i + 0.5, NaN) = " + result + " with i = " + i + ", expected NaN"; >@@ -75,22 +75,22 @@ testFloatingPointBaseWithNaNExponentDynamic(); > // If y is -0, the result is 1, even if x is NaN. > // If x is NaN and y is nonzero, the result is NaN. > function testNaNBaseStatic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = NaN ** (i + 1); > if (!isNaN(result)) > throw "Error: bad result, NaN ** (i + 1) = " + result + " with i = " + i; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = NaN ** (i + 1.5); > if (!isNaN(result)) > throw "Error: bad result, NaN ** (i + 1.5) = " + result + " with i = " + i; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = NaN ** 0; > if (result !== 1) > throw "Error: bad result, NaN ** 0 = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = NaN ** -0; > if (result !== 1) > throw "Error: bad result, NaN ** -0 = " + result; >@@ -116,22 +116,22 @@ noInline(mathPowNaNBaseDynamic2); > noInline(mathPowNaNBaseDynamic3); > noInline(mathPowNaNBaseDynamic4); > function testNaNBaseDynamic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowNaNBaseDynamic1(NaN, i + 1); > if (!isNaN(result)) > throw "Error: bad result, mathPowNaNBaseDynamic1(NaN, i + 1) = " + result + " with i = " + i; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowNaNBaseDynamic2(NaN, i + 1.5); > if (!isNaN(result)) > throw "Error: bad result, mathPowNaNBaseDynamic2(NaN, i + 1.5) = " + result + " with i = " + i; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowNaNBaseDynamic3(NaN, 0); > if (result !== 1) > throw "Error: bad result, mathPowNaNBaseDynamic3(NaN, 0) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowNaNBaseDynamic4(NaN, -0); > if (result !== 1) > throw "Error: bad result, mathPowNaNBaseDynamic4(NaN, -0) = " + result; >@@ -143,22 +143,22 @@ testNaNBaseDynamic(); > // If abs(x) is 1 and y is +Inf the result is NaN. > // If abs(x) is 1 and y is −Inf the result is NaN. > function infiniteExponentsStatic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = 1 ** Number.POSITIVE_INFINITY; > if (!isNaN(result)) > throw "Error: bad result, 1 ** Number.POSITIVE_INFINITY = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = (-1) ** Number.POSITIVE_INFINITY; > if (!isNaN(result)) > throw "Error: bad result, -1 ** Number.POSITIVE_INFINITY = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = 1 ** Number.NEGATIVE_INFINITY; > if (!isNaN(result)) > throw "Error: bad result, 1 ** Number.NEGATIVE_INFINITY = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = (-1) ** Number.NEGATIVE_INFINITY; > if (!isNaN(result)) > throw "Error: bad result, -1 ** Number.NEGATIVE_INFINITY = " + result; >@@ -184,22 +184,22 @@ noInline(mathPowInfiniteExponentsDynamic2); > noInline(mathPowInfiniteExponentsDynamic3); > noInline(mathPowInfiniteExponentsDynamic4); > function infiniteExponentsDynamic() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowInfiniteExponentsDynamic1(1, Number.POSITIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, mathPowInfiniteExponentsDynamic1(1, Number.POSITIVE_INFINITY) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowInfiniteExponentsDynamic2(-1, Number.POSITIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, mathPowInfiniteExponentsDynamic2(-1, Number.POSITIVE_INFINITY) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowInfiniteExponentsDynamic3(1, Number.NEGATIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, mathPowInfiniteExponentsDynamic3(1, Number.NEGATIVE_INFINITY) = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = mathPowInfiniteExponentsDynamic4(-1, Number.NEGATIVE_INFINITY); > if (!isNaN(result)) > throw "Error: bad result, mathPowInfiniteExponentsDynamic4(-1, Number.NEGATIVE_INFINITY) = " + result; >diff --git a/JSTests/stress/pow-no-result.js b/JSTests/stress/pow-no-result.js >index ebe8f1f4c94e34b4c0ef9df7664d32807c022878..c5810bad62c25ad8b1a70329a24f0a66e1d3a4fd 100644 >--- a/JSTests/stress/pow-no-result.js >+++ b/JSTests/stress/pow-no-result.js >@@ -8,6 +8,6 @@ function foo() > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(); > >diff --git a/JSTests/stress/pow-with-constants.js b/JSTests/stress/pow-with-constants.js >index 79e6af741d16983a1b9b9ef32577d2bd4ade03f2..16670cc0dc889230965de1e85b6c1a297e88deaf 100644 >--- a/JSTests/stress/pow-with-constants.js >+++ b/JSTests/stress/pow-with-constants.js >@@ -4,12 +4,12 @@ function exponentIsZero(x) { > noInline(exponentIsZero); > > function testExponentIsZero() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsZero(5); > if (result !== 1) > throw "Error: zeroExponent(5) should be 1, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsZero(5.5); > if (result !== 1) > throw "Error: zeroExponent(5.5) should be 1, was = " + result; >@@ -24,12 +24,12 @@ function exponentIsOne(x) { > noInline(exponentIsOne); > > function testExponentIsOne() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsOne(5); > if (result !== 5) > throw "Error: exponentIsOne(5) should be 5, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsOne(5.5); > if (result !== 5.5) > throw "Error: exponentIsOne(5.5) should be 5.5, was = " + result; >@@ -156,27 +156,27 @@ noInline(doubleIntConstants); > > function testBaseAndExponentConstantLiterals() > { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = intIntConstantsSmallNumbers(); > if (result !== 74088) > throw "Error: intIntConstantsSmallNumbers() should be 74088, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = intIntConstantsLargeNumbers(); > if (result !== 1.5013093754529656e+68) > throw "Error: intIntConstantsLargeNumbers() should be 1.5013093754529656e+68, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = intDoubleConstants(); > if (result !== 5.1338303882015765e+48) > throw "Error: intDoubleConstants() should be 5.1338303882015765e+48, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = doubleDoubleConstants(); > if (result !== 1.0944228729647829e+48) > throw "Error: doubleDoubleConstants() should be 1.0944228729647829e+48, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = doubleIntConstants(); > if (result !== 5.989022735311158e+58) > throw "Error: doubleIntConstants() should be 5.989022735311158e+58, was = " + result; >@@ -191,17 +191,17 @@ function exponentIsIntegerConstant(x) { > noInline(exponentIsIntegerConstant); > > function testExponentIsIntegerConstant() { >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsIntegerConstant(2); > if (result !== 4398046511104) > throw "Error: exponentIsIntegerConstant(2) should be 4398046511104, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsIntegerConstant(5); > if (result !== 2.2737367544323207e+29) > throw "Error: exponentIsIntegerConstant(5) should be 2.2737367544323207e+29, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsIntegerConstant(2.1); > if (result !== 34135823067412.42) > throw "Error: exponentIsIntegerConstant(2.1) should be 34135823067412.42, was = " + result; >@@ -216,17 +216,17 @@ function exponentIsDoubleConstant(x) { > noInline(exponentIsDoubleConstant); > > function testExponentIsDoubleConstant() { >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsDoubleConstant(2); > if (result !== 6219777023950.95) > throw "Error: exponentIsDoubleConstant(2) should be 6219777023950.95, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsDoubleConstant(5); > if (result !== 5.084229945850415e+29) > throw "Error: exponentIsDoubleConstant(5) should be 5.084229945850415e+29, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsDoubleConstant(2.1); > if (result !== 49467507261113.805) > throw "Error: exponentIsDoubleConstant(2.1) should be 49467507261113.805, was = " + result; >@@ -241,17 +241,17 @@ function exponentIsInfinityConstant(x) { > noInline(exponentIsInfinityConstant); > > function testExponentIsInfinityConstant() { >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsInfinityConstant(2); > if (result !== Infinity) > throw "Error: exponentIsInfinityConstant(2) should be Infinity, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsInfinityConstant(5); > if (result !== Infinity) > throw "Error: exponentIsInfinityConstant(5) should be Infinity, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsInfinityConstant(2.1); > if (result !== Infinity) > throw "Error: exponentIsInfinityConstant(2.1) should be Infinity, was = " + result; >@@ -266,17 +266,17 @@ function exponentIsNegativeInfinityConstant(x) { > noInline(exponentIsNegativeInfinityConstant); > > function testExponentIsNegativeInfinityConstant() { >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsNegativeInfinityConstant(2); > if (result !== 0) > throw "Error: exponentIsNegativeInfinityConstant(2) should be zero, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsNegativeInfinityConstant(5); > if (result !== 0) > throw "Error: exponentIsNegativeInfinityConstant(5) should be zero, was = " + result; > } >- for (var i = 0; i < 1000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsNegativeInfinityConstant(2.1); > if (result !== 0) > throw "Error: exponentIsNegativeInfinityConstant(2.1) should be zero, was = " + result; >diff --git a/JSTests/stress/pow-with-never-NaN-exponent.js b/JSTests/stress/pow-with-never-NaN-exponent.js >index cd6b991aa202a424caf25d2af199d5992eaa1c2e..283636508782ddceaef3dbcc0ce7eab7f75bbf24 100644 >--- a/JSTests/stress/pow-with-never-NaN-exponent.js >+++ b/JSTests/stress/pow-with-never-NaN-exponent.js >@@ -10,12 +10,12 @@ function exponentIsNonNanDouble2(x, doubleArray) { > noInline(exponentIsNonNanDouble2); > > function testExponentIsDoubleConstant() { >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsNonNanDouble1(2, 0); > if (result !== 21.112126572366314) > throw "Error: exponentIsNonNanDouble1(2, 0) should be 21.112126572366314, was = " + result; > } >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = exponentIsNonNanDouble2(3, [-1.5]); > if (result !== 0.19245008972987526) > throw "Error: exponentIsNonNanDouble2(3, [-1.5]) should be 0.19245008972987526, was = " + result; >diff --git a/JSTests/stress/primitive-poly-proto.js b/JSTests/stress/primitive-poly-proto.js >index db3917dc7933146920adb0271d66ad47ddf1291c..05f800f4e9f54ded9e2f362f5ab23702f2c59290 100644 >--- a/JSTests/stress/primitive-poly-proto.js >+++ b/JSTests/stress/primitive-poly-proto.js >@@ -38,7 +38,7 @@ function validate(s) { > } > noInline(validate); > >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let s of strings) { > validate(s); > } >@@ -46,7 +46,7 @@ for (let i = 0; i < 1000; ++i) { > > y = 27; > polyProtoInstance.__proto__ = {z:400, y: y}; >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let s of strings) { > validate(s); > } >diff --git a/JSTests/stress/prop-type-boolean-then-string.js b/JSTests/stress/prop-type-boolean-then-string.js >index 2e0ca6ecef24974b02db393e4b4fed050f5c376b..b869a7be96e3d8c82c91e6f0a46659bbe1ec11ae 100644 >--- a/JSTests/stress/prop-type-boolean-then-string.js >+++ b/JSTests/stress/prop-type-boolean-then-string.js >@@ -13,7 +13,7 @@ var o = {}; > for (var i = 0; i < 5; ++i) > bar(o, true); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== true) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-int32-then-string.js b/JSTests/stress/prop-type-int32-then-string.js >index ed0b71946f497b5512257e965fa081831e0f05eb..8e56621395da717001a280fbf38f78d9933c4f1e 100644 >--- a/JSTests/stress/prop-type-int32-then-string.js >+++ b/JSTests/stress/prop-type-int32-then-string.js >@@ -13,7 +13,7 @@ var o = {}; > for (var i = 0; i < 5; ++i) > bar(o, 42); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== 43) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-number-then-string.js b/JSTests/stress/prop-type-number-then-string.js >index 65d96a2c8d4f7e4f3999b83d93b71bf1a2aa1dd8..a0e868f785c6eccbed48c21c6cf7b3655d115a55 100644 >--- a/JSTests/stress/prop-type-number-then-string.js >+++ b/JSTests/stress/prop-type-number-then-string.js >@@ -13,7 +13,7 @@ var o = {}; > for (var i = 0; i < 5; ++i) > bar(o, 4.2); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== 5.2) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-object-or-other-then-string.js b/JSTests/stress/prop-type-object-or-other-then-string.js >index 016d6a05739ae83b6b371f6ca604ac24bd4b6bf9..52935878ec7f8123fb5d9c4000db3cd80a773add 100644 >--- a/JSTests/stress/prop-type-object-or-other-then-string.js >+++ b/JSTests/stress/prop-type-object-or-other-then-string.js >@@ -18,7 +18,7 @@ for (var i = 0; i < 5; ++i) > for (var i = 0; i < 5; ++i) > bar(p, {g:43}); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== false) > throw "Error: bad result for o: " + result; >diff --git a/JSTests/stress/prop-type-object-then-string.js b/JSTests/stress/prop-type-object-then-string.js >index 2747405eb62b20a38068eaba517313dd54377c84..54ef00472b46b997d6ee503b564a871a7da391c8 100644 >--- a/JSTests/stress/prop-type-object-then-string.js >+++ b/JSTests/stress/prop-type-object-then-string.js >@@ -13,7 +13,7 @@ var o = {}; > for (var i = 0; i < 5; ++i) > bar(o, {}); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== false) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-other-then-string.js b/JSTests/stress/prop-type-other-then-string.js >index a1706a9a742659c141e6c6271ad039784b5f4eff..0bcf52f394052f13cc0ee78029849718efaca974 100644 >--- a/JSTests/stress/prop-type-other-then-string.js >+++ b/JSTests/stress/prop-type-other-then-string.js >@@ -13,7 +13,7 @@ var o = {}; > for (var i = 0; i < 5; ++i) > bar(o, null); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== false) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-string-then-object.js b/JSTests/stress/prop-type-string-then-object.js >index 8683614b8892e25678f4296f98c4f1b4fca63c6e..db86ec67283165639c1b2e7090030bc08eaf7c08 100644 >--- a/JSTests/stress/prop-type-string-then-object.js >+++ b/JSTests/stress/prop-type-string-then-object.js >@@ -13,7 +13,7 @@ var o = {}; > for (var i = 0; i < 5; ++i) > bar(o, "hello"); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result != "hello world") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-struct-or-other-then-string.js b/JSTests/stress/prop-type-struct-or-other-then-string.js >index 2b22b58dc6035d543fc8ff1b46d16ae83f98d128..2ec14de7652b46524c4cc93fd854f507b2b7a5dc 100644 >--- a/JSTests/stress/prop-type-struct-or-other-then-string.js >+++ b/JSTests/stress/prop-type-struct-or-other-then-string.js >@@ -21,7 +21,7 @@ for (var i = 0; i < 5; ++i) > for (var i = 0; i < 5; ++i) > bar(p, {g:43}); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== 42) > throw "Error: bad result for o: " + result; >diff --git a/JSTests/stress/prop-type-struct-then-object-opt-fold.js b/JSTests/stress/prop-type-struct-then-object-opt-fold.js >index 2c1d4570a45c528efb1a4461478871154db588ef..adbc2b170bea8e021fcabad93d1520aa0b629ecd 100644 >--- a/JSTests/stress/prop-type-struct-then-object-opt-fold.js >+++ b/JSTests/stress/prop-type-struct-then-object-opt-fold.js >@@ -17,12 +17,12 @@ noInline(foo); > noInline(bar); > > var o = {f:{g:42}}; >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > bar(o, o, {g:42}); > bar({a:1, b:2}, o, {g:42}); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-struct-then-object-opt-multi.js b/JSTests/stress/prop-type-struct-then-object-opt-multi.js >index 98d0a1fce677ae9af24ad2bd3409934cbcd98baf..f3e66ecbb0a44718cafa2146d77c141085ece763 100644 >--- a/JSTests/stress/prop-type-struct-then-object-opt-multi.js >+++ b/JSTests/stress/prop-type-struct-then-object-opt-multi.js >@@ -13,12 +13,12 @@ noInline(foo); > noInline(bar); > > var o = {f:{g:42}}; >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > bar(o, {g:42}); > bar({a:1, b:2}, 42); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-struct-then-object-opt.js b/JSTests/stress/prop-type-struct-then-object-opt.js >index af7b91e20b1550b0ba0fd4ff5d62c2175e167cfe..a58e543f2ee28d7608850418d95547c419a480c1 100644 >--- a/JSTests/stress/prop-type-struct-then-object-opt.js >+++ b/JSTests/stress/prop-type-struct-then-object-opt.js >@@ -13,10 +13,10 @@ noInline(foo); > noInline(bar); > > var o = {f:{g:42}}; >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar(o, {g:42}); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-struct-then-object.js b/JSTests/stress/prop-type-struct-then-object.js >index cf4cc185a7825b37a8484bab2a7c216297d05882..7f3aab11caa51ea47a3ee30591fb8690a9e0aeaa 100644 >--- a/JSTests/stress/prop-type-struct-then-object.js >+++ b/JSTests/stress/prop-type-struct-then-object.js >@@ -13,7 +13,7 @@ var o = {}; > for (var i = 0; i < 5; ++i) > bar(o, {g:42}); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-symbol-then-object.js b/JSTests/stress/prop-type-symbol-then-object.js >index d3c09efc1c63b4e70621cc3add97d48652068af0..a6aec1367d95411db623658b56c43ed7a1ec69e6 100644 >--- a/JSTests/stress/prop-type-symbol-then-object.js >+++ b/JSTests/stress/prop-type-symbol-then-object.js >@@ -13,7 +13,7 @@ var o = {}; > for (var i = 0; i < 5; ++i) > bar(o, Symbol("Cocoa")); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result != "symbol") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prop-type-symbol-then-string.js b/JSTests/stress/prop-type-symbol-then-string.js >index eef6c45e016f16ccd5ebd3fd4834b53008f89fd8..cbee533ad7cb5094d2cbf946c7fba76e6f8570c3 100644 >--- a/JSTests/stress/prop-type-symbol-then-string.js >+++ b/JSTests/stress/prop-type-symbol-then-string.js >@@ -13,7 +13,7 @@ var o = {}; > for (var i = 0; i < 5; ++i) > bar(o, Symbol("Cocoa")); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== true) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js b/JSTests/stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js >index 619461dc81ba42f4ef69e6788e0c478dd4110ac6..8459b7d5bfd15019a319759faab0930acdaf13c5 100644 >--- a/JSTests/stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js >+++ b/JSTests/stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js >@@ -22,6 +22,6 @@ function makeFoo() { > } > > let foos = [makeFoo(), makeFoo()]; >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > test(!!(i%2), foos[((Math.random() * 100) | 0) % foos.length]); > } >diff --git a/JSTests/stress/prototype-getter.js b/JSTests/stress/prototype-getter.js >index 07f516786d0f89c0c804f771a9949266f5258d37..859e58cc41201ea6ddf0df1c21a46925a08acce1 100644 >--- a/JSTests/stress/prototype-getter.js >+++ b/JSTests/stress/prototype-getter.js >@@ -14,7 +14,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Foo(5)); > if (result != (32 + 5) + (37 + 5) * 1000) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/prototype-is-not-js-object.js b/JSTests/stress/prototype-is-not-js-object.js >index 6ae2ca1e53d5aa3a4a5927eafd68d27389b2c50a..cd8b6d38104990f68f92aa89674102b02fd710b7 100644 >--- a/JSTests/stress/prototype-is-not-js-object.js >+++ b/JSTests/stress/prototype-is-not-js-object.js >@@ -26,7 +26,7 @@ function validate(item) { > assert(item.__proto__ === Object.prototype); > } > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > for (let item of items) > validate(item); > } >diff --git a/JSTests/stress/proxy-array-prototype-methods.js b/JSTests/stress/proxy-array-prototype-methods.js >index 8e71b5ae55a18bc8a1f842b948724076e08e98cf..892694514287067af2856e37ffb71d75fc1eb037 100644 >--- a/JSTests/stress/proxy-array-prototype-methods.js >+++ b/JSTests/stress/proxy-array-prototype-methods.js >@@ -4,7 +4,7 @@ function assert(b) { > } > > function test(f) { >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > f(); > } > >diff --git a/JSTests/stress/proxy-basic.js b/JSTests/stress/proxy-basic.js >index c0ec1578ea7cf74ed3f6250e7766ae332c9a2d22..381867dcfd9865f96ef8a143b9c8f63db5c67acc 100644 >--- a/JSTests/stress/proxy-basic.js >+++ b/JSTests/stress/proxy-basic.js >@@ -8,12 +8,12 @@ assert(Proxy.length === 2); > assert(Proxy.prototype === undefined); > > { >- for (let i = 0; i < 100; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > assert((new Proxy({}, {})).__proto__ === Object.prototype); > } > > { >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > new Proxy({}, 20); >@@ -26,7 +26,7 @@ assert(Proxy.prototype === undefined); > } > > { >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > new Proxy({}, ""); >@@ -39,7 +39,7 @@ assert(Proxy.prototype === undefined); > } > > { >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > new Proxy(20, {}); >@@ -52,7 +52,7 @@ assert(Proxy.prototype === undefined); > } > > { >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > new Proxy("", {}); >@@ -66,7 +66,7 @@ assert(Proxy.prototype === undefined); > > { > // When we call Proxy it should throw >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Proxy({}, {}); >@@ -93,7 +93,7 @@ assert(Proxy.prototype === undefined); > }; > > let proxy = new Proxy(theTarget, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(proxy.x === 30); > assert(proxy.y === 45); > assert(proxy["x"] === 30); >@@ -300,7 +300,7 @@ assert(Proxy.prototype === undefined); > }; > > let proxy = new Proxy(theTarget, handler); >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let pDesc = Object.getOwnPropertyDescriptor(proxy, prop); > assert(pDesc.configurable); > assert(pDesc.enumerable); >@@ -326,7 +326,7 @@ assert(Proxy.prototype === undefined); > }; > > let proxy = new Proxy(theTarget, handler); >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let result = prop in proxy; > assert(result); > assert(called); >diff --git a/JSTests/stress/proxy-get-own-property.js b/JSTests/stress/proxy-get-own-property.js >index ac8e58487fe6a630519224985e067a7cba26e13f..3bf0a501e48fac421bb9d5b56e137373241b7e8e 100644 >--- a/JSTests/stress/proxy-get-own-property.js >+++ b/JSTests/stress/proxy-get-own-property.js >@@ -225,7 +225,7 @@ Object.prototype.fooBarBaz = 20; // Make for-in go over the prototype chain to t > } > }; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let set = new Set(); > for (let p in proxy) { > set.add(p); >@@ -251,7 +251,7 @@ Object.prototype.fooBarBaz = 20; // Make for-in go over the prototype chain to t > x: {value: 20, enumerable: true}, > y: {value: 20, enumerable: true} > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let set = new Set; > for (let p in proxyish) { > set.add(p); >diff --git a/JSTests/stress/proxy-has-property.js b/JSTests/stress/proxy-has-property.js >index eb941a8395561e522271bfaf8c2fa0542e540389..70697ccbe4c0a891575ef3f8bf521a14073057c0 100644 >--- a/JSTests/stress/proxy-has-property.js >+++ b/JSTests/stress/proxy-has-property.js >@@ -459,7 +459,7 @@ function assert(b) { > called = false; > } > noInline(foo) >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(); > } > } >diff --git a/JSTests/stress/proxy-in-proto-chain.js b/JSTests/stress/proxy-in-proto-chain.js >index 444da6a097837f28ae8a682d044dc2b8d50d355f..4fe02f01feba363beb0f0cf718c4b0715a147bbd 100644 >--- a/JSTests/stress/proxy-in-proto-chain.js >+++ b/JSTests/stress/proxy-in-proto-chain.js >@@ -22,7 +22,7 @@ let proxy = new Proxy(theTarget, handler); > > let obj = Object.create(proxy); > >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(obj.x === 30); > assert(obj.y === 45); > } >diff --git a/JSTests/stress/proxy-instanceof.js b/JSTests/stress/proxy-instanceof.js >index 14bc383c69688a6c0f20f796934298548870e671..27cd3e81da680680349fce709009a514fcdc5fd8 100644 >--- a/JSTests/stress/proxy-instanceof.js >+++ b/JSTests/stress/proxy-instanceof.js >@@ -4,7 +4,7 @@ function assert(b) { > } > > function test(f) { >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > f(); > } > >diff --git a/JSTests/stress/proxy-property-descriptor.js b/JSTests/stress/proxy-property-descriptor.js >index cb94a5bde93e07c9b384fc7e98d2ea4945cfc1d2..b5130002c2b2858e4b9d4bb6fa05dddfd8e6f5ae 100644 >--- a/JSTests/stress/proxy-property-descriptor.js >+++ b/JSTests/stress/proxy-property-descriptor.js >@@ -45,12 +45,12 @@ let handler = { > > let proxy = new Proxy(theTarget, handler); > >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(proxy.x === 45); > assert(proxy["x"] === 45); > } > >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > try { > if (i % 2) > proxy.y; >@@ -63,12 +63,12 @@ for (let i = 0; i < 1000; i++) { > assert(threw === true); > } > >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(proxy.getter === undefined); > assert(proxy["getter"] === undefined); > } > >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > try { > if (i % 2) > proxy.badGetter; >diff --git a/JSTests/stress/proxy-set.js b/JSTests/stress/proxy-set.js >index 2ebb2c1bde359053677490e562fecdf8177aa429..0b8f1dce305a67f4712b55642ba56992633f73fb 100644 >--- a/JSTests/stress/proxy-set.js >+++ b/JSTests/stress/proxy-set.js >@@ -14,7 +14,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > proxy.x = 40; >@@ -40,7 +40,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > proxy.x = 40; >@@ -67,7 +67,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > proxy.x = 40; >@@ -99,7 +99,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > proxy.x = 40; > assert(called); > assert(proxy.x === 500); >@@ -125,7 +125,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > proxy.x = 40; >@@ -157,7 +157,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > proxy.x = 40; > assert(proxy.x === 25); > assert(called); >@@ -185,7 +185,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > proxy.x = 40; >@@ -216,7 +216,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > proxy.x = i; > assert(called); > assert(proxy.x === i); >@@ -241,7 +241,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > proxy.x = i; > assert(called); > assert(proxy.x === i); >@@ -272,7 +272,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > proxy.x = i; > assert(called); > assert(proxy.x === i); >@@ -294,7 +294,7 @@ function assert(b) { > let handler = { }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > proxy[i] = i; > assert(proxy[i] === i); > assert(target[i] === i); >@@ -315,7 +315,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > proxy[i] = i; > assert(proxy[i] === i); > assert(target[i] === i); >@@ -338,7 +338,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > proxy[i] = i; > assert(proxy[i] === i); > assert(target[i] === i); >@@ -375,7 +375,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > proxy.x = i; > assert(called); > throughProxy = true; >@@ -409,7 +409,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > obj.own = i; > assert(!called); > assert(obj.own === i); >@@ -435,7 +435,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > obj.own = i; > assert(obj.own === i); > assert(proxy.own === undefined); >@@ -470,7 +470,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > obj[0] = i; > assert(!called); > assert(obj[0] === i); >@@ -497,7 +497,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > obj[0] = i; > assert(obj[0] === i); > assert(proxy[0] === undefined); >@@ -532,7 +532,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > obj[0] = i; > assert(!called); > assert(obj[0] === i); >@@ -568,7 +568,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > obj[0] = i; > assert(!called); > assert(obj[0] === i); >@@ -604,7 +604,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > obj.own = i; > assert(!called); > assert(obj.own === i); >@@ -640,7 +640,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > obj[0] = i; > assert(!called); > assert(obj[0] === i); >diff --git a/JSTests/stress/proxy-with-private-symbols.js b/JSTests/stress/proxy-with-private-symbols.js >index 0bf1cfb54acf21fd5ab101b663303ef40467246c..978d7eb21cc62104ec54f67aaeaef0c5e88fba1a 100644 >--- a/JSTests/stress/proxy-with-private-symbols.js >+++ b/JSTests/stress/proxy-with-private-symbols.js >@@ -17,7 +17,7 @@ function assert(b) { > }; > > let proxy = new Proxy(theTarget, handler); >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > proxy[Symbol.iterator]().next.call(proxy); >@@ -44,7 +44,7 @@ function assert(b) { > }; > > let proxy = new Proxy(theTarget, handler); >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > proxy[Symbol.iterator]().next.call(proxy); >@@ -72,7 +72,7 @@ function assert(b) { > }; > > let proxy = new Proxy(iterator, handler); >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > proxy.next(); >diff --git a/JSTests/stress/prune-multi-put-by-offset-replace-or-transition-variant.js b/JSTests/stress/prune-multi-put-by-offset-replace-or-transition-variant.js >index 8a5604c83560e3be757d46892d477752cc38eb55..3f96b7aba517355c029b33aca95309a3ea7c56d4 100644 >--- a/JSTests/stress/prune-multi-put-by-offset-replace-or-transition-variant.js >+++ b/JSTests/stress/prune-multi-put-by-offset-replace-or-transition-variant.js >@@ -14,7 +14,7 @@ function baz(f, o) { > f(o); > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo({f:1, e:2}); > foo({e:1, f:2}); > foo({e:1}); >@@ -25,7 +25,7 @@ for (var i = 0; i < 100; ++i) { > fu({d:1, e:2, f:3, g:4}); > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > bar(foo, {f:1}); > bar(function() { }, null); > bar(function() { return 42; }, null); >diff --git a/JSTests/stress/put-by-id-build-list-order-recurse.js b/JSTests/stress/put-by-id-build-list-order-recurse.js >index 09d0219920b7f3f24e6058caee02ee43cbbb5c43..0ce733c3d00d12af1e21b12e3b86f86b93546daa 100644 >--- a/JSTests/stress/put-by-id-build-list-order-recurse.js >+++ b/JSTests/stress/put-by-id-build-list-order-recurse.js >@@ -21,7 +21,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 1000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineSetter__("f", setter); > >diff --git a/JSTests/stress/put-by-id-direct-strict-transition.js b/JSTests/stress/put-by-id-direct-strict-transition.js >index 6951617188c1aac59e4f65c2cd700684f6852d4b..f5d99b1ce47fe027e82f2b273014bb4c5c8afb48 100644 >--- a/JSTests/stress/put-by-id-direct-strict-transition.js >+++ b/JSTests/stress/put-by-id-direct-strict-transition.js >@@ -1,10 +1,10 @@ > "use strict" > > let theglobal = 0; >-for (theglobal = 0; theglobal < 100000; ++theglobal) >+for (theglobal = 0; theglobal < $vm.testingLoopCount; ++theglobal) > ; > const foo = (ignored, arg1) => { theglobal = arg1; }; >-for (let j = 0; j < 10000; ++j) { >+for (let j = 0; j < $vm.testingLoopCount; ++j) { > const obj = { > set hello(ignored) {}, > [theglobal]: 0 >diff --git a/JSTests/stress/put-by-id-direct-transition.js b/JSTests/stress/put-by-id-direct-transition.js >index 611f8ed2663888490bcd3b34435c63808b27da87..50b10f1b907f7835adbf18ce45e50cef609f5099 100644 >--- a/JSTests/stress/put-by-id-direct-transition.js >+++ b/JSTests/stress/put-by-id-direct-transition.js >@@ -1,8 +1,8 @@ > let theglobal = 0; >-for (theglobal = 0; theglobal < 100000; ++theglobal) >+for (theglobal = 0; theglobal < $vm.testingLoopCount; ++theglobal) > ; > const foo = (ignored, arg1) => { theglobal = arg1; }; >-for (let j = 0; j < 10000; ++j) { >+for (let j = 0; j < $vm.testingLoopCount; ++j) { > const obj = { > set hello(ignored) {}, > [theglobal]: 0 >diff --git a/JSTests/stress/put-by-id-throw-through-optimized-code.js b/JSTests/stress/put-by-id-throw-through-optimized-code.js >index 07541ba9632e4ef8969fe86452112677c79d1674..1ea0e0d2a78b79045ed59e96d47211f176cbc4dd 100644 >--- a/JSTests/stress/put-by-id-throw-through-optimized-code.js >+++ b/JSTests/stress/put-by-id-throw-through-optimized-code.js >@@ -5,7 +5,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > foo(o); > if (o.f != 42) >diff --git a/JSTests/stress/put-by-id-transition-null-prototype.js b/JSTests/stress/put-by-id-transition-null-prototype.js >index 9c7c69951f74bbaba76c0682e99cf0f4abc08297..22b7e11a3b694f5a70a389a09161eb8600d5428b 100644 >--- a/JSTests/stress/put-by-id-transition-null-prototype.js >+++ b/JSTests/stress/put-by-id-transition-null-prototype.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = Object.create(null); > foo(o); > if (o.f != 42) >diff --git a/JSTests/stress/put-by-val-with-string-generated.js b/JSTests/stress/put-by-val-with-string-generated.js >index c1f43ad3b052ec52fcd583f9769405c5104251a0..da40aa03d9f38c6bf0b3a753b98fa2f79f3b8904 100644 >--- a/JSTests/stress/put-by-val-with-string-generated.js >+++ b/JSTests/stress/put-by-val-with-string-generated.js >@@ -22,7 +22,7 @@ function assign(object, name, value) > } > noInline(assign); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var object = {}; > if (i % 2 === 0) { > assign(object, gen1('llo'), 42); >diff --git a/JSTests/stress/put-getter-setter-by-id-strict-transition.js b/JSTests/stress/put-getter-setter-by-id-strict-transition.js >index 9abd44e15e358dbe226fdf8e45a46b37d7988884..b8e85788498c7b9f7de37d482c8a971197288c03 100644 >--- a/JSTests/stress/put-getter-setter-by-id-strict-transition.js >+++ b/JSTests/stress/put-getter-setter-by-id-strict-transition.js >@@ -1,10 +1,10 @@ > "use strict" > > let theglobal = 0; >-for (theglobal = 0; theglobal < 100000; ++theglobal) >+for (theglobal = 0; theglobal < $vm.testingLoopCount; ++theglobal) > ; > const foo = (ignored, arg1) => { theglobal = arg1; }; >-for (let j = 0; j < 10000; ++j) { >+for (let j = 0; j < $vm.testingLoopCount; ++j) { > const obj = { > [theglobal]: 0, > set hello(ignored) {} >diff --git a/JSTests/stress/put-getter-setter-by-id-transition.js b/JSTests/stress/put-getter-setter-by-id-transition.js >index 7683ccd8ef3faf214be784e3b933facaac61546c..b0a9a1958fe54be78d95f0d4abe03f9b5f073435 100644 >--- a/JSTests/stress/put-getter-setter-by-id-transition.js >+++ b/JSTests/stress/put-getter-setter-by-id-transition.js >@@ -1,8 +1,8 @@ > let theglobal = 0; >-for (theglobal = 0; theglobal < 100000; ++theglobal) >+for (theglobal = 0; theglobal < $vm.testingLoopCount; ++theglobal) > ; > const foo = (ignored, arg1) => { theglobal = arg1; }; >-for (let j = 0; j < 10000; ++j) { >+for (let j = 0; j < $vm.testingLoopCount; ++j) { > const obj = { > [theglobal]: 0, > set hello(ignored) {} >diff --git a/JSTests/stress/put-indexed-getter-setter.js b/JSTests/stress/put-indexed-getter-setter.js >index 4375e1e1d56c379cddc5aa9425034ac5b64b3886..398565b8d3dbcbbe6b48d2006ab77d33e792eac7 100644 >--- a/JSTests/stress/put-indexed-getter-setter.js >+++ b/JSTests/stress/put-indexed-getter-setter.js >@@ -10,9 +10,9 @@ function foo() { > } > noInline(foo); > >-for (let i = 0; i < 10000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > foo(); > > Object.defineProperty(Object.prototype, "7", {get() { return 500; }, set(x) { }}); // this shouldn't change the test at all, it should be doing defineOwnProperty. >-for (let i = 0; i < 10000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > foo(); >diff --git a/JSTests/stress/put-inline-cache-side-effects.js b/JSTests/stress/put-inline-cache-side-effects.js >index ea9fa1c90e3c487e49efb9648397dc21dd31a377..d6f6a8cacd6ec39aa39057606b80f698e1278fb0 100644 >--- a/JSTests/stress/put-inline-cache-side-effects.js >+++ b/JSTests/stress/put-inline-cache-side-effects.js >@@ -20,7 +20,7 @@ for (let obj of objs) { > }); > let o = Object.create(this); > // Need eval to get a new IC to flatten obj. >- let str = "for (let i = 0; i < 1000; i++) o.foo"; >+ let str = "for (let i = 0; i < $vm.testingLoopCount; i++) o.foo"; > eval(str); > `); > >diff --git a/JSTests/stress/put-local-conservative.js b/JSTests/stress/put-local-conservative.js >index c63a0c13027d688265cb3e37641a4b93c89d0a6b..e9d629d3eb5f37a4873645cac6b36b63effdc7ae 100644 >--- a/JSTests/stress/put-local-conservative.js >+++ b/JSTests/stress/put-local-conservative.js >@@ -39,7 +39,7 @@ function bar(o, y) { > > var o = {f: 42}; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(o, i)(true, false); > if (result != 42 + 11 * i + 55) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/put-on-cow-prototype.js b/JSTests/stress/put-on-cow-prototype.js >index 6bfa7b25cb68808e67ae34ee9699265fdcc9d943..eea2fa9540157c61b93e5dbd8378a25a4dd172dc 100644 >--- a/JSTests/stress/put-on-cow-prototype.js >+++ b/JSTests/stress/put-on-cow-prototype.js >@@ -12,7 +12,7 @@ function putById() { > } > noInline(putById); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > putByVal(); > putById(); > } >diff --git a/JSTests/stress/recurse-infinitely-on-getter.js b/JSTests/stress/recurse-infinitely-on-getter.js >index a896f529c11505469d97b5d71c4707c07f249db1..384af69f68edc703a75e5d44fb2676a567dd372d 100644 >--- a/JSTests/stress/recurse-infinitely-on-getter.js >+++ b/JSTests/stress/recurse-infinitely-on-getter.js >@@ -2,7 +2,7 @@ > // FIXME: figure out why it times out. > // https://bugs.webkit.org/show_bug.cgi?id=130880 > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineGetter__("f", function() { > return o.f; >diff --git a/JSTests/stress/recursive-tail-call-with-different-argument-count.js b/JSTests/stress/recursive-tail-call-with-different-argument-count.js >index 047fb01f883145cc7554f5cf701a7074f267deee..f0883433d50e4ee099e847551761ca00d442bdc4 100644 >--- a/JSTests/stress/recursive-tail-call-with-different-argument-count.js >+++ b/JSTests/stress/recursive-tail-call-with-different-argument-count.js >@@ -15,7 +15,7 @@ function bar(x) > } > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(40, 2); > if (result !== 42) > throw "Wrong result for foo, expected 42, got " + result; >diff --git a/JSTests/stress/redundant-add-overflow-checks.js b/JSTests/stress/redundant-add-overflow-checks.js >index b435ff3d94958e90a9f7a9313c0c360d532a3fdf..739cce23d40004d8bc601cdaab77e4e184b395c2 100644 >--- a/JSTests/stress/redundant-add-overflow-checks.js >+++ b/JSTests/stress/redundant-add-overflow-checks.js >@@ -4,7 +4,7 @@ function foo(x) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(i); > if (result != i * 11 + 55) > throw "Error: bad result for i = " + i + ": " + result; >diff --git a/JSTests/stress/redundant-array-bounds-checks-addition-skip-first.js b/JSTests/stress/redundant-array-bounds-checks-addition-skip-first.js >index e8a0391c3dfd531effc61af232d4b43eaf5fad20..fdf3fa67fe0bcfae5c8ecd62df5ddd21f2986c6b 100644 >--- a/JSTests/stress/redundant-array-bounds-checks-addition-skip-first.js >+++ b/JSTests/stress/redundant-array-bounds-checks-addition-skip-first.js >@@ -14,7 +14,7 @@ function arraycmp(a, b) { > return true; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > var offset = i & 3; > for (var j = 0; j < offset; ++j) >diff --git a/JSTests/stress/redundant-array-bounds-checks-addition.js b/JSTests/stress/redundant-array-bounds-checks-addition.js >index 256e53619c0f780849f8d545d84239a6c94cd3fb..dc8a94b0623c9c5adab4136a10a1f4e5dd38d398 100644 >--- a/JSTests/stress/redundant-array-bounds-checks-addition.js >+++ b/JSTests/stress/redundant-array-bounds-checks-addition.js >@@ -14,7 +14,7 @@ function arraycmp(a, b) { > return true; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > var offset = i & 3; > for (var j = 0; j < offset; ++j) >diff --git a/JSTests/stress/redundant-array-bounds-checks-unchecked-addition.js b/JSTests/stress/redundant-array-bounds-checks-unchecked-addition.js >index 5ccb2be5b34549ecd467c45311b28eff8b7b7a75..8ee17bca4b90d74d8b0f5710db132eea330f3371 100644 >--- a/JSTests/stress/redundant-array-bounds-checks-unchecked-addition.js >+++ b/JSTests/stress/redundant-array-bounds-checks-unchecked-addition.js >@@ -14,7 +14,7 @@ function arraycmp(a, b) { > return true; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = []; > var offset = i & 3; > for (var j = 0; j < offset; ++j) >diff --git a/JSTests/stress/redundant-array-bounds-checks.js b/JSTests/stress/redundant-array-bounds-checks.js >index df0c7cd741868203b885c86169af5d6cbe692356..4140d4fb1f26d710e2eeaba56021a48b38534f12 100644 >--- a/JSTests/stress/redundant-array-bounds-checks.js >+++ b/JSTests/stress/redundant-array-bounds-checks.js >@@ -14,7 +14,7 @@ function arraycmp(a, b) { > return true; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo([1, 2, 3, 4, 5, 6, 7, 8]); > if (!arraycmp(result, [1, 2, 3, 4, 5, 6, 7, 8])) > throw "Error: bad result (1..8): " + result; >diff --git a/JSTests/stress/reflect-set-proxy-set.js b/JSTests/stress/reflect-set-proxy-set.js >index 4e8abdd0d651e903ee74accb2314d8140e2ee885..002403da370a67690bb6b3551492d2286fcca3ab 100644 >--- a/JSTests/stress/reflect-set-proxy-set.js >+++ b/JSTests/stress/reflect-set-proxy-set.js >@@ -24,7 +24,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Reflect.set(proxy, 'x', 40); >@@ -51,7 +51,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Reflect.set(proxy, 'x', 40); >@@ -79,7 +79,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Reflect.set(proxy, 'x', 40); >@@ -112,7 +112,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', 40), false); > assert(called); > assert(proxy.x === 500); >@@ -138,7 +138,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Reflect.set(proxy, 'x', 40); >@@ -171,7 +171,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', 40), false); > assert(proxy.x === 25); > assert(called); >@@ -199,7 +199,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Reflect.set(proxy, 'x', 40); >@@ -231,7 +231,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', i), true); > assert(called); > assert(proxy.x === i); >@@ -256,7 +256,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', i), false); > assert(called); > assert(proxy.x === i); >@@ -287,7 +287,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', i), false); > assert(called); > assert(proxy.x === i); >@@ -309,7 +309,7 @@ function assert(b) { > let handler = { }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, i, i), true); > assert(proxy[i] === i); > assert(target[i] === i); >@@ -330,7 +330,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, i, i), false); > assert(proxy[i] === i); > assert(target[i] === i); >@@ -353,7 +353,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, i, i), false); > assert(proxy[i] === i); > assert(target[i] === i); >@@ -390,7 +390,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', i), true); > assert(called); > throughProxy = true; >@@ -424,7 +424,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 'own', i), true); > assert(!called); > assert(obj.own === i); >@@ -450,7 +450,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 'own', i), true); > assert(obj.own === i); > assert(proxy.own === undefined); >@@ -485,7 +485,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 0, i), true); > assert(!called); > assert(obj[0] === i); >@@ -512,7 +512,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 0, i), true); > assert(obj[0] === i); > assert(proxy[0] === undefined); >@@ -547,7 +547,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 0, i), true); > assert(!called); > assert(obj[0] === i); >@@ -583,7 +583,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 0, i), true); > assert(!called); > assert(obj[0] === i); >@@ -619,7 +619,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 'own', i), true); > assert(!called); > assert(obj.own === i); >@@ -655,7 +655,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 0, i), true); > assert(!called); > assert(obj[0] === i); >diff --git a/JSTests/stress/reflect-set-receiver-proxy-set.js b/JSTests/stress/reflect-set-receiver-proxy-set.js >index 054de709212dd7cb04a8f6664b189f43317cea41..4a63e657852704503c44d04201e2152b03b4a43d 100644 >--- a/JSTests/stress/reflect-set-receiver-proxy-set.js >+++ b/JSTests/stress/reflect-set-receiver-proxy-set.js >@@ -26,7 +26,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Reflect.set(proxy, 'x', 40, theReceiver); >@@ -54,7 +54,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Reflect.set(proxy, 'x', 40, theReceiver); >@@ -84,7 +84,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Reflect.set(proxy, 'x', 40, theReceiver); >@@ -119,7 +119,7 @@ function assert(b) { > }; > > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', 40, theReceiver), false); > assert(called); > assert(proxy.x === 500); >@@ -147,7 +147,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Reflect.set(proxy, 'x', 40, theReceiver); >@@ -182,7 +182,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', 40, theReceiver), false); > assert(proxy.x === 25); > assert(theReceiver.x === undefined); >@@ -213,7 +213,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let threw = false; > try { > Reflect.set(proxy, 'x', 40, theReceiver); >@@ -248,7 +248,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', i, theReceiver), true); > assert(called); > assert(proxy.x === i); >@@ -275,7 +275,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', i, theReceiver), false); > assert(called); > assert(proxy.x === i); >@@ -309,7 +309,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', i, theReceiver), false); > assert(called); > assert(proxy.x === i); >@@ -334,7 +334,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, i, i, theReceiver), true); > assert(proxy[i] === undefined); > assert(target[i] === undefined); >@@ -357,7 +357,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, i, i, theReceiver), false); > assert(proxy[i] === i); > assert(target[i] === i); >@@ -396,7 +396,7 @@ function assert(b) { > > let theReceiver = {}; > let proxy = new Proxy(target, handler); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(proxy, 'x', i, theReceiver), true); > assert(called); > throughProxy = true; >@@ -433,7 +433,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 'own', i, theReceiver), true); > assert(!called); > assert(obj.own === null); >@@ -462,7 +462,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 'own', i, theReceiver), true); > assert(obj.own === null); > assert(proxy.own === undefined); >@@ -500,7 +500,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 0, i, theReceiver), true); > assert(!called); > assert(obj[0] === null); >@@ -530,7 +530,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 0, i, theReceiver), true); > assert(obj[0] === null); > assert(proxy[0] === undefined); >@@ -568,7 +568,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 0, i, theReceiver), true); > assert(!called); > assert(obj[0] === null); >@@ -607,7 +607,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 0, i, theReceiver), true); > assert(!called); > assert(obj[0] === null); >@@ -646,7 +646,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 'own', i, theReceiver), true); > assert(!called); > assert(obj.own === null); >@@ -685,7 +685,7 @@ function assert(b) { > value: null > } > }); >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldBe(Reflect.set(obj, 0, i, theReceiver), true); > assert(!called); > assert(obj[0] === null); >diff --git a/JSTests/stress/regexp-exec-effect-after-exception.js b/JSTests/stress/regexp-exec-effect-after-exception.js >index a737429137c57fc13cc84afd5da7cab2843d7259..22f7f87322a2a116433d3d9f2cc9638414630c06 100644 >--- a/JSTests/stress/regexp-exec-effect-after-exception.js >+++ b/JSTests/stress/regexp-exec-effect-after-exception.js >@@ -4,7 +4,7 @@ function foo(s) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo("foo bar"); > > RegExp.input = "blah"; >diff --git a/JSTests/stress/regexp-exec-test-effectful-last-index.js b/JSTests/stress/regexp-exec-test-effectful-last-index.js >index ef68e559c49cf4d0228e0eaca5a6e5d088792caf..6a92c2c179513f17ef99fc6fffd8fbbcc421c562 100644 >--- a/JSTests/stress/regexp-exec-test-effectful-last-index.js >+++ b/JSTests/stress/regexp-exec-test-effectful-last-index.js >@@ -12,7 +12,7 @@ function foo(r, s) { > } > noInline(foo); > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > let r = /foo/g; > regexLastIndex = {}; > regexLastIndex.toString = function() { >@@ -34,7 +34,7 @@ function bar(r, s) { > } > noInline(bar); > >-for (let i = 0; i < 10000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > let r = /foo/g; > regexLastIndex = {}; > regexLastIndex.toString = function() { >diff --git a/JSTests/stress/regexp-matches-array-bad-time.js b/JSTests/stress/regexp-matches-array-bad-time.js >index 538e6f7a121937235521d73dd552c1c495137f15..16b3bdc7a941e0faf00c0c17f1c946398d7044fc 100644 >--- a/JSTests/stress/regexp-matches-array-bad-time.js >+++ b/JSTests/stress/regexp-matches-array-bad-time.js >@@ -2,7 +2,7 @@ > var count = 11; > > var array; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > array = /foo/.exec("foo"); > if (array[0] != "foo") > throw "Error: bad result: " + array[0]; >diff --git a/JSTests/stress/regexp-matches-array-slow-put.js b/JSTests/stress/regexp-matches-array-slow-put.js >index b7a1fc1e6be9aba4e90b129dbb87ad30eaad97db..7bd94fde3f8fc3478ad29fbecf0fbb4354ec8533 100644 >--- a/JSTests/stress/regexp-matches-array-slow-put.js >+++ b/JSTests/stress/regexp-matches-array-slow-put.js >@@ -2,7 +2,7 @@ > var count = 0; > Array.prototype.__defineSetter__("0", function(value) { count += value; }); > >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var array = /foo/.exec("foo"); > if (array[0] != "foo") > throw "Error: bad result: " + array[0]; >diff --git a/JSTests/stress/regexp-prototype-tostring.js b/JSTests/stress/regexp-prototype-tostring.js >index ae12e937cb4784923565d0321a117b79fe002a4d..57d80b981514ec37ac3a56c3886efde666f07b27 100644 >--- a/JSTests/stress/regexp-prototype-tostring.js >+++ b/JSTests/stress/regexp-prototype-tostring.js >@@ -3,7 +3,7 @@ function assert(b) { > throw new Error("bad assertion") > } > function test(f) { >- for (let i = 0; i < 100; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > f(); > } > >diff --git a/JSTests/stress/regress-132147.js b/JSTests/stress/regress-132147.js >index 0073dd5ec016a9e65d4c0345bd21565fd62edbb6..d876a5395767b05ecc148be118a0d997c0a695fb 100644 >--- a/JSTests/stress/regress-132147.js >+++ b/JSTests/stress/regress-132147.js >@@ -21,7 +21,7 @@ var result = 0; > > noInline(foo) > >-for (i = 0; i < 100000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > result = result | foo(argA, argB, 4) > > if (result != 0xffdd) >diff --git a/JSTests/stress/regress-135155.js b/JSTests/stress/regress-135155.js >index 4b3224749d66de643ea4cfef27ef6233627a0fa1..1e5ae29dd95c3f10ef9ead2928dc3575ead67c8f 100644 >--- a/JSTests/stress/regress-135155.js >+++ b/JSTests/stress/regress-135155.js >@@ -1,5 +1,5 @@ > function run() { >- for (var t = 1, i = 0; i < 10000; t++, i++) { >+ for (var t = 1, i = 0; i < $vm.testingLoopCount; t++, i++) { > t.length = function() { > var foo = iv.charCodeAt(foo, undefined); > }; >diff --git a/JSTests/stress/regress-141489.js b/JSTests/stress/regress-141489.js >index bbca89c9b60c91caf6a7e3c1cdb3ed33a07bca3b..4010dbd3722b5ce6a1008a8927c92f6229ed1fe3 100644 >--- a/JSTests/stress/regress-141489.js >+++ b/JSTests/stress/regress-141489.js >@@ -20,7 +20,7 @@ noInline(foo); > > var arr = [ident,ident,ident]; > >-for (var i = 0; i < 100; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > var obj = {}; > for (var j = 0; j < 200; j ++) { > obj["j"+j] = i; >@@ -28,7 +28,7 @@ for (var i = 0; i < 100; i++) { > foo(arr, obj); > } > >-for (var i = 0; i < 100; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > var obj = {}; > foo(arr, obj); > } >\ No newline at end of file >diff --git a/JSTests/stress/regress-150532.js b/JSTests/stress/regress-150532.js >index d8f6b28b2c35ed029498eae447affea58bf3c565..83e811af70c82f3fa5767be5d6aad68874fbc75d 100644 >--- a/JSTests/stress/regress-150532.js >+++ b/JSTests/stress/regress-150532.js >@@ -30,7 +30,7 @@ function foo(o, c) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > switch (i % 2) { > case 0: > assert(foo(customGetter) === 100); >diff --git a/JSTests/stress/regress-156765.js b/JSTests/stress/regress-156765.js >index 8255a596ee196d9bdb60a8896731472be232bb77..b149d5f40fa0df66a513347a4f4d34de76d1e4ed 100644 >--- a/JSTests/stress/regress-156765.js >+++ b/JSTests/stress/regress-156765.js >@@ -23,5 +23,5 @@ function ok() { > > noInline(ok); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > ok(); >diff --git a/JSTests/stress/regress-157322.js b/JSTests/stress/regress-157322.js >index 05284d822a09c544b5d69123b6802cc85a2bfc1e..fa30b284fb730d7e102d69e1eba258cd0e796244 100644 >--- a/JSTests/stress/regress-157322.js >+++ b/JSTests/stress/regress-157322.js >@@ -32,7 +32,7 @@ let initialArray = []; > for (let i = 0; i < 8000; i++) > initialArray.push(i + 0.1); > >-for (let loop = 0; loop < 1000; loop++) { >+for (let loop = 0; loop < $vm.testingLoopCount; loop++) { > fromArray = initialArray.slice(0); > > let endObj = (loop % 2 == 1) ? endObj1 : endObj2; >diff --git a/JSTests/stress/regress-159537.js b/JSTests/stress/regress-159537.js >index f60558884b007d2d9bc137c746d5388300940828..d2a8a3a5ab3115043c2b60b7e0fb4f7ecd173fa8 100644 >--- a/JSTests/stress/regress-159537.js >+++ b/JSTests/stress/regress-159537.js >@@ -51,7 +51,7 @@ function test() > if (!(count % 100)) > edenGC(); > >- for (let j = 0; j < 100; j++) >+ for (let j = 0; j < $vm.testingLoopCount; j++) > bogus = new MyNumber(-1); > > if ((count + 1) != x[1].plusOne()) >diff --git a/JSTests/stress/regress-159779-1.js b/JSTests/stress/regress-159779-1.js >index b07151d5aa2ee200585edaa19260a7cea2592357..f7640753caa52b8494f3ece8a365656f610ee039 100644 >--- a/JSTests/stress/regress-159779-1.js >+++ b/JSTests/stress/regress-159779-1.js >@@ -709,7 +709,7 @@ function testEachMaker() > dumpln(f.name); > dumpln("=========="); > dumpln(""); >- for (var i = 0; i < 100; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > var r = f(8, ["A", "B"]); > if (typeof r != "string") >@@ -3233,7 +3233,7 @@ function startAsmDifferential() > // dumpln("asmFuzzSeed: " + asmFuzzSeed); > Random.init(asmFuzzSeed); while (true) { var stompStr = makeRegisterStompFunction(8, [], true); > print(stompStr); >- pureForeign.stomp = eval(stompStr); for (var i = 0; i < 100; ++i) { >+ pureForeign.stomp = eval(stompStr); for (var i = 0; i < $vm.testingLoopCount; ++i) { > var interior = generateAsmDifferential(); > print(interior); > testAsmDifferential(this, interior); >@@ -3507,7 +3507,7 @@ function tryHalves(code) > setTimeout(testStuffForAWhile, 200); > } function testStuffForAWhile() > { >- for (var j = 0; j < 100; ++j) >+ for (var j = 0; j < $vm.testingLoopCount; ++j) > testOne(); if (count % 10000 < 100) > printImportant("Iterations: " + count); setTimeout(testStuffForAWhile, 30); > } function testOne() >diff --git a/JSTests/stress/regress-159779-2.js b/JSTests/stress/regress-159779-2.js >index 5879eb91ff71c751e57d45205095d1d43d3b4f45..57d59825830fb802af3b96f5234c4c85f48b4199 100644 >--- a/JSTests/stress/regress-159779-2.js >+++ b/JSTests/stress/regress-159779-2.js >@@ -709,7 +709,7 @@ function testEachMaker() > dumpln(f.name); > dumpln("=========="); > dumpln(""); >- for (var i = 0; i < 100; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > var r = f(8, ["A", "B"]); > if (typeof r != "string") >@@ -3233,7 +3233,7 @@ function startAsmDifferential() > // dumpln("asmFuzzSeed: " + asmFuzzSeed); > Random.init(asmFuzzSeed); while (true) { var stompStr = makeRegisterStompFunction(8, [], true); > print(stompStr); >- pureForeign.stomp = eval(stompStr); for (var i = 0; i < 100; ++i) { >+ pureForeign.stomp = eval(stompStr); for (var i = 0; i < $vm.testingLoopCount; ++i) { > var interior = generateAsmDifferential(); > print(interior); > testAsmDifferential(this, interior); >@@ -3507,7 +3507,7 @@ function tryHalves(code) > setTimeout(testStuffForAWhile, 200); > } function testStuffForAWhile() > { >- for (var j = 0; j < 100; ++j) >+ for (var j = 0; j < $vm.testingLoopCount; ++j) > testOne(); if (count % 10000 < 100) > printImportant("Iterations: " + count); setTimeout(testStuffForAWhile, 30); > } function testOne() >@@ -4528,7 +4528,7 @@ var verbose = false; > /*FRC*/Random.twister.import_mti(18); void (makeScript(14)); > /*FRC*/count=341; tryItOut("mathy0 = (function(x, y) { return (Math.atan((( + (( - x) < Math.fround(Math.atan2(Math.fround(y), x)))) + ((x >= (y + ( - x))) <= y))) | Math.hypot((((y < (x >>> 0)) < (y % Math.fround(Math.pow((-Number.MIN_VALUE >>> 0), ((Math.imul(0x0ffffffff, y) >>> 0) >>> 0))))) | 0), (((z = Proxy.createFunction((function handlerFactory() {return {getOwnPropertyDescriptor: function() { throw 3; }, getPropertyDescriptor: function(name) { var desc = Object.getPropertyDescriptor(x); desc.configurable = true; return desc; }, defineProperty: function(name, desc) { Object.defineProperty(x, name, desc); }, getOwnPropertyNames: function() { return Object.getOwnPropertyNames(x); }, delete: function(name) { return delete x[name]; }, fix: function() { if (Object.isFrozen(x)) { return Object.getOwnProperties(x); } }, has: function(name) { return name in x; }, hasOwn: function(name) { return Object.prototype.hasOwnProperty.call(x, name); }, get: function(receiver, name) { return x[name]; }, set: function(receiver, name, val) { x[name] = val; return true; }, iterate: function() { return (function() { for (var name in x) { yield name; } })(); }, enumerate: function() { var result = []; for (var name in x) { result.push(name); }; return result; }, keys: function() { return Object.keys(x); }, }; })( /x/ ), decodeURIComponent) >>> 0) ? ((( ~ (y | 0)) + Math.tan(( + y))) >>> 0) : (( ! x) >>> 0)) >>> 0))); }); "); > /*FRC*/Random.twister.import_mti(359); void (makeScript(14)); >-/*FRC*/count=342; tryItOut("\"use asm\"; /*bLoop*/for (var vybjpe = 0; ((Int8Array(/((?!\\B^|[^]{1}){2}|(?:(?!\\B))|(?![\\d\\S\\0-\\u00fF\\n-\\v])|\\u002e+?.|\\s{1,3}+)/yi))) && vybjpe < 100; ++vybjpe) { if (vybjpe % 8 == 3) { g2.m0 = new Map; } else { i0 = new Iterator(o1.i2); } } "); >+/*FRC*/count=342; tryItOut("\"use asm\"; /*bLoop*/for (var vybjpe = 0; ((Int8Array(/((?!\\B^|[^]{1}){2}|(?:(?!\\B))|(?![\\d\\S\\0-\\u00fF\\n-\\v])|\\u002e+?.|\\s{1,3}+)/yi))) && vybjpe < $vm.testingLoopCount; ++vybjpe) { if (vybjpe % 8 == 3) { g2.m0 = new Map; } else { i0 = new Iterator(o1.i2); } } "); > /*FRC*/Random.twister.import_mta(680978191,-582735582,-503277984,-1712417544,1154533646,809193530,-986483485,749071393,1505274823,1850579698,-1389705391,824628467,698440855,-902145465,-1987277859,500837247,-824826155,1927184084,1153966852,852003662,201908099,-649216285,-553390392,1732590242,821186452,-59694213,798020687,198864054,1821076228,56960196,1760484252,285756926,-326883301,553371931,-1397475674,-55628680,1819072738,253388057,-213208796,-1625461005,-1868144781,624153122,232590332,1475156863,-1982186426,-732981242,1199640678,1364519438,-1909563992,671933548,-2082628836,-1648020103,1031183990,715980356,-268357374,-1956382976,1789634963,349599601,1174004690,-224326563,-1461495976,-1509364304,783759580,-596858271,-1354169162,1933786210,62213233,413692393,82022774,-549646177,-2117946364,-786487804,-2131676085,780433890,-877328342,-559397534,1825778414,1881100990,801834393,-885043775,1245411190,-42269964,1284353465,-973185343,-33293682,1022731803,1552702637,305178776,2091044344,857752069,-972183874,437657940,-673457673,-1245094784,-965135615,916927585,-330161972,-882602742,-1734724072,212713724,-580373110,-1098095695,1978604752,346690035,928573584,443816810,1670235594,-1089092400,1449019946,-1818599490,-1971678241,-171783032,-1804894457,-68423131,-1079634031,-1852836944,269939198,-724076022,659226992,-1460529114,-19456058,1365327782,831333120,-1772249158,-69059451,1101281409,667915487,1159102705,1330471916,1104904600,1929872292,56198452,-1313236655,15471977,1705772859,1647084852,1279448423,1521963927,3594216,-387265257,-1341491670,1281243649,646550313,-1934788763,-1386708513,483130689,-2113214185,-26299606,2017745556,2070747320,829565935,690632301,1856393738,-1344247551,2087868084,418321293,-995954920,510695611,-2115735966,-1452469312,1712486429,1985905439,-548736680,566533336,-984620799,576267410,-703312351,-37827820,-987274497,-615431049,825044078,-91468306,-372563897,-1572784637,1328819915,1401933775,-830463391,770856002,-482946692,1695858512,1937573418,1691491871,2040045803,1360359638,-658565402,516123419,1227338852,-757074121,661982747,-381833874,1076240930,-2020605129,175852740,-976666655,1726516509,-807651558,324256644,866692076,1461062001,198042398,-967552669,-253212233,895171724,1255373232,202042273,-437423842,-527070959,-1042807511,-917177065,-716261030,1451437012,-1930204735,-1250518067,1350590479,1598271653,-1760435897,-1371988882,1345717267,-1372351932,515109360,-1109904912,-1932129325,854789876,-2088968356,-973747982,775228164,751026287,-395872332,-1184175576,978232179,-2046725876,-445560049,824054573,774284676,-1058826772,-778017319,-1207858050,-723935280,-1747736961,1673443377,726222438,486007518,-1635138170,1932839968,535679066,664146485,1301755208,1004447848,-809896747,-177731936,1071916050,1598327855,-1597997275,-554084828,-458857606,-1888930756,-297354632,-1383449593,-602674904,1675487241,-1102133279,1080748772,1902118959,434582318,64673887,1482794065,1809039576,1072974862,375676197,1501366100,-854344047,891193679,-579806725,396822249,952324209,1858692235,-1502163368,-1757419866,467986699,1654327365,1146380951,1360528238,-228943950,501605880,-1464628926,2044885955,1672029851,-539433245,-1854251816,144155078,306839522,-1722701197,980438111,459937788,-1300175802,674660845,508177992,-1557366516,-1964274235,1405090610,50070615,811918268,-429928893,-1636905708,274993751,135903429,-1693277229,-358670544,1978746299,-1573647905,-159171421,412033776,1834404274,1326807010,764039025,2096863883,2031671250,-1522418712,219470304,-780042483,-1567437603,-1347219578,-558076894,-414967122,503607051,389878953,1106241701,359128185,291772628,1651687385,1253274098,1121525607,-404127642,664715408,1027836098,2012007464,1990080057,46002737,986350391,-525355636,-864239992,-1969302896,-1441410813,-93145696,-1512255446,-83051367,-1688956815,1291099115,1034405277,133149979,-796069398,1625040386,1780952045,2060962514,-1466365952,-1748790386,-1617478452,-1189692622,1657387958,-849721906,-2123129716,-1100800209,-1319063034,-1554169248,892201337,-423781585,1020365073,-260632272,-374381318,824892614,943423558,-2001805327,211732668,-2066956463,-170778239,112802091,-1939252244,1330121377,-1805107036,-1159922445,-2012343992,1333793899,425340934,304357196,-1801012745,1202370210,1789232061,872257642,-1701344973,26610541,947848345,1938570267,333744144,-159474025,341662709,290315605,762248148,1543106413,-1455667043,1308739287,1050643694,-368001533,2046394790,-401069038,1645160452,-920925811,-1976507887,1309939999,-1889141260,1697777697,-1100785841,1106833041,902120046,-1414134773,106801160,-1866521552,-352563308,23287055,-208568593,1861605908,1516635770,-1430424970,1241096345,806035410,272709363,630948113,1080157787,1464279139,478229845,-798590341,1869177306,-126602292,-266012953,-1757544336,1774298991,-1157955182,-1216546063,790220489,1492107375,1413563574,1116133353,-237300177,1027459145,1786964120,-656315345,-998256517,-1185148481,-1779159036,-126616865,-422206242,602716981,2053323157,-163848737,1974363656,1947560095,-1895933798,-658425470,-1719551536,1450173308,923404203,-516484494,-1990424302,287761868,1368050203,1537690899,1712119619,-842863502,206799507,-1010780671,-28874733,1953547859,219946898,1405589630,-1403981234,-2026679579,1629888672,-1843968734,-1634773663,-1430434216,733605443,1714139835,-954101303,808981022,-25798548,1494828271,178922836,2081787770,412797497,1940171071,-1734267942,748728265,-1562720910,596962264,-1941003892,-855547948,1169555946,-1961206501,-1543216820,-1451696608,2019097727,-1889739042,1920731378,-1031333875,-1263002771,2053138856,1774499781,-824095845,-1363812461,945057347,-1165553775,-2088585161,-1523313729,243667301,-1198347657,-772427343,219836912,-24598295,1792144006,-95397837,9252554,661497446,-15102350,-1408333198,-498938531,1885295030,-1595128572,760375870,-979476938,469210953,2054382208,1729771450,-862105240,1686245260,-2033595144,-1231903590,2024814891,1533244241,1388299159,-340979076,1629795083,-1651382237,-1645553520,570273411,-1630089484,175741139,-1788851525,-1400330559,1939953554,931229541,1128872056,-32765366,1290151596,-1520449690,-720385082,1049215808,1534784421,209299718,-530199425,1722783740,450904870,-532982937,1568795690,1788992348,-1581001560,1923569074,1765180980,554121419,-213137023,905303154,1772004064,1960242931,-1067523012,-823421764,1785427204,2091939187,-1774481269,-1787822117,-841026940,-86481308,-2127317501,-1338574,589330832,-1978381452,-1767344737,1945746703,-828173737,501309034,979075870,-83597679,-6452044,723150922,-1900918292,-1040757861,1035474562,1417060213,1351278234,1453139390,329493323,1644679058,276866067,-1665035939,-1507233880,554232203,1592223680,1399605216,-272996456,-296923588,-963663287,-1436819535,453636194,-1117972138,-1932053930,-942264325,-696972141,1392547744,1114325278,1558453173,-1018659944,-423210266,601456224,1274993428,-1982296584,437322308,-533907316); > /*FRC*/Random.twister.import_mti(513); void (makeScript(14)); > /*FRC*/count=343; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return (Math.log1p((Math.fround(Math.min(Math.fround(((Math.fround(Math.ceil(Math.fround(Math.fround((42 ? Math.fround(y) : 0x100000000))))) || -0) >>> 0)), Math.fround(Math.min((1/0 | 0), ((mathy0((y >>> mathy0(y, -0x07fffffff)), y) !== (Math.abs((y | 0)) | 0)) | 0))))) | 0)) | 0); }); testMathyFunction(mathy1, [Number.MAX_VALUE, 0x100000001, 0/0, 0x07fffffff, 1, 0x080000001, -0x100000000, -0x080000001, 0x080000000, 0x100000000, -0x0ffffffff, Number.MIN_VALUE, -0x080000000, 42, -1/0, 0, Math.PI, 0x0ffffffff, -Number.MAX_VALUE, -0x07fffffff, 0x100000001, -0, 1/0, -Number.MIN_VALUE]); "); >diff --git a/JSTests/stress/regress-160329.js b/JSTests/stress/regress-160329.js >index 156b62d1ea8537774906f09ae55abf86ba4634c9..c5ceb720eb4894e6b824194a3cf0bf019cbdc85e 100644 >--- a/JSTests/stress/regress-160329.js >+++ b/JSTests/stress/regress-160329.js >@@ -6,7 +6,7 @@ function narrow(x) { > > noInline(narrow); > >-for (var i = 0; i < 1000000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > let expected = i << 24; > let got = narrow(i); > expected = expected >> 24; >diff --git a/JSTests/stress/regress-170990.js b/JSTests/stress/regress-170990.js >index c7c457b632e012bcad710a2f3b497e8c91f693b3..2d3892bc763bab610547025fd8f3b002e788d782 100644 >--- a/JSTests/stress/regress-170990.js >+++ b/JSTests/stress/regress-170990.js >@@ -11,5 +11,5 @@ noInline(run); > > var arr = new Uint32Array([0x80000000,1]); > var resultArr = []; >-for (var i = 0; i < 10000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > test(resultArr, arr, getter); >diff --git a/JSTests/stress/regress-171079.js b/JSTests/stress/regress-171079.js >index 0f02070e89d14b683653969cb5f12ce6cb8bf2b7..f3ef013e617c9bb65cefd101fe12137a9bf7e3b3 100644 >--- a/JSTests/stress/regress-171079.js >+++ b/JSTests/stress/regress-171079.js >@@ -22,7 +22,7 @@ function test() { > } > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(); > assert(exception, void 0); > } >diff --git a/JSTests/stress/regress-173321.js b/JSTests/stress/regress-173321.js >index 75ca1ae30cecb4811b60c8cd2bf52fee2b681a32..8d1f315c8ed5992b9cf938c2bd10693626325c3f 100644 >--- a/JSTests/stress/regress-173321.js >+++ b/JSTests/stress/regress-173321.js >@@ -51,6 +51,6 @@ shouldBe(test(), testObjInitial); > Object.defineProperty(proto, "a", { value: 101, writable: false }); > > // Run a bunch of times to tier up. >-for (var i = 0; i < 10000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > shouldBe(test(), testObjAfterReadOnlyProperty); > >diff --git a/JSTests/stress/remove-phantom-after-setlocal.js b/JSTests/stress/remove-phantom-after-setlocal.js >index 3b792412b3c912a0fceabd96745c00a1fb4784a2..e8966d94d5763ccd355dadabfdb49c640407c56e 100644 >--- a/JSTests/stress/remove-phantom-after-setlocal.js >+++ b/JSTests/stress/remove-phantom-after-setlocal.js >@@ -7,7 +7,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:null}); > if (result !== false) > throw "Error: bogus result in loop"; >diff --git a/JSTests/stress/repeated-arity-check-fail.js b/JSTests/stress/repeated-arity-check-fail.js >index da4498e011aa9907fc5c73392789067f372e3484..c90ff01f86b22e502befcbed15eb906e39a158d4 100644 >--- a/JSTests/stress/repeated-arity-check-fail.js >+++ b/JSTests/stress/repeated-arity-check-fail.js >@@ -3,6 +3,6 @@ function bar(a,b,c,d,e,f,g,h,i,j,k) { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar(); > >diff --git a/JSTests/stress/repeated-put-by-id-reallocating-transition.js b/JSTests/stress/repeated-put-by-id-reallocating-transition.js >index e7b8b9a0f8b5360df7fdeb1601f86aa69cbaf45e..2aa24e57cb5a35f5b01ef1b72b4ba2c16f58c4ca 100644 >--- a/JSTests/stress/repeated-put-by-id-reallocating-transition.js >+++ b/JSTests/stress/repeated-put-by-id-reallocating-transition.js >@@ -29,7 +29,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > foo(o); > if (o.a != 0) >diff --git a/JSTests/stress/replacement-watchpoint-dictionary.js b/JSTests/stress/replacement-watchpoint-dictionary.js >index b3542263c3f35563bd559a0427623a55a5da6fd2..8ca92072aef4303b28109dc1e2d12644c6d9a912 100644 >--- a/JSTests/stress/replacement-watchpoint-dictionary.js >+++ b/JSTests/stress/replacement-watchpoint-dictionary.js >@@ -7,9 +7,9 @@ noInline(foo); > var p = {f:42}; > var o = Object.create(p); > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > p["i" + i] = i; >- for (var j = 0; j < 100; ++j) { >+ for (var j = 0; j < $vm.testingLoopCount; ++j) { > var result = foo(o); > if (result != 42) > throw "Error: bad result: " + result; >@@ -17,7 +17,7 @@ for (var i = 0; i < 100; ++i) { > } > > // Make p a non-dictionary. >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var tmp = o.f; > } > >diff --git a/JSTests/stress/replacement-watchpoint.js b/JSTests/stress/replacement-watchpoint.js >index d654ea776ff464d6ccf4fc49d14ea97a117d72e0..7db6073a4f3e64c1ca419fd69ca4e9b316ff0d4e 100644 >--- a/JSTests/stress/replacement-watchpoint.js >+++ b/JSTests/stress/replacement-watchpoint.js >@@ -7,9 +7,9 @@ noInline(foo); > var p = {f:42}; > var o = Object.create(p); > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > p["i" + i] = i; >- for (var j = 0; j < 100; ++j) { >+ for (var j = 0; j < $vm.testingLoopCount; ++j) { > var result = foo(o); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/resources/binary-op-test.js b/JSTests/stress/resources/binary-op-test.js >index f115c70413738041a68bf1bc66be9c6791c95fcb..576031cf821633ab3bd6c9ffb1e19259fb9fd1aa 100644 >--- a/JSTests/stress/resources/binary-op-test.js >+++ b/JSTests/stress/resources/binary-op-test.js >@@ -101,7 +101,7 @@ function runTest(test) { > try { > if (verbose) > print(test.name); >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > var result = test.func(test.x, test.y); > if (isIdentical(result, test.expectedResult)) > continue; >diff --git a/JSTests/stress/resources/unary-op-test.js b/JSTests/stress/resources/unary-op-test.js >index ce55e878958d39d5c7ea9ab9962600d433c33d57..3cc880d5ad8d1fc976e64ce37fcd46ad01acf166 100644 >--- a/JSTests/stress/resources/unary-op-test.js >+++ b/JSTests/stress/resources/unary-op-test.js >@@ -100,7 +100,7 @@ function runTest(test) { > try { > if (verbose) > print(test.name); >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > var result = test.func(test.x); > if (isIdentical(result, test.expectedResult)) > continue; >diff --git a/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-2.js b/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-2.js >index c14cac8c368c1580c42832efaf23bda9b92372d9..33cb92e495422da43df538beff4a25fb73028a3a 100644 >--- a/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-2.js >+++ b/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-2.js >@@ -9,11 +9,11 @@ function foo(...args) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > // Warm it up on in bound accesses. > assert(foo(i) === i); > } > > Array.prototype[0] = 50; >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo() === 50); >diff --git a/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-3.js b/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-3.js >index d25868744c9a0f156321e6a28e8b8bfadccb1e8b..496bfd429136389bc8afa059e620f4225b1fb6d0 100644 >--- a/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-3.js >+++ b/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-3.js >@@ -9,7 +9,7 @@ function foo(...args) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > // Warm it up on both in bound and out of bound accesses. > if (i % 2) > assert(foo(i) === i); >@@ -18,5 +18,5 @@ for (let i = 0; i < 10000; i++) { > } > > Object.prototype[0] = 50; >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo() === 50); >diff --git a/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-4.js b/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-4.js >index 4226770674fbb5c40356974765f777f30431ffa9..0a99457af856c2c612642614e4c1ce36e59a0d33 100644 >--- a/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-4.js >+++ b/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-4.js >@@ -10,11 +10,11 @@ function foo(...args) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > // Warm it up on in bound accesses. > assert(foo(i) === i); > } > > Object.prototype[0] = 50; >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo() === 50); >diff --git a/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-5.js b/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-5.js >index 5449872c634fdef30d7e8d3d59669b29cceabfca..a87ef32c3cff682f2fd75814367445d848197312 100644 >--- a/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-5.js >+++ b/JSTests/stress/rest-parameter-allocation-elimination-watchpoints-5.js >@@ -9,7 +9,7 @@ function foo(...args) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > // Warm it up on both in bound and out of bound accesses. > if (i % 2) > assert(foo(i) === i); >@@ -21,5 +21,5 @@ let newProto = [50]; > newProto.__proto__ = null; > > Array.prototype.__proto__ = newProto; >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo() === 50); >diff --git a/JSTests/stress/rest-parameter-allocation-elimination-watchpoints.js b/JSTests/stress/rest-parameter-allocation-elimination-watchpoints.js >index 8a70e42d4a4a52ba7480815c4bd140a708e95486..39ec963328df56c8d731e1ed838677f0fce2bf56 100644 >--- a/JSTests/stress/rest-parameter-allocation-elimination-watchpoints.js >+++ b/JSTests/stress/rest-parameter-allocation-elimination-watchpoints.js >@@ -9,7 +9,7 @@ function foo(...args) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > // Warm it up on both in bound and out of bound accesses. > if (i % 2) > assert(foo(i) === i); >@@ -18,5 +18,5 @@ for (let i = 0; i < 10000; i++) { > } > > Array.prototype[0] = 50; >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > assert(foo() === 50); >diff --git a/JSTests/stress/rest-parameter-and-default-arguments.js b/JSTests/stress/rest-parameter-and-default-arguments.js >index ee1b45178eadcbb200fd3458dd1914d47d6671f1..18c6c46f3359dfffd8cda23c938c96fcf696c036 100644 >--- a/JSTests/stress/rest-parameter-and-default-arguments.js >+++ b/JSTests/stress/rest-parameter-and-default-arguments.js >@@ -25,7 +25,7 @@ function baz(a = function() { return b; }, ...b) { > return a(); > } > >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > shouldThrowTDZ(function() { foo(undefined, undefined, 10, 20); }); > let o = {x: 20}; > let result = baz(undefined, 10, o, "baz"); >diff --git a/JSTests/stress/rest-parameter-basics.js b/JSTests/stress/rest-parameter-basics.js >index e8f1007bc31efbee47675e356c8c100329a1af1a..a970149c61f04bd6b04de76adab7f6f0247e2f20 100644 >--- a/JSTests/stress/rest-parameter-basics.js >+++ b/JSTests/stress/rest-parameter-basics.js >@@ -65,7 +65,7 @@ function strictModeLikeArgumentsObject(a, ...args) { > } > noInline(strictModeLikeArgumentsObject); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let a1 = foo(10, 20); > assert(a1 instanceof Array); > assert(a1.length === 1); >diff --git a/JSTests/stress/rest-parameter-having-a-bad-time.js b/JSTests/stress/rest-parameter-having-a-bad-time.js >index cc0205b1c0bd3d49d75e02473168adc34211e972..687b7d0f3a53a9776db1ae78044a0dff88f61917 100644 >--- a/JSTests/stress/rest-parameter-having-a-bad-time.js >+++ b/JSTests/stress/rest-parameter-having-a-bad-time.js >@@ -11,7 +11,7 @@ function test1() { > noInline(foo); > > let arr = [1,2,3]; >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let result = foo(...arr); > assert(result.length === 3); > assert(result.length === arr.length); >@@ -31,7 +31,7 @@ function test1() { > set: function(x) { called2 = true; } > }); > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let result = foo(...arr); > assert(result.length === 3); > assert(result[0] === arr[0]); >@@ -47,7 +47,7 @@ function test1() { > assert(!called2); // Creating a rest should defineProperty, ensuring we don't call the setter. > } > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let result = foo(...arr); > assert(result.length === 3); > assert(result[0] === arr[0]); >diff --git a/JSTests/stress/rest-parameter-inlined.js b/JSTests/stress/rest-parameter-inlined.js >index 92f266b2f5c736d51915142aaeeab868b7b53b02..2e948bf8f1821f9e4f17679b6632b40bd3e869c2 100644 >--- a/JSTests/stress/rest-parameter-inlined.js >+++ b/JSTests/stress/rest-parameter-inlined.js >@@ -13,7 +13,7 @@ function foo(a, b, c) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let result = foo(10, 20, 30); > assert(result.length === 3); > assert(result[0] === 10); >diff --git a/JSTests/stress/rest-parameter-many-arguments.js b/JSTests/stress/rest-parameter-many-arguments.js >index 9a2cb289c36cd44f7f450b61601679a174bb02ce..828f9c7e55ff0d278932aac8f17fba77cd2695ea 100644 >--- a/JSTests/stress/rest-parameter-many-arguments.js >+++ b/JSTests/stress/rest-parameter-many-arguments.js >@@ -14,7 +14,7 @@ function test() { > } > noInline(foo); > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > const size = 800; > let arr = new Array(size); > for (let i = 0; i < size; i++) >diff --git a/JSTests/stress/rest-parameter-negative.js b/JSTests/stress/rest-parameter-negative.js >index 632dad958cd44bb1a70ffd2b21f5947327b76339..3f638df8a6296f8c1e972e0893f9411a43679287 100644 >--- a/JSTests/stress/rest-parameter-negative.js >+++ b/JSTests/stress/rest-parameter-negative.js >@@ -14,7 +14,7 @@ try { > noInline(__f_5485); > } catch (e) {} > >-for (let __v_22598 = 0; __v_22598 < 10000; __v_22598++) { >+for (let __v_22598 = 0; __v_22598 < $vm.testingLoopCount; __v_22598++) { > try { > __f_5484(__f_5485(__v_22598) === __v_22598); > } catch (e) {} >diff --git a/JSTests/stress/retry-cache-later.js b/JSTests/stress/retry-cache-later.js >index 1f4cfdaedd0b4895ef44ae6dd96b216db8458b70..83b556fd17baf0510edaa0690c1142a687eb5868 100644 >--- a/JSTests/stress/retry-cache-later.js >+++ b/JSTests/stress/retry-cache-later.js >@@ -5,12 +5,12 @@ function foo(o) { > } > > var o = {}; >-for (var i = 0; i < 100; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > o["i" + i] = i; >-for (var i = 0; i < 100; i+=2) >+for (var i = 0; i < $vm.testingLoopCount; i+=2) > delete o["i" + i]; > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result != 7) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/ropes-symbol-toprimitive.js b/JSTests/stress/ropes-symbol-toprimitive.js >index f6dcf19219e9113b0d8d80ee4a56c496f0060dc8..99e1976f7025aab4b3043387cef6cc2983c06cfd 100644 >--- a/JSTests/stress/ropes-symbol-toprimitive.js >+++ b/JSTests/stress/ropes-symbol-toprimitive.js >@@ -10,7 +10,7 @@ noInline(ropify2); > > let test = new String("test"); > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (ropify("a", "b", test) !== "abtest") > throw "wrong on warmup"; > } >@@ -22,7 +22,7 @@ if (ropify("a", "b", test) !== "abchanged") > > > // Test we don't start doing the wrong thing if the prototype chain has been mucked with. >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (ropify2("a", "b", test) !== "abchanged") > throw "wrong on warmup"; > } >diff --git a/JSTests/stress/runtime-throw-through-optimized-code.js b/JSTests/stress/runtime-throw-through-optimized-code.js >index 1d9df1ddfbc527f707ac72fb0d53608dd6b6f198..36f42ae3f23cb77d95762db73c78796fa5093f41 100644 >--- a/JSTests/stress/runtime-throw-through-optimized-code.js >+++ b/JSTests/stress/runtime-throw-through-optimized-code.js >@@ -15,7 +15,7 @@ a.__defineGetter__("bar", bar); > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(a, "bar"); > if (result != 43) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sampling-profiler-basic.js b/JSTests/stress/sampling-profiler-basic.js >index c122870dadf2a3610604beef3df6a1ac4c06b10f..c7d49fe3456a48c55fefb3b8b9693130d7e0dce2 100644 >--- a/JSTests/stress/sampling-profiler-basic.js >+++ b/JSTests/stress/sampling-profiler-basic.js >@@ -32,12 +32,12 @@ if (platformSupportsSamplingProfiler()) { > return jaz(y) + 5; > } > function checkInlining() { >- for (let i = 0; i < 100; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > kaz(104); > } > > // Tier it up. >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > checkInlining(); > > runTest(checkInlining, ["jaz", "kaz", "checkInlining"]); >diff --git a/JSTests/stress/sampling-profiler-bound-function-name.js b/JSTests/stress/sampling-profiler-bound-function-name.js >index 7ebaa433a1218b677df8ec6a416ddd1149e11e2e..0f6080e33a719f8f54b9b9cedd4f93b0b5de150b 100644 >--- a/JSTests/stress/sampling-profiler-bound-function-name.js >+++ b/JSTests/stress/sampling-profiler-bound-function-name.js >@@ -3,14 +3,14 @@ if (platformSupportsSamplingProfiler()) { > > function foo() { > let o = {}; >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > o[i + "p"] = i; > } > } > > function bar() { > let o = {}; >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > o[i + "p"] = i; > } > } >diff --git a/JSTests/stress/sampling-profiler-deep-stack.js b/JSTests/stress/sampling-profiler-deep-stack.js >index c3396916388417bf9ccd6f74cbcc85aac9506083..e601cb8216bce85d21a76e46eda85831eb89d304 100644 >--- a/JSTests/stress/sampling-profiler-deep-stack.js >+++ b/JSTests/stress/sampling-profiler-deep-stack.js >@@ -3,7 +3,7 @@ if (platformSupportsSamplingProfiler()) { > > function foo(x) { > let o = {}; >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let x = i; > x--; > o["x" + x] = x; >diff --git a/JSTests/stress/sampling-profiler-internal-function-name.js b/JSTests/stress/sampling-profiler-internal-function-name.js >index 8892ca3503c90493a9ac5af34c9a046f290d1419..9531f18d822c698f0e36fa157658f8f157d8e698 100644 >--- a/JSTests/stress/sampling-profiler-internal-function-name.js >+++ b/JSTests/stress/sampling-profiler-internal-function-name.js >@@ -3,14 +3,14 @@ if (platformSupportsSamplingProfiler()) { > > function foo() { > let x; >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > x = new Error(); > } > runTest(foo, ["Error", "foo"]); > > function bar() { > let x; >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > x = new Function(); > } > runTest(bar, ["Function", "bar"]); >diff --git a/JSTests/stress/sampling-profiler-microtasks.js b/JSTests/stress/sampling-profiler-microtasks.js >index ce35d16ab1bab27605102574ca52a34c0a436a00..509d4fa81b82feca01f09e943f94469498e5fcd0 100644 >--- a/JSTests/stress/sampling-profiler-microtasks.js >+++ b/JSTests/stress/sampling-profiler-microtasks.js >@@ -17,7 +17,7 @@ if (platformSupportsSamplingProfiler()) { > let o1 = {}; > let o2 = {}; > function jar(x) { >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > o1[i] = i; > o2[i] = i + o1[i]; > i++; >@@ -33,7 +33,7 @@ if (platformSupportsSamplingProfiler()) { > const numPromises = 100; > function jaz() { > Promise.resolve(42).then(function hello(v1) { >- for (let i = 0; i < 100; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > jar(); > counter++; > if (counter >= numPromises) { >diff --git a/JSTests/stress/sampling-profiler/samplingProfiler.js b/JSTests/stress/sampling-profiler/samplingProfiler.js >index 3767a230f5c6207ae8dc9d6f8b2c37c79ef13bfc..92dce53dd114de0e64aefb30c1bcdfff4aa78730 100644 >--- a/JSTests/stress/sampling-profiler/samplingProfiler.js >+++ b/JSTests/stress/sampling-profiler/samplingProfiler.js >@@ -68,7 +68,7 @@ function runTest(func, stackTrace) { > let startTime = Date.now(); > let root = makeNode("<root>"); > do { >- for (let i = 0; i < 100; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > for (let i = 0; i < 10; i++) { > func(); > } >diff --git a/JSTests/stress/scoped-arguments-array-length.js b/JSTests/stress/scoped-arguments-array-length.js >index 3217bd337681391ee875efe3273a158d8f118df2..807d056653931f96373c97f7a9deb93dfde30358 100644 >--- a/JSTests/stress/scoped-arguments-array-length.js >+++ b/JSTests/stress/scoped-arguments-array-length.js >@@ -9,7 +9,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42, i); > if (result != 42 + i) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/scoped-arguments-out-of-bounds-change-structure.js b/JSTests/stress/scoped-arguments-out-of-bounds-change-structure.js >index 533437d6e3cd49a7f7e7a0df4c13be11befcbd25..bd59ef9c3ab48f02a92b39b291a7bdaba6e245fa 100644 >--- a/JSTests/stress/scoped-arguments-out-of-bounds-change-structure.js >+++ b/JSTests/stress/scoped-arguments-out-of-bounds-change-structure.js >@@ -12,7 +12,7 @@ o.g = 43; > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}); > if (result != 84) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/scoped-arguments-test.js b/JSTests/stress/scoped-arguments-test.js >index 838c91b5a69a514d061f804644eb50c76e2aba2b..3c4b98e90903dbf652a8c8d1df015b692fdd9669 100644 >--- a/JSTests/stress/scoped-arguments-test.js >+++ b/JSTests/stress/scoped-arguments-test.js >@@ -6,7 +6,7 @@ function foo(a) > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42); > if (result[0] != 42) > throw new Error("result[0] is not 42: " + result[0]); >diff --git a/JSTests/stress/scoped-then-direct-arguments-get-by-val-in-baseline.js b/JSTests/stress/scoped-then-direct-arguments-get-by-val-in-baseline.js >index 7c821043a6195e8aa7ff04cb38da737b1d18014e..90e71a38a1b113d6ad8fc93e801fd734b1451c2b 100644 >--- a/JSTests/stress/scoped-then-direct-arguments-get-by-val-in-baseline.js >+++ b/JSTests/stress/scoped-then-direct-arguments-get-by-val-in-baseline.js >@@ -16,13 +16,13 @@ function foo(a) { > } > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(scoped(42)); > if (result != 42) > throw "Error: bad result: " + result; > } > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(direct(42)); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js b/JSTests/stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js >index 095135791fc21ff3ed0b8e2313d2dfea38738c88..375bb61812428a3262c2a2b08ade22cd61f4f25f 100644 >--- a/JSTests/stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js >+++ b/JSTests/stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js >@@ -9,7 +9,7 @@ function run(o) { > theFunc(o); > } > >-for (let i = 0; i < 100000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > run(new ctor()) > let o = new ctor(); > o.g = 54; >diff --git a/JSTests/stress/setter.js b/JSTests/stress/setter.js >index c13d8d5a15ef8d587e46d6472a539301a68a034e..f4e89a64ab1391650cbb59961a690f83de1830a8 100644 >--- a/JSTests/stress/setter.js >+++ b/JSTests/stress/setter.js >@@ -5,7 +5,7 @@ function foo(o, v1) { > > noInline(foo); > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {g_: 5}; > o.__defineSetter__("f", function(value) { this.g_ += 42 * value; }); > o.__defineSetter__("g", function(value) { this.g_ += 43 * value; }); >diff --git a/JSTests/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js b/JSTests/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js >index fd918f869eb916fd69b5b55b40e406ec45f34312..04fec2aa661baea63bba8d04c4bcc55d534b879a 100644 >--- a/JSTests/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js >+++ b/JSTests/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js >@@ -9,7 +9,7 @@ function foo(b) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > foo(false); > > try { >diff --git a/JSTests/stress/simple-ai-effect.js b/JSTests/stress/simple-ai-effect.js >index f05d208b1ba871ccbfaa4c435da38db73e83bef7..03f7df0c9eee53260eec8b67a06ed0ab4a99dd8a 100644 >--- a/JSTests/stress/simple-ai-effect.js >+++ b/JSTests/stress/simple-ai-effect.js >@@ -25,7 +25,7 @@ noInline(foo); > var o = {g: 1}; > o.h = 2; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f: 1}, {g: 3}); > if (result != 8) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/simple-polyvariant-call-inlining-example.js b/JSTests/stress/simple-polyvariant-call-inlining-example.js >index 633b276cacb8e4a734ab23b42b862f565d8f4e03..e04d9dd3c3c380b9814333e19b49faeb8ab2c84e 100644 >--- a/JSTests/stress/simple-polyvariant-call-inlining-example.js >+++ b/JSTests/stress/simple-polyvariant-call-inlining-example.js >@@ -21,7 +21,7 @@ function baz2() { > noInline(foo); > noInline(fuzz); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(baz1); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/simple-polyvariant-get-by-id-inlining-example.js b/JSTests/stress/simple-polyvariant-get-by-id-inlining-example.js >index 554ab09c730840fef1b7d0e58da82968142c5d8f..aa19b3293a5293e4c1217ac2a8697fe82b94d444 100644 >--- a/JSTests/stress/simple-polyvariant-get-by-id-inlining-example.js >+++ b/JSTests/stress/simple-polyvariant-get-by-id-inlining-example.js >@@ -13,7 +13,7 @@ function bar(o) { > noInline(foo); > noInline(fuzz); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/simple-polyvariant-put-by-id-inlining-example.js b/JSTests/stress/simple-polyvariant-put-by-id-inlining-example.js >index 8eb6272f7ee8ff49797893925d92c97ad7b57415..cc0964bbb637c654f6961647535dd4628fb95e93 100644 >--- a/JSTests/stress/simple-polyvariant-put-by-id-inlining-example.js >+++ b/JSTests/stress/simple-polyvariant-put-by-id-inlining-example.js >@@ -13,7 +13,7 @@ function bar(o) { > noInline(foo); > noInline(fuzz); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > foo(o); > if (o.f != 42) >diff --git a/JSTests/stress/simple-prototype-accesses.js b/JSTests/stress/simple-prototype-accesses.js >index a580879df857c96ea6322bc0a9d2b83708d03007..dc0f484d6424d1866aecf77daaed1bc5331d5cfa 100644 >--- a/JSTests/stress/simple-prototype-accesses.js >+++ b/JSTests/stress/simple-prototype-accesses.js >@@ -13,7 +13,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Foo()); > if (result != 89) > throw "Error: bad result for Foo: " + result; >diff --git a/JSTests/stress/simple-regexp-exec-folding-fail.js b/JSTests/stress/simple-regexp-exec-folding-fail.js >index 404f27b88efd5e8b027287d6e9344cadc57a4bf4..bc668dfa4cdbf8097759c60fab6d671eeedec09b 100644 >--- a/JSTests/stress/simple-regexp-exec-folding-fail.js >+++ b/JSTests/stress/simple-regexp-exec-folding-fail.js >@@ -4,7 +4,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result !== null) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/simple-regexp-exec-folding.js b/JSTests/stress/simple-regexp-exec-folding.js >index 903932022775860ff3b8fb6661cbfb3ca6b35d1c..1a7cd8abb79cec659f4bc77a786243351554786c 100644 >--- a/JSTests/stress/simple-regexp-exec-folding.js >+++ b/JSTests/stress/simple-regexp-exec-folding.js >@@ -4,7 +4,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result.length != 4) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/simple-regexp-test-folding-fail.js b/JSTests/stress/simple-regexp-test-folding-fail.js >index b7ec383f6905f33e62758d2bb040b67887e882f2..0070e90124ee9695db9a6a9a4a156785363b9a4e 100644 >--- a/JSTests/stress/simple-regexp-test-folding-fail.js >+++ b/JSTests/stress/simple-regexp-test-folding-fail.js >@@ -4,7 +4,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != false) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/simple-regexp-test-folding.js b/JSTests/stress/simple-regexp-test-folding.js >index ef9b840530c9685235a37338e84a20e692e9c45e..9f1389e04efb85922e67b21436ad2237796b0db3 100644 >--- a/JSTests/stress/simple-regexp-test-folding.js >+++ b/JSTests/stress/simple-regexp-test-folding.js >@@ -4,7 +4,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != true) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js b/JSTests/stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js >index df4a352dde67dc1d239d1569a8baafcf2fd53073..3ded3bb5a8fa46b7ffbdfce8f4c620f383064e96 100644 >--- a/JSTests/stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js >+++ b/JSTests/stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js >@@ -6,7 +6,7 @@ function baz() { return bar(1, 2, 3); } > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/singleton-scope-then-overwrite.js b/JSTests/stress/singleton-scope-then-overwrite.js >index 7f87304a0b80ada6410ee05b77bffa8197f7db40..2ee82c56b816ed7e4de1f16cf401139c3706f76e 100644 >--- a/JSTests/stress/singleton-scope-then-overwrite.js >+++ b/JSTests/stress/singleton-scope-then-overwrite.js >@@ -4,7 +4,7 @@ function foo(a) { > return x + a; > }; > noInline(f); >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = f(i); > if (result != a + 1 + i) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/singleton-scope-then-realloc-and-overwrite.js b/JSTests/stress/singleton-scope-then-realloc-and-overwrite.js >index d15c57935d7e35d1fac8b53752a37592382c76f0..878c5bc46030f62bd78740ec05f026ae4658d6dc 100644 >--- a/JSTests/stress/singleton-scope-then-realloc-and-overwrite.js >+++ b/JSTests/stress/singleton-scope-then-realloc-and-overwrite.js >@@ -8,7 +8,7 @@ function foo(a) { > var f = foo(42); > noInline(f); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = f(i); > if (result != 42 + 1 + i) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/singleton-scope-then-realloc.js b/JSTests/stress/singleton-scope-then-realloc.js >index a6e1dccb28a89c53ffd83df27ed0bf542be2ce03..51e9aa4fca6b83c3eb0c16d9a23c2a627d84bc0b 100644 >--- a/JSTests/stress/singleton-scope-then-realloc.js >+++ b/JSTests/stress/singleton-scope-then-realloc.js >@@ -8,7 +8,7 @@ function foo(a) { > var f = foo(42); > noInline(f); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = f(1); > if (result != 42 + 1 + i + 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-arguments-past-invalid-check-dfg.js b/JSTests/stress/sink-arguments-past-invalid-check-dfg.js >index 8ee2b251d510f8f8a59645b65f00a8c2a6a8b783..493b455d753d23bc1c3d804ed5c9a4373fbb4100 100644 >--- a/JSTests/stress/sink-arguments-past-invalid-check-dfg.js >+++ b/JSTests/stress/sink-arguments-past-invalid-check-dfg.js >@@ -9,7 +9,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result !== 1) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-arguments-past-invalid-check-int32-dfg.js b/JSTests/stress/sink-arguments-past-invalid-check-int32-dfg.js >index fe645e8c9470c489467a453a2fa77c21449fa622..d245a8a06ac7c19e21bd90f88ca49647066150f1 100644 >--- a/JSTests/stress/sink-arguments-past-invalid-check-int32-dfg.js >+++ b/JSTests/stress/sink-arguments-past-invalid-check-int32-dfg.js >@@ -4,7 +4,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result !== false) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-arguments-past-invalid-check-int32.js b/JSTests/stress/sink-arguments-past-invalid-check-int32.js >index 93d6cb1aafb8fb3659799db7e3b9cedec163345b..19082d2914e5d77cfab98a18ae7181dd1a94a316 100644 >--- a/JSTests/stress/sink-arguments-past-invalid-check-int32.js >+++ b/JSTests/stress/sink-arguments-past-invalid-check-int32.js >@@ -12,7 +12,7 @@ var result = foo(true); > if (result !== false) > throw "Error: bad result at beginning: " + result; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(false); > if (result !== 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-arguments-past-invalid-check-sneakier.js b/JSTests/stress/sink-arguments-past-invalid-check-sneakier.js >index eb17c73944597b6f2f90aaf64ef1404ac9dc6710..b05bbb36b9a3e1fd9d4fde57562c1452087726e2 100644 >--- a/JSTests/stress/sink-arguments-past-invalid-check-sneakier.js >+++ b/JSTests/stress/sink-arguments-past-invalid-check-sneakier.js >@@ -20,12 +20,12 @@ noInline(foo); > > foo(true, false); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > bar(1, true); > bar({}, false); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(false, true); > if (result !== 0) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-arguments-past-invalid-check.js b/JSTests/stress/sink-arguments-past-invalid-check.js >index 0317f94ac302812d081e4df63ffef7e47c62c2d1..019461a557d4338a543aaac45dd199c8c952fba8 100644 >--- a/JSTests/stress/sink-arguments-past-invalid-check.js >+++ b/JSTests/stress/sink-arguments-past-invalid-check.js >@@ -11,7 +11,7 @@ function foo(p) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(false); > if (result !== 0) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-function-past-invalid-check-sneakier.js b/JSTests/stress/sink-function-past-invalid-check-sneakier.js >index eff3483d8ab5209450c68f1c0e99036505956635..c2b1d46841bdc84488899f777263ad914fbf91b8 100644 >--- a/JSTests/stress/sink-function-past-invalid-check-sneakier.js >+++ b/JSTests/stress/sink-function-past-invalid-check-sneakier.js >@@ -20,10 +20,10 @@ noInline(foo); > > foo(true, false); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar({f:42}, true); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(false, true); > if (result !== 0) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-function-past-invalid-check-sneaky.js b/JSTests/stress/sink-function-past-invalid-check-sneaky.js >index 33d3ec9dd8a233feafaa42633e1dc345ffb72668..af307118fe529d606e2cb5c41aecd15f0100748f 100644 >--- a/JSTests/stress/sink-function-past-invalid-check-sneaky.js >+++ b/JSTests/stress/sink-function-past-invalid-check-sneaky.js >@@ -6,7 +6,7 @@ function foo(p) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(false); > > foo(true); >diff --git a/JSTests/stress/sink-multigetbyoffset.js b/JSTests/stress/sink-multigetbyoffset.js >index 29c4dbbc6519f9937794eadf63342fc855dd12ef..4884dcba44418b24c250a8a1ffd798c74faf50bb 100644 >--- a/JSTests/stress/sink-multigetbyoffset.js >+++ b/JSTests/stress/sink-multigetbyoffset.js >@@ -9,7 +9,7 @@ function get(o, p) { > return 42; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > get({ f: 42 }, i % 2); > get({ o: 10, f: 42 }, i % 2); > } >@@ -20,7 +20,7 @@ function foo() { > } > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result !== 42) > throw new Error("Result should be 42 but was " + result); >diff --git a/JSTests/stress/sink-object-past-invalid-check-int32.js b/JSTests/stress/sink-object-past-invalid-check-int32.js >index 7a20d4f278e88d7db5d5be190898eaaa028ddbb3..7d4acc7b0bfee6daea11bc4348c45ce8c7f03c1f 100644 >--- a/JSTests/stress/sink-object-past-invalid-check-int32.js >+++ b/JSTests/stress/sink-object-past-invalid-check-int32.js >@@ -12,7 +12,7 @@ var result = foo(true); > if (result !== false) > throw "Error: bad result at end: " + result; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(false); > if (result !== 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-object-past-invalid-check-sneakier.js b/JSTests/stress/sink-object-past-invalid-check-sneakier.js >index 147df9817b64fe24515d8d9e1eb62c68e397676a..fb4b2d48f93a3e0251190726c64ca9da81f41566 100644 >--- a/JSTests/stress/sink-object-past-invalid-check-sneakier.js >+++ b/JSTests/stress/sink-object-past-invalid-check-sneakier.js >@@ -17,10 +17,10 @@ noInline(foo); > > foo(true, false); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar({f:42}, true); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(false, true); > if (result !== 0) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-object-past-invalid-check-sneaky.js b/JSTests/stress/sink-object-past-invalid-check-sneaky.js >index 7b38cef9a415825a2df5f38acf497d6746968f2d..a2a77f79436a3b3532eb1bec4ad5142a27b8d07b 100644 >--- a/JSTests/stress/sink-object-past-invalid-check-sneaky.js >+++ b/JSTests/stress/sink-object-past-invalid-check-sneaky.js >@@ -8,7 +8,7 @@ function foo(p) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(false); > if (result !== 0) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-object-past-invalid-check.js b/JSTests/stress/sink-object-past-invalid-check.js >index 15daa8925d8e6bdc9989a06db17158a5d14aee4d..b8e62814ba7f74310375ecbb5ac7a6392a7c1826 100644 >--- a/JSTests/stress/sink-object-past-invalid-check.js >+++ b/JSTests/stress/sink-object-past-invalid-check.js >@@ -8,7 +8,7 @@ function foo(p) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(false); > if (result !== 0) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/sink-put-stack-over-kill-stack.js b/JSTests/stress/sink-put-stack-over-kill-stack.js >index 151a07d93ed4919020022f55a1303b0c0c21680a..444bb24aa926a6ebbe9f3f2a936d91a8353e33a4 100644 >--- a/JSTests/stress/sink-put-stack-over-kill-stack.js >+++ b/JSTests/stress/sink-put-stack-over-kill-stack.js >@@ -11,6 +11,6 @@ function banana_2() { > avocado_1(() => null); > } > >-for (let i = 0; i < 100000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > banana_2(); > } >diff --git a/JSTests/stress/sink-to-impossible-multi-get-by-offset-on-prototypes.js b/JSTests/stress/sink-to-impossible-multi-get-by-offset-on-prototypes.js >index d4340e7d04b9c8c06b51501ba069419bb61bab9c..c39658eee4398431049340e94bb0379a38d6bb98 100644 >--- a/JSTests/stress/sink-to-impossible-multi-get-by-offset-on-prototypes.js >+++ b/JSTests/stress/sink-to-impossible-multi-get-by-offset-on-prototypes.js >@@ -28,12 +28,12 @@ function foo(p) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > bar(new ThingA(), true); > bar(new ThingB(), true); > } > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(false); > > var result = foo(true); >diff --git a/JSTests/stress/sink_checkstructure.js b/JSTests/stress/sink_checkstructure.js >index 2427a63eb562864999048ed12ef1d33b7fafed18..49e1d93c42ddfbc0a8be6f6ff7a3b5df5b3460e3 100644 >--- a/JSTests/stress/sink_checkstructure.js >+++ b/JSTests/stress/sink_checkstructure.js >@@ -7,7 +7,7 @@ noInline(foo); > > var expected = foo(false, true).f; > >-for (var i = 0; i < 1000000; i++) { >+for (var i = 0; i < $vm.testingLoopCount; i++) { > foo(true, true); > } > >diff --git a/JSTests/stress/slightly-more-difficult-to-fold-reflective-arguments-access.js b/JSTests/stress/slightly-more-difficult-to-fold-reflective-arguments-access.js >index ef44d263628b12cf424346eb70b8fadc6a340aef..04d9b028161602c7e40ce02a61e1f482b1e75518 100644 >--- a/JSTests/stress/slightly-more-difficult-to-fold-reflective-arguments-access.js >+++ b/JSTests/stress/slightly-more-difficult-to-fold-reflective-arguments-access.js >@@ -9,7 +9,7 @@ function bar(x) { > > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(42); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/slow-path-generator-updating-current-node-dfg.js b/JSTests/stress/slow-path-generator-updating-current-node-dfg.js >index 32e92636ab12aa9cbf5ecc657210779dbc5dc544..fe827168f9a0c66e36346882c6c6717f7b9e95e6 100644 >--- a/JSTests/stress/slow-path-generator-updating-current-node-dfg.js >+++ b/JSTests/stress/slow-path-generator-updating-current-node-dfg.js >@@ -16,7 +16,7 @@ function bar(a) { > > noInline(bar); > >-for (let i = 0; i < 100; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let smallArray = [1, 2, 3, 4, 5]; > bar(smallArray); > } >diff --git a/JSTests/stress/sparse-map-non-skip-getter-overriding.js b/JSTests/stress/sparse-map-non-skip-getter-overriding.js >index 48bf81c5a46e9e6a0b9ce5a04bc1e0680bbc61fd..360dbcad5106f2f8b187fdb7d244d2ec669fdf7f 100644 >--- a/JSTests/stress/sparse-map-non-skip-getter-overriding.js >+++ b/JSTests/stress/sparse-map-non-skip-getter-overriding.js >@@ -17,5 +17,5 @@ function testing(object) { > } > noInline(testing); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > testing(obj); >diff --git a/JSTests/stress/sparse-map-non-skip.js b/JSTests/stress/sparse-map-non-skip.js >index fb37d458c0bad891814d00631bdd538591f2331f..1ccf2afecebe847b681679fe67246202c9fdf282 100644 >--- a/JSTests/stress/sparse-map-non-skip.js >+++ b/JSTests/stress/sparse-map-non-skip.js >@@ -17,7 +17,7 @@ function testing2(object) { > } > noInline(testing2); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > testing({ > 0: 0, > 1: 1, >@@ -32,7 +32,7 @@ testing({ > 2: "String" > }); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > testing2({ > 0: 0, > get 1() { >diff --git a/JSTests/stress/spec-empty-flows-through-cell-checks.js b/JSTests/stress/spec-empty-flows-through-cell-checks.js >index ebf6019895db3f6248b1d408d4e2d6d8a85af99c..e61cabed0a183a3281ee1c1d0dd24b314fd47244 100644 >--- a/JSTests/stress/spec-empty-flows-through-cell-checks.js >+++ b/JSTests/stress/spec-empty-flows-through-cell-checks.js >@@ -14,7 +14,7 @@ class B extends A { > } > }; > >-for (var i=0; i < 10000; i++) { >+for (var i=0; i < $vm.testingLoopCount; i++) { > try { > new B(true, true); > } catch (e) { >diff --git a/JSTests/stress/splay-flash-access.js b/JSTests/stress/splay-flash-access.js >index 68dcb29d7a30493d22059d55f2b6b4b5f31e148a..0615c104216ac7fe673156f0a3e07659b40c21ab 100644 >--- a/JSTests/stress/splay-flash-access.js >+++ b/JSTests/stress/splay-flash-access.js >@@ -837,8 +837,8 @@ function jscRun() { > jscSetUp(); > var __before = preciseTime(); > var times = []; >-for (var i = 0; i < 10000; ++i) { >-//for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { >+//for (var i = 0; i < $vm.testingLoopCount; ++i) { > var _before = preciseTime(); > jscRun(); > var _after = preciseTime(); >diff --git a/JSTests/stress/spread-array-iterator-watchpoint-2.js b/JSTests/stress/spread-array-iterator-watchpoint-2.js >index 7dde5342d6dfd985f9b56d7c5a1d766246eced8b..55aa8550831745023b887a8ec6b121300978ea1e 100644 >--- a/JSTests/stress/spread-array-iterator-watchpoint-2.js >+++ b/JSTests/stress/spread-array-iterator-watchpoint-2.js >@@ -4,7 +4,7 @@ function foo(a) { > noInline(foo); > > let arr = []; >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i % 100 === 0) > arr.push([], i); > foo(arr); >diff --git a/JSTests/stress/spread-array-iterator-watchpoint.js b/JSTests/stress/spread-array-iterator-watchpoint.js >index ac774535c6c7f73a9f67dd9e5f0a1070eaec38b7..cd88f3ab64887fb40cecc6106e4de6ba2e703cc4 100644 >--- a/JSTests/stress/spread-array-iterator-watchpoint.js >+++ b/JSTests/stress/spread-array-iterator-watchpoint.js >@@ -4,7 +4,7 @@ function foo(a) { > noInline(foo); > > let arr = []; >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i % 100 === 0) > arr.push([], i); > foo(arr); >diff --git a/JSTests/stress/spread-call-convert-to-static-call.js b/JSTests/stress/spread-call-convert-to-static-call.js >index f572664fd5f1583366a0cb4e559c154be327e3f3..2eeedeb87634b9d73ef6cd9adbdf28f940857f20 100644 >--- a/JSTests/stress/spread-call-convert-to-static-call.js >+++ b/JSTests/stress/spread-call-convert-to-static-call.js >@@ -16,7 +16,7 @@ function foo(a, b, c, d) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = foo(i, i+1, i+2, i+3); > assert(r.length === 7); > assert(r[0] === i+1); >diff --git a/JSTests/stress/spread-correct-global-object-on-exception.js b/JSTests/stress/spread-correct-global-object-on-exception.js >index dec8e71c54e41cb64a710a45f3454ff2069949d7..a29a4af6c39e3faca36a9e6def98603365d0a01a 100644 >--- a/JSTests/stress/spread-correct-global-object-on-exception.js >+++ b/JSTests/stress/spread-correct-global-object-on-exception.js >@@ -23,7 +23,7 @@ const objectText = ` > `; > > let o = eval(objectText); >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i % 23 === 0) > o = eval(objectText); > spread(o); >diff --git a/JSTests/stress/spread-escapes-but-create-rest-does-not.js b/JSTests/stress/spread-escapes-but-create-rest-does-not.js >index 46809c9bf811c26d5e1fdd5009c97b33a0b91892..397c0d65169c827e0de487797dc6a41d6ef19791 100644 >--- a/JSTests/stress/spread-escapes-but-create-rest-does-not.js >+++ b/JSTests/stress/spread-escapes-but-create-rest-does-not.js >@@ -29,7 +29,7 @@ let obj = { > }; > > for (let i = 0; i < 1e5; ++i) { >- for (let _i = 0; _i < 100; _i++) { >+ for (let _i = 0; _i < $vm.testingLoopCount; _i++) { > } > theFunc(obj, 897989, 42, o); > } >diff --git a/JSTests/stress/spread-escapes-but-new-array-buffer-does-not.js b/JSTests/stress/spread-escapes-but-new-array-buffer-does-not.js >index b397677436b4026d66b2d39ad0416b8db037cfdd..05507c49591e1eeea498cb5c45489299fb708745 100644 >--- a/JSTests/stress/spread-escapes-but-new-array-buffer-does-not.js >+++ b/JSTests/stress/spread-escapes-but-new-array-buffer-does-not.js >@@ -29,7 +29,7 @@ let obj = { > }; > > for (let i = 0; i < 1e5; ++i) { >- for (let _i = 0; _i < 100; _i++) { >+ for (let _i = 0; _i < $vm.testingLoopCount; _i++) { > } > theFunc(obj, 897989); > } >diff --git a/JSTests/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js b/JSTests/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js >index 72bd04f13266851856a66be61b1853ce16fb89ec..3da563ce30858d6951ccd8f54349b6e3c43d0ca5 100644 >--- a/JSTests/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js >+++ b/JSTests/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js >@@ -33,7 +33,7 @@ function foo(c, ...args) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > const c = false; > const args = [{}, 20, [], 45]; > let r = foo(c, ...args); >diff --git a/JSTests/stress/spread-forward-varargs-stack-overflow.js b/JSTests/stress/spread-forward-varargs-stack-overflow.js >index b11d45ed98c501ffb4e762d116d9b7992840b208..f68b37aa6bd3e7e614b2eb18d81d2418b2f8ac06 100644 >--- a/JSTests/stress/spread-forward-varargs-stack-overflow.js >+++ b/JSTests/stress/spread-forward-varargs-stack-overflow.js >@@ -18,7 +18,7 @@ function foo(a, ...args) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let args = []; > for (let i = 0; i < 400; i++) { > args.push(i); >diff --git a/JSTests/stress/spread-non-array.js b/JSTests/stress/spread-non-array.js >index 124789ad2a3296c3df280f7663f9eaa5bb8f040c..e8c701aa05569e2ace9e40ab4cb3a7673ad90779 100644 >--- a/JSTests/stress/spread-non-array.js >+++ b/JSTests/stress/spread-non-array.js >@@ -29,7 +29,7 @@ let customIterator = { > }; > } > }; >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > for (let o of [customIterator, map]) { > let [[a, b], [c, d]] = foo(o); > assert(a === 20); >@@ -45,7 +45,7 @@ function bar(m) { > return [...m, ...m]; > } > noInline(bar); >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > for (let o of [customIterator, map]) { > let [[a, b], [c, d], [e, f], [g, h]] = bar(o); > assert(a === 20); >diff --git a/JSTests/stress/spread-optimized-properly.js b/JSTests/stress/spread-optimized-properly.js >index 3c8566d80a79c200ad8a021d4f251cf17def44cf..c17211490aadd55cef235c01ebdb7e5b83fd1774 100644 >--- a/JSTests/stress/spread-optimized-properly.js >+++ b/JSTests/stress/spread-optimized-properly.js >@@ -35,7 +35,7 @@ test(function() { > return [...a]; > } > noInline(bar); >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(shallowEq(bar(arr), arr)); > } > }); >@@ -58,7 +58,7 @@ test(function() { > return [...a]; > } > noInline(bar); >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let t = bar(arr); > assert(count === 3); > count = 0; >@@ -82,7 +82,7 @@ test(function() { > return [...a]; > } > noInline(bar); >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let t = bar(arr); > assert(count === 3); > count = 0; >@@ -98,7 +98,7 @@ test(function() { > return [...a]; > } > noInline(bar); >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(shallowEq(bar(arr), arr)); > } > }); >@@ -112,7 +112,7 @@ test(function() { > return [...a]; > } > noInline(bar); >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let t = bar(arr); > assert(callCount === 1); > assert(shallowEq(t, arr)); >@@ -140,7 +140,7 @@ test(function() { > return [...a]; > } > >- for (let i = 0; i < 10000; ++i) { >+ for (let i = 0; i < $vm.testingLoopCount; ++i) { > let arr = [1,,3]; > let callCount = 0; > Object.defineProperty(arr, 1, { get: function() { ++callCount; iterProto.next = hackedNext; return 2; } }); >diff --git a/JSTests/stress/spread-outer-create-rest.js b/JSTests/stress/spread-outer-create-rest.js >index 11e881ae33474a2332754ff887932b87dc85d288..920d8147ba4a3d79a7fc937dff88706925cdb3a5 100644 >--- a/JSTests/stress/spread-outer-create-rest.js >+++ b/JSTests/stress/spread-outer-create-rest.js >@@ -18,5 +18,5 @@ function baz(a, b) { > return a + b; > } > >-for (let i = 0; i < 10000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > assert(foo(i, i+1) === (i + (i + 1))); >diff --git a/JSTests/stress/strcat-emtpy.js b/JSTests/stress/strcat-emtpy.js >index bf68ea1f1432f0977e0e20a483cc55223f048abe..7ebe478e4916633342fbdaf49288837b94650adc 100644 >--- a/JSTests/stress/strcat-emtpy.js >+++ b/JSTests/stress/strcat-emtpy.js >@@ -6,7 +6,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > foo(); > } catch (e) { >diff --git a/JSTests/stress/strict-to-this-int.js b/JSTests/stress/strict-to-this-int.js >index 806ed0bd7f14cfaeb32925cec2d48e101736f059..0eafe12cadc3e1cd9d12c2ee756ee693bd9aaf01 100644 >--- a/JSTests/stress/strict-to-this-int.js >+++ b/JSTests/stress/strict-to-this-int.js >@@ -18,7 +18,7 @@ function test(this_, a, b, x_) { > throw "Error: bad result: " + result; > } > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(5, 1, 2, 100); > > test(5, 2000000000, 2000000000, 1); >diff --git a/JSTests/stress/string-from-char-code-change-structure-not-dead.js b/JSTests/stress/string-from-char-code-change-structure-not-dead.js >index 5478f73da69302aee67da3d927244944be65c63f..ef73c23101e950f929e4bc2e1554cdea912b5f94 100644 >--- a/JSTests/stress/string-from-char-code-change-structure-not-dead.js >+++ b/JSTests/stress/string-from-char-code-change-structure-not-dead.js >@@ -13,7 +13,7 @@ o.g = 43; > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}, {valueOf: function() { return 32; }}); > if (result != 84) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/string-from-char-code-change-structure.js b/JSTests/stress/string-from-char-code-change-structure.js >index ab60026d7a261fe89b2725d48f6da2aada722a91..0f533b3e4db3ce17e1b481caf51990f3d2d3555a 100644 >--- a/JSTests/stress/string-from-char-code-change-structure.js >+++ b/JSTests/stress/string-from-char-code-change-structure.js >@@ -11,7 +11,7 @@ noInline(foo); > var o = {f:24}; > o.g = 43; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo({f:42}, {valueOf: function() { return 32; }}); > if (result != 84) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/string-from-char-code-slow.js b/JSTests/stress/string-from-char-code-slow.js >index 0fea07b3afd89ebc9068823ed1c75c2ce9b5896a..0be0960a8ff828fd732181404af5f567de21f5b0 100644 >--- a/JSTests/stress/string-from-char-code-slow.js >+++ b/JSTests/stress/string-from-char-code-slow.js >@@ -1,6 +1,6 @@ > var result = (function() { > var result; >- for (var i = 0; i < 1000000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > result = String.fromCharCode(1000); > return result > })(); >diff --git a/JSTests/stress/string-ident-to-not-string-var-equality.js b/JSTests/stress/string-ident-to-not-string-var-equality.js >index 3ceb1b262fd212b5186f25da9ded97d61761699b..4d0447e96ad576a853bb6599461c89728386ee0a 100644 >--- a/JSTests/stress/string-ident-to-not-string-var-equality.js >+++ b/JSTests/stress/string-ident-to-not-string-var-equality.js >@@ -16,7 +16,7 @@ function test(a, b, expected) { > throw new Error("Bad result: " + barActual); > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test("foo", "foo", true); > test("foo", "bar", false); > test("fuz", 42, false); >diff --git a/JSTests/stress/string-instanceof.js b/JSTests/stress/string-instanceof.js >index 929a6c99f696c716ef447371119add24b322b24f..f8a13587b2c322efeb1bb755f8f57b1125791b42 100644 >--- a/JSTests/stress/string-instanceof.js >+++ b/JSTests/stress/string-instanceof.js >@@ -5,7 +5,7 @@ function foo(value, proto) > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo("hello", String); > if (result) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/string-out-of-bounds-negative-proto-value.js b/JSTests/stress/string-out-of-bounds-negative-proto-value.js >index cb480504f3792a001e91fddfadf1f7d7f2f2b030..cda4b41e267fa6297a5c47133244e47d20302308 100644 >--- a/JSTests/stress/string-out-of-bounds-negative-proto-value.js >+++ b/JSTests/stress/string-out-of-bounds-negative-proto-value.js >@@ -6,7 +6,7 @@ noInline(foo); > > String.prototype[-1] = "hello"; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo("hello"); > if (result != "hello") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/string-replace-constant-folding-replacer-not-string.js b/JSTests/stress/string-replace-constant-folding-replacer-not-string.js >index 6c44cb33ac1ed6bb7abf13430e9300c248488ee2..c8b117380a5f0b93cf530f41ff9cd09ab8e9bcb8 100644 >--- a/JSTests/stress/string-replace-constant-folding-replacer-not-string.js >+++ b/JSTests/stress/string-replace-constant-folding-replacer-not-string.js >@@ -5,7 +5,7 @@ function foo() { > noInline(foo); > > let result; >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > result = foo(); > if (result !== "42oo") > throw new Error("Error: bad result: " + result); >diff --git a/JSTests/stress/string-rope-with-custom-valueof.js b/JSTests/stress/string-rope-with-custom-valueof.js >index 0eb7f80b7347448afe4f33596786b3760460be63..493fcd7406695548f0b57d349723bf7ee4b323e6 100644 >--- a/JSTests/stress/string-rope-with-custom-valueof.js >+++ b/JSTests/stress/string-rope-with-custom-valueof.js >@@ -39,7 +39,7 @@ random = { valueOf: function() { > } > } }; > >-for (i = 0; i < 100000; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > if (catNumber(number) !== "testthings1") > throw "bad number"; > if (catBool(bool) !== "testthingstrue") >@@ -51,7 +51,7 @@ for (i = 0; i < 100000; i++) { > } > > // Try passing new types to each of the other functions. >-for (i = 0; i < 100000; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > if (catUndefined(number) !== "testthings1") > throw "bad number"; > if (catNumber(bool) !== "testthingstrue") >diff --git a/JSTests/stress/sub-overflows-after-not-equal.js b/JSTests/stress/sub-overflows-after-not-equal.js >index 06c62ee0969882050525c48d3e456a15dc62abda..0b7d67e8192e06bc87d4f297a9f1c384ccc9dd09 100644 >--- a/JSTests/stress/sub-overflows-after-not-equal.js >+++ b/JSTests/stress/sub-overflows-after-not-equal.js >@@ -5,7 +5,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42); > if (result != 41) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/super-force-ic-fail.js b/JSTests/stress/super-force-ic-fail.js >index dbff88d3afed4a7cbffe03a83286a10f11dec049..817291c1364fca65744cb4f2c65c69b7e8221d79 100644 >--- a/JSTests/stress/super-force-ic-fail.js >+++ b/JSTests/stress/super-force-ic-fail.js >@@ -18,7 +18,7 @@ Object.setPrototypeOf(obj, aObj); > > noInline(obj.jaz); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i == 9999) { > delete aObj.foo; > assert(obj.jaz() === undefined); >@@ -43,7 +43,7 @@ Object.setPrototypeOf(obj2, bObj); > > noInline(obj.jaz); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i == 9999) { > Object.defineProperty(bObj, "foo", { > get: () => {return "boo"; } >diff --git a/JSTests/stress/super-method-calls-check-tdz.js b/JSTests/stress/super-method-calls-check-tdz.js >index 2c76c6e9b0d100f2055bf1194fae8ca37eb7175e..7650ca468f8ae63668b3c2245613891396f2499d 100644 >--- a/JSTests/stress/super-method-calls-check-tdz.js >+++ b/JSTests/stress/super-method-calls-check-tdz.js >@@ -20,6 +20,6 @@ function test() { > throw "did not throw reference error"; > } > >-for (i = 0; i < 10000; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > test(); > } >diff --git a/JSTests/stress/super-property-access-exceptions.js b/JSTests/stress/super-property-access-exceptions.js >index cf413c15a8d8f1b14f610db66c0a528bf3c08e46..69d4f496ce077e1385ca13e9af0043460a1a4d01 100644 >--- a/JSTests/stress/super-property-access-exceptions.js >+++ b/JSTests/stress/super-property-access-exceptions.js >@@ -68,7 +68,7 @@ test(function() { > } > noInline(bar); > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(i); > bar(i); > } >@@ -142,7 +142,7 @@ test(function() { > } > noInline(bar); > >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > foo(i); > bar(i); > } >diff --git a/JSTests/stress/super-property-access.js b/JSTests/stress/super-property-access.js >index 65996a759754cd9517e6c25aeb95d2f6ac7fa736..0b2814f70a531379e2dc25b00b524df6fea250a1 100644 >--- a/JSTests/stress/super-property-access.js >+++ b/JSTests/stress/super-property-access.js >@@ -31,16 +31,16 @@ test(function() { > } > > let arr = []; >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr.push(new B(20)); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === 20); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].value = i; > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > }, 2); >@@ -78,87 +78,87 @@ test(function() { > } > > let arr = []; >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr.push(new B(20)); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let t = arr[i].value; > assert(t === 20); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].value = i; > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let v = arr[i].inc(); > assert(v === i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i+1); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let v = arr[i].dec(); > assert(v === i+1); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let v = arr[i].preInc(); > assert(v === i+1); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i+1); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let v = arr[i].preDec(); > assert(v === i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].plusEq(i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i+i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].minusEq(i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].timesEq(i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i*i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i === 0) > arr[i].value = 0; > else > arr[i].divEq(i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i] = new B(0, function(a) { return i + a; }); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].funcDot(i) === i + i); > assert(arr[i].funcBracket(i*2) === i + i*2); > } >@@ -196,86 +196,86 @@ test(function() { > } > > let arr = []; >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr.push(new B(20)); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === 20); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].value = i; > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let v = arr[i].inc(); > assert(v === i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i+1); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let v = arr[i].dec(); > assert(v === i+1); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let v = arr[i].preInc(); > assert(v === i+1); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i+1); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let v = arr[i].preDec(); > assert(v === i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].plusEq(i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i+i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].minusEq(i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].timesEq(i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i*i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i === 0) > arr[i].value = 0; > else > arr[i].divEq(i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].value === i); > } > >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i] = new B(0, function(a) { return i + a; }); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].funcDot(i) === i + i); > assert(arr[i].funcBracket(i*2) === i + i*2); > } >@@ -305,7 +305,7 @@ test(function() { > > test(function() { > class A { } >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > A.prototype[i] = i; > > >@@ -314,7 +314,7 @@ test(function() { > } > > let b = new B; >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(b.index(i) === i); > } > }, 2); >@@ -477,13 +477,13 @@ test(function() { > } > } > let arr = []; >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr.push((new B)); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].baz(i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].foo === i); > } > }, 10); >@@ -509,13 +509,13 @@ test(function() { > } > } > let arr = []; >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr.push((new B)); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > arr[i].baz(i); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(arr[i].foo === i); > } > }, 10); >@@ -545,7 +545,7 @@ test(function() { > return super.apply({}, [10, 20]); > } > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let b = new B; > assert(b.foo() === 'call'); > assert(b.bar() === 'apply'); >@@ -570,11 +570,11 @@ test(function() { > } > > let arr = []; >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let b = new B(i); > arr.push(b); > } >- for (let i = 0; i < 1000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let r = arr[i].baz(); > assert(r.length === 2); > assert(r[0].length === 2); >diff --git a/JSTests/stress/switch-typeof-indirect.js b/JSTests/stress/switch-typeof-indirect.js >index 392b94bfed55961fea432f5bf794324493d29f7a..f44b91742691a69bb33275db0054633f518acaf4 100644 >--- a/JSTests/stress/switch-typeof-indirect.js >+++ b/JSTests/stress/switch-typeof-indirect.js >@@ -30,7 +30,7 @@ function test(value, expected) { > throw "Error: bad type code for " + value + ": " + result + " (expected " + expected + ")"; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(void 0, 0); > test({}, 1); > test(function() { return 42; }, 2); >diff --git a/JSTests/stress/switch-typeof-slightly-indirect.js b/JSTests/stress/switch-typeof-slightly-indirect.js >index 291f2a7589f3c4f14d2fdffb42563ad47e5f8c0e..69a64115cbb9f2a0b5d3c5202867340b8a962052 100644 >--- a/JSTests/stress/switch-typeof-slightly-indirect.js >+++ b/JSTests/stress/switch-typeof-slightly-indirect.js >@@ -28,7 +28,7 @@ function test(value, expected) { > throw "Error: bad type code for " + value + ": " + result + " (expected " + expected + ")"; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(void 0, 0); > test({}, 1); > test(function() { return 42; }, 2); >diff --git a/JSTests/stress/switch-typeof.js b/JSTests/stress/switch-typeof.js >index 90c374bd17f10b1b587e2a6ca0afd2247410ebcd..deb1f1c0f07b2edc52ea66acb21d5faae6e101ab 100644 >--- a/JSTests/stress/switch-typeof.js >+++ b/JSTests/stress/switch-typeof.js >@@ -25,7 +25,7 @@ function test(value, expected) { > throw "Error: bad type code for " + value + ": " + result + " (expected " + expected + ")"; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(void 0, 0); > test({}, 1); > test(function() { return 42; }, 2); >diff --git a/JSTests/stress/symbol-and-string-constructor.js b/JSTests/stress/symbol-and-string-constructor.js >index 4a88e863ab5113f39ac263e969365fb3e907d480..f907f6c626c0e47ddb65d90d9e20e4d4e11f536d 100644 >--- a/JSTests/stress/symbol-and-string-constructor.js >+++ b/JSTests/stress/symbol-and-string-constructor.js >@@ -3,7 +3,7 @@ function performString(value) { > } > noInline(performString); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = performString(Symbol.iterator); > if (result !== 'Symbol(Symbol.iterator)') > throw new Error('bad value: ' + result); >diff --git a/JSTests/stress/symbol-equality-over-gc.js b/JSTests/stress/symbol-equality-over-gc.js >index 180e2fb57697f364ec0c0915b98193209c009b5e..9210a0a0e2832089c2f9a7b90a1d42f927eaeb7e 100644 >--- a/JSTests/stress/symbol-equality-over-gc.js >+++ b/JSTests/stress/symbol-equality-over-gc.js >@@ -19,5 +19,5 @@ function test() > } > noInline(test); > >-for (let i = 0; i < 1000; ++i) >+for (let i = 0; i < $vm.testingLoopCount; ++i) > test(); >diff --git a/JSTests/stress/symbol-equality.js b/JSTests/stress/symbol-equality.js >index eb64a89d4c0db78f482d60ff3d0c0503bc442bed..c9a8e930c7b72327a72a4b836224c939edc2d906 100644 >--- a/JSTests/stress/symbol-equality.js >+++ b/JSTests/stress/symbol-equality.js >@@ -27,7 +27,7 @@ var list = [ > list.forEach(function (set) { > var pair = set[0]; > var result = set[1]; >- for (var i = 0; i < 10000; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > shouldBe(equal(pair[0], pair[1]), result); > shouldBe(strictEqual(pair[0], pair[1]), result); > } >diff --git a/JSTests/stress/symbol-instanceof.js b/JSTests/stress/symbol-instanceof.js >index 7285da8b7d0ee824fc37d33fab80303263a344f4..d08bfc7278eefb9adf8779bb65d8e6312588f9c7 100644 >--- a/JSTests/stress/symbol-instanceof.js >+++ b/JSTests/stress/symbol-instanceof.js >@@ -5,7 +5,7 @@ function foo(value, proto) > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(Symbol("hello"), Symbol); > if (result) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/symbol-registry.js b/JSTests/stress/symbol-registry.js >index 5ea3663111a16d5f36704268555cd93fa4985d61..78e799a1dac8193aa9a6083d2f70878dc54f0c4f 100644 >--- a/JSTests/stress/symbol-registry.js >+++ b/JSTests/stress/symbol-registry.js >@@ -95,13 +95,13 @@ function test(actual, expected) { > }()); > > (function () { >- for (var i = 0; i < 10000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > Symbol.for(i); > gc(); > }()); > > (function () { >- for (var i = 0; i < 100; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var symbol = Symbol.for(i); > test(String(symbol), "Symbol(" + i + ")"); > test(symbol, Symbol.for(i)); >@@ -112,14 +112,14 @@ function test(actual, expected) { > > (function () { > var symbols = []; >- for (var i = 0; i < 100; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > var symbol = Symbol.for(i); > symbols.push(symbol); > } > >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > test(Symbol.for(i), symbols[i]); > >- for (var i = 0; i < 100; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > test(Symbol.keyFor(Symbol(i)), undefined); > }()); >diff --git a/JSTests/stress/symbol-should-not-break-for-in.js b/JSTests/stress/symbol-should-not-break-for-in.js >index 87fb16b0f6ecc3001de71ab770bb73b4c4509ea0..d499d86e2851f32a98f224a7b1b165942898bb44 100644 >--- a/JSTests/stress/symbol-should-not-break-for-in.js >+++ b/JSTests/stress/symbol-should-not-break-for-in.js >@@ -14,14 +14,14 @@ noInline(foo); > let o = {}; > o[Symbol()] = "symbol"; > o.prop = "prop"; >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let arr = foo(o); > assert(arr.length === 1); > assert(arr[0] === "prop"); > } > > o.prop2 = "prop2"; >-for (let i = 0; i < 1000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let arr = foo(o); > assert(arr.length === 2); > assert(arr[0] === "prop"); >diff --git a/JSTests/stress/symbol-toprimitive.js b/JSTests/stress/symbol-toprimitive.js >index fac7636459742d254d0f9ae571bb07f3cab0ea93..40cdd6b1eb80f78b62699ae1c0906877e72aff9e 100644 >--- a/JSTests/stress/symbol-toprimitive.js >+++ b/JSTests/stress/symbol-toprimitive.js >@@ -2,7 +2,7 @@ > let foo = { } > foo[Symbol.toPrimitive] = function() { return {} }; > >-for (i = 0; i < 100000; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > let failed = true; > try { > foo >= 1; >diff --git a/JSTests/stress/tagged-template-tdz.js b/JSTests/stress/tagged-template-tdz.js >index 22466c12c9e639d75df9237866bc9be77e0ff81d..34f191a4e7728befdfb82a9b56ae5b29744dc2a3 100644 >--- a/JSTests/stress/tagged-template-tdz.js >+++ b/JSTests/stress/tagged-template-tdz.js >@@ -12,7 +12,7 @@ function shouldThrowTDZ(func) { > noInline(shouldThrowTDZ); > > function test(f) { >- for (let i = 0; i < 1000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > f(); > } > >diff --git a/JSTests/stress/tail-call-host-call-throw.js b/JSTests/stress/tail-call-host-call-throw.js >index 3e87329c98173dbf9cbcd18aacdae89d60b134b7..713fe2fc68897325be0d124046258f8551ce14d0 100644 >--- a/JSTests/stress/tail-call-host-call-throw.js >+++ b/JSTests/stress/tail-call-host-call-throw.js >@@ -22,7 +22,7 @@ function m() { return 3; } > > var funcs = [a, b, c, d, e, f, g, h, i, l, m, Array]; > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(funcs[i % funcs.length], 1); > > var result = null; >diff --git a/JSTests/stress/tail-call-profiler.js b/JSTests/stress/tail-call-profiler.js >index 5733707a5a9b29aca41506bcb34a7f6add5d51e9..ad7560295b567b637dd087dcee24fc5d094dda89 100644 >--- a/JSTests/stress/tail-call-profiler.js >+++ b/JSTests/stress/tail-call-profiler.js >@@ -19,7 +19,7 @@ function inlineTailTernary(a) { > } > > function body() { >- for (var i = 0; i < 10000; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > inlineTail(1); > inlineTailVarArgs(1); > inlineTailTernary(1) >diff --git a/JSTests/stress/tail-call-recognize.js b/JSTests/stress/tail-call-recognize.js >index 1681e40201ed3ce7e7916c9cab8e52b16ca17ac0..20be0c54f5310ec06b782fc391858a50346a44a1 100644 >--- a/JSTests/stress/tail-call-recognize.js >+++ b/JSTests/stress/tail-call-recognize.js >@@ -179,5 +179,5 @@ function runTests() { > })(); > } > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > runTests(); >diff --git a/JSTests/stress/tail-calls-dont-overwrite-live-stack.js b/JSTests/stress/tail-calls-dont-overwrite-live-stack.js >index d9563d1d287b676de0ed9ab2dd7dbb2d9be7f334..fe2fe6ea0e9691e269fe9746b2909e5769d5d429 100644 >--- a/JSTests/stress/tail-calls-dont-overwrite-live-stack.js >+++ b/JSTests/stress/tail-calls-dont-overwrite-live-stack.js >@@ -15,7 +15,7 @@ noInline(obj.method); > function getThis(x) { return this; } > noInline(getThis); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var that = getThis(obj.method(42)); > > if (!Object.is(that, undefined)) >diff --git a/JSTests/stress/tdz-this-in-try-catch.js b/JSTests/stress/tdz-this-in-try-catch.js >index 89f22baf572df31e68cfd463d1491567df03edef..af73f20fb4b3bcd2fdd97e2bb28bb1fa924c8846 100644 >--- a/JSTests/stress/tdz-this-in-try-catch.js >+++ b/JSTests/stress/tdz-this-in-try-catch.js >@@ -17,6 +17,6 @@ var __v_6392 = class __c_97 extends __v_6388 { > __v_6407(); > } > }; >-for (var i = 0; i < 1000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > new __v_6392() > } >diff --git a/JSTests/stress/template-literal.js b/JSTests/stress/template-literal.js >index 5f66d6d0bca3d97e6b162ccb3f506c36b5002c5c..1c660963a240083e8a503bc3330e7f13afbcf070 100644 >--- a/JSTests/stress/template-literal.js >+++ b/JSTests/stress/template-literal.js >@@ -208,27 +208,27 @@ test(`Hello ${ `Co${`c`}oa` }`, "Hello Cocoa"); > > dfgTests =[ > function testSingleNode() { >- for (var i = 0; i < 1000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > `${1}` > }, > function testPreNode() { >- for (var i = 0; i < 1000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > `n${1}` > }, > function testPostNode() { >- for (var i = 0; i < 1000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > `${1}n` > }, > function testSingleObjectNode() { >- for (var i = 0; i < 1000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > `${{}}` > }, > function testObjectPreNode() { >- for (var i = 0; i < 1000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > `n${{}}` > }, > function testObjectPostNode() { >- for (var i = 0; i < 1000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > `${{}}n` > }, > ]; >diff --git a/JSTests/stress/throw-from-ftl-call-ic-slow-path-cells.js b/JSTests/stress/throw-from-ftl-call-ic-slow-path-cells.js >index 58c2e5e9d24c84a006a842d4decebd60a3b43511..d25c57fb384b38022f25578796c4576d580b3553 100644 >--- a/JSTests/stress/throw-from-ftl-call-ic-slow-path-cells.js >+++ b/JSTests/stress/throw-from-ftl-call-ic-slow-path-cells.js >@@ -156,7 +156,7 @@ for (var i = 0; i < 64; ++i) > array[i] = new Object(); > > // Now, do some warming up. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = ftlFunction(array, happyCallees[i % happyCallees.length]); > if (result.length != array.length) > throw "Error: bad length: " + result; >@@ -168,7 +168,7 @@ for (var i = 0; i < 100000; ++i) { > > // Finally, attempt to trigger the bug. > var notACell = 42; >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > ftlFunction(array, Int8Array); > } catch (e) { >diff --git a/JSTests/stress/throw-from-ftl-call-ic-slow-path-undefined.js b/JSTests/stress/throw-from-ftl-call-ic-slow-path-undefined.js >index 64c6f3129a2894a375ead51525e49ce855416d76..e1d3dcbe1910641fd1d4163ed74e9c6fe264b02a 100644 >--- a/JSTests/stress/throw-from-ftl-call-ic-slow-path-undefined.js >+++ b/JSTests/stress/throw-from-ftl-call-ic-slow-path-undefined.js >@@ -156,7 +156,7 @@ for (var i = 0; i < 64; ++i) > array[i] = void 0; > > // Now, do some warming up. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = ftlFunction(array, happyCallees[i % happyCallees.length]); > if (result.length != array.length) > throw "Error: bad length: " + result; >@@ -168,7 +168,7 @@ for (var i = 0; i < 100000; ++i) { > > // Finally, attempt to trigger the bug. > var notACell = 42; >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > ftlFunction(array, Int8Array); > } catch (e) { >diff --git a/JSTests/stress/throw-from-ftl-call-ic-slow-path.js b/JSTests/stress/throw-from-ftl-call-ic-slow-path.js >index 259c2528b29e8ca9f0d18e0804ae635d96a3f6db..b04ecf261c73c4ebc358eb64a7576993a9fb568c 100644 >--- a/JSTests/stress/throw-from-ftl-call-ic-slow-path.js >+++ b/JSTests/stress/throw-from-ftl-call-ic-slow-path.js >@@ -156,7 +156,7 @@ for (var i = 0; i < array.length; ++i) > array[i] = i; > > // Now, do some warming up. >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = ftlFunction(array, happyCallees[i % happyCallees.length]); > if (result.length != array.length) > throw "Error: bad length: " + result; >@@ -168,7 +168,7 @@ for (var i = 0; i < 100000; ++i) { > > // Finally, attempt to trigger the bug. > var notACell = 42; >-for (var i = 0; i < 100; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > ftlFunction(array, Int8Array); > } catch (e) { >diff --git a/JSTests/stress/throw-from-ftl-in-loop.js b/JSTests/stress/throw-from-ftl-in-loop.js >index b87cc8e270195dcfd386e247a184a6e692bc838d..bcd771324942a36007f1cea9ab33d8de8ac1717c 100644 >--- a/JSTests/stress/throw-from-ftl-in-loop.js >+++ b/JSTests/stress/throw-from-ftl-in-loop.js >@@ -1,7 +1,7 @@ > var didThrow = false; > try { > (function() { >- for (var i = 0; i < 1000000; ++i) { } >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { } > throw 42; > })(); > } catch (e) { >diff --git a/JSTests/stress/throw-from-ftl.js b/JSTests/stress/throw-from-ftl.js >index aac2e9ea7dc920cbf30376b10a65882e8c486f3a..aad8e7c19b16b199d80918aca72cfb180a7f586c 100644 >--- a/JSTests/stress/throw-from-ftl.js >+++ b/JSTests/stress/throw-from-ftl.js >@@ -7,7 +7,7 @@ function foo(p) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = foo(false); > if (o.f != 42) > throw "Error: bad result: " + o.f; >diff --git a/JSTests/stress/throw-through-optimized-code.js b/JSTests/stress/throw-through-optimized-code.js >index 0feb240ed378fa1f81ca3e00b517d820d559719b..83d969d6af91f1069de5749a38d79c7d90251616 100644 >--- a/JSTests/stress/throw-through-optimized-code.js >+++ b/JSTests/stress/throw-through-optimized-code.js >@@ -12,7 +12,7 @@ function bar(x) { > noInline(foo); > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(bar); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/tier-up-in-loop-with-cfg-simplification.js b/JSTests/stress/tier-up-in-loop-with-cfg-simplification.js >index 874904bc44bc6755bb05d33f2ee4db4ee4210d9d..5ddc6df87dfc29cfb3059bdcb25f350acd887efe 100644 >--- a/JSTests/stress/tier-up-in-loop-with-cfg-simplification.js >+++ b/JSTests/stress/tier-up-in-loop-with-cfg-simplification.js >@@ -17,7 +17,7 @@ function foo(p, array) { > > noInline(foo); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(true, [42]); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/to-int32-sensible2.js b/JSTests/stress/to-int32-sensible2.js >index bbfe9be7f345c07d6ecdbd7fb558b586c0d8446b..df6be738fc43fc2a0d5e44efc3bf6168e027efe4 100644 >--- a/JSTests/stress/to-int32-sensible2.js >+++ b/JSTests/stress/to-int32-sensible2.js >@@ -39,7 +39,7 @@ for (var i = 0; i < testCases.length; i++) { > var test = new Function("x", "y", "y = " + i + "; return x|0;"); > noInline(test); > >- for (var k = 0; k < 10000; ++k) { >+ for (var k = 0; k < $vm.testingLoopCount; ++k) { > actual = test(testCase.value); > if (actual != testCase.expected) > throw ("FAILED: x|0 where x = " + testCase.value + ": expected " + testCase.expected + ", actual " + actual); >diff --git a/JSTests/stress/to-lower-case-intrinsic-on-empty-rope.js b/JSTests/stress/to-lower-case-intrinsic-on-empty-rope.js >index 58f31244f689e63b07fa9fdb04a60649a2b06baf..40bab9a213f0385804987b7117ea3249961034bd 100644 >--- a/JSTests/stress/to-lower-case-intrinsic-on-empty-rope.js >+++ b/JSTests/stress/to-lower-case-intrinsic-on-empty-rope.js >@@ -18,7 +18,7 @@ function lower(a) { > } > noInline(lower); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let rope = returnRope(); > assert(!rope.length); > assert(isRope(rope)); // Keep this test future proofed. If this stops returning a rope, we should try to find another way to return an empty rope. >diff --git a/JSTests/stress/to-lower-case.js b/JSTests/stress/to-lower-case.js >index 28c4392d76ea8b45a1a19b77295d2bd63992b17f..2ac176bdbe0ab6dfa6ff3c3d72ebe4fb051aa8d6 100644 >--- a/JSTests/stress/to-lower-case.js >+++ b/JSTests/stress/to-lower-case.js >@@ -21,7 +21,7 @@ function foo(a) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > for (let i = 0; i < tests.length; i++) { > let test = tests[i][0]; > let result = tests[i][1]; >diff --git a/JSTests/stress/to-property-key-correctness.js b/JSTests/stress/to-property-key-correctness.js >index bab89a2f0d5efc6b670bbd4d3c83ccb760a92970..de9d9f6b23e2d08a11caf0ce60ad726e939ce113 100644 >--- a/JSTests/stress/to-property-key-correctness.js >+++ b/JSTests/stress/to-property-key-correctness.js >@@ -4,7 +4,7 @@ function assert(b) { > } > > function test(f) { >- for (let i = 0; i < 100; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > f(); > } > >diff --git a/JSTests/stress/to-string-on-object-or-string.js b/JSTests/stress/to-string-on-object-or-string.js >index 43638c14cf1ed67154317af8adaa0a0e8fec716d..938b0ce0c0bea66dc5e381a710d5f83f8ebd7a83 100644 >--- a/JSTests/stress/to-string-on-object-or-string.js >+++ b/JSTests/stress/to-string-on-object-or-string.js >@@ -8,7 +8,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Foo()); > if (typeof result != "string") { > describe(result); >diff --git a/JSTests/stress/to-string-on-object.js b/JSTests/stress/to-string-on-object.js >index 60a89a4c4335d7b3e1de3d4ed3cb865b9a0e0577..c8c28c332fc16b5974394c305616447288fd2484 100644 >--- a/JSTests/stress/to-string-on-object.js >+++ b/JSTests/stress/to-string-on-object.js >@@ -8,7 +8,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Foo()); > if (typeof result != "string") { > describe(result); >diff --git a/JSTests/stress/to-string-on-string-object.js b/JSTests/stress/to-string-on-string-object.js >index e4435e5aac1b4e433c0193fb3731f778de182252..ffa8a48dbb8d778225190bc9bf287456326bfa72 100644 >--- a/JSTests/stress/to-string-on-string-object.js >+++ b/JSTests/stress/to-string-on-string-object.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new String("hello")); > if (typeof result != "string") { > describe(result); >diff --git a/JSTests/stress/to-string-on-string-or-string-object-then-object.js b/JSTests/stress/to-string-on-string-or-string-object-then-object.js >index 8eb040b78a1f6c247b78faf85f5aa57d33f9019b..12b1ab567bf71144b1a23e2d7c0679192166d065 100644 >--- a/JSTests/stress/to-string-on-string-or-string-object-then-object.js >+++ b/JSTests/stress/to-string-on-string-or-string-object-then-object.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new String("hello")); > if (typeof result != "string") { > describe(result); >diff --git a/JSTests/stress/to-string-on-string-or-string-object.js b/JSTests/stress/to-string-on-string-or-string-object.js >index 5a5de96f47dc105752ed02343414a9db7878264b..7be1b2d80fc3617055c0acbcd9c2a108cbcb7211 100644 >--- a/JSTests/stress/to-string-on-string-or-string-object.js >+++ b/JSTests/stress/to-string-on-string-or-string-object.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new String("hello")); > if (typeof result != "string") { > describe(result); >diff --git a/JSTests/stress/to-string-on-value-or-string.js b/JSTests/stress/to-string-on-value-or-string.js >index 8ced6c083a4c8ca3859e7f7aff701ca8ce4dd26a..e6e7fb5a1148a0fe691945b9a514eec74bce3215 100644 >--- a/JSTests/stress/to-string-on-value-or-string.js >+++ b/JSTests/stress/to-string-on-value-or-string.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42); > if (typeof result != "string") { > describe(result); >diff --git a/JSTests/stress/to-string-on-value.js b/JSTests/stress/to-string-on-value.js >index 408e5ba4c9ed1e068509bc355d0ffa6f5d4c744c..80c9cb25613186c48e1a1e1d0c6d19e80478d6e3 100644 >--- a/JSTests/stress/to-string-on-value.js >+++ b/JSTests/stress/to-string-on-value.js >@@ -4,7 +4,7 @@ function foo(o) { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(42); > if (typeof result != "string") { > describe(result); >diff --git a/JSTests/stress/to-this-global-object.js b/JSTests/stress/to-this-global-object.js >index d449de00686efe2ad576df3758030f1f23396114..be97f29bd9378e8b1d2013cc4b03f4f3d1503a53 100644 >--- a/JSTests/stress/to-this-global-object.js >+++ b/JSTests/stress/to-this-global-object.js >@@ -14,7 +14,7 @@ f = 42; > let get = eval; > let global = get("this"); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > let result = test.call(global); > if (result !== 42) > throw new Error("bad this value: " + result); >diff --git a/JSTests/stress/to-this-on-constant-lexical-environment.js b/JSTests/stress/to-this-on-constant-lexical-environment.js >index ddf863583c99c4f3c1975acb3f509c1d6628d72b..f93db0f66337f623cdffb82ef5eafa078215d0ab 100644 >--- a/JSTests/stress/to-this-on-constant-lexical-environment.js >+++ b/JSTests/stress/to-this-on-constant-lexical-environment.js >@@ -6,7 +6,7 @@ function foo() { > } > function inner() { > let result; >- for (let i = 0; i < 1000000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > result = bar(i); > return result; > } >diff --git a/JSTests/stress/to-this-polymorphic.js b/JSTests/stress/to-this-polymorphic.js >index 5e8972d5f6b30fedea36e96ce06651aa1612676e..fcac76e1baba4a8ce88106bd80993984853d283a 100644 >--- a/JSTests/stress/to-this-polymorphic.js >+++ b/JSTests/stress/to-this-polymorphic.js >@@ -9,7 +9,7 @@ String.prototype.g = foo; > Number.prototype.f = 78; > Number.prototype.g = foo; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {f:foo}; > var result = o.f(); > if (result != foo) >diff --git a/JSTests/stress/toprimitive-speculated-types.js b/JSTests/stress/toprimitive-speculated-types.js >index 3a18a19141456a89fba37b6ad5e92e6db9ba5284..d2fc734d7cb570a64302899b6f6614dc83621c07 100644 >--- a/JSTests/stress/toprimitive-speculated-types.js >+++ b/JSTests/stress/toprimitive-speculated-types.js >@@ -21,7 +21,7 @@ function Counter() { > }; > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var c = Counter(); > shouldBe(raw([c, c]), "01"); > } >diff --git a/JSTests/stress/tricky-array-bounds-checks.js b/JSTests/stress/tricky-array-bounds-checks.js >index 699f350b63c102a2c649289ce95496cb56e985a1..f7bdac48448418b7e434bfc92efa7483025914ff 100644 >--- a/JSTests/stress/tricky-array-bounds-checks.js >+++ b/JSTests/stress/tricky-array-bounds-checks.js >@@ -16,7 +16,7 @@ function arraycmp(a, b) { > return true; > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo([42], 0, false); > if (!arraycmp(result, [false, 42, 42, 42, false]) && !arraycmp(result, [12])) > throw "Error: bad result for i = " + i + ": " + result; >diff --git a/JSTests/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js b/JSTests/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js >index 4b526a1580d7246fa343e28150d2cb6eb8e11374..9e6a00f5a659d6304579014dbddb7ec34499d0a1 100644 >--- a/JSTests/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js >+++ b/JSTests/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js >@@ -24,7 +24,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > foo(i); > } catch (f) { >diff --git a/JSTests/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js b/JSTests/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js >index f69d064043df6133ec5697d9a63a8fc7c3af6fb8..0eae5f635a0baa618ecafeb84c2a10298525c8b9 100644 >--- a/JSTests/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js >+++ b/JSTests/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js >@@ -21,7 +21,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > foo(i); > } catch (f) { >diff --git a/JSTests/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js b/JSTests/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js >index 5b481e5c37939ef50372758a528bacdaa6c77456..12b4ad3da2b5fc2f111558b46be7a00fb779616f 100644 >--- a/JSTests/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js >+++ b/JSTests/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js >@@ -19,7 +19,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > foo(i); > } catch (f) { >diff --git a/JSTests/stress/tricky-infinite-loop-that-uses-captured-variables.js b/JSTests/stress/tricky-infinite-loop-that-uses-captured-variables.js >index 3f79f07fec084b4a53c1ddbcc1e4c1f82959c228..4d405b2a0a97848fb732a44452e65bf63b3d71c0 100644 >--- a/JSTests/stress/tricky-infinite-loop-that-uses-captured-variables.js >+++ b/JSTests/stress/tricky-infinite-loop-that-uses-captured-variables.js >@@ -18,7 +18,7 @@ function foo(a) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > try { > foo(i); > } catch (f) { >diff --git a/JSTests/stress/trivially-foldable-reflective-arguments-access.js b/JSTests/stress/trivially-foldable-reflective-arguments-access.js >index 1d21c8520ff4c5a44f526e8610d13aecfa3f90f2..483b2789d841362d41dcd344a14a881c674deca5 100644 >--- a/JSTests/stress/trivially-foldable-reflective-arguments-access.js >+++ b/JSTests/stress/trivially-foldable-reflective-arguments-access.js >@@ -8,7 +8,7 @@ function bar(x) { > > noInline(bar); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(42); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/try-catch-custom-getter-as-get-by-id.js b/JSTests/stress/try-catch-custom-getter-as-get-by-id.js >index fe7d5c4c7a25eeb7451019a9328b728171ecf5f6..cf582db7af026e760d8a8c789752155489d04dd5 100644 >--- a/JSTests/stress/try-catch-custom-getter-as-get-by-id.js >+++ b/JSTests/stress/try-catch-custom-getter-as-get-by-id.js >@@ -44,11 +44,11 @@ function foo(i) { > noInline(foo); > > foo(i); >-for (i = 0; i < 1000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > foo(i); > > i = -1000; >-for (let j = 0; j < 1000; j++) { >+for (let j = 0; j < $vm.testingLoopCount; j++) { > if (j > 10) > o1.shouldThrow = true; > foo(i); >diff --git a/JSTests/stress/try-catch-getter-as-get-by-id-register-restoration.js b/JSTests/stress/try-catch-getter-as-get-by-id-register-restoration.js >index 77eb156f582bedd401f10615c5460d3b7812b92a..dedc3f778d506313e1d62ef4f4565fba845831a0 100644 >--- a/JSTests/stress/try-catch-getter-as-get-by-id-register-restoration.js >+++ b/JSTests/stress/try-catch-getter-as-get-by-id-register-restoration.js >@@ -49,9 +49,9 @@ function foo(i) { > noInline(foo); > > foo(i); >-for (i = 0; i < 1000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > foo(i); > > i = -1000; >-for (let j = 0; j < 1000; j++) >+for (let j = 0; j < $vm.testingLoopCount; j++) > foo(i); >diff --git a/JSTests/stress/try-catch-getter-as-get-by-id.js b/JSTests/stress/try-catch-getter-as-get-by-id.js >index 6e8fb59da346d8a3ed612a948d6fc58aba74e015..0f5c382a36811c4cdd62d9cc803cf92da603fdd8 100644 >--- a/JSTests/stress/try-catch-getter-as-get-by-id.js >+++ b/JSTests/stress/try-catch-getter-as-get-by-id.js >@@ -45,9 +45,9 @@ function foo(i) { > noInline(foo); > > foo(i); >-for (i = 0; i < 1000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > foo(i); > > i = -1000; >-for (let j = 0; j < 1000; j++) >+for (let j = 0; j < $vm.testingLoopCount; j++) > foo(i); >diff --git a/JSTests/stress/try-catch-setter-as-put-by-id.js b/JSTests/stress/try-catch-setter-as-put-by-id.js >index 265c71972368cd37312b13dbe51408ab5c163634..a3b499675a5d7341001946b896e94e1c00ae26c0 100644 >--- a/JSTests/stress/try-catch-setter-as-put-by-id.js >+++ b/JSTests/stress/try-catch-setter-as-put-by-id.js >@@ -46,9 +46,9 @@ function foo(i) { > noInline(foo); > > foo(i); >-for (i = 0; i < 1000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > foo(i); > > i = -1000; >-for (let j = 0; j < 1000; j++) >+for (let j = 0; j < $vm.testingLoopCount; j++) > foo(i); >diff --git a/JSTests/stress/try-catch-stub-routine-replaced.js b/JSTests/stress/try-catch-stub-routine-replaced.js >index db164088b954bb999a27670da5009649e45fb589..1e6ed299175f9573be97bba0cbac563931a46f6b 100644 >--- a/JSTests/stress/try-catch-stub-routine-replaced.js >+++ b/JSTests/stress/try-catch-stub-routine-replaced.js >@@ -14,7 +14,7 @@ noInline(assert); > > var arr = [] > function allocate() { >- for (var i = 0; i < 10000; i++) >+ for (var i = 0; i < $vm.testingLoopCount; i++) > arr.push({}); > } > >@@ -46,7 +46,7 @@ noInline(foo); > > var objChain = {f: 40}; > var fakeOut = {x: 30, f: 100}; >-for (let i = 0; i < 1000; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > foo(i % 2 ? objChain : fakeOut); > > var i; >@@ -61,7 +61,7 @@ objChain = { > return flagCount; > } > }; >-for (i = 0; i < 100; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > allocate(); > if (i === 99) > i = flag; >@@ -69,7 +69,7 @@ for (i = 0; i < 100; i++) { > } > > fakeOut = {x: 30, get f() { return 100}}; >-for (i = 0; i < 100; i++) { >+for (i = 0; i < $vm.testingLoopCount; i++) { > allocate(); > if (i === 99) > i = flag; >@@ -83,5 +83,5 @@ var o = { > x: 100 > }; > >-for (i = 0; i < 100; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > foo(o); >diff --git a/JSTests/stress/try-get-by-id-poly-proto.js b/JSTests/stress/try-get-by-id-poly-proto.js >index d73ef37e7c2a82d3d2fbb92f463e869a6bbdc155..267e0d68dde8dc6c287647368f866afdcf4eda5b 100644 >--- a/JSTests/stress/try-get-by-id-poly-proto.js >+++ b/JSTests/stress/try-get-by-id-poly-proto.js >@@ -36,6 +36,6 @@ function validate(x) { > } > noInline(validate); > >-for (let i = 0; i < 1000; ++i) { >+for (let i = 0; i < $vm.testingLoopCount; ++i) { > validate(x); > } >diff --git a/JSTests/stress/try-get-by-id-should-spill-registers-dfg.js b/JSTests/stress/try-get-by-id-should-spill-registers-dfg.js >index 22507c15725bcac16eb8180527acd7500e4e7809..fd8d8276296dc03b19bdd458f76e85991ac9b1c3 100644 >--- a/JSTests/stress/try-get-by-id-should-spill-registers-dfg.js >+++ b/JSTests/stress/try-get-by-id-should-spill-registers-dfg.js >@@ -7,6 +7,6 @@ let f = createBuiltin(`(function (arg) { > })`); > noInline(f); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > f(true); > } >diff --git a/JSTests/stress/try-get-by-id.js b/JSTests/stress/try-get-by-id.js >index 5407eec169e8e606e2c1e01ffd290f54a07f7530..cdecf5507c65da5e2728a7282e447d2355311f49 100644 >--- a/JSTests/stress/try-get-by-id.js >+++ b/JSTests/stress/try-get-by-id.js >@@ -14,7 +14,7 @@ function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use st > > let obj = {caller: 1}; > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (get(obj) !== 1) > throw new Error("wrong on iteration: " + i); > if (getStrict(obj) !== 1) >@@ -31,7 +31,7 @@ function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use st > > let func = function () {}; > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (get(func) !== null) > throw new Error("wrong on iteration: " + i); > if (getStrict(func) !== null) >@@ -49,7 +49,7 @@ function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use st > let obj = {}; > Object.defineProperty(obj, "getterSetter", { get: function () { throw new Error("should not be called"); } }); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (get(obj) !== getGetterSetter(obj, "getterSetter")) > throw new Error("wrong on iteration: " + i); > if (getStrict(obj) !== getGetterSetter(obj, "getterSetter")) >@@ -66,7 +66,7 @@ function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use st > > let obj = {}; > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (get(obj) !== undefined) > throw new Error("wrong on iteration: " + i); > if (getStrict(obj) !== undefined) >@@ -84,7 +84,7 @@ function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use st > let obj = {value: 1}; > let p = new Proxy(obj, { get: function() { throw new Error("should not be called"); } }); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (get(p) !== null) > throw new Error("wrong on iteration: " + i); > if (getStrict(p) !== null) >@@ -102,7 +102,7 @@ function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use st > let obj = {caller : 1}; > let func = function() {}; > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i % 100 === 0) { > if (get(func) !== null) > throw new Error("wrong on iteration: " + i); >@@ -126,7 +126,7 @@ function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use st > > let func = function() {}; > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (i % 100 === 0) { > if (get(func) !== null) > throw new Error("wrong on iteration: " + i); >@@ -151,7 +151,7 @@ function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use st > > let arr = []; > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (get(arr) !== null) > throw new Error("wrong on iteration: " + i); > if (getStrict(arr) !== null) >@@ -166,7 +166,7 @@ function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use st > let getStrict = createBuiltin(tryGetByIdTextStrict("length")); > noInline(getStrict); > >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > if (get(1) !== undefined) > throw new Error("wrong on iteration: " + i); > if (getStrict(1) !== undefined) >diff --git a/JSTests/stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js b/JSTests/stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js >index 56f1bc7417919124790be4f9d1b3239f5f57314d..c6825ee8fd1236a1043994c81374f3ca2d77e6ca 100644 >--- a/JSTests/stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js >+++ b/JSTests/stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js >@@ -44,7 +44,7 @@ var childClass = class Class extends theClass { > arrow()()(); > } > }; >-for (var counter = 0; counter < 1000; counter++) { >+for (var counter = 0; counter < $vm.testingLoopCount; counter++) { > try { > new childClass(); > } catch (e) {} >diff --git a/JSTests/stress/type-of-functions-and-objects.js b/JSTests/stress/type-of-functions-and-objects.js >index 9363158e449a1ad51b36fea5abffa01f88fde4db..6f8c02369e368c062f6aba7e033a9187677a10d0 100644 >--- a/JSTests/stress/type-of-functions-and-objects.js >+++ b/JSTests/stress/type-of-functions-and-objects.js >@@ -81,6 +81,6 @@ function test() { > throw "Encountered errors during test run."; > } > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > test(); > >diff --git a/JSTests/stress/typed-array-byte-offset.js b/JSTests/stress/typed-array-byte-offset.js >index 39d3cf2da63a925ec55a18dd23b3ebc0bdca6897..3c9ef2a8e03f67c3e5df01b36451f132805719f9 100644 >--- a/JSTests/stress/typed-array-byte-offset.js >+++ b/JSTests/stress/typed-array-byte-offset.js >@@ -4,7 +4,7 @@ function foo(array) { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(new Int32Array(100)); > if (result != 0) > throw "Error: bad result for fast typed array: " + result; >diff --git a/JSTests/stress/typedarray-access-monomorphic-neutered.js b/JSTests/stress/typedarray-access-monomorphic-neutered.js >index 009e5bf29f48a4ac7ef7267cef461b8a5eee8feb..9e64557d4572f3401e182eb736955b2c1421863c 100644 >--- a/JSTests/stress/typedarray-access-monomorphic-neutered.js >+++ b/JSTests/stress/typedarray-access-monomorphic-neutered.js >@@ -18,7 +18,7 @@ noInline(check); > function test(thunk, array) { > let fn = Function("array", "i", thunk); > noInline(fn); >- for (let i = 0; i < 10000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > check(array, fn, i); > } > >@@ -36,7 +36,7 @@ for (let constructor of typedArrays) { > function testFTL(thunk, array, failArray) { > let fn = Function("array", "i", thunk); > noInline(fn); >- for (let i = 0; i < 10000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > fn(array, i) > check(failArray, fn, 10000); > } >diff --git a/JSTests/stress/typedarray-access-neutered.js b/JSTests/stress/typedarray-access-neutered.js >index 7a64211b7722126f357963dc6f566f8f4078a530..df57ccefc4a07f70398b1290bb34682ea665d56c 100644 >--- a/JSTests/stress/typedarray-access-neutered.js >+++ b/JSTests/stress/typedarray-access-neutered.js >@@ -21,7 +21,7 @@ function test(thunk, count) { > check(thunk, count); > } > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > test((array) => array[0], i); > test((array) => delete array[0], i); > test((array) => Object.getOwnPropertyDescriptor(array, 0), i); >diff --git a/JSTests/stress/typedarray-add-property-to-base-object.js b/JSTests/stress/typedarray-add-property-to-base-object.js >index f8e27606159c9f8e98dabb3a1d1bb61c6758de52..78d4168cca7e079781d49ee74dd2766dc0c30873 100644 >--- a/JSTests/stress/typedarray-add-property-to-base-object.js >+++ b/JSTests/stress/typedarray-add-property-to-base-object.js >@@ -8,7 +8,7 @@ > > let array = new Int32Array(10); > >- for (let i = 0; i < 100000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > foo(array); > > >diff --git a/JSTests/stress/typedarray-bad-getter.js b/JSTests/stress/typedarray-bad-getter.js >index c75f4a88f90c9a4cb51335115f7d3faea411c1e6..bff717834927d9a655aa354edd1676a993b2bc3c 100644 >--- a/JSTests/stress/typedarray-bad-getter.js >+++ b/JSTests/stress/typedarray-bad-getter.js >@@ -24,7 +24,7 @@ > let bar = new Bar(); > > let noThrow = false; >- for (let i = 0; i < 100000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > try { > foo(bar); > noThrow = true >diff --git a/JSTests/stress/typedarray-configure-index.js b/JSTests/stress/typedarray-configure-index.js >index e82de0bdf68c96fc5b3f677515457bbe17bb3b86..29352a5254c755e0d23ab3a2616fc2f98eb6b071 100644 >--- a/JSTests/stress/typedarray-configure-index.js >+++ b/JSTests/stress/typedarray-configure-index.js >@@ -53,5 +53,5 @@ function foo() { > } > } > >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > foo(); >diff --git a/JSTests/stress/typedarray-construct-iterator.js b/JSTests/stress/typedarray-construct-iterator.js >index d1d80d5330eb9495dbbb57fb40b035dab50a1f45..5482902e1648038307d73b8c2c29363c832f3508 100644 >--- a/JSTests/stress/typedarray-construct-iterator.js >+++ b/JSTests/stress/typedarray-construct-iterator.js >@@ -20,7 +20,7 @@ foo[Symbol.iterator] = iterator; > > (function body() { > >- for (var i = 1; i < 100000; i++) { >+ for (var i = 1; i < $vm.testingLoopCount; i++) { > if (new Int32Array(foo).length !== 2) > throw "iterator did not run"; > } >diff --git a/JSTests/stress/typedarray-functions-with-neutered.js b/JSTests/stress/typedarray-functions-with-neutered.js >index 0e66ec94ce83ed46e114db7e535c73bf296ffa88..dedd064121b201323e07d7a6c51d8d134e62b6ad 100644 >--- a/JSTests/stress/typedarray-functions-with-neutered.js >+++ b/JSTests/stress/typedarray-functions-with-neutered.js >@@ -70,7 +70,7 @@ function test() { > prototypeFunctions.forEach(checkProtoFunc); > } > >-for (var i = 0; i < 1000; i++) >+for (var i = 0; i < $vm.testingLoopCount; i++) > test(); > > // Test that we handle neutering for any toInteger neutering the arraybuffer. >diff --git a/JSTests/stress/typedarray-getownproperty-not-configurable.js b/JSTests/stress/typedarray-getownproperty-not-configurable.js >index 91fbb5d5c3626548b312c5ae2c7a02f9cb652160..2787d120e121bd007d2c0d3af75190c8bb915770 100644 >--- a/JSTests/stress/typedarray-getownproperty-not-configurable.js >+++ b/JSTests/stress/typedarray-getownproperty-not-configurable.js >@@ -16,5 +16,5 @@ function foo() { > } > } > >-for (let i = 0; i < 100; i++) >+for (let i = 0; i < $vm.testingLoopCount; i++) > foo(); >diff --git a/JSTests/stress/typedarray-getter-on-self.js b/JSTests/stress/typedarray-getter-on-self.js >index 293a0d37b0c7c3c796df9fb9e726b7a817bacb42..43e939b97159c9ab37803fd7988973640309ab0b 100644 >--- a/JSTests/stress/typedarray-getter-on-self.js >+++ b/JSTests/stress/typedarray-getter-on-self.js >@@ -25,7 +25,7 @@ > Object.defineProperty(array, name, { get: getter, configurable: true }); > }); > >- for (let i = 0; i < 100000; i++) >+ for (let i = 0; i < $vm.testingLoopCount; i++) > foo(array); > > properties.map(function(name) { >diff --git a/JSTests/stress/typedarray-length-dictionary.js b/JSTests/stress/typedarray-length-dictionary.js >index 0a1f2dcee12eb312c589540ff02d5ff2dc255fa2..152f4edc291bc1eacb01285a1e167869a591707c 100644 >--- a/JSTests/stress/typedarray-length-dictionary.js >+++ b/JSTests/stress/typedarray-length-dictionary.js >@@ -11,7 +11,7 @@ foo.bar = 1; > foo.baz = 2; > delete foo.bar; > >-for (i = 0; i < 1000; i++) >+for (i = 0; i < $vm.testingLoopCount; i++) > len() > > Object.defineProperty(foo, "length", { value: 1 }); >diff --git a/JSTests/stress/typedarray-view-string-properties-neutered.js b/JSTests/stress/typedarray-view-string-properties-neutered.js >index dbf6815b132ad47d317444514d34066cec27134a..db633cfeac3d9512bfdbc0de22f37bdb0c8dc83a 100644 >--- a/JSTests/stress/typedarray-view-string-properties-neutered.js >+++ b/JSTests/stress/typedarray-view-string-properties-neutered.js >@@ -11,7 +11,7 @@ let name = ["map", "reduce"]; > function test(constructor) { > let array = new constructor(10); > transferArrayBuffer(array.buffer); >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > call(() => { > if (array.map !== constructor.prototype.map) > throw new Error(); >@@ -39,7 +39,7 @@ function test(constructor) { > if (array[name[i % 2]] !== constructor.prototype[name[i % 2]]) > throw new Error(); > }; >- for (; i < 10000; i++) { >+ for (; i < $vm.testingLoopCount; i++) { > call(fnId); > call(fnVal); > } >diff --git a/JSTests/stress/typeof-dfg-function-or-object.js b/JSTests/stress/typeof-dfg-function-or-object.js >index 6441112bfbc38041ee032b39329c81c60adffd3b..108e0c0db7ab3318810ca9d273465d23830e448d 100644 >--- a/JSTests/stress/typeof-dfg-function-or-object.js >+++ b/JSTests/stress/typeof-dfg-function-or-object.js >@@ -15,7 +15,7 @@ function foo(arg) { > } > noInline(foo); > >-for (let i = 0; i < 10000; i++) { >+for (let i = 0; i < $vm.testingLoopCount; i++) { > let bool = !!(i % 2); > let result = foo(bool); > if (bool) >diff --git a/JSTests/stress/typeof-symbol.js b/JSTests/stress/typeof-symbol.js >index 02dbb05f3a0ef10f3f18d8b4e8d618c205a21f13..fc483e63300732a29a08d3c4a94201c3711eb35d 100644 >--- a/JSTests/stress/typeof-symbol.js >+++ b/JSTests/stress/typeof-symbol.js >@@ -11,6 +11,6 @@ > } > noInline(target); > >- for (var i = 0; i < 10000; ++i) >+ for (var i = 0; i < $vm.testingLoopCount; ++i) > target(); > }()); >diff --git a/JSTests/stress/uint32-to-number-fold-constant-with-do-overflow.js b/JSTests/stress/uint32-to-number-fold-constant-with-do-overflow.js >index cedea943f391c6c3fcf58f2083c4c700bce54210..872a70a5d2cc81d21c7c1e742bee03ce201b815f 100644 >--- a/JSTests/stress/uint32-to-number-fold-constant-with-do-overflow.js >+++ b/JSTests/stress/uint32-to-number-fold-constant-with-do-overflow.js >@@ -8,7 +8,7 @@ function bar(a, b) { > > noInline(bar); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(-1, 0); > if (result != 4294967295) > throw "Error: bad result: " + result; >@@ -20,7 +20,7 @@ function baz(a) { > > noInline(baz); > >-for (var i = 0; i < 1000000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(-1); > if (result != 2147483647) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/uint32array-unsigned-load.js b/JSTests/stress/uint32array-unsigned-load.js >index 14c795949c0513677c3f3b6ebc6dce1b8043bfa3..2d014a5c21620e237a8347b0998cb09664573898 100644 >--- a/JSTests/stress/uint32array-unsigned-load.js >+++ b/JSTests/stress/uint32array-unsigned-load.js >@@ -7,7 +7,7 @@ noInline(foo); > var a = new Uint32Array(1); > a[0] = -1; > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(a); > if (result != 4294967296) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/undefined-access-dictionary-then-proto-change.js b/JSTests/stress/undefined-access-dictionary-then-proto-change.js >index 96fefa47d9227ce22a52fd3a25cd959ea1beda28..06ad7b2258ad8f208dc79c4dd32cef8b02ab9769 100644 >--- a/JSTests/stress/undefined-access-dictionary-then-proto-change.js >+++ b/JSTests/stress/undefined-access-dictionary-then-proto-change.js >@@ -3,7 +3,7 @@ function foo() { > var o = {}; > o.__proto__ = p; > var result; >- for (var i = 0; i < 100; ++i) { >+ for (var i = 0; i < $vm.testingLoopCount; ++i) { > result = o.f; > if (i == 50) > p.f = 42; >diff --git a/JSTests/stress/undefined-access-then-proto-change.js b/JSTests/stress/undefined-access-then-proto-change.js >index e04b63cf8f8b90253f7c514a18f0e4e5df5cb03b..c9489fe85d1318ff8501aa1cb09bf7cad5f1e5ac 100644 >--- a/JSTests/stress/undefined-access-then-proto-change.js >+++ b/JSTests/stress/undefined-access-then-proto-change.js >@@ -7,7 +7,7 @@ noInline(foo); > var p = {}; > var o = Object.create(p); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== void 0) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/undefined-access-then-self-change.js b/JSTests/stress/undefined-access-then-self-change.js >index 685ab100209ffc0a7d854909d99ae04b6b8baf80..d012be27c03376674b63af162167d5c80e83c120 100644 >--- a/JSTests/stress/undefined-access-then-self-change.js >+++ b/JSTests/stress/undefined-access-then-self-change.js >@@ -6,7 +6,7 @@ noInline(foo); > > var o = Object.create(null); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(o); > if (result !== void 0) > throw "Error: bad result in loop: " + result; >diff --git a/JSTests/stress/unshift-array-storage.js b/JSTests/stress/unshift-array-storage.js >index a4f9fb4eefb5b38335da9ad267d147795e765aa4..51b0a83889cd6b3cb188034e117e7cf9c90ead40 100644 >--- a/JSTests/stress/unshift-array-storage.js >+++ b/JSTests/stress/unshift-array-storage.js >@@ -7,7 +7,7 @@ > var array = []; > ensureArrayStorage(array); > >-for (var i = 0; i < 1000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > array.push(i); > > array.unshift(1, 2, 3, 4); // This will crash if we aren't careful about when we GC during unshift. >diff --git a/JSTests/stress/untyped-add.js b/JSTests/stress/untyped-add.js >index 00cf16878e07cb02f2d003db054f93ab1c4c4609..a716467b2454f83913af3297878551a406cea5a4 100644 >--- a/JSTests/stress/untyped-add.js >+++ b/JSTests/stress/untyped-add.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; > var results = [2, 3.5, "31", 5]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 1); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/untyped-bit-and.js b/JSTests/stress/untyped-bit-and.js >index 8c952240a8ac568a2d885db1346c7356805ce466..80bfa97468624f9412fda4271abe8f2c3c825fc2 100644 >--- a/JSTests/stress/untyped-bit-and.js >+++ b/JSTests/stress/untyped-bit-and.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; > var results = [0, 2, 2, 0]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 2); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/untyped-bit-or.js b/JSTests/stress/untyped-bit-or.js >index 1160a928f8a6e51f553c5a428a313e5b5fc31003..c1187ea6a970b8e87e7bae44d15201c0d2374e34 100644 >--- a/JSTests/stress/untyped-bit-or.js >+++ b/JSTests/stress/untyped-bit-or.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; > var results = [3, 2, 3, 6]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 2); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/untyped-bit-xor.js b/JSTests/stress/untyped-bit-xor.js >index 3b11fab2e6c1cbdbf70de7b845ecadac70f6b665..f98bc8ad91cbc0b2a4eb56794d0251a96ad25862 100644 >--- a/JSTests/stress/untyped-bit-xor.js >+++ b/JSTests/stress/untyped-bit-xor.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; > var results = [3, 0, 1, 6]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 2); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/untyped-div.js b/JSTests/stress/untyped-div.js >index d1b74d8b9cdd8aded7b32cbd6e0e69e9daed6a80..eeda6a82173b7cf6bf5af44cc9826ec345eee2a0 100644 >--- a/JSTests/stress/untyped-div.js >+++ b/JSTests/stress/untyped-div.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; > var results = [0.5, 1.25, 1.5, 2]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 2); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/untyped-equality.js b/JSTests/stress/untyped-equality.js >index 093761b1f679f07b76d27f9a06ba3ad4b19d9add..c7c38649a78ab7eadb383c535705ada827c4a694 100644 >--- a/JSTests/stress/untyped-equality.js >+++ b/JSTests/stress/untyped-equality.js >@@ -12,7 +12,7 @@ var data = [ > [1.2, 1.2, true] > ]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var test = data[i % data.length]; > var result = foo(test[0], test[1]); > if (result != test[2]) >diff --git a/JSTests/stress/untyped-less-than.js b/JSTests/stress/untyped-less-than.js >index c37f36715de9589eb3399e2c5ed20503b2761c25..c5465830a4c4bbae8c69d07e3968ae1d43aee528 100644 >--- a/JSTests/stress/untyped-less-than.js >+++ b/JSTests/stress/untyped-less-than.js >@@ -15,7 +15,7 @@ var data = [ > [-1, "1", true] > ]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var test = data[i % data.length]; > var result = foo(test[0], test[1]); > if (result != test[2]) >diff --git a/JSTests/stress/untyped-lshift.js b/JSTests/stress/untyped-lshift.js >index 9b8b866b071c43a46970ded82ff4479cb1451006..112b6251c36154ba5f9006e4348cfda72e8f7a7f 100644 >--- a/JSTests/stress/untyped-lshift.js >+++ b/JSTests/stress/untyped-lshift.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; > var results = [2, 4, 6, 8]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 1); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/untyped-mul.js b/JSTests/stress/untyped-mul.js >index 90af2dc378fe13db46de551a05451b1962f69751..d8ec5c8f4d2053eda3f4abcab286adbf4c325ca9 100644 >--- a/JSTests/stress/untyped-mul.js >+++ b/JSTests/stress/untyped-mul.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; > var results = [2, 5, 6, 8]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 2); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/untyped-rshift.js b/JSTests/stress/untyped-rshift.js >index 9222dceb99671a6fc4e24786599c0046f1055dcf..139023c4d823a78ba8e9a1eb83f16af78be6334d 100644 >--- a/JSTests/stress/untyped-rshift.js >+++ b/JSTests/stress/untyped-rshift.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; > var results = [0, 1, 1, 2]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 1); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/untyped-sub.js b/JSTests/stress/untyped-sub.js >index bd128b63058f2cbacf5b51aeb915cd47a8f7d4ce..a6063e2ab42a26245c8c98ae3b3a42082ed1c707 100644 >--- a/JSTests/stress/untyped-sub.js >+++ b/JSTests/stress/untyped-sub.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; > var results = [0, 1.5, 2, 3]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 1); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/untyped-urshift.js b/JSTests/stress/untyped-urshift.js >index 756c24f1ebf5241d9c7e7ff5b0c7647c41ba6c11..839d19006e7decf72a8f333677e04b4d0f94be13 100644 >--- a/JSTests/stress/untyped-urshift.js >+++ b/JSTests/stress/untyped-urshift.js >@@ -7,7 +7,7 @@ noInline(foo); > var things = [1, 2.5, "-3", {valueOf: function() { return 4; }}]; > var results = [0, 1, 2147483646, 2]; > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(things[i % things.length], 1); > var expected = results[i % results.length]; > if (result != expected) >diff --git a/JSTests/stress/use-arguments-as-object-pointer.js b/JSTests/stress/use-arguments-as-object-pointer.js >index c9d24c125a308667d519dbdad71fb85378190538..337cc6890f74c9a8fa30c6be9af4d231739806b8 100644 >--- a/JSTests/stress/use-arguments-as-object-pointer.js >+++ b/JSTests/stress/use-arguments-as-object-pointer.js >@@ -5,7 +5,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 42) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/v8-deltablue-strict.js b/JSTests/stress/v8-deltablue-strict.js >index 8badbe947c44d0e14ef0c0bb896f62b9e15d597d..49674dddd10e679495582bc88b562e24ba746bfb 100644 >--- a/JSTests/stress/v8-deltablue-strict.js >+++ b/JSTests/stress/v8-deltablue-strict.js >@@ -809,7 +809,7 @@ function chainTest(n) { > var edits = new OrderedCollection(); > edits.add(edit); > var plan = planner.extractPlanFromConstraints(edits); >- for (var i = 0; i < 100; i++) { >+ for (var i = 0; i < $vm.testingLoopCount; i++) { > first.value = i; > plan.execute(); > if (last.value != i) >diff --git a/JSTests/stress/value-to-boolean.js b/JSTests/stress/value-to-boolean.js >index 9b39a8484085f6c8685cee34798cfee8904c4a92..8576709a2be21d751187c1024a1d4119aa46f8e9 100644 >--- a/JSTests/stress/value-to-boolean.js >+++ b/JSTests/stress/value-to-boolean.js >@@ -51,7 +51,7 @@ noInline(test3); > let testFunctions = [test1, test2, test3]; > > for (let testFunction of testFunctions) { >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > let item = tests[i % tests.length]; > assert(testFunction(item[0]) === item[1]); > } >@@ -59,8 +59,8 @@ for (let testFunction of testFunctions) { > > let masquerader = makeMasquerader(); > for (let testFunction of testFunctions) { >- for (let i = 0; i < 10000; i++) { >- for (let i = 0; i < 10000; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { >+ for (let i = 0; i < $vm.testingLoopCount; i++) { > assert(testFunction(masquerader) === false); > } > } >diff --git a/JSTests/stress/value-to-int32-undefined-constant.js b/JSTests/stress/value-to-int32-undefined-constant.js >index 38b914019b4025a5c2c902ecab0a5db05d36d081..5c26a6c2b996ef0388a408dff53fad9a68188cda 100644 >--- a/JSTests/stress/value-to-int32-undefined-constant.js >+++ b/JSTests/stress/value-to-int32-undefined-constant.js >@@ -4,7 +4,7 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(); > if (result != 0) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/value-to-int32-undefined.js b/JSTests/stress/value-to-int32-undefined.js >index 7e35169e260c8ecfe08edf7297015b525dd3e38d..7699567c23f7e4eb28564a56b3b50810fc85304f 100644 >--- a/JSTests/stress/value-to-int32-undefined.js >+++ b/JSTests/stress/value-to-int32-undefined.js >@@ -4,7 +4,7 @@ function foo(a) { > > noInline(foo()); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = foo(void 0); > if (result != 0) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-closure-inlined-exit-strict-mode.js b/JSTests/stress/varargs-closure-inlined-exit-strict-mode.js >index 12759c0bac1a82eac6bbdfa75506233fb4a525bf..10099a48a8f51ddc051fc37310617d0223aca758 100644 >--- a/JSTests/stress/varargs-closure-inlined-exit-strict-mode.js >+++ b/JSTests/stress/varargs-closure-inlined-exit-strict-mode.js >@@ -15,7 +15,7 @@ function baz(a, b) { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(1, 2); > if (result != 1 + 1 + 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-closure-inlined-exit.js b/JSTests/stress/varargs-closure-inlined-exit.js >index 2acb4d4d650d58f3eb0ea75eaf805a848e57efc7..0b8d11d2ffef356ce41dc9a6225ae58120acf444 100644 >--- a/JSTests/stress/varargs-closure-inlined-exit.js >+++ b/JSTests/stress/varargs-closure-inlined-exit.js >@@ -13,7 +13,7 @@ function baz(a, b) { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(1, 2); > if (result != 1 + 1 + 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-exit.js b/JSTests/stress/varargs-exit.js >index 9c9cd0995e297e736bf72d667b81d6ee0978528e..88da204e42eb2fcc80166bb62b7b3c3696f31834 100644 >--- a/JSTests/stress/varargs-exit.js >+++ b/JSTests/stress/varargs-exit.js >@@ -10,7 +10,7 @@ function bar() { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(1, 2); > if (result != 1 + 1 + 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-inlined-exit.js b/JSTests/stress/varargs-inlined-exit.js >index de951e1b0df0d3f826a86fe938b4d97508bc3a11..cc4cbe9e7321340159a5906ab1a996aa66289aff 100644 >--- a/JSTests/stress/varargs-inlined-exit.js >+++ b/JSTests/stress/varargs-inlined-exit.js >@@ -14,7 +14,7 @@ function baz(a, b) { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(1, 2); > if (result != 1 + 1 + 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-inlined-simple-exit-aliasing.js b/JSTests/stress/varargs-inlined-simple-exit-aliasing.js >index 23890d14e7c97b598f80a6dc4353d7f2bf2f8ca1..4169348447a9387d62febdb37a423998db58fc3f 100644 >--- a/JSTests/stress/varargs-inlined-simple-exit-aliasing.js >+++ b/JSTests/stress/varargs-inlined-simple-exit-aliasing.js >@@ -29,7 +29,7 @@ function baz(a, b) { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(1, 2); > if (result != 1 + 2) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-inlined-simple-exit.js b/JSTests/stress/varargs-inlined-simple-exit.js >index c841e9c2d2885399f67f63d9b3d387638936b830..2c6bc3acfbb44eea3c8e229fe3cba071112b934f 100644 >--- a/JSTests/stress/varargs-inlined-simple-exit.js >+++ b/JSTests/stress/varargs-inlined-simple-exit.js >@@ -15,7 +15,7 @@ function baz(a, b) { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > global = i; > var result = baz(1, 2); > if (result != i + 1 + 1 + 2) >diff --git a/JSTests/stress/varargs-inlining-underflow.js b/JSTests/stress/varargs-inlining-underflow.js >index 02a94f841a1a0cecee753cc68517bc77ea7d0bb8..0caf01daff549df5938efddc422b453014cab9f0 100644 >--- a/JSTests/stress/varargs-inlining-underflow.js >+++ b/JSTests/stress/varargs-inlining-underflow.js >@@ -5,7 +5,7 @@ function bar() { > baz.apply(this, arguments); > } > >-for (var i = 0; i < 1000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar(1, 2, 3, 4, 5, 6, 7); > > function foo() { >@@ -14,5 +14,5 @@ function foo() { > > noInline(foo); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > foo(); >diff --git a/JSTests/stress/varargs-no-forward.js b/JSTests/stress/varargs-no-forward.js >index 87de84b514cc5c673053cd65e0100fa3d7be1e00..6224d7c4dc67599ec44e7e9002381129943b8be5 100644 >--- a/JSTests/stress/varargs-no-forward.js >+++ b/JSTests/stress/varargs-no-forward.js >@@ -10,7 +10,7 @@ function baz(args) { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz([5, 6, 7]); > if (result != 5 + 6 * 2 + 7 * 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-simple.js b/JSTests/stress/varargs-simple.js >index f604a74ed7588e24c9e9a7bb054db1ac3713f5e1..a10707cd71c762ad5ba4723dfb981ed0808ca97b 100644 >--- a/JSTests/stress/varargs-simple.js >+++ b/JSTests/stress/varargs-simple.js >@@ -10,7 +10,7 @@ function baz() { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(5, 6, 7); > if (result != 5 + 6 * 2 + 7 * 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-then-slow-call.js b/JSTests/stress/varargs-then-slow-call.js >index a766ae70693f3bf853c8a633d1ec425464729867..a742eaf6f0899a32bc750823965526826835168b 100644 >--- a/JSTests/stress/varargs-then-slow-call.js >+++ b/JSTests/stress/varargs-then-slow-call.js >@@ -32,7 +32,7 @@ function baz(array) { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]); > if (result != 61) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-too-few-arguments.js b/JSTests/stress/varargs-too-few-arguments.js >index 36c062a6684735e74e1c0913243ab14e03b05951..06182d810f3db2c044e1f6743a4175600e8d95f5 100644 >--- a/JSTests/stress/varargs-too-few-arguments.js >+++ b/JSTests/stress/varargs-too-few-arguments.js >@@ -8,7 +8,7 @@ function bar() { > > noInline(bar); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = bar(1); > if ("" + result != "1,") > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-two-level.js b/JSTests/stress/varargs-two-level.js >index 52288edff498da993cdb9e96f8d6e3bda0ad1e9f..f2a9d49dfba33f9075b3031d3c8873ed929b4a51 100644 >--- a/JSTests/stress/varargs-two-level.js >+++ b/JSTests/stress/varargs-two-level.js >@@ -14,7 +14,7 @@ function baz() { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(5, 6, 7); > if (result != 5 + 6 * 2 + 7 * 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-varargs-closure-inlined-exit.js b/JSTests/stress/varargs-varargs-closure-inlined-exit.js >index b7b2d4c3591d069f7ced11fb972a7b7ed370d939..19540fe091a5c507bd22bbf17637cf4d08484577 100644 >--- a/JSTests/stress/varargs-varargs-closure-inlined-exit.js >+++ b/JSTests/stress/varargs-varargs-closure-inlined-exit.js >@@ -13,7 +13,7 @@ function baz() { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(1, 2); > if (result != 1 + 1 + 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-varargs-inlined-exit-strict-mode.js b/JSTests/stress/varargs-varargs-inlined-exit-strict-mode.js >index 139d75d99627f6e24c428bb40f89ce76a1e01c42..f7ffd61bc0160d7b942985f870917d05ce435ae0 100644 >--- a/JSTests/stress/varargs-varargs-inlined-exit-strict-mode.js >+++ b/JSTests/stress/varargs-varargs-inlined-exit-strict-mode.js >@@ -16,7 +16,7 @@ function baz() { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(1, 2); > if (result != 1 + 1 + 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-varargs-inlined-exit.js b/JSTests/stress/varargs-varargs-inlined-exit.js >index 7a243cb63c7b827e4b3ada88d835184bd80dee13..f78d55d11a3a924a5191679999178a3a1716e078 100644 >--- a/JSTests/stress/varargs-varargs-inlined-exit.js >+++ b/JSTests/stress/varargs-varargs-inlined-exit.js >@@ -14,7 +14,7 @@ function baz() { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var result = baz(1, 2); > if (result != 1 + 1 + 3) > throw "Error: bad result: " + result; >diff --git a/JSTests/stress/varargs-with-unused-count.js b/JSTests/stress/varargs-with-unused-count.js >index 48ab08b9a37104eba372bc5d0b8ca633e8cd5b8e..07f860c254054a74d4f2d828982bc9f8d0e027e2 100644 >--- a/JSTests/stress/varargs-with-unused-count.js >+++ b/JSTests/stress/varargs-with-unused-count.js >@@ -19,5 +19,5 @@ function baz(a, b, c, d) { > > noInline(baz); > >-for (var i = 0; i < 10000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > baz(1, 2, 3, 4); >diff --git a/JSTests/stress/weird-equality-folding-cases.js b/JSTests/stress/weird-equality-folding-cases.js >index d2c618ee9d983cf607cd595ca430c0f4bc7ea76a..dd214eeb3116b6455a34a9a7ab672a08f86a2e0c 100644 >--- a/JSTests/stress/weird-equality-folding-cases.js >+++ b/JSTests/stress/weird-equality-folding-cases.js >@@ -6,7 +6,7 @@ function test(actualFunction, expected) { > > noInline(test); > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > test(function() { return "5" == 5; }, true); > test(function() { return ({valueOf:function(){return 42;}}) == 42; }, true); > test(function() { return ({valueOf:function(){return 42;}}) == ({valueOf:function(){return 42;}}) }, false); >diff --git a/JSTests/stress/weird-getter-counter.js b/JSTests/stress/weird-getter-counter.js >index ff9433447b453dd8371ca0feb8625b86dda4a0e2..1da98bd6e0793c8d606d086f209c3583680ac831 100644 >--- a/JSTests/stress/weird-getter-counter.js >+++ b/JSTests/stress/weird-getter-counter.js >@@ -14,7 +14,7 @@ function test(o, expected, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineGetter__("f", function() { > counter++; >diff --git a/JSTests/stress/weird-put-stack-varargs.js b/JSTests/stress/weird-put-stack-varargs.js >index ffa9ab19f7f251d224e0fc3e96158ce92c1494a4..35bc942d8fba6e1f1440e3027fec827bc3f9be75 100644 >--- a/JSTests/stress/weird-put-stack-varargs.js >+++ b/JSTests/stress/weird-put-stack-varargs.js >@@ -22,5 +22,5 @@ function bar(array1, array2) { > > noInline(bar); > >-for (var i = 0; i < 100000; ++i) >+for (var i = 0; i < $vm.testingLoopCount; ++i) > bar([false, false], [false, true]); >diff --git a/JSTests/stress/weird-setter-counter-syntactic.js b/JSTests/stress/weird-setter-counter-syntactic.js >index b3843e895ef12de450bacd3dfde1909400f45711..d0482191565c1f8658052da0221aa71c58870b8a 100644 >--- a/JSTests/stress/weird-setter-counter-syntactic.js >+++ b/JSTests/stress/weird-setter-counter-syntactic.js >@@ -15,7 +15,7 @@ function test(o, value, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = { > get f() { > return this._f; >diff --git a/JSTests/stress/weird-setter-counter.js b/JSTests/stress/weird-setter-counter.js >index d76bceeb7d862fb1b9327068d37a34afc6a89a2e..4119529fe1f0175065279c150c760ddd96e635bc 100644 >--- a/JSTests/stress/weird-setter-counter.js >+++ b/JSTests/stress/weird-setter-counter.js >@@ -15,7 +15,7 @@ function test(o, value, expectedCount) { > throw new Error("Bad counter value: " + counter); > } > >-for (var i = 0; i < 100000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > var o = {}; > o.__defineSetter__("f", function(value) { > counter++; >diff --git a/JSTests/stress/with.js b/JSTests/stress/with.js >index b9ad0c28f5b3aa3809fdf2c96530ead819d389bd..0144fb52cfaab7851558f667c3b411e7703741ac 100644 >--- a/JSTests/stress/with.js >+++ b/JSTests/stress/with.js >@@ -7,7 +7,7 @@ function foo (x, y, z, newX, checkZ, errorMessage) { > } > } > >-for (var i = 0; i < 10000; ++i) { >+for (var i = 0; i < $vm.testingLoopCount; ++i) { > foo(1, 2, {a:42}, 2, z => z.a === 42, "Error: bad result for non-overlapping case, i = " + i); > foo(1, 2, {x:42}, 1, z => z.x === 2, "Error: bad result for setter case, i = " + i); > foo(1, 2, {y:42}, 42, z => z.y === 42, "Error: bad result for getter case, i = " + i); >diff --git a/JSTests/stress/with_and_arith.js b/JSTests/stress/with_and_arith.js >index 85cbf93f29a3f28077e7003e17b7da079ff46222..3da58fbdd4e34b4fc16c580799f8a2c9c2066876 100644 >--- a/JSTests/stress/with_and_arith.js >+++ b/JSTests/stress/with_and_arith.js >@@ -1,4 +1,4 @@ >-for (var i = 0; i < 10000;) { >+for (var i = 0; i < $vm.testingLoopCount;) { > var x = 1; > with({}) { > i += x; >diff --git a/JSTests/stress/yield-label-generator.js b/JSTests/stress/yield-label-generator.js >index 99a99baa2f642316d47aed52b58dc0558772a138..0f7a24127394e190ed235712763977d487ce490a 100644 >--- a/JSTests/stress/yield-label-generator.js >+++ b/JSTests/stress/yield-label-generator.js >@@ -24,7 +24,7 @@ function testSyntaxError(script, message) { > testSyntaxError(` > function *test() { > { >- yield: for (var i = 0; i < 1000; ++i) { >+ yield: for (var i = 0; i < $vm.testingLoopCount; ++i) { > break yield; > } > } >@@ -34,7 +34,7 @@ function *test() { > testSyntaxError(` > function *test() { > { >- label: for (var i = 0; i < 1000; ++i) { >+ label: for (var i = 0; i < $vm.testingLoopCount; ++i) { > break yield; > } > } >@@ -44,7 +44,7 @@ function *test() { > testSyntaxError(` > function *test() { > { >- label: for (var i = 0; i < 1000; ++i) { >+ label: for (var i = 0; i < $vm.testingLoopCount; ++i) { > continue yield; > } > } >diff --git a/JSTests/stress/yield-label.js b/JSTests/stress/yield-label.js >index 009a3a6e29ab19133ad4f0e416e6f66c361345b3..7e31acad3c81b1f7ce3f429f2b6382391936cd4a 100644 >--- a/JSTests/stress/yield-label.js >+++ b/JSTests/stress/yield-label.js >@@ -4,12 +4,12 @@ > > (function () { > { >- yield: for (var i = 0; i < 1000; ++i) { >+ yield: for (var i = 0; i < $vm.testingLoopCount; ++i) { > break yield; > } > } > { >- yield: for (var i = 0; i < 1000; ++i) { >+ yield: for (var i = 0; i < $vm.testingLoopCount; ++i) { > continue yield; > } > } >@@ -34,7 +34,7 @@ testSyntaxError(` > function test() { > "use strict"; > { >- yield: for (var i = 0; i < 1000; ++i) { >+ yield: for (var i = 0; i < $vm.testingLoopCount; ++i) { > break yield; > } > } >@@ -45,7 +45,7 @@ testSyntaxError(` > function test() { > "use strict"; > { >- label: for (var i = 0; i < 1000; ++i) { >+ label: for (var i = 0; i < $vm.testingLoopCount; ++i) { > break yield; > } > } >@@ -56,7 +56,7 @@ testSyntaxError(` > function test() { > "use strict"; > { >- label: for (var i = 0; i < 1000; ++i) { >+ label: for (var i = 0; i < $vm.testingLoopCount; ++i) { > continue yield; > } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
ews-watchlist
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186715
:
342868
| 342871 |
342877
|
342978