<?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>126047</bug_id>
          
          <creation_ts>2013-12-19 21:03:13 -0800</creation_ts>
          <short_desc>Clean up DFG write barriers</short_desc>
          <delta_ts>2013-12-20 12:19:00 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>121074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>961719</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-12-19 21:03:13 -0800</bug_when>
    <thetext>After more feedback on the write barriers in the baseline JIT, it&apos;s time to clean up some the DFG write barrier code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961720</commentid>
    <comment_count>1</comment_count>
      <attachid>219725</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-12-19 21:12:40 -0800</bug_when>
    <thetext>Created attachment 219725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961723</commentid>
    <comment_count>2</comment_count>
      <attachid>219725</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-19 21:21:31 -0800</bug_when>
    <thetext>Comment on attachment 219725
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:5483
&gt; -MacroAssembler::Call SpeculativeJIT::storeToWriteBarrierBuffer(CCallHelpers&amp; jit, GPRReg cell, GPRReg scratch1, GPRReg scratch2)
&gt; +MacroAssembler::Call SpeculativeJIT::storeToWriteBarrierBuffer(CCallHelpers&amp; jit, GPRReg cell, GPRReg scratch1, GPRReg scratch2, ScratchRegisterAllocator&amp; allocator)

This method exists just for Repatch, right?

In that case, we should definitely move it out of SpeculativeJIT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961724</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-12-19 21:22:01 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 219725 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=219725&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:5483
&gt; &gt; -MacroAssembler::Call SpeculativeJIT::storeToWriteBarrierBuffer(CCallHelpers&amp; jit, GPRReg cell, GPRReg scratch1, GPRReg scratch2)
&gt; &gt; +MacroAssembler::Call SpeculativeJIT::storeToWriteBarrierBuffer(CCallHelpers&amp; jit, GPRReg cell, GPRReg scratch1, GPRReg scratch2, ScratchRegisterAllocator&amp; allocator)
&gt; 
&gt; This method exists just for Repatch, right?
&gt; 
&gt; In that case, we should definitely move it out of SpeculativeJIT.

Should it just go into Repatch itself?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961992</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-12-20 12:16:42 -0800</bug_when>
    <thetext>Committed r160919: &lt;http://trac.webkit.org/changeset/160919&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961998</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-12-20 12:19:00 -0800</bug_when>
    <thetext>*** Bug 126012 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219725</attachid>
            <date>2013-12-19 21:12:40 -0800</date>
            <delta_ts>2013-12-19 21:21:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126047-20131219211223.patch</filename>
            <type>text/plain</type>
            <size>10211</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYwODk2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDEzLTEyLTE5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgQ2xlYW4gdXAgREZHIHdyaXRlIGJhcnJpZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjYwNDcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OnN0b3JlVG9Xcml0ZUJhcnJpZXJC
