[webkit-changes] [WebKit/WebKit] de6009: Add option to force HaveABadTime mode all the time...

Commit Queue noreply at github.com
Sat Sep 2 09:29:07 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: de6009438089855b49bfd7e2aa639e2a37224abc
      https://github.com/WebKit/WebKit/commit/de6009438089855b49bfd7e2aa639e2a37224abc
  Author: Mark Lam <mark.lam at apple.com>
  Date:   2023-09-02 (Sat, 02 Sep 2023)

  Changed paths:
    M JSTests/microbenchmarks/large-empty-array-join-resolve-rope.js
    M JSTests/microbenchmarks/large-empty-array-join.js
    M JSTests/microbenchmarks/u16-string-index-of-1000001-404.js
    M JSTests/microbenchmarks/u16-string-index-of-1000001-beg.js
    M JSTests/microbenchmarks/u16-string-index-of-1000001-end.js
    M JSTests/microbenchmarks/u16-string-index-of-1000001-mid.js
    M JSTests/stress/array-slice-cow.js
    M JSTests/stress/array-unshift-should-not-race-against-compiler-thread.js
    M JSTests/stress/arrayprofile-should-not-convert-get-by-val-cow.js
    M JSTests/stress/dollarVM-have-a-bad-time-no-params.js
    M JSTests/stress/dollarVM-have-a-bad-time-works-for-non-global-object-params.js
    M JSTests/stress/out-of-memory-handle-in-join.js
    M JSTests/stress/regress-189028.js
    M JSTests/stress/typed-array-from-array-iterator-protocol.js
    M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
    M Source/JavaScriptCore/runtime/OptionsList.h
    M Tools/Scripts/run-jsc-stress-tests

  Log Message:
  -----------
  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




More information about the webkit-changes mailing list