<?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>160150</bug_id>
          
          <creation_ts>2016-07-24 18:03:36 -0700</creation_ts>
          <short_desc>Spilling of constant tmps should make it easier for the spill code optimizer to rematerialize the constant</short_desc>
          <delta_ts>2016-08-23 13:47:13 -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>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>
          
          
          <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>1214086</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-07-24 18:03:36 -0700</bug_when>
    <thetext>When we spill in-place for admitsStack()==true, we prevent rematerialization if that argument doesn&apos;t also admit immediates (which it almost certainly won&apos;t do).  So, we prevent remat.  We should fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214087</commentid>
    <comment_count>1</comment_count>
      <attachid>284456</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-07-24 18:06:28 -0700</bug_when>
    <thetext>Created attachment 284456
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214254</commentid>
    <comment_count>2</comment_count>
      <attachid>284501</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-07-25 10:52:34 -0700</bug_when>
    <thetext>Created attachment 284501
better patch

Needs to be reviewed again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214410</commentid>
    <comment_count>3</comment_count>
      <attachid>284501</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-07-25 17:20:34 -0700</bug_when>
    <thetext>Comment on attachment 284501
better patch

Why not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222393</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-08-23 13:47:13 -0700</bug_when>
    <thetext>Finally landed in http://trac.webkit.org/changeset/204857</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284456</attachid>
            <date>2016-07-24 18:06:28 -0700</date>
            <delta_ts>2016-07-25 10:52:34 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>4930</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjAzNjcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE2LTA3LTI0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
