-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add option to force HaveABadTime mode all the time for testing.
https://bugs.webkit.org/show_bug.cgi?id=261059 rdar://114858622 Reviewed by Yusuke Suzuki. Added the --alwaysHaveABadTime option, which will make is easier to test HaveABadTime mode by enabling the option in one of the JSC stress tests configurations. Also skipped some tests that rely on HaveABadTime mode or expected Array IndexingTypes. Fixed out-of-memory-handle-in-join.js to always trigger a rope resolution. The test is relying on Array.prototype.join() to throw an OOME due to rope resolution. However, join's slow path does not do rope resolution in this one scenario. So, we change the test so that it yields the same result regardless of whether join's fast or slow path is taken. Skipped the array-unshift-should-not-race-against-compiler-thread.js test because it runs prohibitively slow when in HaveABadTime mode. These tests were skipped on armv7 or mips because they were failing on those bots presumably due to memory exhaustion or timeouts: JSTests/microbenchmarks/large-empty-array-join-resolve-rope.js JSTests/microbenchmarks/large-empty-array-join.js JSTests/microbenchmarks/u16-string-index-of-1000001-404.js JSTests/microbenchmarks/u16-string-index-of-1000001-beg.js JSTests/microbenchmarks/u16-string-index-of-1000001-end.js JSTests/microbenchmarks/u16-string-index-of-1000001-mid.js * JSTests/microbenchmarks/large-empty-array-join-resolve-rope.js: * JSTests/microbenchmarks/large-empty-array-join.js: * JSTests/microbenchmarks/u16-string-index-of-1000001-404.js: * JSTests/microbenchmarks/u16-string-index-of-1000001-beg.js: * JSTests/microbenchmarks/u16-string-index-of-1000001-end.js: * JSTests/microbenchmarks/u16-string-index-of-1000001-mid.js: * JSTests/stress/array-slice-cow.js: * JSTests/stress/array-unshift-should-not-race-against-compiler-thread.js: * JSTests/stress/arrayprofile-should-not-convert-get-by-val-cow.js: * JSTests/stress/dollarVM-have-a-bad-time-no-params.js: * JSTests/stress/dollarVM-have-a-bad-time-works-for-non-global-object-params.js: * JSTests/stress/out-of-memory-handle-in-join.js: (shouldThrow): * JSTests/stress/regress-189028.js: * JSTests/stress/typed-array-from-array-iterator-protocol.js: * Source/JavaScriptCore/runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * Source/JavaScriptCore/runtime/OptionsList.h: * Tools/Scripts/run-jsc-stress-tests: Canonical link: https://commits.webkit.org/267584@main
- Loading branch information
Mark Lam
committed
Sep 2, 2023
1 parent
ddb67f5
commit de60094
Showing
17 changed files
with
36 additions
and
3 deletions.
There are no files selected for viewing
2 changes: 2 additions & 0 deletions
2
JSTests/microbenchmarks/large-empty-array-join-resolve-rope.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,6 @@ | ||
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py | ||
//@ $skipModes << :lockdown if $architecture == "mips" | ||
|
||
const array = []; | ||
for (let i = 0; i < 100; ++i) | ||
array.push(new Array(1e4).join('—' + i).slice(1)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py | ||
//@ $skipModes << :lockdown if $memoryLimited or $architecture == "mips" | ||
const array = []; | ||
for (let i = 0; i < 100; ++i) | ||
array.push(new Array(1e6).join('—' + i)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
JSTests/stress/array-unshift-should-not-race-against-compiler-thread.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
//@ $skipModes << :lockdown | ||
|
||
let x = []; | ||
for (let i = 0; i < 30; ++i) { | ||
for (let j = 0; j < 20000; ++j) { | ||
|
2 changes: 2 additions & 0 deletions
2
JSTests/stress/arrayprofile-should-not-convert-get-by-val-cow.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
//@ $skipModes << :lockdown | ||
|
||
if ($vm.isHavingABadTime()) | ||
throw new Error(); | ||
$vm.haveABadTime(); | ||
|
2 changes: 2 additions & 0 deletions
2
JSTests/stress/dollarVM-have-a-bad-time-works-for-non-global-object-params.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
//@ $skipModes << :lockdown | ||
|
||
function assert(x, y) { | ||
if (x != y) { | ||
$vm.print("actual: ", x); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters