<?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>65779</bug_id>
          
          <creation_ts>2011-08-05 11:24:54 -0700</creation_ts>
          <short_desc>Inline allocation of function objects</short_desc>
          <delta_ts>2011-08-05 13:03:33 -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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>447304</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-08-05 11:24:54 -0700</bug_when>
    <thetext>Inline allocation of function objects</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447310</commentid>
    <comment_count>1</comment_count>
      <attachid>103091</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-08-05 11:34:15 -0700</bug_when>
    <thetext>Created attachment 103091
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447333</commentid>
    <comment_count>2</comment_count>
      <attachid>103091</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-08-05 12:22:48 -0700</bug_when>
    <thetext>Comment on attachment 103091
Patch

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

&gt; Source/JavaScriptCore/jit/JITInlineMethods.h:431
&gt;  }

It might be nice if these called a &apos;storeCell()&apos; helper, or some such thing.  For examples, we might want to be changing the 64bit rep in the near future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447376</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-08-05 13:03:33 -0700</bug_when>
    <thetext>Committed r92498: &lt;http://trac.webkit.org/changeset/92498&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103091</attachid>
            <date>2011-08-05 11:34:15 -0700</date>
            <delta_ts>2011-08-05 12:22:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65779-20110805113414.patch</filename>
            <type>text/plain</type>
            <size>13723</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI0ODgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDc3
