Bug 151745
Summary: | [ARM] REGRESSION: Fix FTL JIT related failures on AArch64 Linux | ||
---|---|---|---|
Product: | WebKit | Reporter: | Csaba Osztrogonác <ossy> |
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | Normal | CC: | ossy, zan |
Priority: | P2 | ||
Version: | Other | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 108645 |
Csaba Osztrogonác
FTL JIT wasn't tested on AArch64 Linux long time ago.
I ran stress tests on r192942 and got many failures:
** The following JSC stress test failures have been introduced:
cdjs-tests.yaml/main.js.ftl-eager-no-cjit
cdjs-tests.yaml/main.js.ftl-no-cjit
executableAllocationFuzz.yaml/executableAllocationFuzz/v8-raytrace.js.executable-allocation-fuzz-default
jsc-layout-tests.yaml/js/script-tests/caller-property.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/dfg-cfa-prove-put-by-id-simple-when-storing-to-specialized-function.js.layout-no-llint
jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js.layout-ftl
jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.js.layout-ftl
jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-other.js.layout-dfg-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/dfg-exception.js.layout-ftl
jsc-layout-tests.yaml/js/script-tests/dfg-exception.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/dfg-exception.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-use-from-all-the-places-broken.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/exception-propagate-from-dfg-to-llint.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/for-in-modify-in-loop.js.layout-no-llint
jsc-layout-tests.yaml/js/script-tests/regress-139548.js.layout-ftl
jsc-layout-tests.yaml/js/script-tests/regress-139548.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/regress-139548.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/stack-trace.js.layout-ftl-eager-no-cjit
modules.yaml/modules/execution-order-dag.js.dfg-eager-no-cjit-validate-modules
modules.yaml/modules/execution-order-depth.js.no-llint-modules
mozilla-tests.yaml/ecma/Date/15.9.5.23-11.js.mozilla-baseline
mozilla-tests.yaml/ecma/String/15.5.4.6-1.js.mozilla-baseline
mozilla-tests.yaml/ecma/Types/8.4.js.mozilla-baseline
mozilla-tests.yaml/ecma_2/String/split-001.js.mozilla-baseline
mozilla-tests.yaml/js1_3/inherit/proto_2.js.mozilla-baseline
regress/script-tests/Float32Array-matrix-mult.js.dfg-maximal-flush-validate-no-cjit
regress/script-tests/Int16Array-bubble-sort-with-byteLength.js.ftl-no-cjit-no-put-stack-validate
regress/script-tests/deltablue-varargs.js.ftl-eager
regress/script-tests/fold-get-by-id-to-multi-get-by-offset-rare-int.js.ftl-eager
regress/script-tests/getter-richards-try-catch.js.default-ftl
regress/script-tests/getter-richards-try-catch.js.ftl-no-cjit-validate
regress/script-tests/hoist-poly-check-structure.js.ftl-no-cjit-no-inline-validate
regress/script-tests/inlined-put-by-id-transition.js.no-llint
regress/script-tests/polymorphic-put-by-id.js.default
regress/script-tests/polymorphic-put-by-id.js.ftl-no-cjit-no-inline-validate
regress/script-tests/polymorphic-put-by-id.js.ftl-no-cjit-small-pool
regress/script-tests/polymorphic-put-by-id.js.ftl-no-cjit-validate
regress/script-tests/sorting-benchmark.js.dfg-maximal-flush-validate-no-cjit
regress/script-tests/v8-raytrace-with-empty-try-catch.js.ftl-eager-no-cjit
regress/script-tests/v8-raytrace-with-empty-try-catch.js.ftl-no-cjit-no-put-stack-validate
regress/script-tests/v8-raytrace-with-try-catch.js.dfg-maximal-flush-validate-no-cjit
stress/array-copywithin.js.ftl-eager-no-cjit
stress/capture-escape-and-throw.js.ftl-eager-no-cjit
stress/capture-escape-and-throw.js.ftl-no-cjit-no-inline-validate
stress/capture-escape-and-throw.js.ftl-no-cjit-no-put-stack-validate
stress/capture-escape-and-throw.js.ftl-no-cjit-validate
stress/const-loop-semantics.js.dfg-eager
stress/exception-effect-strcat.js.ftl-eager
stress/exception-effect-strcat.js.ftl-eager-no-cjit
stress/exception-effect-strcat.js.ftl-no-cjit-no-inline-validate
stress/exception-effect-strcat.js.ftl-no-cjit-no-put-stack-validate
stress/exception-effect-strcat.js.ftl-no-cjit-validate
stress/exception-in-strcat-string-overflow.js.ftl-eager-no-cjit
stress/exception-in-strcat-string-overflow.js.ftl-no-cjit-no-inline-validate
stress/exception-in-strcat-string-overflow.js.ftl-no-cjit-no-put-stack-validate
stress/exception-in-strcat-string-overflow.js.ftl-no-cjit-validate
stress/exception-in-strcat.js.ftl-eager
stress/exception-in-strcat.js.ftl-eager-no-cjit
stress/exception-in-strcat.js.ftl-no-cjit-no-inline-validate
stress/exception-in-strcat.js.ftl-no-cjit-no-put-stack-validate
stress/exception-in-strcat.js.ftl-no-cjit-validate
stress/exception-in-to-property-key-should-be-handled-early.js.ftl-eager-no-cjit
stress/exception-in-to-property-key-should-be-handled-early.js.ftl-no-cjit-no-inline-validate
stress/exception-in-to-property-key-should-be-handled-early.js.ftl-no-cjit-no-put-stack-validate
stress/exception-in-to-property-key-should-be-handled-early.js.ftl-no-cjit-validate
stress/exit-after-int52-to-value.js.ftl-no-cjit-small-pool
stress/for-in-delete-during-iteration.js.ftl-no-cjit-validate
stress/ftl-library-exception.js.default-ftl
stress/ftl-library-exception.js.ftl-eager
stress/ftl-library-exception.js.ftl-eager-no-cjit
stress/ftl-library-exception.js.ftl-no-cjit-no-inline-validate
stress/ftl-library-exception.js.ftl-no-cjit-no-put-stack-validate
stress/ftl-library-exception.js.ftl-no-cjit-small-pool
stress/ftl-library-exception.js.ftl-no-cjit-validate
stress/ftl-library-inlining-exceptions-dataview.js.ftl-eager
stress/ftl-library-inlining-exceptions-dataview.js.ftl-eager-no-cjit
stress/ftl-library-inlining-exceptions-dataview.js.ftl-no-cjit-no-inline-validate
stress/ftl-library-inlining-exceptions-dataview.js.ftl-no-cjit-no-put-stack-validate
stress/ftl-library-inlining-exceptions-dataview.js.ftl-no-cjit-small-pool
stress/ftl-library-inlining-exceptions-dataview.js.ftl-no-cjit-validate
stress/ftl-library-inlining-exceptions.js.default-ftl
stress/ftl-library-inlining-exceptions.js.ftl-eager
stress/ftl-library-inlining-exceptions.js.ftl-eager-no-cjit
stress/ftl-library-inlining-exceptions.js.ftl-no-cjit-no-inline-validate
stress/ftl-library-inlining-exceptions.js.ftl-no-cjit-no-put-stack-validate
stress/ftl-library-inlining-exceptions.js.ftl-no-cjit-small-pool
stress/ftl-library-inlining-exceptions.js.ftl-no-cjit-validate
stress/ftl-try-catch-tail-call-inilned-caller.js.ftl-no-cjit-no-inline-validate
stress/get-by-id-throw-from-getter-through-optimized-code.js.default-ftl
stress/get-by-id-throw-from-getter-through-optimized-code.js.ftl-eager
stress/get-by-id-throw-from-getter-through-optimized-code.js.ftl-eager-no-cjit
stress/get-by-id-throw-from-getter-through-optimized-code.js.ftl-no-cjit-no-inline-validate
stress/get-by-id-throw-from-getter-through-optimized-code.js.ftl-no-cjit-no-put-stack-validate
stress/get-by-id-throw-from-getter-through-optimized-code.js.ftl-no-cjit-small-pool
stress/get-by-id-throw-from-getter-through-optimized-code.js.ftl-no-cjit-validate
stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js.ftl-eager-no-cjit
stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js.ftl-eager-no-cjit
stress/ic-throw-through-optimized-code.js.default-ftl
stress/ic-throw-through-optimized-code.js.ftl-eager
stress/ic-throw-through-optimized-code.js.ftl-eager-no-cjit
stress/ic-throw-through-optimized-code.js.ftl-no-cjit-no-inline-validate
stress/ic-throw-through-optimized-code.js.ftl-no-cjit-no-put-stack-validate
stress/ic-throw-through-optimized-code.js.ftl-no-cjit-small-pool
stress/ic-throw-through-optimized-code.js.ftl-no-cjit-validate
stress/infinite-loop-that-uses-captured-variables-before-throwing.js.ftl-eager
stress/infinite-loop-that-uses-captured-variables-before-throwing.js.ftl-eager-no-cjit
stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js.ftl-eager
stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js.ftl-eager-no-cjit
stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js.ftl-eager-no-cjit
stress/math-pow-nan-behaviors.js.ftl-no-cjit-validate
stress/new-array-with-size-throw-exception-and-tear-off-arguments.js.ftl-eager-no-cjit
stress/new-array-with-size-throw-exception-and-tear-off-arguments.js.ftl-no-cjit-no-inline-validate
stress/new-array-with-size-throw-exception-and-tear-off-arguments.js.ftl-no-cjit-no-put-stack-validate
stress/new-array-with-size-throw-exception-and-tear-off-arguments.js.ftl-no-cjit-validate
stress/put-by-id-on-new-object-after-prototype-transition-strict.js.always-trigger-copy-phase
stress/put-by-id-throw-through-optimized-code.js.ftl-eager-no-cjit
stress/reflect-has.js.ftl-eager-no-cjit
stress/runtime-throw-through-optimized-code.js.ftl-eager
stress/runtime-throw-through-optimized-code.js.ftl-eager-no-cjit
stress/runtime-throw-through-optimized-code.js.ftl-no-cjit-no-inline-validate
stress/runtime-throw-through-optimized-code.js.ftl-no-cjit-no-put-stack-validate
stress/runtime-throw-through-optimized-code.js.ftl-no-cjit-small-pool
stress/runtime-throw-through-optimized-code.js.ftl-no-cjit-validate
stress/sink-multigetbyoffset.js.ftl-eager
stress/sink-multigetbyoffset.js.ftl-no-cjit-small-pool
stress/throw-from-ftl-call-ic-slow-path-cells.js.default-ftl
stress/throw-from-ftl-call-ic-slow-path-cells.js.ftl-eager
stress/throw-from-ftl-call-ic-slow-path-cells.js.ftl-eager-no-cjit
stress/throw-from-ftl-call-ic-slow-path-cells.js.ftl-no-cjit-no-inline-validate
stress/throw-from-ftl-call-ic-slow-path-cells.js.ftl-no-cjit-no-put-stack-validate
stress/throw-from-ftl-call-ic-slow-path-cells.js.ftl-no-cjit-validate
stress/throw-from-ftl-call-ic-slow-path-undefined.js.ftl-eager
stress/throw-from-ftl-call-ic-slow-path-undefined.js.ftl-eager-no-cjit
stress/throw-from-ftl-call-ic-slow-path-undefined.js.ftl-no-cjit-no-inline-validate
stress/throw-from-ftl-call-ic-slow-path-undefined.js.ftl-no-cjit-no-put-stack-validate
stress/throw-from-ftl-call-ic-slow-path-undefined.js.ftl-no-cjit-validate
stress/throw-from-ftl-call-ic-slow-path.js.ftl-eager
stress/throw-from-ftl-call-ic-slow-path.js.ftl-eager-no-cjit
stress/throw-from-ftl-call-ic-slow-path.js.ftl-no-cjit-no-inline-validate
stress/throw-from-ftl-call-ic-slow-path.js.ftl-no-cjit-no-put-stack-validate
stress/throw-from-ftl-call-ic-slow-path.js.ftl-no-cjit-validate
stress/throw-through-optimized-code.js.ftl-eager
stress/throw-through-optimized-code.js.ftl-eager-no-cjit
stress/throw-through-optimized-code.js.ftl-no-cjit-no-inline-validate
stress/throw-through-optimized-code.js.ftl-no-cjit-no-put-stack-validate
stress/throw-through-optimized-code.js.ftl-no-cjit-small-pool
stress/throw-through-optimized-code.js.ftl-no-cjit-validate
stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js.ftl-eager
stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js.ftl-eager-no-cjit
stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js.ftl-eager
stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js.ftl-eager-no-cjit
stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js.ftl-eager
stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js.ftl-eager-no-cjit
stress/tricky-infinite-loop-that-uses-captured-variables.js.ftl-eager
stress/tricky-infinite-loop-that-uses-captured-variables.js.ftl-eager-no-cjit
stress/typedarray-every.js.ftl-eager-no-cjit
stress/typedarray-filter.js.ftl-eager-no-cjit
stress/typedarray-find.js.ftl-eager-no-cjit
stress/typedarray-map.js.ftl-eager-no-cjit
stress/typedarray-reduce.js.ftl-eager
stress/typedarray-reduce.js.ftl-eager-no-cjit
stress/typedarray-reduceRight.js.ftl-eager-no-cjit
stress/typedarray-some.js.ftl-eager-no-cjit
stress/typedarray-sort.js.ftl-eager-no-cjit
stress/v8-deltablue-strict.js.ftl-eager-no-cjit
stress/v8-deltablue-strict.js.ftl-no-cjit-validate
stress/v8-earley-boyer-strict.js.ftl-eager-no-cjit
stress/v8-earley-boyer-strict.js.no-llint
stress/v8-raytrace-strict.js.ftl-eager-no-cjit
stress/v8-regexp-strict.js.default
stress/v8-regexp-strict.js.ftl-no-cjit-validate
stress/v8-splay-strict.js.default
stress/v8-splay-strict.js.ftl-no-cjit-validate
v8-v6/v8-deltablue.js.default
v8-v6/v8-earley-boyer.js.ftl-eager-no-cjit
v8-v6/v8-raytrace.js.dfg-eager
v8-v6/v8-raytrace.js.dfg-maximal-flush-validate-no-cjit
v8-v6/v8-raytrace.js.ftl-eager-no-cjit
v8-v6/v8-raytrace.js.ftl-no-cjit-no-put-stack-validate
v8-v6/v8-raytrace.js.ftl-no-cjit-validate
v8-v6/v8-splay.js.dfg-eager
v8-v6/v8-splay.js.ftl-eager-no-cjit
Results for JSC stress tests:
186 failures found.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Csaba Osztrogonác
failures without FTL JIT on the same revision:
** The following JSC stress test failures have been introduced:
executableAllocationFuzz.yaml/executableAllocationFuzz/v8-raytrace.js.executable-allocation-fuzz-default
executableAllocationFuzz.yaml/executableAllocationFuzz/v8-raytrace.js.executable-allocation-fuzz-no-cjit
jsc-layout-tests.yaml/js/script-tests/dfg-cfa-prove-put-by-id-simple-when-storing-to-specialized-function.js.layout-no-llint
jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-other.js.layout-dfg-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/sort-large-array.js.layout-dfg-eager-no-cjit
mozilla-tests.yaml/ecma/Date/15.9.5.10-3.js.mozilla-baseline
mozilla-tests.yaml/ecma/Date/15.9.5.13-4.js.mozilla-baseline
mozilla-tests.yaml/ecma/Date/15.9.5.23-11.js.mozilla-baseline
mozilla-tests.yaml/ecma/Date/15.9.5.36-5.js.mozilla-baseline
mozilla-tests.yaml/ecma/Expressions/11.7.1.js.mozilla-dfg-eager-no-cjit-validate-phases
mozilla-tests.yaml/js1_2/regexp/RegExp_rightContext_as_array.js.mozilla-baseline
regress/script-tests/deltablue-varargs.js.no-llint
regress/script-tests/polymorphic-put-by-id.js.dfg-eager
regress/script-tests/raytrace-with-empty-try-catch.js.dfg-eager-no-cjit-validate
regress/script-tests/sorting-benchmark.js.default
regress/script-tests/v8-raytrace-with-try-catch.js.dfg-eager
regress/script-tests/v8-raytrace-with-try-catch.js.dfg-eager-no-cjit-validate
stress/array-message-passing.js.dfg-eager-no-cjit-validate
stress/load-varargs-then-inlined-call-exit-in-foo.js.no-llint
stress/redundant-array-bounds-checks-addition-skip-first.js.default
stress/v8-crypto-strict.js.dfg-eager-no-cjit-validate
stress/v8-regexp-strict.js.dfg-eager-no-cjit-validate
stress/v8-regexp-strict.js.dfg-maximal-flush-validate-no-cjit
sunspider-1.0/3d-raytrace.js.no-llint
v8-v6/v8-crypto.js.dfg-eager-no-cjit-validate
v8-v6/v8-raytrace.js.default
v8-v6/v8-raytrace.js.dfg-eager-no-cjit-validate
v8-v6/v8-splay.js.default
Results for JSC stress tests:
28 failures found.
Zan Dobersek
This isn't representative of the FTL JIT support on Linux ARM64 almost two years later.