<?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>152901</bug_id>
          
          <creation_ts>2016-01-08 10:49:27 -0800</creation_ts>
          <short_desc>FTL B3 fails to realize that binary snippets might choose to omit their fast path</short_desc>
          <delta_ts>2016-01-08 11:03:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>150279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1153871</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-01-08 10:49:27 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153883</commentid>
    <comment_count>1</comment_count>
      <attachid>268552</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-01-08 10:59:41 -0800</bug_when>
    <thetext>Created attachment 268552
the patch

After this patch we only have a handful of test failures:

** The following JSC stress test failures have been introduced:
	jsc-layout-tests.yaml/js/script-tests/dfg-constant-fold-misprediction.js.layout-ftl-eager-no-cjit
	profiler-test.yaml/tests/sunspider-1.0/crypto-sha1.js.profiler
	regress/script-tests/call-spread-apply.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/call-spread-call.js.ftl-no-cjit-no-inline-validate
	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/richards-try-catch.js.default-ftl
	regress/script-tests/richards-try-catch.js.ftl-eager
	regress/script-tests/richards-try-catch.js.ftl-eager-no-cjit
	regress/script-tests/richards-try-catch.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/richards-try-catch.js.ftl-no-cjit-validate
	regress/script-tests/varargs-strict-mode.js.ftl-no-cjit-no-inline-validate
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.default-ftl
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-eager
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-eager-no-cjit
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-no-cjit-no-inline-validate
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-no-cjit-small-pool
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-no-cjit-validate
	stress/ftl-try-catch-patchpoint-with-volatile-registers.js.default-ftl
	stress/ftl-try-catch-patchpoint-with-volatile-registers.js.ftl-eager-no-cjit
	stress/ftl-try-catch-patchpoint-with-volatile-registers.js.ftl-no-cjit-no-inline-validate
	stress/ftl-try-catch-patchpoint-with-volatile-registers.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-try-catch-patchpoint-with-volatile-registers.js.ftl-no-cjit-validate
	stress/load-varargs-then-inlined-call-and-exit-strict.js.ftl-no-cjit-no-inline-validate
	stress/op_negate.js.ftl-no-cjit
	stress/reflect-apply.js.ftl-eager-no-cjit
	stress/tail-call-varargs-no-stack-overflow.js.default-ftl
	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-no-put-stack-validate
	stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-small-pool
	stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-validate
	stress/varargs-varargs-inlined-exit-strict-mode.js.ftl-no-cjit-no-inline-validate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153884</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-08 11:01:35 -0800</bug_when>
    <thetext>Attachment 268552 did not pass style-queue:


ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:7591:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153886</commentid>
    <comment_count>3</comment_count>
      <attachid>268552</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-01-08 11:01:41 -0800</bug_when>
    <thetext>Comment on attachment 268552
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153888</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-01-08 11:03:27 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/194773</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268552</attachid>
            <date>2016-01-08 10:59:41 -0800</date>
            <delta_ts>2016-01-08 11:01:41 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>3542</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0NzcyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDE2LTAxLTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RlRMIEIzIGZhaWxzIHRvIHJlYWxpemUgdGhhdCBiaW5hcnkgc25pcHBldHMgbWlnaHQgY2hvb3Nl
