<?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>228615</bug_id>
          
          <creation_ts>2021-07-29 15:37:04 -0700</creation_ts>
          <short_desc>[JSC/Air] Optimize enableMovesOnValueAndAdjacents in IRC</short_desc>
          <delta_ts>2021-11-18 22:06:43 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Robin Morisset">rmorisset</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1780603</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2021-07-29 15:37:04 -0700</bug_when>
    <thetext>The Iterated Register Coalescing (IRC) register coalescing spends a very significant fraction of its time in JS2 in enableMovesOnValueAndAdjacents (816ms out of 2.07s spent in register allocation for Wasm code in one particular run).
The reason is that if this function is called on N nodes that are neighbors of each other, then enableMovesOnValue (which is kinda expensive as it iterates a SmallSet which is not always small) will be called N times on each of the N nodes. This can trivially be fixed by keeping track of which nodes need enableMovesOnValue called on them and only calling it on them once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780609</commentid>
    <comment_count>1</comment_count>
      <attachid>434580</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2021-07-29 15:50:06 -0700</bug_when>
    <thetext>Created attachment 434580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782373</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-05 15:37:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/81587890&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816182</commentid>
    <comment_count>3</comment_count>
      <attachid>434580</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-11-17 16:14:30 -0800</bug_when>
    <thetext>Comment on attachment 434580
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=434580&amp;action=review

&gt; Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp:1322
&gt; +    // Set of Tmps whose moves are now ready for possible coalescing.
&gt; +    BitVector m_hasMovesToEnable;

nit: I&apos;d name this &quot;m_movesToEnable&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816632</commentid>
    <comment_count>4</comment_count>
      <attachid>444739</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2021-11-18 14:31:43 -0800</bug_when>
    <thetext>Created attachment 444739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816742</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-18 22:06:41 -0800</bug_when>
    <thetext>Committed r286045 (244432@main): &lt;https://commits.webkit.org/244432@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444739.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434580</attachid>
            <date>2021-07-29 15:50:06 -0700</date>
            <delta_ts>2021-11-18 14:31:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch228615</filename>
            <type>text/plain</type>
            <size>4647</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDhhN2EyZTM3OWY2MC4uNDQ4N2IyN2MzY2E3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0wNy0yOSAgUm9i
