[webkit-changes] [WebKit/WebKit] bb2a61: [ BigSur Debug JSC ] Multiple .lockdown tests are ...

EWS noreply at github.com
Sat Nov 19 09:57:35 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb2a6104c6b477672fa126eb1ee0084932f2f347
      https://github.com/WebKit/WebKit/commit/bb2a6104c6b477672fa126eb1ee0084932f2f347
  Author: Mark Lam <mark.lam at apple.com>
  Date:   2022-11-19 (Sat, 19 Nov 2022)

  Changed paths:
    M JSTests/microbenchmarks/array-from-derived-object-func.js
    M JSTests/microbenchmarks/array-from-object-func.js
    M JSTests/microbenchmarks/bit-test-constant.js
    M JSTests/microbenchmarks/bit-test-load.js
    M JSTests/microbenchmarks/bit-test-nonconstant.js
    M JSTests/microbenchmarks/data-view-accesses-2.js
    M JSTests/microbenchmarks/delete-property-allocation-sinking.js
    M JSTests/microbenchmarks/delete-property-inline-cache.js
    M JSTests/microbenchmarks/delete-property-keeps-cacheable-structure.js
    M JSTests/microbenchmarks/elidable-new-object-dag.js
    M JSTests/microbenchmarks/elidable-new-object-then-call.js
    M JSTests/microbenchmarks/elidable-new-object-tree.js
    M JSTests/microbenchmarks/function-to-string.js
    M JSTests/microbenchmarks/get-and-put-by-val-double-index-dont-fall-off-a-cliff.js
    M JSTests/microbenchmarks/get-by-val-polymorphic-ic-1.js
    M JSTests/microbenchmarks/get-by-val-polymorphic-ic-4.js
    M JSTests/microbenchmarks/get-by-val-polymorphic-ic-5.js
    M JSTests/microbenchmarks/get-private-name.js
    M JSTests/microbenchmarks/hoist-get-by-offset-tower-with-inferred-types.js
    M JSTests/microbenchmarks/int52-rand-function.js
    M JSTests/microbenchmarks/memcpy-loop.js
    M JSTests/microbenchmarks/memcpy-typed-loop-large.js
    M JSTests/microbenchmarks/object-is.js
    M JSTests/microbenchmarks/obvious-sink-pathology-taken.js
    M JSTests/microbenchmarks/oob-sane-chain-double.js
    M JSTests/microbenchmarks/polyvariant-delete-property.js
    M JSTests/microbenchmarks/richards-empty-try-catch.js
    M JSTests/microbenchmarks/richards-try-catch.js
    M JSTests/microbenchmarks/sinkable-new-object-dag.js
    M JSTests/microbenchmarks/sinkable-new-object-taken.js
    M JSTests/microbenchmarks/sinkable-new-object-with-builtin-constructor.js
    M JSTests/microbenchmarks/sinkable-new-object.js
    M JSTests/microbenchmarks/string-replace-string.js
    M JSTests/microbenchmarks/to-number-boolean.js
    M JSTests/microbenchmarks/typed-array-get-set-by-val-profiling.js
    M JSTests/stress/allow-math-ic-b3-code-duplication.js
    M JSTests/stress/arith-abs-on-various-types.js
    M JSTests/stress/arith-abs-to-arith-negate-range-optimizaton.js
    M JSTests/stress/arith-acos-on-various-types.js
    M JSTests/stress/arith-acosh-on-various-types.js
    M JSTests/stress/arith-asin-on-various-types.js
    M JSTests/stress/arith-asinh-on-various-types.js
    M JSTests/stress/arith-atan-on-various-types.js
    M JSTests/stress/arith-atanh-on-various-types.js
    M JSTests/stress/arith-cbrt-on-various-types.js
    M JSTests/stress/arith-ceil-on-various-types.js
    M JSTests/stress/arith-clz32-on-various-types.js
    M JSTests/stress/arith-cos-on-various-types.js
    M JSTests/stress/arith-cosh-on-various-types.js
    M JSTests/stress/arith-expm1-on-various-types.js
    M JSTests/stress/arith-floor-on-various-types.js
    M JSTests/stress/arith-fround-on-various-types.js
    M JSTests/stress/arith-log10-on-various-types.js
    M JSTests/stress/arith-log2-on-various-types.js
    M JSTests/stress/arith-negate-on-various-types.js
    M JSTests/stress/arith-round-on-various-types.js
    M JSTests/stress/arith-sin-on-various-types.js
    M JSTests/stress/arith-sinh-on-various-types.js
    M JSTests/stress/arith-sqrt-on-various-types.js
    M JSTests/stress/arith-tan-on-various-types.js
    M JSTests/stress/arith-tanh-on-various-types.js
    M JSTests/stress/arith-trunc-on-various-types.js
    M JSTests/stress/bit-op-with-object-returning-int32.js
    M JSTests/stress/bitwise-not-fixup-rules.js
    M JSTests/stress/call-var-args-phantom-arguments-handler-strict.js
    M JSTests/stress/call-var-args-phantom-arguments-strict.js
    M JSTests/stress/checkpoint-osr-exit-needs-to-reload-baseline-jit-constant-pool-gpr.js
    M JSTests/stress/compare-strict-eq-on-various-types.js
    M JSTests/stress/elide-new-object-dag-then-exit.js
    M JSTests/stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-bad-transition-debug.js
    M JSTests/stress/int8-repeat-in-then-out-of-bounds.js
    M JSTests/stress/new-regex-inline.js
    M JSTests/stress/obviously-elidable-new-object-then-exit.js
    M JSTests/stress/private-name-assignment-in-constructor.js
    M JSTests/stress/spread-forward-call-varargs-stack-overflow.js
    M JSTests/stress/tail-call-var-args-phantom-arguments-handler-strict.js
    M JSTests/stress/tail-call-var-args-phantom-arguments-strict.js
    M JSTests/stress/undecided-arrays-should-not-need-original-array-for-length.js
    M JSTests/stress/v8-deltablue-strict.js
    M JSTests/stress/v8-richards-strict.js
    M PerformanceTests/JetStream/cdjs/main.js
    M PerformanceTests/SunSpider/tests/v8-v6/v8-deltablue.js
    M PerformanceTests/SunSpider/tests/v8-v6/v8-richards.js
    M Tools/Scripts/run-jsc-stress-tests

  Log Message:
  -----------
  [ BigSur Debug JSC ] Multiple .lockdown tests are constant failures
