<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>151745</bug_id>
          
          <creation_ts>2015-12-02 08:55:28 -0800</creation_ts>
          <short_desc>[ARM] REGRESSION: Fix FTL JIT related failures on AArch64 Linux</short_desc>
          <delta_ts>2017-10-18 02:50:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>108645</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ossy</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1145576</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-12-02 08:55:28 -0800</bug_when>
    <thetext>FTL JIT wasn&apos;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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145577</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-12-02 08:55:56 -0800</bug_when>
    <thetext>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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361626</commentid>
    <comment_count>2</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-10-18 02:50:48 -0700</bug_when>
    <thetext>This isn&apos;t representative of the FTL JIT support on Linux ARM64 almost two years later.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>