IHRvIG9taXQgdGhlaXIgZmFzdCBwYXRoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTI5MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHJlZHVjZXMgdGhlIG51bWJlciBvZiBmYWlsdXJlcyBmcm9t
IDk5IHRvIDM1LgorCisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAg
ICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjplbWl0QmluYXJ5U25pcHBldCk6CisK
IDIwMTYtMDEtMDggIFNhYW0gYmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAg
cmVzdG9yZUNhbGxlZVNhdmVzRnJvbVZNQ2FsbGVlU2F2ZXNCdWZmZXIgc2hvdWxkIHVzZSB0aGUg
c2NyYXRjaCByZWdpc3RlcgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE5NDc0OCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NTc0
LDcgKzc1NzQsNyBAQCBwcml2YXRlOgogCiAgICAgICAgICAgICAgICAgQm94PENDYWxsSGVscGVy
czo6SnVtcExpc3Q+IGV4Y2VwdGlvbnMgPQogICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25I
YW5kbGUtPnNjaGVkdWxlRXhpdENyZWF0aW9uKHBhcmFtcyktPmp1bXBzKGppdCk7Ci0gICAgICAg
ICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgYXV0byBnZW5lcmF0b3IgPSBCb3g8Qmlu
YXJ5QXJpdGhPcEdlbmVyYXRvcj46OmNyZWF0ZSgKICAgICAgICAgICAgICAgICAgICAgbGVmdE9w
ZXJhbmQsIHJpZ2h0T3BlcmFuZCwgSlNWYWx1ZVJlZ3MocGFyYW1zWzBdLmdwcigpKSwKICAgICAg
ICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MocGFyYW1zWzFdLmdwcigpKSwgSlNWYWx1ZVJlZ3Mo
cGFyYW1zWzJdLmdwcigpKSwKQEAgLTc1ODIsMjAgKzc1ODIsMjggQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgICAgICAgICAgc2NyYXRjaEZQUlVzYWdlID09IE5lZWRTY3JhdGNoRlBSID8gcGFyYW1z
LmZwU2NyYXRjaCgyKSA6IEludmFsaWRGUFJSZWcpOwogCiAgICAgICAgICAgICAgICAgZ2VuZXJh
dG9yLT5nZW5lcmF0ZUZhc3RQYXRoKGppdCk7Ci0gICAgICAgICAgICAgICAgZ2VuZXJhdG9yLT5l
bmRKdW1wTGlzdCgpLmxpbmsoJmppdCk7Ci0gICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpM
YWJlbCBkb25lID0gaml0LmxhYmVsKCk7CiAKLSAgICAgICAgICAgICAgICBwYXJhbXMuYWRkTGF0
ZVBhdGgoCi0gICAgICAgICAgICAgICAgICAgIFs9XSAoQ0NhbGxIZWxwZXJzJiBqaXQpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIEFsbG93TWFjcm9TY3JhdGNoUmVnaXN0ZXJVc2FnZSBhbGxv
d1NjcmF0Y2goaml0KTsKKyAgICAgICAgICAgICAgICBpZiAoZ2VuZXJhdG9yLT5kaWRFbWl0RmFz
dFBhdGgoKSkgeworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3ItPmVuZEp1bXBMaXN0KCku
bGluaygmaml0KTsKKyAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpMYWJlbCBkb25l
ID0gaml0LmxhYmVsKCk7CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAg
ICBwYXJhbXMuYWRkTGF0ZVBhdGgoCisgICAgICAgICAgICAgICAgICAgICAgICBbPV0gKENDYWxs
SGVscGVycyYgaml0KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb3dNYWNyb1Nj
cmF0Y2hSZWdpc3RlclVzYWdlIGFsbG93U2NyYXRjaChqaXQpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yLT5zbG93UGF0aEp1
bXBMaXN0KCkubGluaygmaml0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRp
b24oCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKnN0YXRlLCBwYXJhbXMudW5hdmFpbGFi
bGVSZWdpc3RlcnMoKSwgaml0LCBub2RlLT5vcmlnaW4uc2VtYW50aWMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZXhjZXB0aW9ucy5nZXQoKSwgc2xvd1BhdGhGdW5jdGlvbiwgcGFyYW1z
WzBdLmdwcigpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1sxXS5ncHIoKSwg
cGFyYW1zWzJdLmdwcigpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGppdC5qdW1wKCkubGlu
a1RvKGRvbmUsICZqaXQpOwotICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnZW5lcmF0b3ItPnNsb3dQYXRoSnVtcExpc3QoKS5saW5rKCZqaXQpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24oCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICpzdGF0ZSwgcGFyYW1zLnVuYXZhaWxhYmxlUmVnaXN0ZXJzKCks
IGppdCwgbm9kZS0+b3JpZ2luLnNlbWFudGljLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBleGNlcHRpb25zLmdldCgpLCBzbG93UGF0aEZ1bmN0aW9uLCBwYXJhbXNbMF0uZ3ByKCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1sxXS5ncHIoKSwgcGFyYW1z
WzJdLmdwcigpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBqaXQuanVtcCgpLmxpbmtU
byhkb25lLCAmaml0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24oCisgICAgICAg
ICAgICAgICAgICAgICAgICAqc3RhdGUsIHBhcmFtcy51bmF2YWlsYWJsZVJlZ2lzdGVycygpLCBq
aXQsIG5vZGUtPm9yaWdpbi5zZW1hbnRpYywKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2Vw
dGlvbnMuZ2V0KCksIHNsb3dQYXRoRnVuY3Rpb24sIHBhcmFtc1swXS5ncHIoKSwgcGFyYW1zWzFd
LmdwcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzJdLmdwcigpKTsKKyAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9KTsKIAogICAgICAgICBzZXRKU1ZhbHVlKHBhdGNo
cG9pbnQpOwo=
</data>
<flag name="review"
          id="293529"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>