https://bugs.webkit.org/show_bug.cgi?id=248000
<rdar://problem/102442315>

Reviewed by Yusuke Suzuki.

This patch fixes some timeout failures when the JSC stress tests are run in the lockdown
test mode.

1. Introduce @skipModes which allows tests to be skipped from a test mode.
2. Use @skipModes to skip tests that require the JIT from the lockdown test mode.
   This replaces the old method of checking $vm.useJIT() at runtime, which is less
   efficient.
3. Use @skipModes to skip tests that are too slow from the lockdown test mode when
   run on a debug build.
4. Use @skipModes to skip a few tests from the lockdown test mode because these tests
   are too slow even when run on a Release build with lockdown test mode.

* JSTests/microbenchmarks/array-from-derived-object-func.js:
* JSTests/microbenchmarks/array-from-object-func.js:
* JSTests/microbenchmarks/bit-test-constant.js:
* JSTests/microbenchmarks/bit-test-load.js:
* JSTests/microbenchmarks/bit-test-nonconstant.js:
* JSTests/microbenchmarks/data-view-accesses-2.js:
* JSTests/microbenchmarks/delete-property-allocation-sinking.js:
* JSTests/microbenchmarks/delete-property-inline-cache.js:
* JSTests/microbenchmarks/delete-property-keeps-cacheable-structure.js:
* JSTests/microbenchmarks/elidable-new-object-dag.js:
* JSTests/microbenchmarks/elidable-new-object-then-call.js:
* JSTests/microbenchmarks/elidable-new-object-tree.js:
* JSTests/microbenchmarks/function-to-string.js:
* JSTests/microbenchmarks/get-and-put-by-val-double-index-dont-fall-off-a-cliff.js:
* JSTests/microbenchmarks/get-by-val-polymorphic-ic-1.js:
* JSTests/microbenchmarks/get-by-val-polymorphic-ic-4.js:
* JSTests/microbenchmarks/get-by-val-polymorphic-ic-5.js:
* JSTests/microbenchmarks/get-private-name.js:
* JSTests/microbenchmarks/hoist-get-by-offset-tower-with-inferred-types.js:
* JSTests/microbenchmarks/int52-rand-function.js:
* JSTests/microbenchmarks/memcpy-loop.js:
* JSTests/microbenchmarks/memcpy-typed-loop-large.js:
* JSTests/microbenchmarks/object-is.js:
* JSTests/microbenchmarks/obvious-sink-pathology-taken.js:
* JSTests/microbenchmarks/oob-sane-chain-double.js:
* JSTests/microbenchmarks/polyvariant-delete-property.js:
* JSTests/microbenchmarks/richards-empty-try-catch.js:
* JSTests/microbenchmarks/richards-try-catch.js:
* JSTests/microbenchmarks/sinkable-new-object-dag.js:
* JSTests/microbenchmarks/sinkable-new-object-taken.js:
* JSTests/microbenchmarks/sinkable-new-object-with-builtin-constructor.js:
* JSTests/microbenchmarks/sinkable-new-object.js:
* JSTests/microbenchmarks/string-replace-string.js:
* JSTests/microbenchmarks/to-number-boolean.js:
* JSTests/microbenchmarks/typed-array-get-set-by-val-profiling.js:
* JSTests/stress/allow-math-ic-b3-code-duplication.js:
* JSTests/stress/arith-abs-on-various-types.js:
* JSTests/stress/arith-abs-to-arith-negate-range-optimizaton.js:
* JSTests/stress/arith-acos-on-various-types.js:
* JSTests/stress/arith-acosh-on-various-types.js:
* JSTests/stress/arith-asin-on-various-types.js:
* JSTests/stress/arith-asinh-on-various-types.js:
* JSTests/stress/arith-atan-on-various-types.js:
* JSTests/stress/arith-atanh-on-various-types.js:
* JSTests/stress/arith-cbrt-on-various-types.js:
* JSTests/stress/arith-ceil-on-various-types.js:
* JSTests/stress/arith-clz32-on-various-types.js:
* JSTests/stress/arith-cos-on-various-types.js:
* JSTests/stress/arith-cosh-on-various-types.js:
* JSTests/stress/arith-expm1-on-various-types.js:
* JSTests/stress/arith-floor-on-various-types.js:
* JSTests/stress/arith-fround-on-various-types.js:
* JSTests/stress/arith-log10-on-various-types.js:
* JSTests/stress/arith-log2-on-various-types.js:
* JSTests/stress/arith-negate-on-various-types.js:
* JSTests/stress/arith-round-on-various-types.js:
* JSTests/stress/arith-sin-on-various-types.js:
* JSTests/stress/arith-sinh-on-various-types.js:
* JSTests/stress/arith-sqrt-on-various-types.js:
* JSTests/stress/arith-tan-on-various-types.js:
* JSTests/stress/arith-tanh-on-various-types.js:
* JSTests/stress/arith-trunc-on-various-types.js:
* JSTests/stress/bit-op-with-object-returning-int32.js:
* JSTests/stress/bitwise-not-fixup-rules.js:
* JSTests/stress/call-var-args-phantom-arguments-handler-strict.js:
* JSTests/stress/call-var-args-phantom-arguments-strict.js:
* JSTests/stress/checkpoint-osr-exit-needs-to-reload-baseline-jit-constant-pool-gpr.js:
* JSTests/stress/compare-strict-eq-on-various-types.js:
* JSTests/stress/elide-new-object-dag-then-exit.js:
* JSTests/stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-bad-transition-debug.js:
* JSTests/stress/int8-repeat-in-then-out-of-bounds.js:
* JSTests/stress/new-regex-inline.js:
* JSTests/stress/obviously-elidable-new-object-then-exit.js:
* JSTests/stress/private-name-assignment-in-constructor.js:
* JSTests/stress/spread-forward-call-varargs-stack-overflow.js:
* JSTests/stress/tail-call-var-args-phantom-arguments-handler-strict.js:
* JSTests/stress/tail-call-var-args-phantom-arguments-strict.js:
* JSTests/stress/undecided-arrays-should-not-need-original-array-for-length.js:
* JSTests/stress/v8-deltablue-strict.js:
* JSTests/stress/v8-richards-strict.js:
* PerformanceTests/JetStream/cdjs/main.js:
* PerformanceTests/SunSpider/tests/v8-v6/v8-deltablue.js:
* PerformanceTests/SunSpider/tests/v8-v6/v8-richards.js:
* Tools/Scripts/run-jsc-stress-tests:

Canonical link: https://commits.webkit.org/256875@main




More information about the webkit-changes mailing list