<?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>63764</bug_id>
          
          <creation_ts>2011-06-30 16:00:04 -0700</creation_ts>
          <short_desc>Added empty write barrier stubs in all the right places in the DFG JIT</short_desc>
          <delta_ts>2011-06-30 17:10:28 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>barraclough</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>430760</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-30 16:00:04 -0700</bug_when>
    <thetext>Added empty write barrier stubs in all the right places in the DFG JIT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430766</commentid>
    <comment_count>1</comment_count>
      <attachid>99386</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-30 16:04:29 -0700</bug_when>
    <thetext>Created attachment 99386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430838</commentid>
    <comment_count>2</comment_count>
      <attachid>99386</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-06-30 16:43:18 -0700</bug_when>
    <thetext>Comment on attachment 99386
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:-1086
&gt; -        m_jit.loadPtr(globalObject-&gt;addressOfRegisters(), temp.gpr());

Maybe addressOfRegisters can go away?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430867</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-30 17:08:18 -0700</bug_when>
    <thetext>&gt; Maybe addressOfRegisters can go away?

Alas, alack, it&apos;s still used in some places, but I was able to deploy JSVariableObject::offsetOfRegisters() in more places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430869</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-30 17:10:28 -0700</bug_when>
    <thetext>Committed r90187: &lt;http://trac.webkit.org/changeset/90187&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99386</attachid>
            <date>2011-06-30 16:04:29 -0700</date>
            <delta_ts>2011-06-30 16:43:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63764-20110630160427.patch</filename>
            <type>text/plain</type>
            <size>13865</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTAxNzQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDMgQEAK
KzIwMTEtMDYtMzAgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBlbXB0eSB3cml0
ZSBiYXJyaWVyIHN0dWJzIGluIGFsbCB0aGUgcmlnaHQgcGxhY2VzIGluIHRoZSBERkcgSklUCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc2NAorICAg
ICAgICAKKyAgICAgICAgU3VuU3BpZGVyIHRoaW5rcyB0aGlzIG1pZ2h0IGJlIGEgMC41JSBzcGVl
ZHVwLiBNZWguCisKKyAgICAgICAgKiBkZmcvREZHSklUQ29kZUdlbmVyYXRvci5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6d3JpdGVCYXJyaWVyKTogTGUgc3R1Yi4K
KworICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVHZW5lcmF0b3I6OmNhY2hlZFB1dEJ5SWQpOiBE
b24ndCBkbyBhbnl0aGluZyBzcGVjaWFsCisgICAgICAgIGZvciB0aGUgY2FzZSB3aGVyZSBiYXNl
ID09IHNjcmF0Y2gsIHNpbmNlIHdlIG5vdyByZXF1aXJlIGJhc2UgYW5kIHNjcmF0Y2gKKyAgICAg
ICAgdG8gYmUgbm90IGVxdWFsLCBmb3IgdGhlIHNha2Ugb2YgdGhlIHdyaXRlIGJhcnJpZXIuCisK
KyAgICAgICAgKiBkZmcvREZHSklUQ29kZUdlbmVyYXRvci5oOiBMZSBzdHViLgorCisgICAgICAg
ICogZGZnL0RGR05vblNwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpOb25T
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6IERvbid0IHJldXNlIHRoZSBiYXNlIHJlZ2lzdGVyCisg
ICAgICAgIGFzIHRoZSBzY3JhdGNoIHJlZ2lzdGVyLCBzaW5jZSB0aGF0J3MgaW5jb21wYXRpYmxl
IHdpdGggdGhlIHdyaXRlIGJhcnJpZXIsCisgICAgICAgIHdoaWNoIG5lZWRzIGEgZGlzdGluY3Qg
YmFzZSBhbmQgc2NyYXRjaC4KKyAgICAgICAgCisgICAgICAgIERvIHB1dCB0aGUgZ2xvYmFsIG9i
amVjdCBpbnRvIGEgcmVnaXN0ZXIgYmVmb3JlIGxvYWRpbmcgaXRzIHZhciBzdG9yYWdlLAorICAg
ICAgICBzaW5jZSBpdCBuZWVkcyB0byBiZSBpbiBhIHJlZ2lzdGVyIGZvciB0aGUgd3JpdGUgYmFy
cmllciB0byBvcGVyYXRlIG9uIGl0LgorCisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAg
ICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0
V3JpdGVCYXJyaWVyKTogU2Vjb25kIHZlcnNlLCBzYW1lIGFzIHRoZSBmaXJzdC4KKworICAgICAg
ICAqIGppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0V3JpdGVCYXJyaWVyKTogQWRkZWQgYSB0ZWVueSB0aW55IEFTU0VSVCBzbyB0aGlzIGZ1bmN0
aW9uCisgICAgICAgIGlzIGEgbGl0dGxlIG1vcmUgdGhhbiBtZWFuaW5nbGVzcy4KKworICAgICAg
ICAqIHJ1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU1ZhcmlhYmxl
T2JqZWN0OjpvZmZzZXRPZlJlZ2lzdGVycyk6IE5vdyB1c2VkIGJ5IHRoZSBKSVQsIHNpbmNlCisg
ICAgICAgIHdlIHB1dCB0aGUgZ2xvYmFsIG9iamVjdCBpbiBhIHJlZ2lzdGVyIGFuZCBvbmx5IHRo
ZW4gbG9hZCBpdHMgdmFyIHN0b3JhZ2UKKyAgICAgICAgYnkgb2Zmc2V0LgorCiAyMDExLTA2LTMw
ICBDYXJ5IENsYXJrICA8Y2FyeWNsYXJrQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgSmFtZXMgUm9iaW5zb24uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJ
VENvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHSklUQ29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDkwMTcwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzY4LDE2ICszNjgsMjAgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpjYWNoZWRHZXRCeUlk
KEdQUgogICAgICAgICB1bmxvY2soc2NyYXRjaEdQUik7CiB9CiAKK3ZvaWQgSklUQ29kZUdlbmVy
YXRvcjo6d3JpdGVCYXJyaWVyKEdQUlJlZyBvd25lciwgR1BSUmVnIHNjcmF0Y2gpCit7CisgICAg
VU5VU0VEX1BBUkFNKG93bmVyKTsKKyAgICBVTlVTRURfUEFSQU0oc2NyYXRjaCk7CisgICAgQVNT
RVJUKG93bmVyICE9IHNjcmF0Y2gpOworfQorCiB2b2lkIEpJVENvZGVHZW5lcmF0b3I6OmNhY2hl
ZFB1dEJ5SWQoR1BSUmVnIGJhc2VHUFIsIEdQUlJlZyB2YWx1ZUdQUiwgR1BSUmVnIHNjcmF0Y2hH
UFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIFB1dEtpbmQgcHV0S2luZCwgSklUQ29tcGls
ZXI6Okp1bXAgc2xvd1BhdGhUYXJnZXQpCiB7Ci0gICAgR1BSUmVnIHNsb3dQYXRoU2NyYXRjaCA9
IHNjcmF0Y2hHUFI7Ci0gICAgCi0gICAgaWYgKHNjcmF0Y2hHUFIgPT0gYmFzZUdQUikKLSAgICAg
ICAgc2xvd1BhdGhTY3JhdGNoID0gdHJ5QWxsb2NhdGUoKTsKLSAgICAKICAgICBKSVRDb21waWxl
cjo6RGF0YUxhYmVsUHRyIHN0cnVjdHVyZVRvQ29tcGFyZTsKICAgICBKSVRDb21waWxlcjo6SnVt
cCBzdHJ1Y3R1cmVDaGVjayA9IG1faml0LmJyYW5jaFB0cldpdGhQYXRjaChKSVRDb21waWxlcjo6
Tm90RXF1YWwsIEpJVENvbXBpbGVyOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJl
T2Zmc2V0KCkpLCBzdHJ1Y3R1cmVUb0NvbXBhcmUsIEpJVENvbXBpbGVyOjpUcnVzdGVkSW1tUHRy
KHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KC0xKSkpOwogICAgIAorICAgIHdyaXRlQmFycmllcihi
YXNlR1BSLCBzY3JhdGNoR1BSKTsKKwogICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFk
ZHJlc3MoYmFzZUdQUiwgSlNPYmplY3Q6Om9mZnNldE9mUHJvcGVydHlTdG9yYWdlKCkpLCBzY3Jh
dGNoR1BSKTsKICAgICBKSVRDb21waWxlcjo6RGF0YUxhYmVsMzIgc3RvcmVXaXRoUGF0Y2ggPSBt
X2ppdC5zdG9yZVB0cldpdGhBZGRyZXNzT2Zmc2V0UGF0Y2godmFsdWVHUFIsIEpJVENvbXBpbGVy
OjpBZGRyZXNzKHNjcmF0Y2hHUFIsIDApKTsKIApAQCAtNDE4LDEwICs0MjIsNyBAQCB2b2lkIEpJ
VENvZGVHZW5lcmF0b3I6OmNhY2hlZFB1dEJ5SWQoR1BSCiAgICAgaW50OF90IGNhbGxUb1Nsb3dD
YXNlID0gc3RhdGljX2Nhc3Q8aW50OF90PihtX2ppdC5kaWZmZXJlbmNlQmV0d2VlbihmdW5jdGlv
bkNhbGwsIHNsb3dDYXNlKSk7CiAgICAgaW50OF90IGNhbGxUb0RvbmUgPSBzdGF0aWNfY2FzdDxp
bnQ4X3Q+KG1faml0LmRpZmZlcmVuY2VCZXR3ZWVuKGZ1bmN0aW9uQ2FsbCwgZG9uZUxhYmVsKSk7
CiAKLSAgICBtX2ppdC5hZGRQcm9wZXJ0eUFjY2VzcyhmdW5jdGlvbkNhbGwsIGNoZWNrSW1tVG9D
YWxsLCBjYWxsVG9DaGVjaywgY2FsbFRvU3RvcmUsIGNhbGxUb1Nsb3dDYXNlLCBjYWxsVG9Eb25l
LCBzdGF0aWNfY2FzdDxpbnQ4X3Q+KGJhc2VHUFIpLCBzdGF0aWNfY2FzdDxpbnQ4X3Q+KHZhbHVl
R1BSKSwgc3RhdGljX2Nhc3Q8aW50OF90PihzbG93UGF0aFNjcmF0Y2gpKTsKLQotICAgIGlmIChz
Y3JhdGNoR1BSID09IGJhc2VHUFIgJiYgc2xvd1BhdGhTY3JhdGNoICE9IEludmFsaWRHUFJSZWcp
Ci0gICAgICAgIHVubG9jayhzbG93UGF0aFNjcmF0Y2gpOworICAgIG1faml0LmFkZFByb3BlcnR5
QWNjZXNzKGZ1bmN0aW9uQ2FsbCwgY2hlY2tJbW1Ub0NhbGwsIGNhbGxUb0NoZWNrLCBjYWxsVG9T
dG9yZSwgY2FsbFRvU2xvd0Nhc2UsIGNhbGxUb0RvbmUsIHN0YXRpY19jYXN0PGludDhfdD4oYmFz
ZUdQUiksIHN0YXRpY19jYXN0PGludDhfdD4odmFsdWVHUFIpLCBzdGF0aWNfY2FzdDxpbnQ4X3Q+
KHNjcmF0Y2hHUFIpKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5oCShyZXZpc2lvbiA5MDE3MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MTcsNiArNTE3LDggQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KICAgICB9CisgICAgCisgICAgdm9pZCB3cml0
ZUJhcnJpZXIoR1BSUmVnIG93bmVyR1BSLCBHUFJSZWcgc2NyYXRjaEdQUik7CiAKICAgICB2b2lk
IGNhY2hlZEdldEJ5SWQoR1BSUmVnIGJhc2VHUFIsIEdQUlJlZyByZXN1bHRHUFIsIHVuc2lnbmVk
IGlkZW50aWZpZXJOdW1iZXIsIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoVGFyZ2V0ID0gSklU
Q29tcGlsZXI6Okp1bXAoKSk7CiAgICAgdm9pZCBjYWNoZWRQdXRCeUlkKEdQUlJlZyBiYXNlR1BS
LCBHUFJSZWcgdmFsdWVHUFIsIEdQUlJlZyBzY3JhdGNoR1BSLCB1bnNpZ25lZCBpZGVudGlmaWVy
TnVtYmVyLCBQdXRLaW5kLCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aFRhcmdldCA9IEpJVENv
bXBpbGVyOjpKdW1wKCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb25T
cGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb25TcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDkwMTcwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb25TcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTc3MCw3ICs3NzAsNyBAQCB2b2lkIE5vblNwZWN1bGF0aXZlSklUOjpjb21waWxlKFNwZWN1
bGF0CiAgICAgY2FzZSBQdXRCeUlkOiB7CiAgICAgICAgIEpTVmFsdWVPcGVyYW5kIGJhc2UodGhp
cywgbm9kZS5jaGlsZDEpOwogICAgICAgICBKU1ZhbHVlT3BlcmFuZCB2YWx1ZSh0aGlzLCBub2Rl
LmNoaWxkMik7Ci0gICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMsIGJhc2UpOworICAg
ICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICAgICAgR1BSUmVnIHZhbHVlR1BS
ID0gdmFsdWUuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsKICAg
ICAgICAgCkBAIC03ODUsNyArNzg1LDcgQEAgdm9pZCBOb25TcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZShTcGVjdWxhdAogICAgIGNhc2UgUHV0QnlJZERpcmVjdDogewogICAgICAgICBKU1ZhbHVlT3Bl
cmFuZCBiYXNlKHRoaXMsIG5vZGUuY2hpbGQxKTsKICAgICAgICAgSlNWYWx1ZU9wZXJhbmQgdmFs
dWUodGhpcywgbm9kZS5jaGlsZDIpOwotICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlz
LCBiYXNlKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQ
UlJlZyB2YWx1ZUdQUiA9IHZhbHVlLmdwcigpOwogICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IGJh
c2UuZ3ByKCk7CiAgICAgICAgIApAQCAtODEwLDExICs4MTAsMTggQEAgdm9pZCBOb25TcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShTcGVjdWxhdAogCiAgICAgY2FzZSBQdXRHbG9iYWxWYXI6IHsKICAg
ICAgICAgSlNWYWx1ZU9wZXJhbmQgdmFsdWUodGhpcywgbm9kZS5jaGlsZDEpOwotICAgICAgICBH
UFJUZW1wb3JhcnkgdGVtcCh0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IGdsb2JhbE9iamVj
dCh0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CisgICAgICAgIAor
ICAgICAgICBHUFJSZWcgZ2xvYmFsT2JqZWN0UmVnID0gZ2xvYmFsT2JqZWN0LmdwcigpOworICAg
ICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAKLSAgICAgICAgSlNWYXJp
YWJsZU9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9qaXQuY29kZUJsb2NrKCktPmdsb2JhbE9iamVj
dCgpOwotICAgICAgICBtX2ppdC5sb2FkUHRyKGdsb2JhbE9iamVjdC0+YWRkcmVzc09mUmVnaXN0
ZXJzKCksIHRlbXAuZ3ByKCkpOwotICAgICAgICBtX2ppdC5zdG9yZVB0cih2YWx1ZS5ncHIoKSwg
SklUQ29tcGlsZXI6OmFkZHJlc3NGb3JHbG9iYWxWYXIodGVtcC5ncHIoKSwgbm9kZS52YXJOdW1i
ZXIoKSkpOworICAgICAgICBtX2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRy
KG1faml0LmNvZGVCbG9jaygpLT5nbG9iYWxPYmplY3QoKSksIGdsb2JhbE9iamVjdFJlZyk7CisK
KyAgICAgICAgd3JpdGVCYXJyaWVyKGdsb2JhbE9iamVjdFJlZywgc2NyYXRjaFJlZyk7CisKKyAg
ICAgICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhnbG9iYWxPYmplY3RS
ZWcsIEpTVmFyaWFibGVPYmplY3Q6Om9mZnNldE9mUmVnaXN0ZXJzKCkpLCBzY3JhdGNoUmVnKTsK
KyAgICAgICAgbV9qaXQuc3RvcmVQdHIodmFsdWUuZ3ByKCksIEpJVENvbXBpbGVyOjphZGRyZXNz
Rm9yR2xvYmFsVmFyKHNjcmF0Y2hSZWcsIG5vZGUudmFyTnVtYmVyKCkpKTsKIAogICAgICAgICBu
b1Jlc3VsdChtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDkw
MTcwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTg5MSwxMyArODkxLDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0
aGlzLCBub2RlLmNoaWxkMSk7CiAgICAgICAgIFNwZWN1bGF0ZVN0cmljdEludDMyT3BlcmFuZCBw
cm9wZXJ0eSh0aGlzLCBub2RlLmNoaWxkMik7CiAgICAgICAgIEpTVmFsdWVPcGVyYW5kIHZhbHVl
KHRoaXMsIG5vZGUuY2hpbGQzKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHN0b3JhZ2UodGhpcyk7
CisgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwogCi0gICAgICAgIC8vIE1hcCBi
YXNlLCBwcm9wZXJ0eSAmIHZhbHVlIGludG8gcmVnaXN0ZXJzLCBhbGxvY2F0ZSBhIHJlZ2lzdGVy
IGZvciBzdG9yYWdlLgorICAgICAgICAvLyBNYXAgYmFzZSwgcHJvcGVydHkgJiB2YWx1ZSBpbnRv
IHJlZ2lzdGVycywgYWxsb2NhdGUgYSBzY3JhdGNoIHJlZ2lzdGVyLgogICAgICAgICBHUFJSZWcg
YmFzZVJlZyA9IGJhc2UuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBwcm9wZXJ0eVJlZyA9IHByb3Bl
cnR5LmdwcigpOwogICAgICAgICBHUFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5ncHIoKTsKLSAgICAg
ICAgR1BSUmVnIHN0b3JhZ2VSZWcgPSBzdG9yYWdlLmdwcigpOworICAgICAgICBHUFJSZWcgc2Ny
YXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CisKKyAgICAgICAgd3JpdGVCYXJyaWVyKGJhc2VSZWcs
IHNjcmF0Y2hSZWcpOwogCiAgICAgICAgIC8vIENoZWNrIHRoYXQgYmFzZSBpcyBhbiBhcnJheSwg
YW5kIHRoYXQgcHJvcGVydHkgaXMgY29udGFpbmVkIHdpdGhpbiBtX3ZlY3RvciAoPCBtX3ZlY3Rv
ckxlbmd0aCkuCiAgICAgICAgIC8vIElmIHdlIGhhdmUgcHJlZGljdGVkIHRoZSBiYXNlIHRvIGJl
IHR5cGUgYXJyYXksIHdlIGNhbiBza2lwIHRoZSBjaGVjay4KQEAgLTkwNywxNiArOTA5LDE3IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6Okp1bXAgd2l0aGluQXJyYXlCb3VuZHMgPSBtX2ppdC5icmFuY2gzMihNYWNyb0Fz
c2VtYmxlcjo6QmVsb3csIHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNl
UmVnLCBKU0FycmF5Ojp2ZWN0b3JMZW5ndGhPZmZzZXQoKSkpOwogCiAgICAgICAgIC8vIENvZGUg
dG8gaGFuZGxlIHB1dCBiZXlvbmQgYXJyYXkgYm91bmRzLgotICAgICAgICBzaWxlbnRTcGlsbEFs
bFJlZ2lzdGVycyhzdG9yYWdlUmVnLCBiYXNlUmVnLCBwcm9wZXJ0eVJlZywgdmFsdWVSZWcpOwor
ICAgICAgICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVycyhzY3JhdGNoUmVnLCBiYXNlUmVnLCBwcm9w
ZXJ0eVJlZywgdmFsdWVSZWcpOwogICAgICAgICBzZXR1cFN0dWJBcmd1bWVudHMoYmFzZVJlZywg
cHJvcGVydHlSZWcsIHZhbHVlUmVnKTsKICAgICAgICAgbV9qaXQubW92ZShHUFJJbmZvOjpjYWxs
RnJhbWVSZWdpc3RlciwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKICAgICAgICAgSklUQ29tcGls
ZXI6OkNhbGwgZnVuY3Rpb25DYWxsID0gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVy
YXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91bmRzKTsKLSAgICAgICAgc2lsZW50RmlsbEFsbFJl
Z2lzdGVycyhzdG9yYWdlUmVnKTsKKyAgICAgICAgc2lsZW50RmlsbEFsbFJlZ2lzdGVycyhzY3Jh
dGNoUmVnKTsKICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgd2FzQmV5b25kQXJyYXlCb3VuZHMg
PSBtX2ppdC5qdW1wKCk7CiAKICAgICAgICAgd2l0aGluQXJyYXlCb3VuZHMubGluaygmbV9qaXQp
OwogCiAgICAgICAgIC8vIEdldCB0aGUgYXJyYXkgc3RvcmFnZS4KKyAgICAgICAgR1BSUmVnIHN0
b3JhZ2VSZWcgPSBzY3JhdGNoUmVnOwogICAgICAgICBtX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKGJhc2VSZWcsIEpTQXJyYXk6OnN0b3JhZ2VPZmZzZXQoKSksIHN0b3JhZ2VS
ZWcpOwogCiAgICAgICAgIC8vIENoZWNrIGlmIHdlJ3JlIHdyaXRpbmcgdG8gYSBob2xlOyBpZiBz
byBpbmNyZW1lbnQgbV9udW1WYWx1ZXNJblZlY3Rvci4KQEAgLTk0NSwxNyArOTQ4LDIwIEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAgICAgU3BlY3VsYXRl
Q2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLmNoaWxkMSk7CiAgICAgICAgIFNwZWN1bGF0ZVN0
cmljdEludDMyT3BlcmFuZCBwcm9wZXJ0eSh0aGlzLCBub2RlLmNoaWxkMik7CiAgICAgICAgIEpT
VmFsdWVPcGVyYW5kIHZhbHVlKHRoaXMsIG5vZGUuY2hpbGQzKTsKLSAgICAgICAgR1BSVGVtcG9y
YXJ5IHN0b3JhZ2UodGhpcywgYmFzZSk7IC8vIHN0b3JhZ2UgbWF5IG92ZXJ3cml0ZSBiYXNlLgor
ICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKKyAgICAgICAgCisgICAgICAgIEdQ
UlJlZyBiYXNlUmVnID0gYmFzZS5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBz
Y3JhdGNoLmdwcigpOworCisgICAgICAgIHdyaXRlQmFycmllcihiYXNlUmVnLCBzY3JhdGNoUmVn
KTsKIAogICAgICAgICAvLyBHZXQgdGhlIGFycmF5IHN0b3JhZ2UuCi0gICAgICAgIEdQUlJlZyBz
dG9yYWdlUmVnID0gc3RvcmFnZS5ncHIoKTsKLSAgICAgICAgbV9qaXQubG9hZFB0cihNYWNyb0Fz
c2VtYmxlcjo6QWRkcmVzcyhiYXNlLmdwcigpLCBKU0FycmF5OjpzdG9yYWdlT2Zmc2V0KCkpLCBz
dG9yYWdlUmVnKTsKKyAgICAgICAgR1BSUmVnIHN0b3JhZ2VSZWcgPSBzY3JhdGNoUmVnOworICAg
ICAgICBtX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VSZWcsIEpTQXJy
YXk6OnN0b3JhZ2VPZmZzZXQoKSksIHN0b3JhZ2VSZWcpOwogCi0gICAgICAgIC8vIE1hcCBwcm9w
ZXJ0eSAmIHZhbHVlIGludG8gcmVnaXN0ZXJzLgorICAgICAgICAvLyBTdG9yZSB0aGUgdmFsdWUg
dG8gdGhlIGFycmF5LgogICAgICAgICBHUFJSZWcgcHJvcGVydHlSZWcgPSBwcm9wZXJ0eS5ncHIo
KTsKICAgICAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUuZ3ByKCk7Ci0KLSAgICAgICAgLy8g
U3RvcmUgdGhlIHZhbHVlIHRvIHRoZSBhcnJheS4KICAgICAgICAgbV9qaXQuc3RvcmVQdHIodmFs
dWVSZWcsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoc3RvcmFnZVJlZywgcHJvcGVydHlSZWcs
IE1hY3JvQXNzZW1ibGVyOjpTY2FsZVB0ciwgT0JKRUNUX09GRlNFVE9GKEFycmF5U3RvcmFnZSwg
bV92ZWN0b3JbMF0pKSk7CiAKICAgICAgICAgbm9SZXN1bHQobV9jb21waWxlSW5kZXgpOwpAQCAt
MTA0OCw3ICsxMDU0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2Rl
KQogICAgIGNhc2UgUHV0QnlJZDogewogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNl
KHRoaXMsIG5vZGUuY2hpbGQxKTsKICAgICAgICAgSlNWYWx1ZU9wZXJhbmQgdmFsdWUodGhpcywg
bm9kZS5jaGlsZDIpOwotICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzLCBiYXNlKTsK
KyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAKICAgICAgICAgY2FjaGVkUHV0
QnlJZChiYXNlLmdwcigpLCB2YWx1ZS5ncHIoKSwgc2NyYXRjaC5ncHIoKSwgbm9kZS5pZGVudGlm
aWVyTnVtYmVyKCksIE5vdERpcmVjdCk7CiAgICAgICAgIApAQCAtMTA1OSw3ICsxMDY1LDcgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgIGNhc2UgUHV0QnlJ
ZERpcmVjdDogewogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRoaXMsIG5vZGUu
Y2hpbGQxKTsKICAgICAgICAgSlNWYWx1ZU9wZXJhbmQgdmFsdWUodGhpcywgbm9kZS5jaGlsZDIp
OwotICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzLCBiYXNlKTsKKyAgICAgICAgR1BS
VGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAKICAgICAgICAgY2FjaGVkUHV0QnlJZChiYXNlLmdw
cigpLCB2YWx1ZS5ncHIoKSwgc2NyYXRjaC5ncHIoKSwgbm9kZS5pZGVudGlmaWVyTnVtYmVyKCks
IERpcmVjdCk7CiAKQEAgLTEwODAsMTEgKzEwODYsMTggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZShOb2RlJiBub2RlKQogCiAgICAgY2FzZSBQdXRHbG9iYWxWYXI6IHsKICAgICAgICAg
SlNWYWx1ZU9wZXJhbmQgdmFsdWUodGhpcywgbm9kZS5jaGlsZDEpOwotICAgICAgICBHUFJUZW1w
b3JhcnkgdGVtcCh0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IGdsb2JhbE9iamVjdCh0aGlz
KTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CisgICAgICAgIAorICAgICAg
ICBHUFJSZWcgZ2xvYmFsT2JqZWN0UmVnID0gZ2xvYmFsT2JqZWN0LmdwcigpOworICAgICAgICBH
UFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAKLSAgICAgICAgSlNWYXJpYWJsZU9i
amVjdCogZ2xvYmFsT2JqZWN0ID0gbV9qaXQuY29kZUJsb2NrKCktPmdsb2JhbE9iamVjdCgpOwot
ICAgICAgICBtX2ppdC5sb2FkUHRyKGdsb2JhbE9iamVjdC0+YWRkcmVzc09mUmVnaXN0ZXJzKCks
IHRlbXAuZ3ByKCkpOwotICAgICAgICBtX2ppdC5zdG9yZVB0cih2YWx1ZS5ncHIoKSwgSklUQ29t
cGlsZXI6OmFkZHJlc3NGb3JHbG9iYWxWYXIodGVtcC5ncHIoKSwgbm9kZS52YXJOdW1iZXIoKSkp
OworICAgICAgICBtX2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKG1faml0
LmNvZGVCbG9jaygpLT5nbG9iYWxPYmplY3QoKSksIGdsb2JhbE9iamVjdFJlZyk7CisKKyAgICAg
ICAgd3JpdGVCYXJyaWVyKGdsb2JhbE9iamVjdFJlZywgc2NyYXRjaFJlZyk7CisKKyAgICAgICAg
bV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhnbG9iYWxPYmplY3RSZWcsIEpT
VmFyaWFibGVPYmplY3Q6Om9mZnNldE9mUmVnaXN0ZXJzKCkpLCBzY3JhdGNoUmVnKTsKKyAgICAg
ICAgbV9qaXQuc3RvcmVQdHIodmFsdWUuZ3ByKCksIEpJVENvbXBpbGVyOjphZGRyZXNzRm9yR2xv
YmFsVmFyKHNjcmF0Y2hSZWcsIG5vZGUudmFyTnVtYmVyKCkpKTsKIAogICAgICAgICBub1Jlc3Vs
dChtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCShyZXZpc2lv
biA5MDE3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3Mz
Ml82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzUsNiArMTA3NSw3IEBAIHZvaWQgSklUOjpl
bWl0V3JpdGVCYXJyaWVyKFJlZ2lzdGVySUQgb3cKIHsKICAgICBVTlVTRURfUEFSQU0ob3duZXIp
OwogICAgIFVOVVNFRF9QQVJBTShzY3JhdGNoKTsKKyAgICBBU1NFUlQob3duZXIgIT0gc2NyYXRj
aCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAJKHJldmlzaW9uIDkwMTcwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwMjEsNiArMTAyMSw3IEBAIHZvaWQgSklUOjplbWl0V3JpdGVCYXJyaWVyKFJlZ2lz
dGVySUQgb3cKIHsKICAgICBVTlVTRURfUEFSQU0ob3duZXIpOwogICAgIFVOVVNFRF9QQVJBTShz
Y3JhdGNoKTsKKyAgICBBU1NFUlQob3duZXIgIT0gc2NyYXRjaCk7CiB9CiAKICNlbmRpZiAvLyBV
U0UoSlNWQUxVRTY0KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJp
YWJsZU9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTVmFyaWFibGVPYmplY3QuaAkocmV2aXNpb24gOTAxNzApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYg
KzU3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiYg
cmVnaXN0ZXJBdChpbnQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0ZXJzW2luZGV4XTsg
fQogCiAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiogY29uc3QgKiBhZGRyZXNzT2ZSZWdp
c3RlcnMoKSBjb25zdCB7IHJldHVybiAmbV9yZWdpc3RlcnM7IH0KKyAgICAgICAgc3RhdGljIHNp
emVfdCBvZmZzZXRPZlJlZ2lzdGVycygpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1Zhcmlh
YmxlT2JqZWN0LCBtX3JlZ2lzdGVycyk7IH0KIAogICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBj
cmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU1ZhbHVlIHByb3RvdHlw
ZSkKICAgICAgICAgewo=
</data>
<flag name="review"
          id="93849"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>