<?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>136868</bug_id>
          
          <creation_ts>2014-09-16 14:15:11 -0700</creation_ts>
          <short_desc>bmalloc: moved line caches from the deallocator to the allocator</short_desc>
          <delta_ts>2014-09-16 15:37:24 -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>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1035582</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-09-16 14:15:11 -0700</bug_when>
    <thetext>bmalloc: moved line caches from the deallocator to the allocator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035583</commentid>
    <comment_count>1</comment_count>
      <attachid>238209</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-09-16 14:21:00 -0700</bug_when>
    <thetext>Created attachment 238209
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035611</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-09-16 15:37:24 -0700</bug_when>
    <thetext>Committed r173675: &lt;http://trac.webkit.org/changeset/173675&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238209</attachid>
            <date>2014-09-16 14:21:00 -0700</date>
            <delta_ts>2014-09-16 14:58:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136868-20140916142056.patch</filename>
            <type>text/plain</type>
            <size>12724</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwCShyZXZpc2lvbiAxNzM1NDApCisrKyBTb3VyY2UvV1RG
L3d0Zi9GYXN0TWFsbG9jLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDYgKzEwNSwxMCBAQAog
I2RlZmluZSBVU0VfQk1BTExPQyAxCiAjZW5kaWYKIAorI2lmIChQTEFURk9STShDT0NPQSkgJiYg
KENQVShYODZfNjQpIHx8IENQVShBUk02NCkpKQorI2RlZmluZSBVU0VfQk1BTExPQyAxCisjZW5k
aWYKKwogI2lmICEoZGVmaW5lZChVU0VfU1lTVEVNX01BTExPQykgJiYgVVNFX1NZU1RFTV9NQUxM
T0MpICYmIGRlZmluZWQoTkRFQlVHKQogI2RlZmluZSBGT1JDRV9TWVNURU1fTUFMTE9DIDAKICNl
bHNlCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L2JtYWxsb2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzM2NzApCisrKyBTb3VyY2UvYm1hbGxvYy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0NSBAQAorMjAxNC0wOS0xNiAgR2Vv
ZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAgIGJtYWxsb2M6IG1vdmVk
IGxpbmUgY2FjaGVzIGZyb20gdGhlIGRlYWxsb2NhdG9yIHRvIHRoZSBhbGxvY2F0b3IKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjg2OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgZGlkIHRoaXMgbW9z
dGx5IGFzIGEgc2ltcGxpZmljYXRpb24sIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGNoYW5nZSB0aGUK
KyAgICAgICAgYWxsb2NhdGlvbiBzdHJhdGVneS4KKworICAgICAgICBObyB0aHJvdWdocHV0IGNo
YW5nZSBvbiBNYWxsb2NCZW5jaC4gU2F2ZXMgYWJvdXQgNTBrQi4KKworICAgICAgICBTaW5jZSB0
aGUgZGVhbGxvY2F0b3IgbmVlZHMgdG8gbG9jayB0aGUgaGVhcCB3aGVuIGZyZWVpbmcgbGluZXMg
YW55d2F5LAorICAgICAgICB0aGVyZSBpc24ndCBtdWNoIGJlbmVmaXQgdG8gZ2l2aW5nIHRoZSBk
ZWFsbG9jYXRvciBhIGxvY2FsIGNhY2hlIG9mCisgICAgICAgIGRlYWxsb2NhdGVkIGxpbmVzLgor
CisgICAgICAgIFdlIHN0aWxsIGdpdmUgdGhlIGFsbG9jYXRvciBhIGxvY2FsIGNhY2hlIG9mIGxp
bmVzIGJlY2F1c2UgdGhhdCBkb2VzCisgICAgICAgIHJlZHVjZSB0aGUgZnJlcXVlbmN5IGF0IHdo
aWNoIGl0IG5lZWRzIHRvIGxvY2sgdGhlIGhlYXAgaW4gb3JkZXIgdG8KKyAgICAgICAgYWNxdWly
ZSBtb3JlIGxpbmVzLgorCisgICAgICAgICogYm1hbGxvYy9BbGxvY2F0b3IuY3BwOgorICAgICAg
ICAoYm1hbGxvYzo6QWxsb2NhdG9yOjpzY2F2ZW5nZSk6CisgICAgICAgIChibWFsbG9jOjpBbGxv
Y2F0b3I6OmFsbG9jYXRlU21hbGxMaW5lKToKKyAgICAgICAgKGJtYWxsb2M6OkFsbG9jYXRvcjo6
YWxsb2NhdGVNZWRpdW1MaW5lKToKKyAgICAgICAgKGJtYWxsb2M6OkFsbG9jYXRvcjo6YWxsb2Nh
dGVNZWRpdW0pOgorICAgICAgICAoYm1hbGxvYzo6QWxsb2NhdG9yOjphbGxvY2F0ZVNsb3dDYXNl
KToKKyAgICAgICAgKiBibWFsbG9jL0FsbG9jYXRvci5oOgorICAgICAgICAqIGJtYWxsb2MvRGVh
bGxvY2F0b3IuY3BwOgorICAgICAgICAoYm1hbGxvYzo6RGVhbGxvY2F0b3I6OkRlYWxsb2NhdG9y
KToKKyAgICAgICAgKGJtYWxsb2M6OkRlYWxsb2NhdG9yOjpzY2F2ZW5nZSk6CisgICAgICAgIChi
bWFsbG9jOjpEZWFsbG9jYXRvcjo6cHJvY2Vzc09iamVjdExvZyk6CisgICAgICAgIChibWFsbG9j
OjpEZWFsbG9jYXRvcjo6ZGVhbGxvY2F0ZVNtYWxsTGluZSk6IERlbGV0ZWQuCisgICAgICAgIChi
bWFsbG9jOjpEZWFsbG9jYXRvcjo6YWxsb2NhdGVTbWFsbExpbmUpOiBEZWxldGVkLgorICAgICAg
ICAoYm1hbGxvYzo6RGVhbGxvY2F0b3I6OmRlYWxsb2NhdGVNZWRpdW1MaW5lKTogRGVsZXRlZC4K
KyAgICAgICAgKGJtYWxsb2M6OkRlYWxsb2NhdG9yOjphbGxvY2F0ZU1lZGl1bUxpbmUpOiBEZWxl
dGVkLgorICAgICAgICAqIGJtYWxsb2MvRGVhbGxvY2F0b3IuaDoKKworICAgICAgICAqIGJtYWxs
b2MvU2l6ZXMuaDoKKyAgICAgICAgKiBibWFsbG9jL1ZNQWxsb2NhdGUuaDogVG9vayB0aGUgb3Bw
b3J0dW5pdHkgdG8gbWFrZSB0aGUgbGluZSBjYWNoZSBzaXplCisgICAgICAgIGV4YWN0bHkgb25l
IHBhZ2UgaW4gc2l6ZS4gVGhhdCdzIGFib3V0IHdoYXQgd2Ugd2VyZSBzaG9vdGluZyBmb3IgYW55
d2F5LAorICAgICAgICBhbmQgaXQgbWF5IG1ha2UgaXQgZWFzaWVyIHRvIHN3aXRjaCB0byBwZXIt
cGFnZSBhbGxvY2F0aW9uIGluIGZ1dHVyZS4KKwogMjAxNC0wOS0xNSAgR2VvZmZyZXkgR2FyZW4g
IDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIGJtYWxsb2M6IGFsbG9jYXRlIHNtYWxsIGFu
ZCBtZWRpdW0gb2JqZWN0cyB1c2luZyB0aGUgc2FtZSBidW1wIHBvaW50ZXIgY2xhc3MKSW5kZXg6
IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxsb2NhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAJKHJldmlzaW9uIDE3MzY0NSkKKysrIFNv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxsb2NhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMs
NiArNjMsNDMgQEAgdm9pZCBBbGxvY2F0b3I6OnNjYXZlbmdlKCkKICAgICAgICAgICAgIG1fZGVh
bGxvY2F0b3IuZGVhbGxvY2F0ZShhbGxvY2F0b3IuYWxsb2NhdGUoKSk7CiAgICAgICAgIGFsbG9j
YXRvci5jbGVhcigpOwogICAgIH0KKworICAgIHN0ZDo6bG9ja19ndWFyZDxTdGF0aWNNdXRleD4g
bG9jayhQZXJQcm9jZXNzPEhlYXA+OjptdXRleCgpKTsKKyAgICBIZWFwKiBoZWFwID0gUGVyUHJv
Y2VzczxIZWFwPjo6Z2V0RmFzdENhc2UoKTsKKyAgICAKKyAgICBmb3IgKGF1dG8mIHNtYWxsTGlu
ZUNhY2hlIDogbV9zbWFsbExpbmVDYWNoZXMpIHsKKyAgICAgICAgd2hpbGUgKHNtYWxsTGluZUNh
Y2hlLnNpemUoKSkKKyAgICAgICAgICAgIGhlYXAtPmRlYWxsb2NhdGVTbWFsbExpbmUobG9jaywg
c21hbGxMaW5lQ2FjaGUucG9wKCkpOworICAgIH0KKyAgICB3aGlsZSAobV9tZWRpdW1MaW5lQ2Fj
aGUuc2l6ZSgpKQorICAgICAgICBoZWFwLT5kZWFsbG9jYXRlTWVkaXVtTGluZShsb2NrLCBtX21l
ZGl1bUxpbmVDYWNoZS5wb3AoKSk7Cit9CisKK1NtYWxsTGluZSogQWxsb2NhdG9yOjphbGxvY2F0
ZVNtYWxsTGluZShzaXplX3Qgc21hbGxTaXplQ2xhc3MpCit7CisgICAgU21hbGxMaW5lQ2FjaGUm
IHNtYWxsTGluZUNhY2hlID0gbV9zbWFsbExpbmVDYWNoZXNbc21hbGxTaXplQ2xhc3NdOworICAg
IGlmICghc21hbGxMaW5lQ2FjaGUuc2l6ZSgpKSB7CisgICAgICAgIHN0ZDo6bG9ja19ndWFyZDxT
dGF0aWNNdXRleD4gbG9jayhQZXJQcm9jZXNzPEhlYXA+OjptdXRleCgpKTsKKyAgICAgICAgSGVh
cCogaGVhcCA9IFBlclByb2Nlc3M8SGVhcD46OmdldEZhc3RDYXNlKCk7CisKKyAgICAgICAgd2hp
bGUgKHNtYWxsTGluZUNhY2hlLnNpemUoKSAhPSBzbWFsbExpbmVDYWNoZS5jYXBhY2l0eSgpKQor
ICAgICAgICAgICAgc21hbGxMaW5lQ2FjaGUucHVzaChoZWFwLT5hbGxvY2F0ZVNtYWxsTGluZShs
b2NrLCBzbWFsbFNpemVDbGFzcykpOworICAgIH0KKworICAgIHJldHVybiBzbWFsbExpbmVDYWNo
ZS5wb3AoKTsKK30KKworTWVkaXVtTGluZSogQWxsb2NhdG9yOjphbGxvY2F0ZU1lZGl1bUxpbmUo
KQoreworICAgIGlmICghbV9tZWRpdW1MaW5lQ2FjaGUuc2l6ZSgpKSB7CisgICAgICAgIHN0ZDo6
bG9ja19ndWFyZDxTdGF0aWNNdXRleD4gbG9jayhQZXJQcm9jZXNzPEhlYXA+OjptdXRleCgpKTsK
KyAgICAgICAgSGVhcCogaGVhcCA9IFBlclByb2Nlc3M8SGVhcD46OmdldEZhc3RDYXNlKCk7CisK
KyAgICAgICAgd2hpbGUgKG1fbWVkaXVtTGluZUNhY2hlLnNpemUoKSAhPSBtX21lZGl1bUxpbmVD
YWNoZS5jYXBhY2l0eSgpKQorICAgICAgICAgICAgbV9tZWRpdW1MaW5lQ2FjaGUucHVzaChoZWFw
LT5hbGxvY2F0ZU1lZGl1bUxpbmUobG9jaykpOworICAgIH0KKworICAgIHJldHVybiBtX21lZGl1
bUxpbmVDYWNoZS5wb3AoKTsKIH0KIAogdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZUxhcmdlKHNp
emVfdCBzaXplKQpAQCAtODQsNyArMTIxLDcgQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZU1l
ZGl1bShzaXplX3QgcwogICAgIEJ1bXBBbGxvY2F0b3ImIGFsbG9jYXRvciA9IG1fbWVkaXVtQWxs
b2NhdG9yc1ttZWRpdW1TaXplQ2xhc3NGb3Ioc2l6ZSldOwogCiAgICAgaWYgKCFhbGxvY2F0b3Iu
Y2FuQWxsb2NhdGUoKSkKLSAgICAgICAgYWxsb2NhdG9yLnJlZmlsbChtX2RlYWxsb2NhdG9yLmFs
bG9jYXRlTWVkaXVtTGluZSgpKTsKKyAgICAgICAgYWxsb2NhdG9yLnJlZmlsbChhbGxvY2F0ZU1l
ZGl1bUxpbmUoKSk7CiAgICAgcmV0dXJuIGFsbG9jYXRvci5hbGxvY2F0ZSgpOwogfQogCkBAIC05
Nyw3ICsxMzQsNyBAQCBJRl9ERUJVRygKICAgICBpZiAoc2l6ZSA8PSBzbWFsbE1heCkgewogICAg
ICAgICBzaXplX3Qgc21hbGxTaXplQ2xhc3MgPSBzbWFsbFNpemVDbGFzc0ZvcihzaXplKTsKICAg
ICAgICAgQnVtcEFsbG9jYXRvciYgYWxsb2NhdG9yID0gbV9zbWFsbEFsbG9jYXRvcnNbc21hbGxT
aXplQ2xhc3NdOwotICAgICAgICBhbGxvY2F0b3IucmVmaWxsKG1fZGVhbGxvY2F0b3IuYWxsb2Nh
dGVTbWFsbExpbmUoc21hbGxTaXplQ2xhc3MpKTsKKyAgICAgICAgYWxsb2NhdG9yLnJlZmlsbChh
bGxvY2F0ZVNtYWxsTGluZShzbWFsbFNpemVDbGFzcykpOwogICAgICAgICByZXR1cm4gYWxsb2Nh
dG9yLmFsbG9jYXRlKCk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0Fs
bG9jYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxsb2NhdG9y
LmgJKHJldmlzaW9uIDE3MzY0NSkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxsb2NhdG9y
LmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDE2ICs1MSwyNSBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
Y2F2ZW5nZSgpOwogCiBwcml2YXRlOgorICAgIHR5cGVkZWYgRml4ZWRWZWN0b3I8U21hbGxMaW5l
Kiwgc21hbGxMaW5lQ2FjaGVDYXBhY2l0eT4gU21hbGxMaW5lQ2FjaGU7CisgICAgdHlwZWRlZiBG
aXhlZFZlY3RvcjxNZWRpdW1MaW5lKiwgbWVkaXVtTGluZUNhY2hlQ2FwYWNpdHk+IE1lZGl1bUxp
bmVDYWNoZTsKKwogICAgIHZvaWQqIGFsbG9jYXRlRmFzdENhc2UoQnVtcEFsbG9jYXRvciYpOwog
CiAgICAgdm9pZCogYWxsb2NhdGVNZWRpdW0oc2l6ZV90KTsKICAgICB2b2lkKiBhbGxvY2F0ZUxh
cmdlKHNpemVfdCk7CiAgICAgdm9pZCogYWxsb2NhdGVYTGFyZ2Uoc2l6ZV90KTsKICAgICAKKyAg
ICBTbWFsbExpbmUqIGFsbG9jYXRlU21hbGxMaW5lKHNpemVfdCBzbWFsbFNpemVDbGFzcyk7Cisg
ICAgTWVkaXVtTGluZSogYWxsb2NhdGVNZWRpdW1MaW5lKCk7CisgICAgCiAgICAgRGVhbGxvY2F0
b3ImIG1fZGVhbGxvY2F0b3I7CiAKICAgICBzdGQ6OmFycmF5PEJ1bXBBbGxvY2F0b3IsIHNtYWxs
TWF4IC8gYWxpZ25tZW50PiBtX3NtYWxsQWxsb2NhdG9yczsKICAgICBzdGQ6OmFycmF5PEJ1bXBB
bGxvY2F0b3IsIG1lZGl1bU1heCAvIGFsaWdubWVudD4gbV9tZWRpdW1BbGxvY2F0b3JzOworCisg
ICAgc3RkOjphcnJheTxTbWFsbExpbmVDYWNoZSwgc21hbGxNYXggLyBhbGlnbm1lbnQ+IG1fc21h
bGxMaW5lQ2FjaGVzOworICAgIE1lZGl1bUxpbmVDYWNoZSBtX21lZGl1bUxpbmVDYWNoZTsKIH07
CiAKIGlubGluZSBib29sIEFsbG9jYXRvcjo6YWxsb2NhdGVGYXN0Q2FzZShzaXplX3Qgc2l6ZSwg
dm9pZComIG9iamVjdCkKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRGVhbGxvY2F0b3Iu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRGVhbGxvY2F0b3IuY3Bw
CShyZXZpc2lvbiAxNzM1MzApCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0RlYWxsb2NhdG9y
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksOSArMzksNiBAQCB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwogbmFtZXNwYWNlIGJtYWxsb2MgewogCiBEZWFsbG9jYXRvcjo6RGVhbGxvY2F0b3IoKQotICAg
IDogbV9vYmplY3RMb2coKQotICAgICwgbV9zbWFsbExpbmVDYWNoZXMoKQotICAgICwgbV9tZWRp
dW1MaW5lQ2FjaGUoKQogewogfQogCkBAIC01MywxNiArNTAsNiBAQCBEZWFsbG9jYXRvcjo6fkRl
YWxsb2NhdG9yKCkKIHZvaWQgRGVhbGxvY2F0b3I6OnNjYXZlbmdlKCkKIHsKICAgICBwcm9jZXNz
T2JqZWN0TG9nKCk7Ci0gICAgCi0gICAgc3RkOjpsb2NrX2d1YXJkPFN0YXRpY011dGV4PiBsb2Nr
KFBlclByb2Nlc3M8SGVhcD46Om11dGV4KCkpOwotICAgIEhlYXAqIGhlYXAgPSBQZXJQcm9jZXNz
PEhlYXA+OjpnZXRGYXN0Q2FzZSgpOwotICAgIAotICAgIGZvciAoYXV0byYgc21hbGxMaW5lQ2Fj
aGUgOiBtX3NtYWxsTGluZUNhY2hlcykgewotICAgICAgICB3aGlsZSAoc21hbGxMaW5lQ2FjaGUu
c2l6ZSgpKQotICAgICAgICAgICAgaGVhcC0+ZGVhbGxvY2F0ZVNtYWxsTGluZShsb2NrLCBzbWFs
bExpbmVDYWNoZS5wb3AoKSk7Ci0gICAgfQotICAgIHdoaWxlIChtX21lZGl1bUxpbmVDYWNoZS5z
aXplKCkpCi0gICAgICAgIGhlYXAtPmRlYWxsb2NhdGVNZWRpdW1MaW5lKGxvY2ssIG1fbWVkaXVt
TGluZUNhY2hlLnBvcCgpKTsKIH0KIAogdm9pZCBEZWFsbG9jYXRvcjo6ZGVhbGxvY2F0ZUxhcmdl
KHZvaWQqIG9iamVjdCkKQEAgLTgwLDE5ICs2NywyMCBAQCB2b2lkIERlYWxsb2NhdG9yOjpkZWFs
bG9jYXRlWExhcmdlKHZvaWQqCiB2b2lkIERlYWxsb2NhdG9yOjpwcm9jZXNzT2JqZWN0TG9nKCkK
IHsKICAgICBzdGQ6OmxvY2tfZ3VhcmQ8U3RhdGljTXV0ZXg+IGxvY2soUGVyUHJvY2VzczxIZWFw
Pjo6bXV0ZXgoKSk7CisgICAgSGVhcCogaGVhcCA9IFBlclByb2Nlc3M8SGVhcD46OmdldEZhc3RD
YXNlKCk7CiAgICAgCiAgICAgZm9yIChhdXRvIG9iamVjdCA6IG1fb2JqZWN0TG9nKSB7CiAgICAg
ICAgIGlmIChpc1NtYWxsKG9iamVjdCkpIHsKICAgICAgICAgICAgIFNtYWxsTGluZSogbGluZSA9
IFNtYWxsTGluZTo6Z2V0KG9iamVjdCk7CiAgICAgICAgICAgICBpZiAoIWxpbmUtPmRlcmVmKGxv
Y2spKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgZGVhbGxvY2F0ZVNt
YWxsTGluZShsb2NrLCBsaW5lKTsKKyAgICAgICAgICAgIGhlYXAtPmRlYWxsb2NhdGVTbWFsbExp
bmUobG9jaywgbGluZSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBCQVNTRVJUKGlz
U21hbGxPck1lZGl1bShvYmplY3QpKTsKICAgICAgICAgICAgIE1lZGl1bUxpbmUqIGxpbmUgPSBN
ZWRpdW1MaW5lOjpnZXQob2JqZWN0KTsKICAgICAgICAgICAgIGlmICghbGluZS0+ZGVyZWYobG9j
aykpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBkZWFsbG9jYXRlTWVk
aXVtTGluZShsb2NrLCBsaW5lKTsKKyAgICAgICAgICAgIGhlYXAtPmRlYWxsb2NhdGVNZWRpdW1M
aW5lKGxvY2ssIGxpbmUpOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtMTE5LDQ4ICsxMDcs
NCBAQCB2b2lkIERlYWxsb2NhdG9yOjpkZWFsbG9jYXRlU2xvd0Nhc2Uodm9pCiAgICAgcmV0dXJu
IGRlYWxsb2NhdGVYTGFyZ2Uob2JqZWN0KTsKIH0KIAotdm9pZCBEZWFsbG9jYXRvcjo6ZGVhbGxv
Y2F0ZVNtYWxsTGluZShzdGQ6OmxvY2tfZ3VhcmQ8U3RhdGljTXV0ZXg+JiBsb2NrLCBTbWFsbExp
bmUqIGxpbmUpCi17Ci0gICAgU21hbGxMaW5lQ2FjaGUmIHNtYWxsTGluZUNhY2hlID0gbV9zbWFs
bExpbmVDYWNoZXNbU21hbGxQYWdlOjpnZXQobGluZSktPnNtYWxsU2l6ZUNsYXNzKCldOwotICAg
IGlmIChzbWFsbExpbmVDYWNoZS5zaXplKCkgPT0gc21hbGxMaW5lQ2FjaGUuY2FwYWNpdHkoKSkK
LSAgICAgICAgcmV0dXJuIFBlclByb2Nlc3M8SGVhcD46OmdldEZhc3RDYXNlKCktPmRlYWxsb2Nh
dGVTbWFsbExpbmUobG9jaywgbGluZSk7Ci0KLSAgICBzbWFsbExpbmVDYWNoZS5wdXNoKGxpbmUp
OwotfQotCi1TbWFsbExpbmUqIERlYWxsb2NhdG9yOjphbGxvY2F0ZVNtYWxsTGluZShzaXplX3Qg
c21hbGxTaXplQ2xhc3MpCi17Ci0gICAgU21hbGxMaW5lQ2FjaGUmIHNtYWxsTGluZUNhY2hlID0g
bV9zbWFsbExpbmVDYWNoZXNbc21hbGxTaXplQ2xhc3NdOwotICAgIGlmICghc21hbGxMaW5lQ2Fj
aGUuc2l6ZSgpKSB7Ci0gICAgICAgIHN0ZDo6bG9ja19ndWFyZDxTdGF0aWNNdXRleD4gbG9jayhQ
ZXJQcm9jZXNzPEhlYXA+OjptdXRleCgpKTsKLSAgICAgICAgSGVhcCogaGVhcCA9IFBlclByb2Nl
c3M8SGVhcD46OmdldEZhc3RDYXNlKCk7Ci0KLSAgICAgICAgd2hpbGUgKHNtYWxsTGluZUNhY2hl
LnNpemUoKSAhPSBzbWFsbExpbmVDYWNoZS5jYXBhY2l0eSgpKQotICAgICAgICAgICAgc21hbGxM
aW5lQ2FjaGUucHVzaChoZWFwLT5hbGxvY2F0ZVNtYWxsTGluZShsb2NrLCBzbWFsbFNpemVDbGFz
cykpOwotICAgIH0KLQotICAgIHJldHVybiBzbWFsbExpbmVDYWNoZS5wb3AoKTsKLX0KLQotdm9p
ZCBEZWFsbG9jYXRvcjo6ZGVhbGxvY2F0ZU1lZGl1bUxpbmUoc3RkOjpsb2NrX2d1YXJkPFN0YXRp
Y011dGV4PiYgbG9jaywgTWVkaXVtTGluZSogbGluZSkKLXsKLSAgICBpZiAobV9tZWRpdW1MaW5l
Q2FjaGUuc2l6ZSgpID09IG1fbWVkaXVtTGluZUNhY2hlLmNhcGFjaXR5KCkpCi0gICAgICAgIHJl
dHVybiBQZXJQcm9jZXNzPEhlYXA+OjpnZXRGYXN0Q2FzZSgpLT5kZWFsbG9jYXRlTWVkaXVtTGlu
ZShsb2NrLCBsaW5lKTsKLQotICAgIG1fbWVkaXVtTGluZUNhY2hlLnB1c2gobGluZSk7Ci19Ci0K
LU1lZGl1bUxpbmUqIERlYWxsb2NhdG9yOjphbGxvY2F0ZU1lZGl1bUxpbmUoKQotewotICAgIGlm
ICghbV9tZWRpdW1MaW5lQ2FjaGUuc2l6ZSgpKSB7Ci0gICAgICAgIHN0ZDo6bG9ja19ndWFyZDxT
dGF0aWNNdXRleD4gbG9jayhQZXJQcm9jZXNzPEhlYXA+OjptdXRleCgpKTsKLSAgICAgICAgSGVh
cCogaGVhcCA9IFBlclByb2Nlc3M8SGVhcD46OmdldEZhc3RDYXNlKCk7Ci0KLSAgICAgICAgd2hp
bGUgKG1fbWVkaXVtTGluZUNhY2hlLnNpemUoKSAhPSBtX21lZGl1bUxpbmVDYWNoZS5jYXBhY2l0
eSgpKQotICAgICAgICAgICAgbV9tZWRpdW1MaW5lQ2FjaGUucHVzaChoZWFwLT5hbGxvY2F0ZU1l
ZGl1bUxpbmUobG9jaykpOwotICAgIH0KLQotICAgIHJldHVybiBtX21lZGl1bUxpbmVDYWNoZS5w
b3AoKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgYm1hbGxvYwpJbmRleDogU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9EZWFsbG9jYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvRGVhbGxvY2F0b3IuaAkocmV2aXNpb24gMTczNTMwKQorKysgU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9EZWFsbG9jYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCwyNSArNDQsMTQgQEAgcHVi
bGljOgogICAgIGJvb2wgZGVhbGxvY2F0ZUZhc3RDYXNlKHZvaWQqKTsKICAgICB2b2lkIGRlYWxs
b2NhdGVTbG93Q2FzZSh2b2lkKik7CiAKLSAgICB2b2lkIGRlYWxsb2NhdGVTbWFsbExpbmUoc3Rk
Ojpsb2NrX2d1YXJkPFN0YXRpY011dGV4PiYsIFNtYWxsTGluZSopOwotICAgIFNtYWxsTGluZSog
YWxsb2NhdGVTbWFsbExpbmUoc2l6ZV90IHNtYWxsU2l6ZUNsYXNzKTsKLQotICAgIHZvaWQgZGVh
bGxvY2F0ZU1lZGl1bUxpbmUoc3RkOjpsb2NrX2d1YXJkPFN0YXRpY011dGV4PiYsIE1lZGl1bUxp
bmUqKTsKLSAgICBNZWRpdW1MaW5lKiBhbGxvY2F0ZU1lZGl1bUxpbmUoKTsKLSAgICAKICAgICB2
b2lkIHNjYXZlbmdlKCk7CiAgICAgCiBwcml2YXRlOgotICAgIHR5cGVkZWYgRml4ZWRWZWN0b3I8
U21hbGxMaW5lKiwgc21hbGxMaW5lQ2FjaGVDYXBhY2l0eT4gU21hbGxMaW5lQ2FjaGU7Ci0gICAg
dHlwZWRlZiBGaXhlZFZlY3RvcjxNZWRpdW1MaW5lKiwgbWVkaXVtTGluZUNhY2hlQ2FwYWNpdHk+
IE1lZGl1bUxpbmVDYWNoZTsKLQogICAgIHZvaWQgZGVhbGxvY2F0ZUxhcmdlKHZvaWQqKTsKICAg
ICB2b2lkIGRlYWxsb2NhdGVYTGFyZ2Uodm9pZCopOwogICAgIHZvaWQgcHJvY2Vzc09iamVjdExv
ZygpOwogCiAgICAgRml4ZWRWZWN0b3I8dm9pZCosIGRlYWxsb2NhdG9yTG9nQ2FwYWNpdHk+IG1f
b2JqZWN0TG9nOwotICAgIHN0ZDo6YXJyYXk8U21hbGxMaW5lQ2FjaGUsIHNtYWxsTWF4IC8gYWxp
Z25tZW50PiBtX3NtYWxsTGluZUNhY2hlczsKLSAgICBNZWRpdW1MaW5lQ2FjaGUgbV9tZWRpdW1M
aW5lQ2FjaGU7CiB9OwogCiBpbmxpbmUgYm9vbCBEZWFsbG9jYXRvcjo6ZGVhbGxvY2F0ZUZhc3RD
YXNlKHZvaWQqIG9iamVjdCkKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2l6ZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NpemVzLmgJKHJldmlzaW9uIDE3
MzY0NSkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2l6ZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBTaXplc19oCiAKICNpbmNsdWRlICJBbGdvcml0aG0u
aCIKKyNpbmNsdWRlICJCUGxhdGZvcm0uaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVk
ZSA8Y3N0ZGludD4KICNpbmNsdWRlIDxjc3RkZGVmPgpAQCAtNDUsNiArNDYsMTMgQEAgbmFtZXNw
YWNlIFNpemVzIHsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGFsaWdubWVudCA9IDg7CiAgICAg
c3RhdGljIGNvbnN0IHNpemVfdCBhbGlnbm1lbnRNYXNrID0gYWxpZ25tZW50IC0gMXVsOwogCisj
aWYgQlBMQVRGT1JNKElPUykKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHZtUGFnZVNpemUgPSAx
NiAqIGtCOworI2Vsc2UKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHZtUGFnZVNpemUgPSA0ICog
a0I7CisjZW5kaWYKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHZtUGFnZU1hc2sgPSB+KHZtUGFn
ZVNpemUgLSAxKTsKKyAgICAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHN1cGVyQ2h1bmtTaXpl
ID0gMzIgKiBNQjsKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3Qgc21hbGxNYXggPSAyNTY7CkBA
IC04NCw4ICs5Miw4IEBAIG5hbWVzcGFjZSBTaXplcyB7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6
ZV90IGRlYWxsb2NhdG9yTG9nQ2FwYWNpdHkgPSAyNTY7CiAKLSAgICBzdGF0aWMgY29uc3Qgc2l6
ZV90IHNtYWxsTGluZUNhY2hlQ2FwYWNpdHkgPSAxNjsKLSAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IG1lZGl1bUxpbmVDYWNoZUNhcGFjaXR5ID0gODsKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHNt
YWxsTGluZUNhY2hlQ2FwYWNpdHkgPSB2bVBhZ2VTaXplIC8gc21hbGxMaW5lU2l6ZTsKKyAgICBz
dGF0aWMgY29uc3Qgc2l6ZV90IG1lZGl1bUxpbmVDYWNoZUNhcGFjaXR5ID0gdm1QYWdlU2l6ZSAv
IG1lZGl1bUxpbmVTaXplOwogICAgIAogICAgIHN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHNjYXZlbmdlU2xlZXBEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMoNTEyKTsKIApJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgJKHJldmlzaW9u
IDE3MzUzMCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFZNQWxsb2NhdGVfaAogCiAjaW5jbHVk
ZSAiQkFzc2VydC5oIgotI2luY2x1ZGUgIkJQbGF0Zm9ybS5oIgogI2luY2x1ZGUgIlJhbmdlLmgi
CiAjaW5jbHVkZSAiU2l6ZXMuaCIKICNpbmNsdWRlICJTeXNjYWxsLmgiCkBAIC00MCwxNCArMzks
NiBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKICNkZWZpbmUgQk1BTExPQ19WTV9UQUcgVk1fTUFL
RV9UQUcoVk1fTUVNT1JZX1RDTUFMTE9DKQogCi0jaWYgQlBMQVRGT1JNKElPUykKLXN0YXRpYyBj
b25zdCBzaXplX3Qgdm1QYWdlU2l6ZSA9IDE2ICoga0I7Ci0jZWxzZQotc3RhdGljIGNvbnN0IHNp
emVfdCB2bVBhZ2VTaXplID0gNCAqIGtCOwotI2VuZGlmCi0KLXN0YXRpYyBjb25zdCBzaXplX3Qg
dm1QYWdlTWFzayA9IH4odm1QYWdlU2l6ZSAtIDEpOwotICAgIAogaW5saW5lIHNpemVfdCB2bVNp
emUoc2l6ZV90IHNpemUpCiB7CiAgICAgcmV0dXJuIHJvdW5kVXBUb011bHRpcGxlT2Y8dm1QYWdl
U2l6ZT4oc2l6ZSk7Cg==
</data>
<flag name="review"
          id="262974"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>