dWZmZXIpOiBVc2UgdGhlIHJlZ2lzdGVyIGFsbG9jYXRvciB0byAKKyAgICAgICAgZGV0ZXJtaW5l
IHdoaWNoIHJlZ2lzdGVycyBuZWVkIHNhdmluZyBpbnN0ZWFkIG9mIHNhdmluZyBldmVyeSBzaW5n
bGUgb25lIG9mIHRoZW0uCisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6Om9zcldy
aXRlQmFycmllcik6IFdlIGRvbid0IG5lZWQgdG8gc2F2ZSBsaXZlIHJlZ2lzdGVyIHN0YXRlIAor
ICAgICAgICBiZWNhdXNlIHRoZSB3cml0ZSBiYXJyaWVycyBkdXJpbmcgT1NSIGV4ZWN1dGUgd2hl
biB0aGVyZSBhcmUgbm8gbGl2ZSByZWdpc3RlcnMuIEFsc28gd2UgIAorICAgICAgICBkb24ndCBu
ZWVkIHRvIHVzZSBwdXNoZXMgdG8gcGFkIHRoZSBzdGFjayBwb2ludGVyIGZvciBwb2tlcyBvbiB4
ODY7IHdlIGNhbiBqdXN0IHVzZSBhbiBhZGQuCisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OndyaXRlQmFycmllcik6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6
CisgICAgICAgICogaml0L1JlcGF0Y2guY3BwOgorICAgICAgICAoSlNDOjplbWl0UHV0UmVwbGFj
ZVN0dWIpOgorICAgICAgICAoSlNDOjplbWl0UHV0VHJhbnNpdGlvblN0dWIpOgorICAgICAgICAq
IHJ1bnRpbWUvVk0uaDogR2V0IHJpZCBvZiB3cml0ZUJhcnJpZXJSZWdpc3RlckJ1ZmZlciBzaW5j
ZSBpdCdzIG5vIGxvbmdlciB1c2VkLgorCiAyMDEzLTEyLTE5ICBKb3NlcGggUGVjb3Jhcm8gIDxw
ZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIEluc3BlY3Rv
ckZyb250ZW5kSG9zdC5kZWJ1Z2dhYmxlVHlwZSB0byBsZXQgdGhlIGZyb250ZW5kIGtub3cgaXQn
cyBiYWNrZW5kIGlzIEphdmFTY3JpcHQgb3IgV2ViCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMTYwODgwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJERkdTbG93UGF0aEdlbmVyYXRvci5o
IgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5o
IgorI2luY2x1ZGUgIlNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5oIgogI2luY2x1ZGUgIldyaXRl
QmFycmllckJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKQEAgLTU0Nzks
NTIgKzU0ODAsNDAgQEAgSklUQ29tcGlsZXI6Okp1bXAgU3BlY3VsYXRpdmVKSVQ6OmdlbmVyaQog
ICAgIHJldHVybiBqaXQuYnJhbmNoVGVzdDgoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIE1hY3JvQXNz
ZW1ibGVyOjpBYnNvbHV0ZUFkZHJlc3MoYWRkcmVzcykpOwogfQogCi1NYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBTcGVjdWxhdGl2ZUpJVDo6c3RvcmVUb1dyaXRlQmFycmllckJ1ZmZlcihDQ2FsbEhlbHBl
cnMmIGppdCwgR1BSUmVnIGNlbGwsIEdQUlJlZyBzY3JhdGNoMSwgR1BSUmVnIHNjcmF0Y2gyKQor
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgU3BlY3VsYXRpdmVKSVQ6OnN0b3JlVG9Xcml0ZUJhcnJpZXJC
dWZmZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIEdQUlJlZyBjZWxsLCBHUFJSZWcgc2NyYXRjaDEsIEdQ
UlJlZyBzY3JhdGNoMiwgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yJiBhbGxvY2F0b3IpCiB7CiAg
ICAgQVNTRVJUKHNjcmF0Y2gxICE9IHNjcmF0Y2gyKTsKLSAgICAvLyBMb2FkIFdyaXRlQmFycmll
ckJ1ZmZlciBmcm9tIEhlYXAKICAgICBXcml0ZUJhcnJpZXJCdWZmZXIqIHdyaXRlQmFycmllckJ1
ZmZlciA9ICZqaXQudm0oKS0+aGVhcC5tX3dyaXRlQmFycmllckJ1ZmZlcjsKICAgICBqaXQubW92
ZShUcnVzdGVkSW1tUHRyKHdyaXRlQmFycmllckJ1ZmZlciksIHNjcmF0Y2gxKTsKLSAgICAvLyBM
b2FkIGN1cnJlbnRJbmRleAogICAgIGppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Mo
c2NyYXRjaDEsIFdyaXRlQmFycmllckJ1ZmZlcjo6Y3VycmVudEluZGV4T2Zmc2V0KCkpLCBzY3Jh
dGNoMik7Ci0gICAgLy8gQnJhbmNoIGlmIGN1cnJlbnRJbmRleCA+PSBjYXBhY2l0eQogICAgIEpJ
VENvbXBpbGVyOjpKdW1wIG5lZWRUb0ZsdXNoID0gaml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVy
OjpBYm92ZU9yRXF1YWwsIHNjcmF0Y2gyLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNo
MSwgV3JpdGVCYXJyaWVyQnVmZmVyOjpjYXBhY2l0eU9mZnNldCgpKSk7CiAKLSAgICAvLyBTdG9y
ZSBuZXcgY3VycmVudEluZGV4CiAgICAgaml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgc2NyYXRj
aDIpOwogICAgIGppdC5zdG9yZTMyKHNjcmF0Y2gyLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhz
Y3JhdGNoMSwgV3JpdGVCYXJyaWVyQnVmZmVyOjpjdXJyZW50SW5kZXhPZmZzZXQoKSkpOwogCi0g
ICAgLy8gTG9hZCBidWZmZXIKICAgICBqaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVz
cyhzY3JhdGNoMSwgV3JpdGVCYXJyaWVyQnVmZmVyOjpidWZmZXJPZmZzZXQoKSksIHNjcmF0Y2gx
KTsKLSAgICAvLyBTdG9yZSBjZWxsIGludG8gYnVmZmVyLiBXZSB1c2UgYW4gb2Zmc2V0IG9mIC1z
aXplb2Yodm9pZCopIGJlY2F1c2Ugd2UgYWxyZWFkeSBhZGRlZCAxIHRvIHNjcmF0Y2gyLgorICAg
IC8vIFdlIHVzZSBhbiBvZmZzZXQgb2YgLXNpemVvZih2b2lkKikgYmVjYXVzZSB3ZSBhbHJlYWR5
IGFkZGVkIDEgdG8gc2NyYXRjaDIuCiAgICAgaml0LnN0b3JlUHRyKGNlbGwsIE1hY3JvQXNzZW1i
bGVyOjpCYXNlSW5kZXgoc2NyYXRjaDEsIHNjcmF0Y2gyLCBNYWNyb0Fzc2VtYmxlcjo6U2NhbGVQ
dHIsIHN0YXRpY19jYXN0PGludDMyX3Q+KC1zaXplb2Yodm9pZCopKSkpOwogCi0gICAgLy8gSnVt
cCB0byBkb25lCiAgICAgSklUQ29tcGlsZXI6Okp1bXAgZG9uZSA9IGppdC5qdW1wKCk7Ci0gICAg
Ly8gTGluayBmcm9tIGJyYW5jaAogICAgIG5lZWRUb0ZsdXNoLmxpbmsoJmppdCk7CiAKLSAgICAv
LyBDYWxsIEMgc2xvdyBwYXRoLgotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBHUFJJbmZv
OjpudW1iZXJPZlJlZ2lzdGVyczsgKytpKQotICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6
dG9SZWdpc3RlcihpKSwgJmppdC52bSgpLT53cml0ZUJhcnJpZXJSZWdpc3RlckJ1ZmZlcltpXSk7
CisgICAgU2NyYXRjaEJ1ZmZlciogc2NyYXRjaEJ1ZmZlciA9IGppdC52bSgpLT5zY3JhdGNoQnVm
ZmVyRm9yU2l6ZShhbGxvY2F0b3IuZGVzaXJlZFNjcmF0Y2hCdWZmZXJTaXplKCkpOworICAgIGFs
bG9jYXRvci5wcmVzZXJ2ZVVzZWRSZWdpc3RlcnNUb1NjcmF0Y2hCdWZmZXIoaml0LCBzY3JhdGNo
QnVmZmVyLCBzY3JhdGNoMSk7CiAKKyAgICAvLyBXZSBuZWVkIHRoZXNlIGV4dHJhIHNsb3RzIGJl
Y2F1c2Ugc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlIHdpbGwgdXNlIHBva2Ugb24geDg2Lgog
I2lmIENQVShYODYpCi0gICAgaml0LnB1c2goc2NyYXRjaDEpOwotICAgIGppdC5wdXNoKHNjcmF0
Y2gxKTsKKyAgICBqaXQuc3ViUHRyKFRydXN0ZWRJbW0zMihzaXplb2Yodm9pZCopICogMyksIE1h
Y3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAjZW5kaWYKIAogICAgIGppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoY2VsbCk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgY2FsbCA9IGppdC5jYWxsKCk7CiAKICNpZiBDUFUoWDg2KQotICAgIGppdC5wb3Aoc2NyYXRj
aDEpOwotICAgIGppdC5wb3Aoc2NyYXRjaDEpOworICAgIGppdC5hZGRQdHIoVHJ1c3RlZEltbTMy
KHNpemVvZih2b2lkKikgKiAzKSwgTWFjcm9Bc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVy
KTsKICNlbmRpZgorICAgIGFsbG9jYXRvci5yZXN0b3JlVXNlZFJlZ2lzdGVyc0Zyb21TY3JhdGNo
QnVmZmVyKGppdCwgc2NyYXRjaEJ1ZmZlciwgc2NyYXRjaDEpOwogCi0gICAgZm9yICh1bnNpZ25l
ZCBpID0gR1BSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnM7IGktLTspCi0gICAgICAgIGppdC5sb2Fk
UHRyKCZqaXQudm0oKS0+d3JpdGVCYXJyaWVyUmVnaXN0ZXJCdWZmZXJbaV0sIEdQUkluZm86OnRv
UmVnaXN0ZXIoaSkpOwotCi0gICAgLy8gTGluayBEb25lCiAgICAgZG9uZS5saW5rKCZqaXQpOwog
CiAgICAgcmV0dXJuIGNhbGw7CkBAIC01NTkzLDIzICs1NTgyLDExIEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OndyaXRlQmFycmllcihHUFJSZWcKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6b3NyV3Jp
dGVCYXJyaWVyKENDYWxsSGVscGVycyYgaml0LCBHUFJSZWcgb3duZXIsIEdQUlJlZyBzY3JhdGNo
MSwgR1BSUmVnIHNjcmF0Y2gyKQogewotICAgIFVOVVNFRF9QQVJBTShqaXQpOwotICAgIFVOVVNF
RF9QQVJBTShvd25lcik7Ci0gICAgVU5VU0VEX1BBUkFNKHNjcmF0Y2gxKTsKLSAgICBVTlVTRURf
UEFSQU0oc2NyYXRjaDIpOwotICAgIEFTU0VSVChvd25lciAhPSBzY3JhdGNoMSk7Ci0gICAgQVNT
RVJUKG93bmVyICE9IHNjcmF0Y2gyKTsKLQogICAgIEpJVENvbXBpbGVyOjpKdW1wIGRlZmluaXRl
bHlOb3RNYXJrZWQgPSBnZW5lcmljV3JpdGVCYXJyaWVyKGppdCwgb3duZXIsIHNjcmF0Y2gxLCBz
Y3JhdGNoMik7CiAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgR1BSSW5mbzo6bnVtYmVy
T2ZSZWdpc3RlcnM7ICsraSkKLSAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OnRvUmVnaXN0
ZXIoaSksICZqaXQudm0oKS0+d3JpdGVCYXJyaWVyUmVnaXN0ZXJCdWZmZXJbaV0pOwotCiAgICAg
Ly8gV2UgbmVlZCB0aGVzZSBleHRyYSBzbG90cyBiZWNhdXNlIHNldHVwQXJndW1lbnRzV2l0aEV4
ZWNTdGF0ZSB3aWxsIHVzZSBwb2tlIG9uIHg4Ni4KICNpZiBDUFUoWDg2KQotICAgIGppdC5wdXNo
KHNjcmF0Y2gxKTsKLSAgICBqaXQucHVzaChzY3JhdGNoMSk7Ci0gICAgaml0LnB1c2goc2NyYXRj
aDEpOworICAgIGppdC5zdWJQdHIoVHJ1c3RlZEltbTMyKHNpemVvZih2b2lkKikgKiAzKSwgTWFj
cm9Bc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICNlbmRpZgogCiAgICAgaml0LnNl
dHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShvd25lcik7CkBAIC01NjE3LDIzICs1NTk0LDE5IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6Om9zcldyaXRlQmFycmllcihDQ2EKICAgICBqaXQuY2FsbChz
Y3JhdGNoMSk7CiAKICNpZiBDUFUoWDg2KQotICAgIGppdC5wb3Aoc2NyYXRjaDEpOwotICAgIGpp
dC5wb3Aoc2NyYXRjaDEpOwotICAgIGppdC5wb3Aoc2NyYXRjaDEpOworICAgIGppdC5hZGRQdHIo
VHJ1c3RlZEltbTMyKHNpemVvZih2b2lkKikgKiAzKSwgTWFjcm9Bc3NlbWJsZXI6OnN0YWNrUG9p
bnRlclJlZ2lzdGVyKTsKICNlbmRpZgotICAgIGZvciAodW5zaWduZWQgaSA9IEdQUkluZm86Om51
bWJlck9mUmVnaXN0ZXJzOyBpLS07KQotICAgICAgICBqaXQubG9hZFB0cigmaml0LnZtKCktPndy
aXRlQmFycmllclJlZ2lzdGVyQnVmZmVyW2ldLCBHUFJJbmZvOjp0b1JlZ2lzdGVyKGkpKTsgCiAK
ICAgICBkZWZpbml0ZWx5Tm90TWFya2VkLmxpbmsoJmppdCk7CiB9CiAKLU1hY3JvQXNzZW1ibGVy
OjpDYWxsIFNwZWN1bGF0aXZlSklUOjp3cml0ZUJhcnJpZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIEdQ
UlJlZyBvd25lciwgR1BSUmVnIHNjcmF0Y2gxLCBHUFJSZWcgc2NyYXRjaDIpCitNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBTcGVjdWxhdGl2ZUpJVDo6d3JpdGVCYXJyaWVyKENDYWxsSGVscGVycyYgaml0
LCBHUFJSZWcgb3duZXIsIEdQUlJlZyBzY3JhdGNoMSwgR1BSUmVnIHNjcmF0Y2gyLCBTY3JhdGNo
UmVnaXN0ZXJBbGxvY2F0b3ImIGFsbG9jYXRvcikKIHsKICAgICBBU1NFUlQob3duZXIgIT0gc2Ny
YXRjaDEpOwogICAgIEFTU0VSVChvd25lciAhPSBzY3JhdGNoMik7CiAKICAgICBKSVRDb21waWxl
cjo6SnVtcCBkZWZpbml0ZWx5Tm90TWFya2VkID0gZ2VuZXJpY1dyaXRlQmFycmllcihqaXQsIG93
bmVyLCBzY3JhdGNoMSwgc2NyYXRjaDIpOwotICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGwg
PSBzdG9yZVRvV3JpdGVCYXJyaWVyQnVmZmVyKGppdCwgb3duZXIsIHNjcmF0Y2gxLCBzY3JhdGNo
Mik7CisgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbCA9IHN0b3JlVG9Xcml0ZUJhcnJpZXJC
dWZmZXIoaml0LCBvd25lciwgc2NyYXRjaDEsIHNjcmF0Y2gyLCBhbGxvY2F0b3IpOwogICAgIGRl
ZmluaXRlbHlOb3RNYXJrZWQubGluaygmaml0KTsKICAgICByZXR1cm4gY2FsbDsKIH0KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHJldmlz
aW9uIDE2MDg4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsMTEgQEAKICNpbmNsdWRlICJWYWx1ZVJl
Y292ZXJ5LmgiCiAjaW5jbHVkZSAiVmlydHVhbFJlZ2lzdGVyLmgiCiAKLW5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgREZHIHsKK25hbWVzcGFjZSBKU0MgeyAKKworY2xhc3MgU2NyYXRjaFJlZ2lz
dGVyQWxsb2NhdG9yOworCituYW1lc3BhY2UgREZHIHsKIAogY2xhc3MgR1BSVGVtcG9yYXJ5Owog
Y2xhc3MgSlNWYWx1ZU9wZXJhbmQ7CkBAIC0yOTAsMTQgKzI5NCwxNCBAQCBwdWJsaWM6CiAgICAg
fQogCiAjaWYgRU5BQkxFKEdHQykKLSAgICBzdGF0aWMgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgc3Rv
cmVUb1dyaXRlQmFycmllckJ1ZmZlcihDQ2FsbEhlbHBlcnMmIGppdCwgR1BSUmVnIGNlbGwsIEdQ
UlJlZyBzY3JhdGNoMSwgR1BSUmVnIHNjcmF0Y2gyKTsKKyAgICBzdGF0aWMgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgc3RvcmVUb1dyaXRlQmFycmllckJ1ZmZlcihDQ2FsbEhlbHBlcnMmIGppdCwgR1BS
UmVnIGNlbGwsIEdQUlJlZyBzY3JhdGNoMSwgR1BSUmVnIHNjcmF0Y2gyLCBTY3JhdGNoUmVnaXN0
ZXJBbGxvY2F0b3ImKTsKICAgICB2b2lkIHN0b3JlVG9Xcml0ZUJhcnJpZXJCdWZmZXIoR1BSUmVn
IGNlbGwsIEdQUlJlZyBzY3JhdGNoMSwgR1BSUmVnIHNjcmF0Y2gyKTsKICAgICB2b2lkIHN0b3Jl
VG9Xcml0ZUJhcnJpZXJCdWZmZXIoSlNDZWxsKiwgR1BSUmVnIHNjcmF0Y2gxLCBHUFJSZWcgc2Ny
YXRjaDIpOwogCiAgICAgc3RhdGljIEpJVENvbXBpbGVyOjpKdW1wIGdlbmVyaWNXcml0ZUJhcnJp
ZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIEdQUlJlZyBvd25lciwgR1BSUmVnIHNjcmF0Y2gxLCBHUFJS
ZWcgc2NyYXRjaDIpOwogICAgIHN0YXRpYyBKSVRDb21waWxlcjo6SnVtcCBnZW5lcmljV3JpdGVC
YXJyaWVyKENDYWxsSGVscGVycyYgaml0LCBKU0NlbGwqIG93bmVyKTsKICAgICBzdGF0aWMgdm9p
ZCBvc3JXcml0ZUJhcnJpZXIoQ0NhbGxIZWxwZXJzJiwgR1BSUmVnIG93bmVyLCBHUFJSZWcgc2Ny
YXRjaDEsIEdQUlJlZyBzY3JhdGNoMik7Ci0gICAgc3RhdGljIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IHdyaXRlQmFycmllcihDQ2FsbEhlbHBlcnMmLCBHUFJSZWcgb3duZXIsIEdQUlJlZyBzY3JhdGNo
MSwgR1BSUmVnIHNjcmF0Y2gyKTsKKyAgICBzdGF0aWMgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgd3Jp
dGVCYXJyaWVyKENDYWxsSGVscGVycyYsIEdQUlJlZyBvd25lciwgR1BSUmVnIHNjcmF0Y2gxLCBH
UFJSZWcgc2NyYXRjaDIsIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvciYpOwogICAgIHZvaWQgd3Jp
dGVCYXJyaWVyKEdQUlJlZyBvd25lciwgR1BSUmVnIHNjcmF0Y2gxLCBHUFJSZWcgc2NyYXRjaDIp
OwogICAgIHZvaWQgd3JpdGVCYXJyaWVyKEdQUlJlZyBvd25lciwgSlNDZWxsKiB2YWx1ZSwgR1BS
UmVnIHNjcmF0Y2gxLCBHUFJSZWcgc2NyYXRjaDIpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDE2MDg4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgzMSw3ICs4MzEsNyBAQCBz
dGF0aWMgdm9pZCBlbWl0UHV0UmVwbGFjZVN0dWIoCiAjZW5kaWYKICAgICAKICNpZiBFTkFCTEUo
R0dDKQotICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIHdyaXRlQmFycmllck9wZXJhdGlvbiA9IERG
Rzo6U3BlY3VsYXRpdmVKSVQ6OndyaXRlQmFycmllcihzdHViSml0LCBiYXNlR1BSLCBzY3JhdGNo
R1BSMSwgc2NyYXRjaEdQUjIpOworICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIHdyaXRlQmFycmll
ck9wZXJhdGlvbiA9IERGRzo6U3BlY3VsYXRpdmVKSVQ6OndyaXRlQmFycmllcihzdHViSml0LCBi
YXNlR1BSLCBzY3JhdGNoR1BSMSwgc2NyYXRjaEdQUjIsIGFsbG9jYXRvcik7CiAjZW5kaWYKICAg
ICAKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBzdWNjZXNzOwpAQCAtOTk4LDcgKzk5OCw3IEBA
IHN0YXRpYyB2b2lkIGVtaXRQdXRUcmFuc2l0aW9uU3R1YigKICNlbmRpZgogICAgIAogI2lmIEVO
QUJMRShHR0MpCi0gICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgd3JpdGVCYXJyaWVyT3BlcmF0aW9u
ID0gREZHOjpTcGVjdWxhdGl2ZUpJVDo6d3JpdGVCYXJyaWVyKHN0dWJKaXQsIGJhc2VHUFIsIHNj
cmF0Y2hHUFIxLCBzY3JhdGNoR1BSMik7CisgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgd3JpdGVC
YXJyaWVyT3BlcmF0aW9uID0gREZHOjpTcGVjdWxhdGl2ZUpJVDo6d3JpdGVCYXJyaWVyKHN0dWJK
aXQsIGJhc2VHUFIsIHNjcmF0Y2hHUFIxLCBzY3JhdGNoR1BSMiwgYWxsb2NhdG9yKTsKICNlbmRp
ZgogICAgIAogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIHN1Y2Nlc3M7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1ZNLmgJKHJldmlzaW9uIDE2MDg4MCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1ZNLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4OCwxMCArMzg4LDYgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGNvbnN0IENsYXNzSW5mbyogY29uc3QganNBcnJheUNs
YXNzSW5mbzsKICAgICAgICAgY29uc3QgQ2xhc3NJbmZvKiBjb25zdCBqc0ZpbmFsT2JqZWN0Q2xh
c3NJbmZvOwogCi0jaWYgRU5BQkxFKEpJVCkKLSAgICAgICAgdm9pZCogd3JpdGVCYXJyaWVyUmVn
aXN0ZXJCdWZmZXJbR1BSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnNdOwotI2VuZGlmCi0KICAgICAg
ICAgUmV0dXJuQWRkcmVzc1B0ciBleGNlcHRpb25Mb2NhdGlvbjsKICAgICAgICAgSlNWYWx1ZSBo
b3N0Q2FsbFJldHVyblZhbHVlOwogICAgICAgICBFeGVjU3RhdGUqIG5ld0NhbGxGcmFtZVJldHVy
blZhbHVlOwo=
</data>
<flag name="review"
          id="243391"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>