RESOLVED DUPLICATE of bug 148666 148494
jsc-tailcall: Test failures with FTL enabled after r188986
https://bugs.webkit.org/show_bug.cgi?id=148494
Summary jsc-tailcall: Test failures with FTL enabled after r188986
Michael Saboff
Reported 2015-08-26 15:45:20 PDT
Created attachment 259985 [details] Debug test failures After r188986 with the FTL enabled by changing useFTLJIT option in JavaScriptCore/runtime/Options.h to true, we get failures. The following 134 JSC stress tests fail in a Debug build: cdjs-tests.yaml/main.js.ftl-eager-no-cjit cdjs-tests.yaml/motion_test.js.ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/Object-getOwnPropertyNames.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-functions-non-arrays.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/caller-property.js.layout jsc-layout-tests.yaml/js/script-tests/caller-property.js.layout-dfg-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/caller-property.js.layout-ftl jsc-layout-tests.yaml/js/script-tests/caller-property.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/caller-property.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/caller-property.js.layout-no-cjit jsc-layout-tests.yaml/js/script-tests/caller-property.js.layout-no-llint jsc-layout-tests.yaml/js/script-tests/dfg-get-closure-var-put-closure-var-interference.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/sort-randomly.js.layout-ftl-eager-no-cjit mozilla-tests.yaml/ecma/Date/15.9.4.3.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.10-11.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.10-12.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.10-13.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.11-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.26-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.27-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.28-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.29-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.30-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.31-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.34-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.36-4.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.36-5.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.36-6.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.36-7.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.37-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.37-2.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.37-4.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.37-5.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Expressions/11.7.1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Expressions/11.7.2.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.11-2.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.12-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.12-2.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.12-3.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.12-4.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.12-5.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/js1_5/Regress/regress-159334.js.mozilla-ftl-eager-no-cjit-validate-phases regress/script-tests/array-prototype-every.js.ftl-no-cjit-no-inline-validate regress/script-tests/array-prototype-forEach.js.ftl-no-cjit-no-inline-validate regress/script-tests/array-prototype-reduceRight.js.ftl-no-cjit-no-inline-validate regress/script-tests/array-prototype-some.js.ftl-no-cjit-no-inline-validate regress/script-tests/deltablue-varargs.js.ftl-eager regress/script-tests/deltablue-varargs.js.ftl-eager-no-cjit regress/script-tests/getter-richards.js.ftl-no-cjit-validate regress/script-tests/sorting-benchmark.js.ftl-eager-no-cjit stress/activation-sink-default-value.js.ftl-eager-no-cjit stress/activation-sink.js.ftl-eager-no-cjit stress/dfg-tail-calls.js.always-trigger-copy-phase stress/dfg-tail-calls.js.default stress/dfg-tail-calls.js.default-ftl stress/dfg-tail-calls.js.dfg-eager stress/dfg-tail-calls.js.dfg-eager-no-cjit-validate stress/dfg-tail-calls.js.ftl-eager stress/dfg-tail-calls.js.ftl-eager-no-cjit stress/dfg-tail-calls.js.ftl-no-cjit-no-inline-validate stress/dfg-tail-calls.js.ftl-no-cjit-validate stress/dfg-tail-calls.js.no-cjit-validate-phases stress/dfg-tail-calls.js.no-llint stress/function-reentry-infer-on-self.js.ftl-eager-no-cjit stress/inline-call-varargs-and-call.js.ftl-no-cjit-no-inline-validate stress/inlined-function-this-liveness.js.ftl-no-cjit-no-inline-validate stress/mutual-tail-call-no-stack-overflow.js.always-trigger-copy-phase stress/mutual-tail-call-no-stack-overflow.js.default stress/mutual-tail-call-no-stack-overflow.js.default-ftl stress/mutual-tail-call-no-stack-overflow.js.dfg-eager stress/mutual-tail-call-no-stack-overflow.js.dfg-eager-no-cjit-validate stress/mutual-tail-call-no-stack-overflow.js.ftl-eager stress/mutual-tail-call-no-stack-overflow.js.ftl-eager-no-cjit stress/mutual-tail-call-no-stack-overflow.js.ftl-no-cjit-no-inline-validate stress/mutual-tail-call-no-stack-overflow.js.ftl-no-cjit-validate stress/mutual-tail-call-no-stack-overflow.js.no-cjit-validate-phases stress/mutual-tail-call-no-stack-overflow.js.no-llint stress/sink-arguments-past-invalid-check-sneakier.js.ftl-no-cjit-no-inline-validate stress/sink-object-past-invalid-check-sneakier.js.ftl-no-cjit-no-inline-validate stress/string-ident-to-not-string-var-equality.js.ftl-no-cjit-no-inline-validate stress/tail-call-no-stack-overflow.js.always-trigger-copy-phase stress/tail-call-no-stack-overflow.js.default stress/tail-call-no-stack-overflow.js.default-ftl stress/tail-call-no-stack-overflow.js.dfg-eager stress/tail-call-no-stack-overflow.js.dfg-eager-no-cjit-validate stress/tail-call-no-stack-overflow.js.ftl-eager stress/tail-call-no-stack-overflow.js.ftl-eager-no-cjit stress/tail-call-no-stack-overflow.js.ftl-no-cjit-no-inline-validate stress/tail-call-no-stack-overflow.js.ftl-no-cjit-validate stress/tail-call-no-stack-overflow.js.no-cjit-validate-phases stress/tail-call-no-stack-overflow.js.no-llint stress/tail-call-recognize.js.-no-inline stress/tail-call-varargs-no-stack-overflow.js.always-trigger-copy-phase stress/tail-call-varargs-no-stack-overflow.js.default stress/tail-call-varargs-no-stack-overflow.js.default-ftl stress/tail-call-varargs-no-stack-overflow.js.dfg-eager stress/tail-call-varargs-no-stack-overflow.js.dfg-eager-no-cjit-validate stress/tail-call-varargs-no-stack-overflow.js.ftl-eager stress/tail-call-varargs-no-stack-overflow.js.ftl-eager-no-cjit stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-no-inline-validate stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-validate stress/tail-call-varargs-no-stack-overflow.js.no-cjit-validate-phases stress/tail-call-varargs-no-stack-overflow.js.no-llint stress/type-of-functions-and-objects.js.ftl-eager stress/v8-crypto-strict.js.ftl-eager-no-cjit stress/v8-deltablue-strict.js.ftl-eager stress/v8-deltablue-strict.js.ftl-eager-no-cjit stress/v8-earley-boyer-strict.js.default-ftl stress/v8-earley-boyer-strict.js.ftl-eager-no-cjit stress/v8-raytrace-strict.js.ftl-eager-no-cjit stress/v8-richards-strict.js.ftl-eager-no-cjit stress/v8-richards-strict.js.ftl-no-cjit-no-inline-validate stress/v8-richards-strict.js.ftl-no-cjit-validate stress/v8-splay-strict.js.ftl-eager-no-cjit stress/varargs-closure-inlined-exit-strict-mode.js.ftl-eager stress/varargs-closure-inlined-exit-strict-mode.js.ftl-no-cjit-no-inline-validate stress/varargs-closure-inlined-exit.js.ftl-no-cjit-no-inline-validate stress/varargs-varargs-inlined-exit-strict-mode.js.ftl-no-cjit-no-inline-validate stress/varargs-varargs-inlined-exit.js.ftl-no-cjit-no-inline-validate sunspider-1.0/3d-cube.js.ftl-eager-no-cjit sunspider-1.0/3d-raytrace.js.ftl-eager-no-cjit sunspider-1.0/crypto-md5.js.ftl-no-cjit-no-inline-validate v8-v6/v8-crypto.js.ftl-eager v8-v6/v8-crypto.js.ftl-eager-no-cjit v8-v6/v8-deltablue.js.ftl-eager v8-v6/v8-deltablue.js.ftl-eager-no-cjit v8-v6/v8-earley-boyer.js.default-ftl v8-v6/v8-earley-boyer.js.ftl-eager v8-v6/v8-earley-boyer.js.ftl-eager-no-cjit v8-v6/v8-raytrace.js.ftl-eager-no-cjit v8-v6/v8-richards.js.ftl-eager-no-cjit v8-v6/v8-richards.js.ftl-no-cjit-no-inline-validate v8-v6/v8-richards.js.ftl-no-cjit-validate v8-v6/v8-splay.js.ftl-eager-no-cjit The following 78 JSC stress tests fail in a Release build: cdjs-tests.yaml/main.js.ftl-eager-no-cjit cdjs-tests.yaml/motion_test.js.ftl-eager-no-cjit cdjs-tests.yaml/red_black_tree_test.js.ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/Object-getOwnPropertyNames.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-get-closure-var-put-closure-var-interference.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/sort-randomly.js.layout-ftl-eager-no-cjit mozilla-tests.yaml/ecma/Date/15.9.4.3.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.10-11.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.10-12.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.10-13.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.11-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.26-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.27-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.28-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.29-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.30-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.31-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.34-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.36-4.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.36-5.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.36-6.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.36-7.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.37-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.37-2.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.37-4.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Date/15.9.5.37-5.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Expressions/11.7.1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/Expressions/11.7.2.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.11-2.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.12-1.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.12-2.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.12-3.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.12-4.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma/String/15.5.4.12-5.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/ecma_2/Expressions/instanceof-001.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/js1_5/GetSet/getset-005.js.mozilla-ftl-eager-no-cjit-validate-phases mozilla-tests.yaml/js1_5/Regress/regress-159334.js.mozilla-ftl-eager-no-cjit-validate-phases regress/script-tests/array-prototype-every.js.ftl-no-cjit-no-inline-validate regress/script-tests/array-prototype-forEach.js.ftl-no-cjit-no-inline-validate regress/script-tests/array-prototype-reduceRight.js.ftl-no-cjit-no-inline-validate regress/script-tests/array-prototype-some.js.ftl-no-cjit-no-inline-validate regress/script-tests/deltablue-varargs.js.ftl-eager-no-cjit regress/script-tests/getter-richards.js.ftl-no-cjit-validate regress/script-tests/sorting-benchmark.js.ftl-eager-no-cjit stress/activation-sink-default-value.js.ftl-eager-no-cjit stress/activation-sink.js.ftl-eager-no-cjit stress/destructuring-assignment-accepts-iterables.js.ftl-eager-no-cjit stress/function-reentry-infer-on-self.js.ftl-eager-no-cjit stress/inline-call-varargs-and-call.js.ftl-no-cjit-no-inline-validate stress/inlined-function-this-liveness.js.ftl-no-cjit-no-inline-validate stress/modify-map-during-iteration.js.ftl-eager-no-cjit stress/modify-map-during-iteration.js.ftl-no-cjit-no-inline-validate stress/modify-map-during-iteration.js.ftl-no-cjit-validate stress/set-constructor.js.ftl-eager-no-cjit stress/sink-arguments-past-invalid-check-sneakier.js.ftl-no-cjit-no-inline-validate stress/sink-object-past-invalid-check-sneakier.js.ftl-no-cjit-no-inline-validate stress/string-ident-to-not-string-var-equality.js.ftl-no-cjit-no-inline-validate stress/v8-crypto-strict.js.ftl-eager stress/v8-crypto-strict.js.ftl-eager-no-cjit stress/v8-deltablue-strict.js.ftl-eager-no-cjit stress/v8-earley-boyer-strict.js.ftl-eager-no-cjit stress/v8-raytrace-strict.js.ftl-eager-no-cjit stress/v8-splay-strict.js.ftl-eager-no-cjit stress/varargs-closure-inlined-exit.js.ftl-no-cjit-no-inline-validate stress/varargs-varargs-inlined-exit.js.ftl-no-cjit-no-inline-validate stress/weak-set-constructor.js.ftl-eager-no-cjit sunspider-1.0/3d-cube.js.ftl-eager-no-cjit sunspider-1.0/3d-raytrace.js.ftl-eager-no-cjit sunspider-1.0/crypto-md5.js.ftl-no-cjit-no-inline-validate v8-v6/v8-crypto.js.ftl-eager-no-cjit v8-v6/v8-deltablue.js.ftl-eager v8-v6/v8-deltablue.js.ftl-eager-no-cjit v8-v6/v8-earley-boyer.js.ftl-eager-no-cjit v8-v6/v8-raytrace.js.ftl-eager-no-cjit v8-v6/v8-richards.js.ftl-eager-no-cjit v8-v6/v8-richards.js.ftl-no-cjit-no-inline-validate v8-v6/v8-richards.js.ftl-no-cjit-validate v8-v6/v8-splay.js.ftl-eager-no-cjit Full output for each test run attached.
Attachments
Debug test failures (deleted)
2015-08-26 15:45 PDT, Michael Saboff
no flags
Release test failures (362.05 KB, text/plain)
2015-08-26 15:45 PDT, Michael Saboff
no flags
Patch (2.99 KB, patch)
2015-08-27 08:08 PDT, Michael Saboff
no flags
Michael Saboff
Comment 1 2015-08-26 15:45:42 PDT
Created attachment 259986 [details] Release test failures
Michael Saboff
Comment 2 2015-08-27 08:08:53 PDT
Michael Saboff
Comment 3 2015-08-27 10:54:43 PDT
Basile Clement
Comment 4 2015-08-31 18:11:45 PDT
*** This bug has been marked as a duplicate of bug 148666 ***
Csaba Osztrogonác
Comment 5 2015-09-14 11:01:34 PDT
Comment on attachment 260056 [details] Patch Cleared review? from attachment 260056 [details] so that this bug does not appear in http://webkit.org/pending-review. If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).
Note You need to log in before you can comment on or make changes to this bug.