<?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>89128</bug_id>
          
          <creation_ts>2012-06-14 15:00:32 -0700</creation_ts>
          <short_desc>GC copy phase spends needless cycles zero-filling blocks</short_desc>
          <delta_ts>2012-06-17 21:35:26 -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>fpizlo</cc>
    
    <cc>mhahnenberg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>649521</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-14 15:00:32 -0700</bug_when>
    <thetext>GC copy phase spends needless cycles zero-filling blocks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649529</commentid>
    <comment_count>1</comment_count>
      <attachid>147661</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-14 15:08:20 -0700</bug_when>
    <thetext>Created attachment 147661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651154</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-17 21:35:26 -0700</bug_when>
    <thetext>Committed r120568: &lt;http://trac.webkit.org/changeset/120568&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147661</attachid>
            <date>2012-06-14 15:08:20 -0700</date>
            <delta_ts>2012-06-14 23:08:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89128-20120614150819.patch</filename>
            <type>text/plain</type>
            <size>11571</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTIwMzYyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBA
CisyMDEyLTA2LTE0ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgR0MgY29weSBwaGFzZSBzcGVuZHMgbmVlZGxlc3MgY3ljbGVzIHplcm8tZmlsbGluZyBibG9j
a3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MTI4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugb25s
eSBuZWVkIHRvIHplcm8tZmlsbCB3aGVuIHdlJ3JlIGFsbG9jYXRpbmcgbWVtb3J5IHRoYXQgbWln
aHQgbm90CisgICAgICAgIGdldCBmdWxseSBpbml0aWFsaXplZCBiZWZvcmUgR0MuCisKKyAgICAg
ICAgKiBoZWFwL0NvcGllZEJsb2NrLmg6CisgICAgICAgIChKU0M6OkNvcGllZEJsb2NrOjpjcmVh
dGVOb1plcm9GaWxsKToKKyAgICAgICAgKEpTQzo6Q29waWVkQmxvY2s6OmNyZWF0ZSk6IEFkZGVk
IGEgd2F5IHRvIGNyZWF0ZSB3aXRob3V0IHplcm8tZmlsbGluZy4KKyAgICAgICAgVGhpcyBpcyBv
dXIgb3B0aW1pemF0aW9uLgorCisgICAgICAgIChKU0M6OkNvcGllZEJsb2NrOjp6ZXJvRmlsbFRv
RW5kKToKKyAgICAgICAgKEpTQzo6Q29waWVkQmxvY2s6OkNvcGllZEJsb2NrKTogU3BsaXQgemVy
by1maWxsaW5nIG91dCBmcm9tIGNyZWF0aW9uLAorICAgICAgICBzbyB3ZSBjYW4gc29tZXRpbWVz
IGNyZWF0ZSB3aXRob3V0IHplcm8tZmlsbGluZy4KKworICAgICAgICAqIGhlYXAvQ29waWVkU3Bh
Y2UuY3BwOgorICAgICAgICAoSlNDOjpDb3BpZWRTcGFjZTo6aW5pdCk6CisgICAgICAgIChKU0M6
OkNvcGllZFNwYWNlOjp0cnlBbGxvY2F0ZVNsb3dDYXNlKToKKyAgICAgICAgKEpTQzo6Q29waWVk
U3BhY2U6OmRvbmVDb3B5aW5nKTogUmVuYW1lZCBhZGROZXdCbG9jayB0byBhbGxvY2F0ZUJsb2Nr
KCkKKyAgICAgICAgdG8gY2xhcmlmeSB0aGF0IHRoZSBuZXcgYmxvY2sgaXMgYWx3YXlzIG5ld2x5
LWFsbG9jYXRlZC4KKworICAgICAgICAoSlNDOjpDb3BpZWRTcGFjZTo6ZG9uZUZpbGxpbmdCbG9j
ayk6IE1ha2Ugc3VyZSB0byB6ZXJvLWZpbGwgdG8gdGhlIGVuZAorICAgICAgICBvZiBhIGJsb2Nr
IHRoYXQgbWlnaHQgYmUgdXNlZCBpbiB0aGUgZnV0dXJlIGZvciBhbGxvY2F0aW9uLiAoTW9zdCBv
ZiB0aGUKKyAgICAgICAgdGltZSwgdGhpcyBpcyBhIG5vLW9wLCBzaW5jZSB3ZSd2ZSBhbHJlYWR5
IGZpbGxlZCB0aGUgYmxvY2sgY29tcGxldGVseS4pCisKKyAgICAgICAgKEpTQzo6Q29waWVkU3Bh
Y2U6OmdldEZyZXNoQmxvY2spOiBSZW1vdmVkIHRoaXMgZnVuY3Rpb24gYmVjYXVzZSB0aGUKKyAg
ICAgICAgYWJzdHJhY3Rpb24gb2YgImFsbG9jYXRpb24gbXVzdCBzdWNjZWVkIiBpcyBubyBsb25n
ZXIgdXNlZnVsLgorCisgICAgICAgICogaGVhcC9Db3BpZWRTcGFjZS5oOiBVcGRhdGVkIGRlY2xh
cmF0aW9ucyB0byBtYXRjaC4KKworICAgICAgICAqIGhlYXAvQ29waWVkU3BhY2VJbmxpbmVNZXRo
b2RzLmg6CisgICAgICAgIChKU0M6OkNvcGllZFNwYWNlOjphbGxvY2F0ZUJsb2NrRm9yQ29weWlu
Z1BoYXNlKTogTmV3IGZ1bmN0aW9uLCB3aGljaAorICAgICAgICBrbm93cyB0aGF0IGl0IGNhbiBz
a2lwIHplcm8tZmlsbGluZy4KKworICAgICAgICBBZGRlZCB0aWdodGVyIHNjb3BpbmcgdG8gb3Vy
IGxvY2ssIHRvIGltcHJvdmUgcGFyYWxsZWxpc20uCisKKyAgICAgICAgKEpTQzo6Q29waWVkU3Bh
Y2U6OmFsbG9jYXRlQmxvY2spOiBGb2xkZWQgZ2V0RnJlc2hCbG9jayBmdW5jdGlvbmFsaXR5Cisg
ICAgICAgIGludG8gdGhpcyBmdW5jdGlvbiwgZm9yIHNpbXBsaWNpdHkuCisKKyAgICAgICAgKiBo
ZWFwL01hcmtTdGFjay5jcHA6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjpzdGFydENvcHlp
bmcpOgorICAgICAgICAoSlNDOjpTbG90VmlzaXRvcjo6YWxsb2NhdGVOZXdTcGFjZSk6IFVzZSBv
dXIgbmV3IHplcm8tZmlsbC1mcmVlIGhlbHBlcgorICAgICAgICBmdW5jdGlvbiBmb3IgZ3JlYXQg
Z29vZC4KKwogMjAxMi0wNi0xMyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAg
ICAgICAgIERGRyBzaG91bGQgYmUgYWJsZSB0byBzZXQgd2F0Y2hwb2ludHMgb24gZ2xvYmFsIHZh
cmlhYmxlcwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29waWVkQmxvY2suaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db3BpZWRCbG9jay5oCShy
ZXZpc2lvbiAxMjAzNTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db3BpZWRCbG9j
ay5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIENvcGllZEJsb2NrIDog
cHVibGljIEhlYXBCbG9jayB7CiAgICAgZnJpZW5kIGNsYXNzIENvcGllZEFsbG9jYXRvcjsKIHB1
YmxpYzoKICAgICBzdGF0aWMgQ29waWVkQmxvY2sqIGNyZWF0ZShjb25zdCBQYWdlQWxsb2NhdGlv
bkFsaWduZWQmKTsKKyAgICBzdGF0aWMgQ29waWVkQmxvY2sqIGNyZWF0ZU5vWmVyb0ZpbGwoY29u
c3QgUGFnZUFsbG9jYXRpb25BbGlnbmVkJik7CiAgICAgc3RhdGljIFBhZ2VBbGxvY2F0aW9uQWxp
Z25lZCBkZXN0cm95KENvcGllZEJsb2NrKik7CiAKICAgICBjaGFyKiBwYXlsb2FkKCk7CkBAIC00
NywxNiArNDgsMzcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIENvcGllZEJsb2NrKGNvbnN0
IFBhZ2VBbGxvY2F0aW9uQWxpZ25lZCYpOworICAgIHZvaWQgemVyb0ZpbGxUb0VuZCgpOyAvLyBD
YW4gYmUgY2FsbGVkIGF0IGFueSB0aW1lIHRvIHplcm8tZmlsbCB0byB0aGUgZW5kIG9mIHRoZSBi
bG9jay4KIAogICAgIHZvaWQqIG1fb2Zmc2V0OwogICAgIHVpbnRwdHJfdCBtX2lzUGlubmVkOwog
fTsKIAotaW5saW5lIENvcGllZEJsb2NrKiBDb3BpZWRCbG9jazo6Y3JlYXRlKGNvbnN0IFBhZ2VB
bGxvY2F0aW9uQWxpZ25lZCYgYWxsb2NhdGlvbikKK2lubGluZSBDb3BpZWRCbG9jayogQ29waWVk
QmxvY2s6OmNyZWF0ZU5vWmVyb0ZpbGwoY29uc3QgUGFnZUFsbG9jYXRpb25BbGlnbmVkJiBhbGxv
Y2F0aW9uKQogewogICAgIHJldHVybiBuZXcoTm90TnVsbCwgYWxsb2NhdGlvbi5iYXNlKCkpIENv
cGllZEJsb2NrKGFsbG9jYXRpb24pOwogfQogCitpbmxpbmUgQ29waWVkQmxvY2sqIENvcGllZEJs
b2NrOjpjcmVhdGUoY29uc3QgUGFnZUFsbG9jYXRpb25BbGlnbmVkJiBhbGxvY2F0aW9uKQorewor
ICAgIENvcGllZEJsb2NrKiBibG9jayA9IGNyZWF0ZU5vWmVyb0ZpbGwoYWxsb2NhdGlvbik7Cisg
ICAgYmxvY2stPnplcm9GaWxsVG9FbmQoKTsKKyAgICByZXR1cm4gYmxvY2s7Cit9CisKK2lubGlu
ZSB2b2lkIENvcGllZEJsb2NrOjp6ZXJvRmlsbFRvRW5kKCkKK3sKKyNpZiBVU0UoSlNWQUxVRTY0
KQorICAgIGNoYXIqIG9mZnNldCA9IHN0YXRpY19jYXN0PGNoYXIqPihtX29mZnNldCk7CisgICAg
bWVtc2V0KHN0YXRpY19jYXN0PHZvaWQqPihvZmZzZXQpLCAwLCBzdGF0aWNfY2FzdDxzaXplX3Q+
KChyZWludGVycHJldF9jYXN0PGNoYXIqPih0aGlzKSArIG1fYWxsb2NhdGlvbi5zaXplKCkpIC0g
b2Zmc2V0KSk7CisjZWxzZQorICAgIEpTVmFsdWUgZW1wdHlWYWx1ZTsKKyAgICBKU1ZhbHVlKiBs
aW1pdCA9IHJlaW50ZXJwcmV0X2Nhc3RfcHRyPEpTVmFsdWUqPihyZWludGVycHJldF9jYXN0PGNo
YXIqPih0aGlzKSArIG1fYWxsb2NhdGlvbi5zaXplKCkpOworICAgIGZvciAoSlNWYWx1ZSogY3Vy
cmVudFZhbHVlID0gcmVpbnRlcnByZXRfY2FzdDxKU1ZhbHVlKj4obV9vZmZzZXQpOyBjdXJyZW50
VmFsdWUgPCBsaW1pdDsgY3VycmVudFZhbHVlKyspCisgICAgICAgICpjdXJyZW50VmFsdWUgPSBl
bXB0eVZhbHVlOworI2VuZGlmCit9CisKIGlubGluZSBQYWdlQWxsb2NhdGlvbkFsaWduZWQgQ29w
aWVkQmxvY2s6OmRlc3Ryb3koQ29waWVkQmxvY2sqIGJsb2NrKQogewogICAgIFBhZ2VBbGxvY2F0
aW9uQWxpZ25lZCBhbGxvY2F0aW9uOwpAQCAtNzIsMTUgKzk0LDYgQEAgaW5saW5lIENvcGllZEJs
b2NrOjpDb3BpZWRCbG9jayhjb25zdCBQYQogICAgICwgbV9pc1Bpbm5lZChmYWxzZSkKIHsKICAg
ICBBU1NFUlQoaXM4Qnl0ZUFsaWduZWQoc3RhdGljX2Nhc3Q8dm9pZCo+KG1fb2Zmc2V0KSkpOwot
I2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgY2hhciogb2Zmc2V0ID0gc3RhdGljX2Nhc3Q8Y2hhcio+
KG1fb2Zmc2V0KTsKLSAgICBtZW1zZXQoc3RhdGljX2Nhc3Q8dm9pZCo+KG9mZnNldCksIDAsIHN0
YXRpY19jYXN0PHNpemVfdD4oKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHRoaXMpICsgYWxsb2Nh
dGlvbi5zaXplKCkpIC0gb2Zmc2V0KSk7Ci0jZWxzZQotICAgIEpTVmFsdWUgZW1wdHlWYWx1ZTsK
LSAgICBKU1ZhbHVlKiBsaW1pdCA9IHJlaW50ZXJwcmV0X2Nhc3RfcHRyPEpTVmFsdWUqPihyZWlu
dGVycHJldF9jYXN0PGNoYXIqPih0aGlzKSArIGFsbG9jYXRpb24uc2l6ZSgpKTsKLSAgICBmb3Ig
KEpTVmFsdWUqIGN1cnJlbnRWYWx1ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8SlNWYWx1ZSo+KG1fb2Zm
c2V0KTsgY3VycmVudFZhbHVlIDwgbGltaXQ7IGN1cnJlbnRWYWx1ZSsrKQotICAgICAgICAqY3Vy
cmVudFZhbHVlID0gZW1wdHlWYWx1ZTsKLSNlbmRpZgogfQogCiBpbmxpbmUgY2hhciogQ29waWVk
QmxvY2s6OnBheWxvYWQoKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29waWVk
U3BhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvcGll
ZFNwYWNlLmNwcAkocmV2aXNpb24gMTIwMzU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvQ29waWVkU3BhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw4ICs1OCw3IEBAIHZvaWQg
Q29waWVkU3BhY2U6OmluaXQoKQogICAgIG1fdG9TcGFjZSA9ICZtX2Jsb2NrczE7CiAgICAgbV9m
cm9tU3BhY2UgPSAmbV9ibG9ja3MyOwogICAgIAotICAgIGlmICghYWRkTmV3QmxvY2soKSkKLSAg
ICAgICAgQ1JBU0goKTsKKyAgICBhbGxvY2F0ZUJsb2NrKCk7CiB9ICAgCiAKIENoZWNrZWRCb29s
ZWFuIENvcGllZFNwYWNlOjp0cnlBbGxvY2F0ZVNsb3dDYXNlKHNpemVfdCBieXRlcywgdm9pZCoq
IG91dFB0cikKQEAgLTY5LDEwICs2OCw4IEBAIENoZWNrZWRCb29sZWFuIENvcGllZFNwYWNlOjp0
cnlBbGxvY2F0ZVMKICAgICAKICAgICBtX2hlYXAtPmRpZEFsbG9jYXRlKG1fYWxsb2NhdG9yLmN1
cnJlbnRDYXBhY2l0eSgpKTsKIAotICAgIGlmICghYWRkTmV3QmxvY2soKSkgewotICAgICAgICAq
b3V0UHRyID0gMDsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KKyAgICBhbGxvY2F0ZUJs
b2NrKCk7CisKICAgICAqb3V0UHRyID0gbV9hbGxvY2F0b3IuYWxsb2NhdGUoYnl0ZXMpOwogICAg
IEFTU0VSVCgqb3V0UHRyKTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE2OCw2ICsxNjUsOCBAQCB2
b2lkIENvcGllZFNwYWNlOjpkb25lRmlsbGluZ0Jsb2NrKENvcGllCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKKyAgICBibG9jay0+emVyb0ZpbGxUb0VuZCgpOworCiAgICAgewogICAgICAgICBT
cGluTG9ja0hvbGRlciBsb2NrZXIoJm1fdG9TcGFjZUxvY2spOwogICAgICAgICBtX3RvU3BhY2Ut
PnB1c2goYmxvY2spOwpAQCAtMjIzLDM1ICsyMjIsMTIgQEAgdm9pZCBDb3BpZWRTcGFjZTo6ZG9u
ZUNvcHlpbmcoKQogICAgICAgICBjdXJyID0gbmV4dDsKICAgICB9CiAKLSAgICBpZiAoIW1fdG9T
cGFjZS0+aGVhZCgpKSB7Ci0gICAgICAgIGlmICghYWRkTmV3QmxvY2soKSkKLSAgICAgICAgICAg
IENSQVNIKCk7Ci0gICAgfSBlbHNlCisgICAgaWYgKCFtX3RvU3BhY2UtPmhlYWQoKSkKKyAgICAg
ICAgYWxsb2NhdGVCbG9jaygpOworICAgIGVsc2UKICAgICAgICAgbV9hbGxvY2F0b3IucmVzZXRD
dXJyZW50QmxvY2soc3RhdGljX2Nhc3Q8Q29waWVkQmxvY2sqPihtX3RvU3BhY2UtPmhlYWQoKSkp
OwogfQogCi1DaGVja2VkQm9vbGVhbiBDb3BpZWRTcGFjZTo6Z2V0RnJlc2hCbG9jayhBbGxvY2F0
aW9uRWZmb3J0IGFsbG9jYXRpb25FZmZvcnQsIENvcGllZEJsb2NrKiogb3V0QmxvY2spCi17Ci0g
ICAgQ29waWVkQmxvY2sqIGJsb2NrID0gMDsKLSAgICBpZiAoYWxsb2NhdGlvbkVmZm9ydCA9PSBB
bGxvY2F0aW9uTXVzdFN1Y2NlZWQpCi0gICAgICAgIGJsb2NrID0gQ29waWVkQmxvY2s6OmNyZWF0
ZShtX2hlYXAtPmJsb2NrQWxsb2NhdG9yKCkuYWxsb2NhdGUoKSk7Ci0gICAgZWxzZSB7Ci0gICAg
ICAgIEFTU0VSVChhbGxvY2F0aW9uRWZmb3J0ID09IEFsbG9jYXRpb25DYW5GYWlsKTsKLSAgICAg
ICAgaWYgKG1faGVhcC0+c2hvdWxkQ29sbGVjdCgpKQotICAgICAgICAgICAgbV9oZWFwLT5jb2xs
ZWN0KEhlYXA6OkRvTm90U3dlZXApOwotICAgICAgICAKLSAgICAgICAgaWYgKCFnZXRGcmVzaEJs
b2NrKEFsbG9jYXRpb25NdXN0U3VjY2VlZCwgJmJsb2NrKSkgewotICAgICAgICAgICAgKm91dEJs
b2NrID0gMDsKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQotICAgIEFTU0VSVChibG9jayk7Ci0gICAg
QVNTRVJUKGlzOEJ5dGVBbGlnbmVkKGJsb2NrLT5tX29mZnNldCkpOwotICAgICpvdXRCbG9jayA9
IGJsb2NrOwotICAgIHJldHVybiB0cnVlOwotfQotCiBzaXplX3QgQ29waWVkU3BhY2U6OnNpemUo
KQogewogICAgIHNpemVfdCBjYWxjdWxhdGVkU2l6ZSA9IDA7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9Db3BpZWRTcGFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0NvcGllZFNwYWNlLmgJKHJldmlzaW9uIDEyMDM1NCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0NvcGllZFNwYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc3LDIy
ICs3NywyMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIENvcGllZEJsb2NrKiBibG9ja0Zvcih2b2lk
Kik7CiAKIHByaXZhdGU6Ci0gICAgQ2hlY2tlZEJvb2xlYW4gdHJ5QWxsb2NhdGVTbG93Q2FzZShz
aXplX3QsIHZvaWQqKik7Ci0gICAgQ2hlY2tlZEJvb2xlYW4gYWRkTmV3QmxvY2soKTsKLSAgICBD
aGVja2VkQm9vbGVhbiBhbGxvY2F0ZU5ld0Jsb2NrKENvcGllZEJsb2NrKiopOwotICAgIAogICAg
IHN0YXRpYyB2b2lkKiBhbGxvY2F0ZUZyb21CbG9jayhDb3BpZWRCbG9jayosIHNpemVfdCk7Cisg
ICAgc3RhdGljIGJvb2wgaXNPdmVyc2l6ZShzaXplX3QpOworICAgIHN0YXRpYyBib29sIGZpdHNJ
bkJsb2NrKENvcGllZEJsb2NrKiwgc2l6ZV90KTsKKyAgICBzdGF0aWMgQ29waWVkQmxvY2sqIG92
ZXJzaXplQmxvY2tGb3Iodm9pZCogcHRyKTsKKworICAgIENoZWNrZWRCb29sZWFuIHRyeUFsbG9j
YXRlU2xvd0Nhc2Uoc2l6ZV90LCB2b2lkKiopOwogICAgIENoZWNrZWRCb29sZWFuIHRyeUFsbG9j
YXRlT3ZlcnNpemUoc2l6ZV90LCB2b2lkKiopOwogICAgIENoZWNrZWRCb29sZWFuIHRyeVJlYWxs
b2NhdGVPdmVyc2l6ZSh2b2lkKiosIHNpemVfdCwgc2l6ZV90KTsKICAgICAKLSAgICBzdGF0aWMg
Ym9vbCBpc092ZXJzaXplKHNpemVfdCk7Ci0gICAgCi0gICAgQ2hlY2tlZEJvb2xlYW4gYm9ycm93
QmxvY2soQ29waWVkQmxvY2sqKik7Ci0gICAgQ2hlY2tlZEJvb2xlYW4gZ2V0RnJlc2hCbG9jayhB
bGxvY2F0aW9uRWZmb3J0LCBDb3BpZWRCbG9jayoqKTsKKyAgICB2b2lkIGFsbG9jYXRlQmxvY2so
KTsKKyAgICBDb3BpZWRCbG9jayogYWxsb2NhdGVCbG9ja0ZvckNvcHlpbmdQaGFzZSgpOworCiAg
ICAgdm9pZCBkb25lRmlsbGluZ0Jsb2NrKENvcGllZEJsb2NrKik7CiAgICAgdm9pZCByZWN5Y2xl
QmxvY2soQ29waWVkQmxvY2sqKTsKLSAgICBzdGF0aWMgYm9vbCBmaXRzSW5CbG9jayhDb3BpZWRC
bG9jayosIHNpemVfdCk7Ci0gICAgc3RhdGljIENvcGllZEJsb2NrKiBvdmVyc2l6ZUJsb2NrRm9y
KHZvaWQqIHB0cik7CiAKICAgICBIZWFwKiBtX2hlYXA7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0NvcGllZFNwYWNlSW5saW5lTWV0aG9kcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvcGllZFNwYWNlSW5saW5lTWV0aG9kcy5oCShyZXZp
c2lvbiAxMjAzNTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db3BpZWRTcGFjZUlu
bGluZU1ldGhvZHMuaAkod29ya2luZyBjb3B5KQpAQCAtODQsNDYgKzg0LDMxIEBAIGlubGluZSB2
b2lkIENvcGllZFNwYWNlOjpyZWN5Y2xlQmxvY2soQ28KICAgICB9CiB9CiAKLWlubGluZSBDaGVj
a2VkQm9vbGVhbiBDb3BpZWRTcGFjZTo6Ym9ycm93QmxvY2soQ29waWVkQmxvY2sqKiBvdXRCbG9j
aykKK2lubGluZSBDb3BpZWRCbG9jayogQ29waWVkU3BhY2U6OmFsbG9jYXRlQmxvY2tGb3JDb3B5
aW5nUGhhc2UoKQogewotICAgIENvcGllZEJsb2NrKiBibG9jayA9IDA7Ci0gICAgaWYgKCFnZXRG
cmVzaEJsb2NrKEFsbG9jYXRpb25NdXN0U3VjY2VlZCwgJmJsb2NrKSkgewotICAgICAgICAqb3V0
QmxvY2sgPSAwOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCiAgICAgQVNTRVJUKG1f
aW5Db3B5aW5nUGhhc2UpOwotICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX2xvYW5lZEJsb2Nrc0xv
Y2spOwotICAgIG1fbnVtYmVyT2ZMb2FuZWRCbG9ja3MrKzsKKyAgICBDb3BpZWRCbG9jayogYmxv
Y2sgPSBDb3BpZWRCbG9jazo6Y3JlYXRlTm9aZXJvRmlsbChtX2hlYXAtPmJsb2NrQWxsb2NhdG9y
KCkuYWxsb2NhdGUoKSk7CisKKyAgICB7CisgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX2xv
YW5lZEJsb2Nrc0xvY2spOworICAgICAgICBtX251bWJlck9mTG9hbmVkQmxvY2tzKys7CisgICAg
fQogCiAgICAgQVNTRVJUKGJsb2NrLT5tX29mZnNldCA9PSBibG9jay0+cGF5bG9hZCgpKTsKLSAg
ICAqb3V0QmxvY2sgPSBibG9jazsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gYmxvY2s7
CiB9CiAKLWlubGluZSBDaGVja2VkQm9vbGVhbiBDb3BpZWRTcGFjZTo6YWRkTmV3QmxvY2soKQor
aW5saW5lIHZvaWQgQ29waWVkU3BhY2U6OmFsbG9jYXRlQmxvY2soKQogewotICAgIENvcGllZEJs
b2NrKiBibG9jayA9IDA7Ci0gICAgaWYgKCFnZXRGcmVzaEJsb2NrKEFsbG9jYXRpb25DYW5GYWls
LCAmYmxvY2spKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1faGVhcC0+c2hvdWxk
Q29sbGVjdCgpKQorICAgICAgICBtX2hlYXAtPmNvbGxlY3QoSGVhcDo6RG9Ob3RTd2VlcCk7CisK
KyAgICBDb3BpZWRCbG9jayogYmxvY2sgPSBDb3BpZWRCbG9jazo6Y3JlYXRlKG1faGVhcC0+Ymxv
Y2tBbGxvY2F0b3IoKS5hbGxvY2F0ZSgpKTsKICAgICAgICAgCiAgICAgbV90b1NwYWNlLT5wdXNo
KGJsb2NrKTsKICAgICBtX2Jsb2NrRmlsdGVyLmFkZChyZWludGVycHJldF9jYXN0PEJpdHM+KGJs
b2NrKSk7CiAgICAgbV9ibG9ja1NldC5hZGQoYmxvY2spOwogICAgIG1fYWxsb2NhdG9yLnJlc2V0
Q3VycmVudEJsb2NrKGJsb2NrKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotaW5saW5lIENoZWNr
ZWRCb29sZWFuIENvcGllZFNwYWNlOjphbGxvY2F0ZU5ld0Jsb2NrKENvcGllZEJsb2NrKiogb3V0
QmxvY2spCi17Ci0gICAgUGFnZUFsbG9jYXRpb25BbGlnbmVkIGFsbG9jYXRpb24gPSBQYWdlQWxs
b2NhdGlvbkFsaWduZWQ6OmFsbG9jYXRlKEhlYXBCbG9jazo6c19ibG9ja1NpemUsIEhlYXBCbG9j
azo6c19ibG9ja1NpemUsIE9TQWxsb2NhdG9yOjpKU0dDSGVhcFBhZ2VzKTsKLSAgICBpZiAoIXN0
YXRpY19jYXN0PGJvb2w+KGFsbG9jYXRpb24pKSB7Ci0gICAgICAgICpvdXRCbG9jayA9IDA7Ci0g
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICAqb3V0QmxvY2sgPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRpb24uYmFzZSgpKSBDb3BpZWRCbG9jayhhbGxvY2F0aW9uKTsKLSAgICByZXR1
cm4gdHJ1ZTsKIH0KIAogaW5saW5lIGJvb2wgQ29waWVkU3BhY2U6OmZpdHNJbkJsb2NrKENvcGll
ZEJsb2NrKiBibG9jaywgc2l6ZV90IGJ5dGVzKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvTWFya1N0YWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9NYXJrU3RhY2suY3BwCShyZXZpc2lvbiAxMjAzNTQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9NYXJrU3RhY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTUsOCArNDk1LDcg
QEAgdm9pZCBNYXJrU3RhY2s6Om1lcmdlT3BhcXVlUm9vdHMoKQogdm9pZCBTbG90VmlzaXRvcjo6
c3RhcnRDb3B5aW5nKCkKIHsKICAgICBBU1NFUlQoIW1fY29weUJsb2NrKTsKLSAgICBpZiAoIW1f
c2hhcmVkLm1fY29waWVkU3BhY2UtPmJvcnJvd0Jsb2NrKCZtX2NvcHlCbG9jaykpCi0gICAgICAg
IENSQVNIKCk7CisgICAgbV9jb3B5QmxvY2sgPSBtX3NoYXJlZC5tX2NvcGllZFNwYWNlLT5hbGxv
Y2F0ZUJsb2NrRm9yQ29weWluZ1BoYXNlKCk7CiB9ICAgIAogCiB2b2lkKiBTbG90VmlzaXRvcjo6
YWxsb2NhdGVOZXdTcGFjZSh2b2lkKiBwdHIsIHNpemVfdCBieXRlcykKQEAgLTUxNyw4ICs1MTYs
NyBAQCB2b2lkKiBTbG90VmlzaXRvcjo6YWxsb2NhdGVOZXdTcGFjZSh2b2lkCiAgICAgICAgIC8v
IFdlIGRvbid0IG5lZWQgdG8gbG9jayBhY3Jvc3MgdGhlc2UgdHdvIGNhbGxzIGJlY2F1c2UgdGhl
IG1hc3RlciB0aHJlYWQgd29uJ3QgCiAgICAgICAgIC8vIGNhbGwgZG9uZUNvcHlpbmcoKSBiZWNh
dXNlIHRoaXMgdGhyZWFkIGlzIGNvbnNpZGVyZWQgYWN0aXZlLgogICAgICAgICBtX3NoYXJlZC5t
X2NvcGllZFNwYWNlLT5kb25lRmlsbGluZ0Jsb2NrKG1fY29weUJsb2NrKTsKLSAgICAgICAgaWYg
KCFtX3NoYXJlZC5tX2NvcGllZFNwYWNlLT5ib3Jyb3dCbG9jaygmbV9jb3B5QmxvY2spKQotICAg
ICAgICAgICAgQ1JBU0goKTsKKyAgICAgICAgbV9jb3B5QmxvY2sgPSBtX3NoYXJlZC5tX2NvcGll
ZFNwYWNlLT5hbGxvY2F0ZUJsb2NrRm9yQ29weWluZ1BoYXNlKCk7CiAgICAgfQogICAgIHJldHVy
biBDb3BpZWRTcGFjZTo6YWxsb2NhdGVGcm9tQmxvY2sobV9jb3B5QmxvY2ssIGJ5dGVzKTsKIH0K
</data>
<flag name="review"
          id="155205"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>