U3BpbGxpbmcgb2YgY29uc3RhbnQgdG1wcyBzaG91bGQgbWFrZSBpdCBlYXNpZXIgZm9yIHRoZSBz
cGlsbCBjb2RlIG9wdGltaXplciB0byByZW1hdGVyaWFsaXplIHRoZSBjb25zdGFudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMTUwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBXaGVuIHdl
IHNwaWxsIGluLXBsYWNlIGZvciBhZG1pdHNTdGFjaygpPT10cnVlLCB3ZSBwcmV2ZW50IHJlbWF0
ZXJpYWxpemF0aW9uIGlmIHRoYXQKKyAgICAgICAgYXJndW1lbnQgZG9lc24ndCBhbHNvIGFkbWl0
IGltbWVkaWF0ZXMgKHdoaWNoIGl0IGFsbW9zdCBjZXJ0YWlubHkgd29uJ3QgZG8pLiAgU28sIHdl
CisgICAgICAgIHByZXZlbnQgcmVtYXQuCisgICAgICAgIAorICAgICAgICBUaGlzIGZpeGVzIHRo
ZSBpc3N1ZSBieSBhdm9pZGluZyBpbi1wbGFjZSBzcGlsbGluZyBmb3Igd2FybSB1c2VzIG9mIGNv
bnN0YW50cy4gSSBkb24ndAorICAgICAgICBrbm93IGlmIHRoaXMgaGVscHMgcGVyZm9ybWFuY2Us
IGJ1dCBJIGRvIGtub3cgdGhhdCBpdCBtYWtlIHRoZSBjb2RlZ2VuIGZvcgorICAgICAgICBiaWdz
d2l0Y2gtaW5kaXJlY3Qtc3ltYm9sIGxvb2sgYSBsb3QgYmV0dGVyLiBQcmlvciB0byB0aGlzIGNo
YW5nZSwgdGhlIHByb2xvZyB3b3VsZCBoYXZlCisgICAgICAgIGEgY29uc3RhbnQgbWF0ZXJpYWxp
emF0aW9uIGZvciBlYWNoIHN5bWJvbCB0aGF0IGZ1bmN0aW9uIHVzZWQsIGFuZCB0aGVuIGl0IHdv
dWxkIHNwaWxsCisgICAgICAgIHRoYXQgY29uc3RhbnQuIFRoaXMgcmVtb3ZlcyBhbGwgb2YgdGhh
dCB5dWNreSBjb2RlLgorCisgICAgICAgICogYjMvYWlyL0Fpckl0ZXJhdGVkUmVnaXN0ZXJDb2Fs
ZXNjaW5nLmNwcDoKKwogMjAxNi0wNy0yNCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgogCiAgICAgICAgIEIzIHNob3VsZCBzdXBwb3J0IG11bHRpcGxlIGVudHJ5cG9pbnRzCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fpckl0ZXJhdGVkUmVnaXN0ZXJDb2FsZXNj
aW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fpckl0
ZXJhdGVkUmVnaXN0ZXJDb2FsZXNjaW5nLmNwcAkocmV2aXNpb24gMjAzNjcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJJdGVyYXRlZFJlZ2lzdGVyQ29hbGVzY2luZy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0NjMsMjUgKzE0NjMsNDEgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgICAgICAvLyBUcnkgdG8gcmVwbGFjZSB0aGUgcmVnaXN0ZXIgdXNlIGJ5IG1lbW9yeSB1c2Ug
d2hlbiBwb3NzaWJsZS4KICAgICAgICAgICAgICAgICBpbnN0LmZvckVhY2hBcmcoCiAgICAgICAg
ICAgICAgICAgICAgIFsmXSAoQXJnJiBhcmcsIEFyZzo6Um9sZSByb2xlLCBBcmc6OlR5cGUgYXJn
VHlwZSwgQXJnOjpXaWR0aCB3aWR0aCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFy
Zy5pc1RtcCgpICYmIGFyZ1R5cGUgPT0gdHlwZSAmJiAhYXJnLmlzUmVnKCkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhdXRvIHN0YWNrU2xvdEVudHJ5ID0gc3RhY2tTbG90cy5maW5k
KGFyZy50bXAoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YWNrU2xvdEVu
dHJ5ICE9IHN0YWNrU2xvdHMuZW5kKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JiYgaW5zdC5hZG1pdHNTdGFjayhhcmcpKSB7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQXJnOjpXaWR0aCBzcGlsbFdpZHRoID0gbV90bXBXaWR0aC5yZXF1aXJlZFdpZHRoKGFy
Zy50bXAoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChBcmc6OmlzQW55
RGVmKHJvbGUpICYmIHdpZHRoIDwgc3BpbGxXaWR0aCkKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVNT
RVJUKGluc3Qub3Bjb2RlID09IE1vdmUgfHwgIShBcmc6OmlzQW55VXNlKHJvbGUpICYmIHdpZHRo
ID4gc3BpbGxXaWR0aCkpOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChz
cGlsbFdpZHRoICE9IEFyZzo6V2lkdGgzMikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNhblVzZU1vdmUzMklmRGlkU3BpbGwgPSBmYWxzZTsKLQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGFja1Nsb3RFbnRyeS0+dmFsdWUtPmVuc3VyZVNpemUoCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5Vc2VNb3ZlMzJJZkRpZFNwaWxsID8g
NCA6IEFyZzo6Ynl0ZXMod2lkdGgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YXJnID0gQXJnOjpzdGFjayhzdGFja1Nsb3RFbnRyeS0+dmFsdWUpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkaWRTcGlsbCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhcmcuaXNUbXAoKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoYXJnVHlwZSAhPSB0eXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcmcuaXNSZWcoKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGF1dG8gc3RhY2tTbG90RW50cnkgPSBzdGFja1Nsb3RzLmZpbmQoYXJn
LnRtcCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFja1Nsb3RFbnRyeSA9PSBz
dGFja1Nsb3RzLmVuZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5zdC5hZG1pdHNTdGFjayhhcmcpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIFRtcCBob2xkcyBhIGNvbnN0YW50IHRo
ZW4gd2Ugd2FudCB0byByZW1hdGVyaWFsaXplIGl0cworICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gdmFsdWUgcmF0aGVyIHRoYW4gbG9hZGluZyBpdCBmcm9tIHRoZSBzdGFjay4gSW4gb3JkZXIg
Zm9yIHRoYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9wdGltaXphdGlvbiB0byBraWNr
IGluLCB3ZSBuZWVkIHRvIGF2b2lkIHBsYWNpbmcgdGhlIFRtcCdzIHN0YWNrCisgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBhZGRyZXNzIGludG8gdGhlIGluc3RydWN0aW9uLgorICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKCFBcmc6OmlzQ29sZFVzZShyb2xlKSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFVzZUNvdW50czxUbXA+OjpDb3VudHMqIGNvdW50cyA9IG1f
dXNlQ291bnRzW2FyZy50bXAoKV07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNv
dW50cyAmJiBjb3VudHMtPm51bUNvbnN0RGVmcyA9PSBjb3VudHMtPm51bURlZnMpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgQXJn
OjpXaWR0aCBzcGlsbFdpZHRoID0gbV90bXBXaWR0aC5yZXF1aXJlZFdpZHRoKGFyZy50bXAoKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJnOjppc0FueURlZihyb2xlKSAmJiB3aWR0
aCA8IHNwaWxsV2lkdGgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGluc3Qub3Bjb2RlID09IE1vdmUgfHwgIShBcmc6
OmlzQW55VXNlKHJvbGUpICYmIHdpZHRoID4gc3BpbGxXaWR0aCkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3BpbGxXaWR0aCAhPSBBcmc6
OldpZHRoMzIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuVXNlTW92ZTMySWZEaWRT
cGlsbCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
ICAgICAgICBzdGFja1Nsb3RFbnRyeS0+dmFsdWUtPmVuc3VyZVNpemUoCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2FuVXNlTW92ZTMySWZEaWRTcGlsbCA/IDQgOiBBcmc6OmJ5dGVzKHdp
ZHRoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBhcmcgPSBBcmc6OnN0YWNrKHN0YWNrU2xv
dEVudHJ5LT52YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBkaWRTcGlsbCA9IHRydWU7
CiAgICAgICAgICAgICAgICAgICAgIH0pOwogCiAgICAgICAgICAgICAgICAgaWYgKGRpZFNwaWxs
ICYmIGNhblVzZU1vdmUzMklmRGlkU3BpbGwpCg==
</data>
<flag name="review"
          id="308102"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284501</attachid>
            <date>2016-07-25 10:52:34 -0700</date>
            <delta_ts>2016-07-25 17:20:34 -0700</delta_ts>
            <desc>better patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>5842</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjAzNjcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDE2LTA3LTI0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