NGZkMzJhZmU4ZWI2NmIyNzc2ZDhmMGI1NjVhNWM1NTc1NzAzYTguLjFlNzUwOTllMjM2ZDBmMGFm
OTk2Y2YwMTc3Y2I5MTc2NTJlZTIzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM5IEBACisyMDExLTA4LTA1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisK
KyAgICAgICAgSW5saW5lIGFsbG9jYXRpb24gb2YgZnVuY3Rpb24gb2JqZWN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3NzkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmxpbmUgYWxsb2NhdGlvbiBh
bmQgaW5pdGlsaXNhdGlvbiBvZiBmdW5jdGlvbiBvYmplY3RzCisgICAgICAgIGluIGdlbmVyYXRl
ZCBjb2RlLiAgVGhpcyBlbmRlZCB1cCBiZWluZyBhIDYwLTcwJSBpbXByb3ZlbWVudAorICAgICAg
ICBpbiBmdW5jdGlvbiBhbGxvY2F0aW9uIHBlcmZvcm1hbmNlLiAgVGhpcyBpbXByb3ZlbWVudCBz
aG93cworICAgICAgICB1cCBhcyBhIH4yJSBpbXByb3ZlbWVudCBpbiAzMmJpdCBzdW5zcGlkZXIg
YW5kIFY4LCBidXQgaXMgYQorICAgICAgICB3YXNoIG9uIDY0LWJpdC4KKworICAgICAgICBXZSBj
dXJyZW50bHkgZG9uJ3QgaW5saW5lIHRoZSBhbGxvY2F0aW9uIG9mIG5hbWVkIGZ1bmN0aW9uCisg
ICAgICAgIGV4cHJlc3Npb25zLCBhcyB0aGF0IHJlcXVpcmVzIGJlaW5nIGFibGUgdG8gZ2MgYWxs
b2NhdGUgYQorICAgICAgICB2YXJpYWJsZSBvYmplY3QuCisKKyAgICAgICAgKiBqaXQvSklULmNw
cDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcyk6CisgICAgICAg
ICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTdG9yZUNlbGwpOgorICAgICAg
ICAqIGppdC9KSVRJbmxpbmVNZXRob2RzLmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdEFsbG9j
YXRlQmFzaWNKU09iamVjdCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdEFsbG9jYXRlSlNGaW5h
bE9iamVjdCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdEFsbG9jYXRlSlNGdW5jdGlvbik6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Z1bmMpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX25ld19mdW5jKToKKyAg
ICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19mdW5jX2V4cCk6CisgICAgICAgIChKU0M6OkpJ
VDo6ZW1pdFNsb3dfb3BfbmV3X2Z1bmNfZXhwKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2RlczMy
XzY0LmNwcDoKKyAgICAgICAgICAgIFJlbW92ZWQgZHVwbGljYXRlIGltcGxlbWVudGF0aW9uIG9m
IG9wX25ld19mdW5jIGFuZCBvcF9uZXdfZnVuY19leHAKKyAgICAgICAgKiBydW50aW1lL0pTRnVu
Y3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6b2Zmc2V0T2ZTY29wZUNoYWluKToK
KyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKToKKwogMjAxMS0w
OC0wNCAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ1N0cmlu
Z0J1ZmZlciBzaG91bGQgaGF2ZSB0aHJlYWQgc2FmZXR5IGNoZWNrcyB0dXJuZWQgb24uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYzYwY2M1NzU5OTYzZTgxY2E0YTkxN2JjY2U4YThk
ODA2NDdiNGVkNi4uYTQ1NDE2NzNhOWRjMDkyNGQ1YTZiYmM5YmUxOTlhNTdhZGQ2MmRiMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtNDMxLDYgKzQzMSw4IEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAjZW5kaWYKICAgICAgICAgREVGSU5FX1NMT1dDQVNF
X09QKG9wX25lcSkKICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX25ld19vYmplY3QpCisg
ICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9uZXdfZnVuYykKKyAgICAgICAgREVGSU5FX1NM
T1dDQVNFX09QKG9wX25ld19mdW5jX2V4cCkKICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9w
X25vdCkKICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX25zdHJpY3RlcSkKICAgICAgICAg
REVGSU5FX1NMT1dDQVNFX09QKG9wX3Bvc3RfZGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5k
ZXggNGVkMmQzODdhN2JmYzM4ZTVkMDUyZjBkNTQ0MDM0ZDZlZWI0YmVkNS4uODVjNGIwYTVmMzJh
MTRhMTdlOGNkNTA1MTZkY2Y4ZjI0OGQ1MzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBA
IC00OSw2ICs0OSw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIENvZGVCbG9jazsK
KyAgICBjbGFzcyBGdW5jdGlvbkV4ZWN1dGFibGU7CiAgICAgY2xhc3MgSklUOwogICAgIGNsYXNz
IEpTUHJvcGVydHlOYW1lSXRlcmF0b3I7CiAgICAgY2xhc3MgSW50ZXJwcmV0ZXI7CkBAIC0yOTks
OSArMzAwLDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIHRlc3RQcm90b3R5cGUo
SlNWYWx1ZSwgSnVtcExpc3QmIGZhaWx1cmVDYXNlcyk7CiAKICAgICAgICAgdm9pZCBlbWl0V3Jp
dGVCYXJyaWVyKFJlZ2lzdGVySUQgb3duZXIsIFJlZ2lzdGVySUQgc2NyYXRjaCk7Ci0gICAgICAg
IAotICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgICAgICB2b2lkIGVtaXRBbGxvY2F0
ZUpTRmluYWxPYmplY3QoVCBzdHJ1Y3R1cmUsIFJlZ2lzdGVySUQgcmVzdWx0LCBSZWdpc3RlcklE
IHNjcmF0Y2gpOworCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIENsYXNzVHlwZSwgdHlwZW5h
bWUgU3RydWN0dXJlVHlwZT4gdm9pZCBlbWl0QWxsb2NhdGVCYXNpY0pTT2JqZWN0KFN0cnVjdHVy
ZVR5cGUsIHZvaWQqIHZ0YWJsZSwgUmVnaXN0ZXJJRCByZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFn
ZVB0cik7CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgZW1pdEFsbG9jYXRlSlNG
aW5hbE9iamVjdChUIHN0cnVjdHVyZSwgUmVnaXN0ZXJJRCByZXN1bHQsIFJlZ2lzdGVySUQgc3Rv
cmFnZVB0cik7CisgICAgICAgIHZvaWQgZW1pdEFsbG9jYXRlSlNGdW5jdGlvbihGdW5jdGlvbkV4
ZWN1dGFibGUqLCBSZWdpc3RlcklEIHNjb3BlQ2hhaW4sIFJlZ2lzdGVySUQgcmVzdWx0LCBSZWdp
c3RlcklEIHN0b3JhZ2VQdHIpOwogCiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICAgICAgYm9v
bCBnZXRPcGVyYW5kQ29uc3RhbnRJbW1lZGlhdGVJbnQodW5zaWduZWQgb3AxLCB1bnNpZ25lZCBv
cDIsIHVuc2lnbmVkJiBvcCwgaW50MzJfdCYgY29uc3RhbnQpOwpAQCAtNTI4LDYgKzUzMCwxMCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGlu
dCBzcmMsIFJlZ2lzdGVySUQgZHN0KTsKICAgICAgICAgdm9pZCBlbWl0R2V0VmlydHVhbFJlZ2lz
dGVycyhpbnQgc3JjMSwgUmVnaXN0ZXJJRCBkc3QxLCBpbnQgc3JjMiwgUmVnaXN0ZXJJRCBkc3Qy
KTsKICAgICAgICAgdm9pZCBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKHVuc2lnbmVkIGRzdCwgUmVn
aXN0ZXJJRCBmcm9tID0gcmVnVDApOworICAgICAgICB2b2lkIGVtaXRTdG9yZUNlbGwodW5zaWdu
ZWQgZHN0LCBSZWdpc3RlcklEIHBheWxvYWQsIGJvb2wgLyogb25seSB1c2VkIGluIEpTVmFsdWUz
Ml82NCAqLyA9IGZhbHNlKQorICAgICAgICB7CisgICAgICAgICAgICBlbWl0UHV0VmlydHVhbFJl
Z2lzdGVyKGRzdCwgcGF5bG9hZCk7CisgICAgICAgIH0KIAogICAgICAgICBpbnQzMl90IGdldENv
bnN0YW50T3BlcmFuZEltbWVkaWF0ZUludCh1bnNpZ25lZCBzcmMpOwogCkBAIC05MDYsNiArOTEy
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfdG9fanNudW1i
ZXIoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAgICAg
ICAgIHZvaWQgZW1pdFNsb3dfb3BfdG9fcHJpbWl0aXZlKEluc3RydWN0aW9uKiwgVmVjdG9yPFNs
b3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX3Vyc2hp
ZnQoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CisgICAg
ICAgIHZvaWQgZW1pdFNsb3dfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nh
c2VFbnRyeT46Oml0ZXJhdG9yJik7CisgICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfbmV3X2Z1bmNf
ZXhwKEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwogCiAg
ICAgICAgIAogICAgICAgICB2b2lkIGVtaXRSaWdodFNoaWZ0KEluc3RydWN0aW9uKiwgYm9vbCBp
c1Vuc2lnbmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lTWV0aG9kcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2Rz
LmgKaW5kZXggNzI0ZGUzYTZjNjY4ZGJhYjhiZTUwYzJkMzkwNGJlMzcyODBmNDNhNy4uNzQ0NTk5
NDI5NjQ0YjkxNjI1NGI3YjgzZGE3OTIyMWQ3ZTUzZGJkYyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2RzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2RzLmgKQEAgLTM3NCwyOSArMzc0LDYwIEBAIEFMV0FZ
U19JTkxJTkUgYm9vbCBKSVQ6OmlzT3BlcmFuZENvbnN0YW50SW1tZWRpYXRlQ2hhcih1bnNpZ25l
ZCBzcmMpCiAgICAgcmV0dXJuIG1fY29kZUJsb2NrLT5pc0NvbnN0YW50UmVnaXN0ZXJJbmRleChz
cmMpICYmIGdldENvbnN0YW50T3BlcmFuZChzcmMpLmlzU3RyaW5nKCkgJiYgYXNTdHJpbmcoZ2V0
Q29uc3RhbnRPcGVyYW5kKHNyYykuYXNDZWxsKCkpLT5sZW5ndGgoKSA9PSAxOwogfQogCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPgotaW5saW5lIHZvaWQgSklUOjplbWl0QWxsb2NhdGVKU0ZpbmFsT2Jq
ZWN0KFQgc3RydWN0dXJlLCBSZWdpc3RlcklEIHJlc3VsdCwgUmVnaXN0ZXJJRCBzY3JhdGNoKQor
dGVtcGxhdGUgPHR5cGVuYW1lIENsYXNzVHlwZSwgdHlwZW5hbWUgU3RydWN0dXJlVHlwZT4gaW5s
aW5lIHZvaWQgSklUOjplbWl0QWxsb2NhdGVCYXNpY0pTT2JqZWN0KFN0cnVjdHVyZVR5cGUgc3Ry
dWN0dXJlLCB2b2lkKiB2dGFibGUsIFJlZ2lzdGVySUQgcmVzdWx0LCBSZWdpc3RlcklEIHN0b3Jh
Z2VQdHIpCiB7Ci0gICAgTmV3U3BhY2U6OlNpemVDbGFzcyogc2l6ZUNsYXNzID0gJm1fZ2xvYmFs
RGF0YS0+aGVhcC5zaXplQ2xhc3NGb3Ioc2l6ZW9mKEpTRmluYWxPYmplY3QpKTsKKyAgICBOZXdT
cGFjZTo6U2l6ZUNsYXNzKiBzaXplQ2xhc3MgPSAmbV9nbG9iYWxEYXRhLT5oZWFwLnNpemVDbGFz
c0ZvcihzaXplb2YoQ2xhc3NUeXBlKSk7CiAgICAgbG9hZFB0cigmc2l6ZUNsYXNzLT5maXJzdEZy
ZWVDZWxsLCByZXN1bHQpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaFRlc3RQdHIoWmVybywgcmVz
dWx0KSk7Ci0gICAgCisKICAgICAvLyByZW1vdmUgdGhlIG9iamVjdCBmcm9tIHRoZSBmcmVlIGxp
c3QKLSAgICBsb2FkUHRyKEFkZHJlc3MocmVzdWx0KSwgc2NyYXRjaCk7Ci0gICAgc3RvcmVQdHIo
c2NyYXRjaCwgJnNpemVDbGFzcy0+Zmlyc3RGcmVlQ2VsbCk7Ci0gICAgCisgICAgbG9hZFB0cihB
ZGRyZXNzKHJlc3VsdCksIHN0b3JhZ2VQdHIpOworICAgIHN0b3JlUHRyKHN0b3JhZ2VQdHIsICZz
aXplQ2xhc3MtPmZpcnN0RnJlZUNlbGwpOworCiAgICAgLy8gaW5pdGlhbGl6ZSB0aGUgb2JqZWN0
J3MgdnRhYmxlCi0gICAgc3RvcmVQdHIoSW1tUHRyKG1fZ2xvYmFsRGF0YS0+anNGaW5hbE9iamVj
dFZQdHIpLCBBZGRyZXNzKHJlc3VsdCkpOwotICAgIAorICAgIHN0b3JlUHRyKFRydXN0ZWRJbW1Q
dHIodnRhYmxlKSwgQWRkcmVzcyhyZXN1bHQpKTsKKwogICAgIC8vIGluaXRpYWxpemUgdGhlIG9i
amVjdCdzIHN0cnVjdHVyZQogICAgIHN0b3JlUHRyKHN0cnVjdHVyZSwgQWRkcmVzcyhyZXN1bHQs
IEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkpKTsKLSAgICAKKwogICAgIC8vIGluaXRpYWxpemUg
dGhlIGluaGVyaXRvciBJRAotICAgIHN0b3JlUHRyKEltbVB0cigwKSwgQWRkcmVzcyhyZXN1bHQs
IEpTT2JqZWN0OjpvZmZzZXRPZkluaGVyaXRvcklEKCkpKTsKLSAgICAKKyAgICBzdG9yZVB0cihU
cnVzdGVkSW1tUHRyKDApLCBBZGRyZXNzKHJlc3VsdCwgSlNPYmplY3Q6Om9mZnNldE9mSW5oZXJp
dG9ySUQoKSkpOworCiAgICAgLy8gaW5pdGlhbGl6ZSB0aGUgb2JqZWN0J3MgcHJvcGVydHkgc3Rv
cmFnZSBwb2ludGVyCi0gICAgYWRkUHRyKEltbTMyKHNpemVvZihKU09iamVjdCkpLCByZXN1bHQs
IHNjcmF0Y2gpOwotICAgIHN0b3JlUHRyKHNjcmF0Y2gsIEFkZHJlc3MocmVzdWx0LCBKU09iamVj
dDo6b2Zmc2V0T2ZQcm9wZXJ0eVN0b3JhZ2UoKSkpOworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIo
c2l6ZW9mKEpTT2JqZWN0KSksIHJlc3VsdCwgc3RvcmFnZVB0cik7CisgICAgc3RvcmVQdHIoc3Rv
cmFnZVB0ciwgQWRkcmVzcyhyZXN1bHQsIENsYXNzVHlwZTo6b2Zmc2V0T2ZQcm9wZXJ0eVN0b3Jh
Z2UoKSkpOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgSklUOjplbWl0
QWxsb2NhdGVKU0ZpbmFsT2JqZWN0KFQgc3RydWN0dXJlLCBSZWdpc3RlcklEIHJlc3VsdCwgUmVn
aXN0ZXJJRCBzY3JhdGNoKQoreworICAgIGVtaXRBbGxvY2F0ZUJhc2ljSlNPYmplY3Q8SlNGaW5h
bE9iamVjdD4oc3RydWN0dXJlLCBtX2dsb2JhbERhdGEtPmpzRmluYWxPYmplY3RWUHRyLCByZXN1
bHQsIHNjcmF0Y2gpOworfQorCitpbmxpbmUgdm9pZCBKSVQ6OmVtaXRBbGxvY2F0ZUpTRnVuY3Rp
b24oRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBSZWdpc3RlcklEIHNjb3BlQ2hhaW4s
IFJlZ2lzdGVySUQgcmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIpCit7CisgICAgZW1pdEFs
bG9jYXRlQmFzaWNKU09iamVjdDxKU0Z1bmN0aW9uPihUcnVzdGVkSW1tUHRyKG1fY29kZUJsb2Nr
LT5nbG9iYWxPYmplY3QoKS0+bmFtZWRGdW5jdGlvblN0cnVjdHVyZSgpKSwgbV9nbG9iYWxEYXRh
LT5qc0Z1bmN0aW9uVlB0ciwgcmVzdWx0LCBzdG9yYWdlUHRyKTsKKworICAgIC8vIHN0b3JlIHRo
ZSBmdW5jdGlvbidzIHNjb3BlIGNoYWluCisgICAgc3RvcmVQdHIoc2NvcGVDaGFpbiwgQWRkcmVz
cyhyZXN1bHQsIEpTRnVuY3Rpb246Om9mZnNldE9mU2NvcGVDaGFpbigpKSk7CisKKyAgICAvLyBz
dG9yZSB0aGUgZnVuY3Rpb24ncyBleGVjdXRhYmxlIG1lbWJlcgorICAgIHN0b3JlUHRyKFRydXN0
ZWRJbW1QdHIoZXhlY3V0YWJsZSksIEFkZHJlc3MocmVzdWx0LCBKU0Z1bmN0aW9uOjpvZmZzZXRP
ZkV4ZWN1dGFibGUoKSkpOworCisgICAgCisgICAgLy8gc3RvcmUgdGhlIGZ1bmN0aW9uJ3MgZ2xv
YmFsIG9iamVjdAorICAgIGludCBnbG9iYWxPYmplY3RPZmZzZXQgPSBzaXplb2YoSlNWYWx1ZSkg
KiBKU0Z1bmN0aW9uOjpHbG9iYWxPYmplY3RTbG90OworICAgIHN0b3JlUHRyKFRydXN0ZWRJbW1Q
dHIobV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKSwgQWRkcmVzcyhyZWdUMSwgZ2xvYmFsT2Jq
ZWN0T2Zmc2V0ICsgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpKSk7
CisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBzdG9yZTMyKFRydXN0ZWRJbW0zMihKU1ZhbHVl
OjpDZWxsVGFnKSwgQWRkcmVzcyhyZWdUMSwgZ2xvYmFsT2JqZWN0T2Zmc2V0ICsgT0JKRUNUX09G
RlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnRhZykpKTsKKyNlbmRpZgorCisgICAgLy8gc3RvcmUg
dGhlIGZ1bmN0aW9uJ3MgbmFtZQorICAgIEFTU0VSVChleGVjdXRhYmxlLT5uYW1lVmFsdWUoKSk7
CisgICAgaW50IGZ1bmN0aW9uTmFtZU9mZnNldCA9IHNpemVvZihKU1ZhbHVlKSAqIG1fY29kZUJs
b2NrLT5nbG9iYWxPYmplY3QoKS0+ZnVuY3Rpb25OYW1lT2Zmc2V0KCk7CisgICAgc3RvcmVQdHIo
VHJ1c3RlZEltbVB0cihleGVjdXRhYmxlLT5uYW1lVmFsdWUoKSksIEFkZHJlc3MocmVnVDEsIGZ1
bmN0aW9uTmFtZU9mZnNldCArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXls
b2FkKSkpOworI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIo
SlNWYWx1ZTo6Q2VsbFRhZyksIEFkZHJlc3MocmVnVDEsIGZ1bmN0aW9uTmFtZU9mZnNldCArIE9C
SkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy50YWcpKSk7CisjZW5kaWYKIH0KIAogI2lm
IFVTRShKU1ZBTFVFMzJfNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAppbmRleCBiMGQwY2Y3YWY2NzU4NzMyYzczYTQzODgyMjAxNzQxZDM0NjQ0NWVhLi44NGFkMTky
YjUzMjM2ODViOWQzZjlhZDM2OGRlZmNhODAzNjcxMTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTcyNSwxMyArNzI1LDYgQEAgdm9pZCBKSVQ6OmVtaXRf
b3BfcmVzb2x2ZV93aXRoX3RoaXMoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAg
ICBzdHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpOwogfQogCi12
b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKLXsKLSAgICBKSVRTdHViQ2FsbCBzdHViQ2FsbCh0aGlzLCBjdGlfb3BfbmV3X2Z1bmNf
ZXhwKTsKLSAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChUcnVzdGVkSW1tUHRyKG1fY29kZUJsb2Nr
LT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKTsKLSAgICBz
dHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpOwotfQotCiB2b2lk
IEpJVDo6ZW1pdF9vcF9qdHJ1ZShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewog
ICAgIHVuc2lnbmVkIHRhcmdldCA9IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7CkBA
IC0xNjIxLDExICsxNjE0LDU5IEBAIHZvaWQgSklUOjplbWl0X29wX25ld19mdW5jKEluc3RydWN0
aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgICAgIGxhenlKdW1wID0gYnJhbmNoVGVzdFB0
cihOb25aZXJvLCBhZGRyZXNzRm9yKGRzdCkpOwogI2VuZGlmCiAgICAgfQorCisgICAgRnVuY3Rp
b25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gbV9jb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChjdXJy
ZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKTsKKyAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhl
YWRlclB0cihSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4sIHJlZ1QyKTsKKyAgICBlbWl0QWxsb2Nh
dGVKU0Z1bmN0aW9uKGV4ZWN1dGFibGUsIHJlZ1QyLCByZWdUMCwgcmVnVDEpOworCisgICAgZW1p
dFN0b3JlQ2VsbChkc3QsIHJlZ1QwKTsKKworICAgIGlmIChjdXJyZW50SW5zdHJ1Y3Rpb25bM10u
dS5vcGVyYW5kKSB7CisjaWYgVVNFKEpTVkFMVUUzMl82NCkgICAgICAgIAorICAgICAgICB1bm1h
cCgpOworI2Vsc2UKKyAgICAgICAga2lsbExhc3RSZXN1bHRSZWdpc3RlcigpOworI2VuZGlmCisg
ICAgICAgIGxhenlKdW1wLmxpbmsodGhpcyk7CisgICAgfQorfQorCit2b2lkIEpJVDo6ZW1pdFNs
b3dfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNs
b3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikKK3sKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7
CiAgICAgSklUU3R1YkNhbGwgc3R1YkNhbGwodGhpcywgY3RpX29wX25ld19mdW5jKTsKICAgICBz
dHViQ2FsbC5hZGRBcmd1bWVudChUcnVzdGVkSW1tUHRyKG1fY29kZUJsb2NrLT5mdW5jdGlvbkRl
Y2woY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKTsKICAgICBzdHViQ2FsbC5jYWxs
KGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpOwotICAgIGlmIChjdXJyZW50SW5zdHJ1
Y3Rpb25bM10udS5vcGVyYW5kKQotICAgICAgICBsYXp5SnVtcC5saW5rKHRoaXMpOworfQorCit2
b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKK3sKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBtX2NvZGVCbG9j
ay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpOworCisgICAg
Ly8gV2Ugb25seSBpbmxpbmUgdGhlIGFsbG9jYXRpb24gb2YgYSBhbm9ueW1vdXMgZnVuY3Rpb24g
ZXhwcmVzc2lvbnMKKyAgICAvLyBJZiB3ZSB3YW50IHRvIGJlIGFibGUgdG8gYWxsb2NhdGUgYSBu
YW1lZCBmdW5jdGlvbiBleHByZXNzaW9uLCB3ZSB3b3VsZAorICAgIC8vIG5lZWQgdG8gYmUgYWJs
ZSB0byBkbyBpbmxpbmUgYWxsb2NhdGlvbiBvZiBhIEpTU3RhdGljU2NvcGVPYmplY3QuCisgICAg
aWYgKGV4ZWN1dGFibGUtPm5hbWUoKS5pc051bGwoKSkgeworICAgICAgICBlbWl0R2V0RnJvbUNh
bGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4sIHJlZ1QyKTsKKyAgICAg
ICAgZW1pdEFsbG9jYXRlSlNGdW5jdGlvbihleGVjdXRhYmxlLCByZWdUMiwgcmVnVDAsIHJlZ1Qx
KTsKKyAgICAgICAgZW1pdFN0b3JlQ2VsbChjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5k
LCByZWdUMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBKSVRTdHViQ2FsbCBzdHVi
Q2FsbCh0aGlzLCBjdGlfb3BfbmV3X2Z1bmNfZXhwKTsKKyAgICBzdHViQ2FsbC5hZGRBcmd1bWVu
dChUcnVzdGVkSW1tUHRyKG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0
aW9uWzJdLnUub3BlcmFuZCkpKTsKKyAgICBzdHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQpOworfQorCit2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfbmV3X2Z1bmNfZXhw
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6
aXRlcmF0b3ImIGl0ZXIpCit7CisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0g
bV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5k
KTsKKyAgICBpZiAoIWV4ZWN1dGFibGUtPm5hbWUoKS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIGxpbmtTbG93Q2FzZShpdGVyKTsKKyAgICBKSVRTdHViQ2FsbCBzdHViQ2FsbCh0aGlz
LCBjdGlfb3BfbmV3X2Z1bmNfZXhwKTsKKyAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChUcnVzdGVk
SW1tUHRyKGV4ZWN1dGFibGUpKTsKKyAgICBzdHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQpOwogfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3Bjb2RlczMyXzY0LmNwcAppbmRleCA3MTNjNmY5NGNiYThmZDI1YTkxZTFlNTg5Zjk3MzE1
NDZjN2E1MDZjLi5hYmRiNmY1YjliYzE3ODg3NWI5ZmRmNWYyYTBiZWEwYzI2ZDY0YTNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCkBAIC0xMTE4
LDEzICsxMTE4LDYgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfcmVzb2x2ZV93aXRoX3RoaXMoSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBzdHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0
cnVjdGlvblsyXS51Lm9wZXJhbmQpOwogfQogCi12b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19l
eHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKLXsKLSAgICBKSVRTdHViQ2FsbCBz
dHViQ2FsbCh0aGlzLCBjdGlfb3BfbmV3X2Z1bmNfZXhwKTsKLSAgICBzdHViQ2FsbC5hZGRBcmd1
bWVudChUcnVzdGVkSW1tUHRyKG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZCkpKTsKLSAgICBzdHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQpOwotfQotCiB2b2lkIEpJVDo6ZW1pdF9vcF90aHJvdyhJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewogICAgIHVuc2lnbmVkIGV4Y2VwdGlvbiA9IGN1
cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmgKaW5kZXggY2RmYWQ5NDkwNTUwN2Y4ZTFkNzBmMTAyNTZiZTc5Y2Nl
NDYzZGZjMC4uMDA2YTdkYjM3ZjFlODY0OGI5NGNjN2UyZjQ1Y2RhYWRlYjU2ZmFjZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTEwLDYgKzExMCwx
NiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENv
bnN0cnVjdERhdGEoQ29uc3RydWN0RGF0YSYpOwogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdl
dENhbGxEYXRhKENhbGxEYXRhJik7CiAKKyAgICAgICAgc3RhdGljIGlubGluZSBzaXplX3Qgb2Zm
c2V0T2ZTY29wZUNoYWluKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIE9CSkVDVF9P
RkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3BlQ2hhaW4pOworICAgICAgICB9CisKKyAgICAgICAg
c3RhdGljIGlubGluZSBzaXplX3Qgb2Zmc2V0T2ZFeGVjdXRhYmxlKCkKKyAgICAgICAgeworICAg
ICAgICAgICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX2V4ZWN1dGFibGUp
OworICAgICAgICB9CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIGNvbnN0IHN0YXRpYyB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEltcGxl
bWVudHNIYXNJbnN0YW5jZSB8IE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4gfCBPdmVycmlkZXNHZXRQ
cm9wZXJ0eU5hbWVzIHwgSlNPYmplY3Q6OlN0cnVjdHVyZUZsYWdzOwogCg==
</data>
<flag name="review"
          id="98568"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>