aW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0MvQWlyXSBP
cHRpbWl6ZSBlbmFibGVNb3Zlc09uVmFsdWVBbmRBZGphY2VudHMgaW4gSVJDCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg2MTUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgSXRlcmF0ZWQgUmVnaXN0
ZXIgQ29hbGVzY2luZyAoSVJDKSByZWdpc3RlciBjb2FsZXNjaW5nIHNwZW5kcyBhIHZlcnkgc2ln
bmlmaWNhbnQgZnJhY3Rpb24gb2YgaXRzIHRpbWUgaW4gSlMyIGluIGVuYWJsZU1vdmVzT25WYWx1
ZUFuZEFkamFjZW50cyAoODE2bXMgb3V0IG9mIDIuMDdzIHNwZW50IGluIHJlZ2lzdGVyIGFsbG9j
YXRpb24gZm9yIFdhc20gY29kZSBpbiBvbmUgcnVuIEkgbG9va2VkIGF0IHdpdGggSW5zdHJ1bWVu
dHMpLgorICAgICAgICBUaGUgcmVhc29uIGlzIHRoYXQgaWYgdGhpcyBmdW5jdGlvbiBpcyBjYWxs
ZWQgb24gTiBub2RlcyB0aGF0IGFyZSBuZWlnaGJvcnMgb2YgZWFjaCBvdGhlciwgdGhlbiBlbmFi
bGVNb3Zlc09uVmFsdWUgKHdoaWNoIGlzIGtpbmRhIGV4cGVuc2l2ZSBhcyBpdCBpdGVyYXRlcyBh
IFNtYWxsU2V0IHdoaWNoIGlzIG5vdCBhbHdheXMgc21hbGwpIHdpbGwgYmUgY2FsbGVkIE4gdGlt
ZXMgb24gZWFjaCBvZiB0aGUgTiBub2Rlcy4gVGhpcyBjYW4gdHJpdmlhbGx5IGJlIGZpeGVkIGJ5
IGtlZXBpbmcgdHJhY2sgb2Ygd2hpY2ggbm9kZXMgbmVlZCBlbmFibGVNb3Zlc09uVmFsdWUgY2Fs
bGVkIG9uIHRoZW0gYW5kIG9ubHkgY2FsbGluZyBpdCBvbiB0aGVtIG9uY2UuCisKKyAgICAgICAg
SXQgaXMgYSBiaXQgdHJpY2t5IHRvIG1lYXN1cmUgdGhlIHBlcmZvcm1hbmNlIGltcGFjdCBvZiB0
aGlzLCBhcyBpdCBoZWF2aWx5IGRlcGVuZHMgb24gd2hldGhlciBzb21lIHZlcnkgbGFyZ2UgZnVu
Y3Rpb25zIHJlYWNoIEFpciBvciBub3QsIHNvIHRoZXJlIGlzIGEgbG90IG9mIG5vaXNlLgorICAg
ICAgICBIZXJlIGFyZSB0aGUgbnVtYmVycyBvdXQgb2YgNCBydW5zIG9mIEpTMiAoY2xpIHZlcnNp
b24pIG9uIGFuIE0xIE1CUCB3aXRoIC0tYWlyRm9yY2VJUkNBbGxvY2F0b3I9MToKKyAgICAgICAg
QmFzZWxpbmUgICAgICAgOiB0b3RhbCB0aW1lIGluIGFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENv
bG9yaW5nIHJhbmdlcyBmcm9tIDIwOTBtcyB0byAzMDE4bXMsIG1vc3QgdGltZSBmb3IgYSBzaW5n
bGUgZnVuY3Rpb24gcmFuZ2VzIGZyb20gNjMxbXMgdG8gODQ5bXMKKyAgICAgICAgV2l0aCB0aGlz
IHBhdGNoOiB0b3RhbCB0aW1lIGluIGFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nIHJh
bmdlcyBmcm9tIDE1ODBtcyB0byAyMzMzbXMsIG1vc3QgdGltZSBmb3IgYSBzaW5nbGUgZnVuY3Rp
b24gcmFuZ2VzIGZyb20gMzM3bXMgdG8gNTYwbXMKKyAgICAgICAgU28gZGVzcGl0ZSB0aGUgbm9p
c2UgaXQgc2VlbXMgcXVpdGUgY2xlYXJseSBhIHdpbi4KKworICAgICAgICAqIGIzL2Fpci9BaXJB
bGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHA6CisKIDIwMjEtMDctMjIgIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQWlyU3RhY2tTbG90J3MgdWlu
dDE2X3QgYnl0ZSBzaXplIGlzIHRvbyBzbWFsbApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENv
bG9yaW5nLmNwcAppbmRleCA0ZmM2NjdmMzljZGYuLmRjNjUyYmZjODlkZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhD
b2xvcmluZy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0
ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAKQEAgLTkxMiw2ICs5MTIsNyBAQCBwcm90ZWN0
ZWQ6CiBwdWJsaWM6CiAgICAgSVJDKENvZGUmIGNvZGUsIGNvbnN0IFZlY3RvcjxSZWc+JiByZWdz
SW5Qcmlvcml0eU9yZGVyLCBJbmRleFR5cGUgbGFzdFByZWNvbG9yZWRSZWdpc3RlckluZGV4LCB1
bnNpZ25lZCB0bXBBcnJheVNpemUsIGNvbnN0IEJpdFZlY3RvciYgdW5zcGlsbGFibGVUbXBzLCBj
b25zdCBVc2VDb3VudHMmIHVzZUNvdW50cykKICAgICAgICAgOiBCYXNlKGNvZGUsIHJlZ3NJblBy
aW9yaXR5T3JkZXIsIGxhc3RQcmVjb2xvcmVkUmVnaXN0ZXJJbmRleCwgdG1wQXJyYXlTaXplLCB1
bnNwaWxsYWJsZVRtcHMsIHVzZUNvdW50cykKKyAgICAgICAgLCBtX2hhc01vdmVzVG9FbmFibGUo
dG1wQXJyYXlTaXplKQogICAgIHsKICAgICB9CiAKQEAgLTk0MSw2ICs5NDIsOCBAQCBwdWJsaWM6
CiAKICAgICAgICAgICAgIGlmICghbV9zaW1wbGlmeVdvcmtsaXN0LmlzRW1wdHkoKSkKICAgICAg
ICAgICAgICAgICBzaW1wbGlmeSgpOworICAgICAgICAgICAgZWxzZSBpZiAoIW1faGFzTW92ZXNU
b0VuYWJsZS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgZW5hYmxlTW92ZXMoKTsKICAgICAg
ICAgICAgIGVsc2UgaWYgKCFtX3dvcmtsaXN0TW92ZXMuaXNFbXB0eSgpKQogICAgICAgICAgICAg
ICAgIGNvYWxlc2NlKCk7CiAgICAgICAgICAgICBlbHNlIGlmICghbV9mcmVlemVXb3JrbGlzdC5p
c0VtcHR5KCkpCkBAIC0xMTAzLDcgKzExMDYsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgdW5z
aWduZWQgb2xkRGVncmVlID0gbV9kZWdyZWVzW3RtcEluZGV4XS0tOwogICAgICAgICBpZiAob2xk
RGVncmVlID09IHJlZ2lzdGVyQ291bnQoKSkgewotICAgICAgICAgICAgZW5hYmxlTW92ZXNPblZh
bHVlQW5kQWRqYWNlbnRzKHRtcEluZGV4KTsKKyAgICAgICAgICAgIGxhenlFbmFibGVNb3Zlc09u
VmFsdWVBbmRBZGphY2VudHModG1wSW5kZXgpOwogICAgICAgICAgICAgbV9zcGlsbFdvcmtsaXN0
LnF1aWNrQ2xlYXIodG1wSW5kZXgpOwogICAgICAgICAgICAgaWYgKGlzTW92ZVJlbGF0ZWQodG1w
SW5kZXgpKQogICAgICAgICAgICAgICAgIG1fZnJlZXplV29ya2xpc3QuYWRkKHRtcEluZGV4KTsK
QEAgLTExNDYsNiArMTE0OSwxNCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIH0KICAgICB9CiAKKyAg
ICB2b2lkIGxhenlFbmFibGVNb3Zlc09uVmFsdWVBbmRBZGphY2VudHMoSW5kZXhUeXBlIHRtcElu
ZGV4KQorICAgIHsKKyAgICAgICAgbV9oYXNNb3Zlc1RvRW5hYmxlLnF1aWNrU2V0KHRtcEluZGV4
KTsKKyAgICAgICAgZm9yRWFjaEFkamFjZW50KHRtcEluZGV4LCBbdGhpc10gKEluZGV4VHlwZSBh
ZGphY2VudFRtcEluZGV4KSB7CisgICAgICAgICAgICBtX2hhc01vdmVzVG9FbmFibGUucXVpY2tT
ZXQoYWRqYWNlbnRUbXBJbmRleCk7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIHZvaWQgZW5h
YmxlTW92ZXNPblZhbHVlKEluZGV4VHlwZSB0bXBJbmRleCkKICAgICB7CiAgICAgICAgIGZvciAo
dW5zaWduZWQgbW92ZUluZGV4IDogbV9tb3ZlTGlzdFt0bXBJbmRleF0pIHsKQEAgLTExNTQsMTMg
KzExNjUsMTEgQEAgcHJvdGVjdGVkOgogICAgICAgICB9CiAgICAgfQogCi0gICAgdm9pZCBlbmFi
bGVNb3Zlc09uVmFsdWVBbmRBZGphY2VudHMoSW5kZXhUeXBlIHRtcEluZGV4KQorICAgIHZvaWQg
ZW5hYmxlTW92ZXMoKQogICAgIHsKLSAgICAgICAgZW5hYmxlTW92ZXNPblZhbHVlKHRtcEluZGV4
KTsKLQotICAgICAgICBmb3JFYWNoQWRqYWNlbnQodG1wSW5kZXgsIFt0aGlzXSAoSW5kZXhUeXBl
IGFkamFjZW50VG1wSW5kZXgpIHsKLSAgICAgICAgICAgIGVuYWJsZU1vdmVzT25WYWx1ZShhZGph
Y2VudFRtcEluZGV4KTsKLSAgICAgICAgfSk7CisgICAgICAgIGZvciAoSW5kZXhUeXBlIHRtcElu
ZGV4IDogbV9oYXNNb3Zlc1RvRW5hYmxlKQorICAgICAgICAgICAgZW5hYmxlTW92ZXNPblZhbHVl
KHRtcEluZGV4KTsKKyAgICAgICAgbV9oYXNNb3Zlc1RvRW5hYmxlLmNsZWFyQWxsKCk7CiAgICAg
fQogCiAgICAgc3RydWN0IE9yZGVyZWRNb3ZlU2V0IHsKQEAgLTEzMDksNiArMTMxOCw4IEBAIHBy
b3RlY3RlZDoKICAgICBPcmRlcmVkTW92ZVNldCBtX3dvcmtsaXN0TW92ZXM7CiAgICAgLy8gU2V0
IG9mICJtb3ZlIiBub3QgeWV0IHJlYWR5IGZvciBjb2FsZXNjaW5nLgogICAgIEJpdFZlY3RvciBt
X2FjdGl2ZU1vdmVzOworICAgIC8vIFNldCBvZiBUbXBzIHdob3NlIG1vdmVzIGFyZSBub3cgcmVh
ZHkgZm9yIHBvc3NpYmxlIGNvYWxlc2NpbmcuCisgICAgQml0VmVjdG9yIG1faGFzTW92ZXNUb0Vu
YWJsZTsKIH07CiAKIC8vIFRoaXMgcGVyZm9ybSBhbGwgdGhlIHRhc2tzIHRoYXQgYXJlIHNwZWNp
ZmljIHRvIGNlcnRhaW4gcmVnaXN0ZXIgdHlwZS4K
</data>
<flag name="review"
          id="457114"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444739</attachid>
            <date>2021-11-18 14:31:43 -0800</date>
            <delta_ts>2021-11-18 22:06:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch228615</filename>
            <type>text/plain</type>
            <size>4616</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDBkZmRlMDMyODM0My4uN2ZhYWRmYWYzMDA1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0xOCAgUm9i