U3BpbGxpbmcgb2YgY29uc3RhbnQgdG1wcyBzaG91bGQgbWFrZSBpdCBlYXNpZXIgZm9yIHRoZSBz
cGlsbCBjb2RlIG9wdGltaXplciB0byByZW1hdGVyaWFsaXplIHRoZSBjb25zdGFudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMTUwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBXaGVuIHdl
IHNwaWxsIGluLXBsYWNlIGZvciBhZG1pdHNTdGFjaygpPT10cnVlLCB3ZSBwcmV2ZW50IHJlbWF0
ZXJpYWxpemF0aW9uIGlmIHRoYXQKKyAgICAgICAgYXJndW1lbnQgZG9lc24ndCBhbHNvIGFkbWl0
IGltbWVkaWF0ZXMgKHdoaWNoIGl0IGFsbW9zdCBjZXJ0YWlubHkgd29uJ3QgZG8pLiAgU28sIHdl
CisgICAgICAgIHByZXZlbnQgcmVtYXQuCisgICAgICAgIAorICAgICAgICBUaGlzIGZpeGVzIHRo
ZSBpc3N1ZSBieSBhdm9pZGluZyBpbi1wbGFjZSBzcGlsbGluZyBmb3Igd2FybSB1c2VzIG9mIGNv
bnN0YW50cy4gSSBkb24ndAorICAgICAgICBrbm93IGlmIHRoaXMgaGVscHMgcGVyZm9ybWFuY2Us
IGJ1dCBJIGRvIGtub3cgdGhhdCBpdCBtYWtlIHRoZSBjb2RlZ2VuIGZvcgorICAgICAgICBiaWdz
d2l0Y2gtaW5kaXJlY3Qtc3ltYm9sIGxvb2sgYSBsb3QgYmV0dGVyLiBQcmlvciB0byB0aGlzIGNo
YW5nZSwgdGhlIHByb2xvZyB3b3VsZCBoYXZlCisgICAgICAgIGEgY29uc3RhbnQgbWF0ZXJpYWxp
emF0aW9uIGZvciBlYWNoIHN5bWJvbCB0aGF0IGZ1bmN0aW9uIHVzZWQsIGFuZCB0aGVuIGl0IHdv
dWxkIHNwaWxsCisgICAgICAgIHRoYXQgY29uc3RhbnQuIFRoaXMgcmVtb3ZlcyBhbGwgb2YgdGhh
dCB5dWNreSBjb2RlLgorICAgICAgICAKKyAgICAgICAgVGhpcyBhbHNvIGNoYW5nZXMgaG93IElS
QyBkZXRlY3RzIGNvbnN0YW50IFRtcHMuIFByZXZpb3VzbHkgd2Ugd291bGQgc2F5IHRoYXQgYSBU
bXAgaXMgYQorICAgICAgICBjb25zdGFudCBpZiB0aGUgbnVtYmVyIG9mIGNvbnN0IGRlZnMgd2Fz
IGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgZGVmcy4gQnV0IGl0J3MgcG9zc2libGUKKyAgICAgICAg
Zm9yIGVhY2ggb2YgdGhlIGNvbnN0IGRlZnMgdG8gcHJvZHVjZSBhIGRpZmZlcmVudCB2YWx1ZS4g
VGhpcyBpcyB1bmxpa2VseSBjb25zaWRlcmluZworICAgICAgICBob3cgQjMtPkFpciBsb3dlcmlu
ZyB3b3JrcyBhbmQgaG93IG91ciBTU0Egd29ya3MgLSBlYWNoIGRlZiB3b3VsZCBoYXZlIGl0cyBv
d24gcmVnaXN0ZXIuCisgICAgICAgIEJ1dCwgcmVnYXJkbGVzcywgdGhpcyBwaWNrcyBhIG1vcmUg
cHJlY2lzZSB3YXkgb2YgZGV0ZWN0aW5nIGNvbnN0YW50czogdGhlIG51bWJlciBvZgorICAgICAg
ICBjb25zdCBkZWZzIG11c3QgYmUgMSBhbmQgdGhlIG51bWJlciBvZiBkZWZzIG11c3QgYmUgMS4K
KworICAgICAgICAqIGIzL2Fpci9BaXJJdGVyYXRlZFJlZ2lzdGVyQ29hbGVzY2luZy5jcHA6CisK
IDIwMTYtMDctMjQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBC
MyBzaG91bGQgc3VwcG9ydCBtdWx0aXBsZSBlbnRyeXBvaW50cwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL2Fpci9BaXJJdGVyYXRlZFJlZ2lzdGVyQ29hbGVzY2luZy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJJdGVyYXRlZFJlZ2lzdGVy
Q29hbGVzY2luZy5jcHAJKHJldmlzaW9uIDIwMzY3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9haXIvQWlySXRlcmF0ZWRSZWdpc3RlckNvYWxlc2NpbmcuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTIyLDcgKzExMjIsNyBAQCBwcml2YXRlOgogCiAgICAgICAgICAgICAvLyBJZiBpdCdz
IGEgY29uc3RhbnQsIHRoZW4gaXQncyBub3QgYXMgYmFkIHRvIHNwaWxsLiBXZSBjYW4gcmVtYXRl
cmlhbGl6ZSBpdCBpbiBtYW55CiAgICAgICAgICAgICAvLyBjYXNlcy4KLSAgICAgICAgICAgIGlm
IChjb3VudHMtPm51bUNvbnN0RGVmcyA9PSBjb3VudHMtPm51bURlZnMpCisgICAgICAgICAgICBp
ZiAoY291bnRzLT5udW1Db25zdERlZnMgPT0gMSAmJiBjb3VudHMtPm51bURlZnMgPT0gMSkKICAg
ICAgICAgICAgICAgICB1c2VzIC89IDI7CiAKICAgICAgICAgICAgIHJldHVybiBkZWdyZWUgLyB1
c2VzOwpAQCAtMTQ2MywyNSArMTQ2Myw0MSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIC8v
IFRyeSB0byByZXBsYWNlIHRoZSByZWdpc3RlciB1c2UgYnkgbWVtb3J5IHVzZSB3aGVuIHBvc3Np
YmxlLgogICAgICAgICAgICAgICAgIGluc3QuZm9yRWFjaEFyZygKICAgICAgICAgICAgICAgICAg
ICAgWyZdIChBcmcmIGFyZywgQXJnOjpSb2xlIHJvbGUsIEFyZzo6VHlwZSBhcmdUeXBlLCBBcmc6
OldpZHRoIHdpZHRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJnLmlzVG1wKCkg
JiYgYXJnVHlwZSA9PSB0eXBlICYmICFhcmcuaXNSZWcoKSkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGF1dG8gc3RhY2tTbG90RW50cnkgPSBzdGFja1Nsb3RzLmZpbmQoYXJnLnRtcCgp
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhY2tTbG90RW50cnkgIT0gc3Rh
Y2tTbG90cy5lbmQoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBpbnN0LmFk
bWl0c1N0YWNrKGFyZykpIHsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcmc6
OldpZHRoIHNwaWxsV2lkdGggPSBtX3RtcFdpZHRoLnJlcXVpcmVkV2lkdGgoYXJnLnRtcCgpKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFyZzo6aXNBbnlEZWYocm9sZSkg
JiYgd2lkdGggPCBzcGlsbFdpZHRoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoaW5zdC5v
cGNvZGUgPT0gTW92ZSB8fCAhKEFyZzo6aXNBbnlVc2Uocm9sZSkgJiYgd2lkdGggPiBzcGlsbFdp
ZHRoKSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNwaWxsV2lkdGgg
IT0gQXJnOjpXaWR0aDMyKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fu
VXNlTW92ZTMySWZEaWRTcGlsbCA9IGZhbHNlOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0YWNrU2xvdEVudHJ5LT52YWx1ZS0+ZW5zdXJlU2l6ZSgKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNhblVzZU1vdmUzMklmRGlkU3BpbGwgPyA0IDogQXJnOjpi
eXRlcyh3aWR0aCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcgPSBBcmc6
OnN0YWNrKHN0YWNrU2xvdEVudHJ5LT52YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRpZFNwaWxsID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFyZy5pc1RtcCgpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcmdUeXBl
ICE9IHR5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKGFyZy5pc1JlZygpKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAg
ICAgICAgYXV0byBzdGFja1Nsb3RFbnRyeSA9IHN0YWNrU2xvdHMuZmluZChhcmcudG1wKCkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YWNrU2xvdEVudHJ5ID09IHN0YWNrU2xvdHMu
ZW5kKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKCFpbnN0LmFkbWl0c1N0YWNrKGFyZykpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBJZiB0aGUgVG1wIGhvbGRzIGEgY29uc3RhbnQgdGhlbiB3ZSB3YW50
IHRvIHJlbWF0ZXJpYWxpemUgaXRzCisgICAgICAgICAgICAgICAgICAgICAgICAvLyB2YWx1ZSBy
YXRoZXIgdGhhbiBsb2FkaW5nIGl0IGZyb20gdGhlIHN0YWNrLiBJbiBvcmRlciBmb3IgdGhhdAor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3B0aW1pemF0aW9uIHRvIGtpY2sgaW4sIHdlIG5l
ZWQgdG8gYXZvaWQgcGxhY2luZyB0aGUgVG1wJ3Mgc3RhY2sKKyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIGFkZHJlc3MgaW50byB0aGUgaW5zdHJ1Y3Rpb24uCisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoIUFyZzo6aXNDb2xkVXNlKHJvbGUpKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgVXNlQ291bnRzPFRtcD46OkNvdW50cyogY291bnRzID0gbV91c2VDb3VudHNb
YXJnLnRtcCgpXTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnRzICYmIGNv
dW50cy0+bnVtQ29uc3REZWZzID09IDEgJiYgY291bnRzLT5udW1EZWZzID09IDEpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgQXJn
OjpXaWR0aCBzcGlsbFdpZHRoID0gbV90bXBXaWR0aC5yZXF1aXJlZFdpZHRoKGFyZy50bXAoKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJnOjppc0FueURlZihyb2xlKSAmJiB3aWR0
aCA8IHNwaWxsV2lkdGgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGluc3Qub3Bjb2RlID09IE1vdmUgfHwgIShBcmc6
OmlzQW55VXNlKHJvbGUpICYmIHdpZHRoID4gc3BpbGxXaWR0aCkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3BpbGxXaWR0aCAhPSBBcmc6
OldpZHRoMzIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuVXNlTW92ZTMySWZEaWRT
cGlsbCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
ICAgICAgICBzdGFja1Nsb3RFbnRyeS0+dmFsdWUtPmVuc3VyZVNpemUoCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2FuVXNlTW92ZTMySWZEaWRTcGlsbCA/IDQgOiBBcmc6OmJ5dGVzKHdp
ZHRoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBhcmcgPSBBcmc6OnN0YWNrKHN0YWNrU2xv
dEVudHJ5LT52YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBkaWRTcGlsbCA9IHRydWU7
CiAgICAgICAgICAgICAgICAgICAgIH0pOwogCiAgICAgICAgICAgICAgICAgaWYgKGRpZFNwaWxs
ICYmIGNhblVzZU1vdmUzMklmRGlkU3BpbGwpCg==
</data>
<flag name="review"
          id="308138"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>