aW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0MvQWlyXSBP
cHRpbWl6ZSBlbmFibGVNb3Zlc09uVmFsdWVBbmRBZGphY2VudHMgaW4gSVJDCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg2MTUKKworICAgICAgICBS
ZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4KKworICAgICAgICBUaGUgSXRlcmF0ZWQgUmVnaXN0ZXIg
Q29hbGVzY2luZyAoSVJDKSByZWdpc3RlciBhbGxvY2F0b3Igc3BlbmRzIGEgdmVyeSBzaWduaWZp
Y2FudCBmcmFjdGlvbiBvZiBpdHMgdGltZSBpbiBKUzIgaW4gZW5hYmxlTW92ZXNPblZhbHVlQW5k
QWRqYWNlbnRzICg4MTZtcyBvdXQgb2YgMi4wN3Mgc3BlbnQgaW4gcmVnaXN0ZXIgYWxsb2NhdGlv
biBmb3IgV2FzbSBjb2RlIGluIG9uZSBydW4gSSBsb29rZWQgYXQgd2l0aCBJbnN0cnVtZW50cyku
CisgICAgICAgIFRoZSByZWFzb24gaXMgdGhhdCBpZiB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBv
biBOIG5vZGVzIHRoYXQgYXJlIG5laWdoYm9ycyBvZiBlYWNoIG90aGVyLCB0aGVuIGVuYWJsZU1v
dmVzT25WYWx1ZSAod2hpY2ggaXMga2luZGEgZXhwZW5zaXZlIGFzIGl0IGl0ZXJhdGVzIGEgU21h
bGxTZXQgd2hpY2ggaXMgbm90IGFsd2F5cyBzbWFsbCkgd2lsbCBiZSBjYWxsZWQgTiB0aW1lcyBv
biBlYWNoIG9mIHRoZSBOIG5vZGVzLiBUaGlzIGNhbiB0cml2aWFsbHkgYmUgZml4ZWQgYnkga2Vl
cGluZyB0cmFjayBvZiB3aGljaCBub2RlcyBuZWVkIGVuYWJsZU1vdmVzT25WYWx1ZSBjYWxsZWQg
b24gdGhlbSBhbmQgb25seSBjYWxsaW5nIGl0IG9uIHRoZW0gb25jZS4KKworICAgICAgICBJdCBp
cyBhIGJpdCB0cmlja3kgdG8gbWVhc3VyZSB0aGUgcGVyZm9ybWFuY2UgaW1wYWN0IG9mIHRoaXMs
IGFzIGl0IGhlYXZpbHkgZGVwZW5kcyBvbiB3aGV0aGVyIHNvbWUgdmVyeSBsYXJnZSBmdW5jdGlv
bnMgcmVhY2ggQWlyIG9yIG5vdCwgc28gdGhlcmUgaXMgYSBsb3Qgb2Ygbm9pc2UuCisgICAgICAg
IEhlcmUgYXJlIHRoZSBudW1iZXJzIG91dCBvZiA0IHJ1bnMgb2YgSlMyIChjbGkgdmVyc2lvbikg
b24gYW4gTTEgTUJQIHdpdGggLS1haXJGb3JjZUlSQ0FsbG9jYXRvcj0xOgorICAgICAgICBCYXNl
bGluZSAgICAgICA6IHRvdGFsIHRpbWUgaW4gYWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3Jp
bmcgcmFuZ2VzIGZyb20gMjA5MG1zIHRvIDMwMThtcywgbW9zdCB0aW1lIGZvciBhIHNpbmdsZSBm
dW5jdGlvbiByYW5nZXMgZnJvbSA2MzFtcyB0byA4NDltcworICAgICAgICBXaXRoIHRoaXMgcGF0
Y2g6IHRvdGFsIHRpbWUgaW4gYWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcgcmFuZ2Vz
IGZyb20gMTU4MG1zIHRvIDIzMzNtcywgbW9zdCB0aW1lIGZvciBhIHNpbmdsZSBmdW5jdGlvbiBy
YW5nZXMgZnJvbSAzMzdtcyB0byA1NjBtcworICAgICAgICBTbyBkZXNwaXRlIHRoZSBub2lzZSBp
dCBzZWVtcyBxdWl0ZSBjbGVhcmx5IGEgd2luLgorCisgICAgICAgICogYjMvYWlyL0FpckFsbG9j
YXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcDoKKwogMjAyMS0xMS0xNyAgWXVzdWtlIFN1
enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFJldmlzZSBKU09OLnBh
cnNlIGF0b21pemUgcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3Bw
CmluZGV4IGU2Njk3MGVkYjdiNi4uNjNmOTRiMWIzNDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJz
QnlHcmFwaENvbG9yaW5nLmNwcApAQCAtOTEyLDYgKzkxMiw3IEBAIHByb3RlY3RlZDoKIHB1Ymxp
YzoKICAgICBJUkMoQ29kZSYgY29kZSwgY29uc3QgVmVjdG9yPFJlZz4mIHJlZ3NJblByaW9yaXR5
T3JkZXIsIEluZGV4VHlwZSBsYXN0UHJlY29sb3JlZFJlZ2lzdGVySW5kZXgsIHVuc2lnbmVkIHRt
cEFycmF5U2l6ZSwgY29uc3QgQml0VmVjdG9yJiB1bnNwaWxsYWJsZVRtcHMsIGNvbnN0IFVzZUNv
dW50cyYgdXNlQ291bnRzKQogICAgICAgICA6IEJhc2UoY29kZSwgcmVnc0luUHJpb3JpdHlPcmRl
ciwgbGFzdFByZWNvbG9yZWRSZWdpc3RlckluZGV4LCB0bXBBcnJheVNpemUsIHVuc3BpbGxhYmxl
VG1wcywgdXNlQ291bnRzKQorICAgICAgICAsIG1fbW92ZXNUb0VuYWJsZSh0bXBBcnJheVNpemUp
CiAgICAgewogICAgIH0KIApAQCAtOTQxLDYgKzk0Miw4IEBAIHB1YmxpYzoKIAogICAgICAgICAg
ICAgaWYgKCFtX3NpbXBsaWZ5V29ya2xpc3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHNp
bXBsaWZ5KCk7CisgICAgICAgICAgICBlbHNlIGlmICghbV9tb3Zlc1RvRW5hYmxlLmlzRW1wdHko
KSkKKyAgICAgICAgICAgICAgICBlbmFibGVNb3ZlcygpOwogICAgICAgICAgICAgZWxzZSBpZiAo
IW1fd29ya2xpc3RNb3Zlcy5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgY29hbGVzY2UoKTsK
ICAgICAgICAgICAgIGVsc2UgaWYgKCFtX2ZyZWV6ZVdvcmtsaXN0LmlzRW1wdHkoKSkKQEAgLTEx
MDMsNyArMTEwNiw3IEBAIHByb3RlY3RlZDoKIAogICAgICAgICB1bnNpZ25lZCBvbGREZWdyZWUg
PSBtX2RlZ3JlZXNbdG1wSW5kZXhdLS07CiAgICAgICAgIGlmIChvbGREZWdyZWUgPT0gcmVnaXN0
ZXJDb3VudCgpKSB7Ci0gICAgICAgICAgICBlbmFibGVNb3Zlc09uVmFsdWVBbmRBZGphY2VudHMo
dG1wSW5kZXgpOworICAgICAgICAgICAgbGF6eUVuYWJsZU1vdmVzT25WYWx1ZUFuZEFkamFjZW50
cyh0bXBJbmRleCk7CiAgICAgICAgICAgICBtX3NwaWxsV29ya2xpc3QucXVpY2tDbGVhcih0bXBJ
bmRleCk7CiAgICAgICAgICAgICBpZiAoaXNNb3ZlUmVsYXRlZCh0bXBJbmRleCkpCiAgICAgICAg
ICAgICAgICAgbV9mcmVlemVXb3JrbGlzdC5hZGQodG1wSW5kZXgpOwpAQCAtMTE0Niw2ICsxMTQ5
LDE0IEBAIHByb3RlY3RlZDoKICAgICAgICAgfQogICAgIH0KIAorICAgIHZvaWQgbGF6eUVuYWJs
ZU1vdmVzT25WYWx1ZUFuZEFkamFjZW50cyhJbmRleFR5cGUgdG1wSW5kZXgpCisgICAgeworICAg
ICAgICBtX21vdmVzVG9FbmFibGUucXVpY2tTZXQodG1wSW5kZXgpOworICAgICAgICBmb3JFYWNo
QWRqYWNlbnQodG1wSW5kZXgsIFt0aGlzXSAoSW5kZXhUeXBlIGFkamFjZW50VG1wSW5kZXgpIHsK
KyAgICAgICAgICAgIG1fbW92ZXNUb0VuYWJsZS5xdWlja1NldChhZGphY2VudFRtcEluZGV4KTsK
KyAgICAgICAgfSk7CisgICAgfQorCiAgICAgdm9pZCBlbmFibGVNb3Zlc09uVmFsdWUoSW5kZXhU
eXBlIHRtcEluZGV4KQogICAgIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBtb3ZlSW5kZXggOiBt
X21vdmVMaXN0W3RtcEluZGV4XSkgewpAQCAtMTE1NCwxMyArMTE2NSwxMSBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgIH0KICAgICB9CiAKLSAgICB2b2lkIGVuYWJsZU1vdmVzT25WYWx1ZUFuZEFkamFj
ZW50cyhJbmRleFR5cGUgdG1wSW5kZXgpCisgICAgdm9pZCBlbmFibGVNb3ZlcygpCiAgICAgewot
ICAgICAgICBlbmFibGVNb3Zlc09uVmFsdWUodG1wSW5kZXgpOwotCi0gICAgICAgIGZvckVhY2hB
ZGphY2VudCh0bXBJbmRleCwgW3RoaXNdIChJbmRleFR5cGUgYWRqYWNlbnRUbXBJbmRleCkgewot
ICAgICAgICAgICAgZW5hYmxlTW92ZXNPblZhbHVlKGFkamFjZW50VG1wSW5kZXgpOwotICAgICAg
ICB9KTsKKyAgICAgICAgZm9yIChJbmRleFR5cGUgdG1wSW5kZXggOiBtX21vdmVzVG9FbmFibGUp
CisgICAgICAgICAgICBlbmFibGVNb3Zlc09uVmFsdWUodG1wSW5kZXgpOworICAgICAgICBtX21v
dmVzVG9FbmFibGUuY2xlYXJBbGwoKTsKICAgICB9CiAKICAgICBzdHJ1Y3QgT3JkZXJlZE1vdmVT
ZXQgewpAQCAtMTMwOSw2ICsxMzE4LDggQEAgcHJvdGVjdGVkOgogICAgIE9yZGVyZWRNb3ZlU2V0
IG1fd29ya2xpc3RNb3ZlczsKICAgICAvLyBTZXQgb2YgIm1vdmUiIG5vdCB5ZXQgcmVhZHkgZm9y
IGNvYWxlc2NpbmcuCiAgICAgQml0VmVjdG9yIG1fYWN0aXZlTW92ZXM7CisgICAgLy8gU2V0IG9m
IFRtcHMgd2hvc2UgbW92ZXMgYXJlIG5vdyByZWFkeSBmb3IgcG9zc2libGUgY29hbGVzY2luZy4K
KyAgICBCaXRWZWN0b3IgbV9tb3Zlc1RvRW5hYmxlOwogfTsKIAogLy8gVGhpcyBwZXJmb3JtIGFs
bCB0aGUgdGFza3MgdGhhdCBhcmUgc3BlY2lmaWMgdG8gY2VydGFpbiByZWdpc3RlciB0eXBlLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>