<?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>69466</bug_id>
          
          <creation_ts>2011-10-05 14:39:33 -0700</creation_ts>
          <short_desc>Added a simpler mechanism for registering one-off finalizers</short_desc>
          <delta_ts>2011-10-05 19:52:01 -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>aroben</cc>
    
    <cc>oliver</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>478694</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-05 14:39:33 -0700</bug_when>
    <thetext>Added a simpler mechanism for registering one-off finalizers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478696</commentid>
    <comment_count>1</comment_count>
      <attachid>109864</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-05 14:42:07 -0700</bug_when>
    <thetext>Created attachment 109864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478749</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-05 15:43:33 -0700</bug_when>
    <thetext>Committed r96760: &lt;http://trac.webkit.org/changeset/96760&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478755</commentid>
    <comment_count>3</comment_count>
      <attachid>109864</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-10-05 15:49:41 -0700</bug_when>
    <thetext>Comment on attachment 109864
Patch

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

&gt; Source/JavaScriptCore/heap/Heap.cpp:706
&gt; +    Weak&lt;JSCell&gt; weak(*globalData(), cell, &amp;m_finalizerOwner, reinterpret_cast&lt;void*&gt;(finalizer));

I&apos;m surprised a cast is needed here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478867</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-05 18:57:34 -0700</bug_when>
    <thetext>&gt; I&apos;m surprised a cast is needed here.

C/C++ are based on an abstract machine in which pointers to data (which includes void*) and pointers to functions might be in different address spaces or of different sizes, or where one might be a direct pointer and the other a handle. So, in theory, casting between the two is illegal. That&apos;s why reinterpret_cast is required here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478880</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-05 19:25:02 -0700</bug_when>
    <thetext>It seems like this patch broke Windows build:
http://build.webkit.org/builders/Windows%20Release%20%28Build%29/builds/21764
http://build.webkit.org/builders/Windows%20Release%20%28Build%29/builds/21764/steps/compile-webkit/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478890</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-05 19:52:01 -0700</bug_when>
    <thetext>Fixed Windows build in http://trac.webkit.org/changeset/96783.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109864</attachid>
            <date>2011-10-05 14:42:07 -0700</date>
            <delta_ts>2011-10-05 15:49:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69466-20111005144207.patch</filename>
            <type>text/plain</type>
            <size>13789</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTY3NTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAK
KzIwMTEtMTAtMDUgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBBZGRlZCBhIHNpbXBsZXIgbWVjaGFuaXNtIGZvciByZWdpc3RlcmluZyBvbmUtb2ZmIGZpbmFs
aXplcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5
NDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBo
ZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjphZGRGaW5hbGl6ZXIpOgorICAgICAg
ICAoSlNDOjpIZWFwOjpGaW5hbGl6ZXJPd25lcjo6ZmluYWxpemUpOgorICAgICAgICAqIGhlYXAv
SGVhcC5oOiBOZXcgZnVuY3Rpb24gZm9yIGFkZGluZyBhbiBhcmJpdHJhcnkgZmluYWxpemVyIGZv
ciBhbgorICAgICAgICBhcmJpdHJhcnkgY2VsbCB3aXRob3V0IGRlY2xhcmluZyBhbnkgc3BlY2lh
bCBjbGFzc2VzIG9yIEhhbmRsZXMgeW91cnNlbGYuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS5leHA6IEZpeCBidWlsZC4KKworICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5jcHA6Cisg
ICAgICAgIChKU0M6OkV4ZWN1dGFibGVCYXNlOjpjbGVhckNvZGUpOgorICAgICAgICAoSlNDOjpF
eGVjdXRhYmxlQmFzZTo6Y2xlYXJDb2RlVmlydHVhbCk6CisgICAgICAgIChKU0M6OkV2YWxFeGVj
dXRhYmxlOjpjbGVhckNvZGVWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6UHJvZ3JhbUV4ZWN1dGFi
bGU6OmNsZWFyQ29kZVZpcnR1YWwpOgorICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU6
OmRpc2NhcmRDb2RlKToKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25FeGVjdXRhYmxlOjpjbGVhckNv
ZGVWaXJ0dWFsKToKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuaDoKKyAgICAgICAgKEpT
Qzo6RXhlY3V0YWJsZUJhc2U6OmZpbmlzaENyZWF0aW9uKTogVXNlIHRoZSBuZXcgbWVjaGFuaXNt
IGZvciBlYWdlcgorICAgICAgICBmaW5hbGl6YXRpb24gb2YgZXhlY3V0YWJsZXMuCisKKyAgICAg
ICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxP
YmplY3Q6OmNsZWFyUmFyZURhdGEpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmNyZWF0ZVJhcmVEYXRhSWZOZWVkZWQp
OgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6cmVnaXN0ZXJXZWFrTWFwKTogVXNlIHRo
ZSBuZXcgbWVjaGFuaXNtIGZvciBlYWdlcgorICAgICAgICBmaW5hbGl6YXRpb24gb2Ygd2VhayBt
YXBzLgorCiAyMDExLTEwLTA0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgREZHIHNob3VsZCBiZSBjYXBhYmxlIG9mIGEgYnJvYWRlciByYW5nZSBvZiBzcGVjdWxh
dGlvbnMgb24gYnJhbmNoIGFuZCBub3QKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmV4cAkocmV2aXNpb24gOTY3MzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZXhwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNyArMTE3LDYgQEAgX19a
TjNKU0MxMHRocm93RXJyb3JFUE5TXzlFeGVjU3RhdGVFUE5TXwogX19aTjNKU0MxMUpTQnl0ZUFy
cmF5MTNzX2RlZmF1bHRJbmZvRQogX19aTjNKU0MxMUpTQnl0ZUFycmF5MTVjcmVhdGVTdHJ1Y3R1
cmVFUk5TXzEySlNHbG9iYWxEYXRhRVBOU18xNEpTR2xvYmFsT2JqZWN0RU5TXzdKU1ZhbHVlRVBL
TlNfOUNsYXNzSW5mb0UKIF9fWk4zSlNDMTFKU0J5dGVBcnJheUMxRVBOU185RXhlY1N0YXRlRVBO
U185U3RydWN0dXJlRVBOM1dURjlCeXRlQXJyYXlFCi1fX1pOM0pTQzE1QWxsb2NhdGlvblNwYWNl
MTZhbGxvY2F0ZVNsb3dDYXNlRVJOU18xMU1hcmtlZFNwYWNlOVNpemVDbGFzc0UKIF9fWk4zSlND
MTFQYXJzZXJBcmVuYTVyZXNldEV2CiBfX1pOM0pTQzExY2hlY2tTeW50YXhFUE5TXzlFeGVjU3Rh
dGVFUktOU18xMFNvdXJjZUNvZGVFUE5TXzdKU1ZhbHVlRQogX19aTjNKU0MxMWNyZWF0ZUVycm9y
RVBOU185RXhlY1N0YXRlRVJLTlNfN1VTdHJpbmdFCkBAIC0xNjIsNiArMTYxLDcgQEAgX19aTjNK
U0MxM1N0YXRlbWVudE5vZGU2c2V0TG9jRWlpCiBfX1pOM0pTQzE0SlNHbG9iYWxPYmplY3QxMGds
b2JhbEV4ZWNFdgogX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0MTJkZWZpbmVHZXR0ZXJFUE5TXzlF
eGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUE5TXzhKU09iamVjdEVqCiBfX1pOM0pTQzE0SlNH
bG9iYWxPYmplY3QxMmRlZmluZVNldHRlckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmll
ckVQTlNfOEpTT2JqZWN0RWoKK19fWk4zSlNDMTRKU0dsb2JhbE9iamVjdDEzY2xlYXJSYXJlRGF0
YUVQTlNfNkpTQ2VsbEUKIF9fWk4zSlNDMTRKU0dsb2JhbE9iamVjdDEzdmlzaXRDaGlsZHJlbkVQ
TlNfNkpTQ2VsbEVSTlNfMTFTbG90VmlzaXRvckUKIF9fWk4zSlNDMTRKU0dsb2JhbE9iamVjdDE2
YWRkU3RhdGljR2xvYmFsc0VQTlMwXzE4R2xvYmFsUHJvcGVydHlJbmZvRWkKIF9fWk4zSlNDMTRK
U0dsb2JhbE9iamVjdDE3cHV0V2l0aEF0dHJpYnV0ZXNFUE5TXzlFeGVjU3RhdGVFUktOU18xMElk
ZW50aWZpZXJFTlNfN0pTVmFsdWVFagpAQCAtMTc5LDYgKzE3OSw3IEBAIF9fWk4zSlNDMTRUaW1l
b3V0Q2hlY2tlcjEwZGlkVGltZU91dEVQTlMKIF9fWk4zSlNDMTRUaW1lb3V0Q2hlY2tlcjVyZXNl
dEV2CiBfX1pOM0pTQzE0VlRhYmxlU3BlY3RydW01Y291bnRFUE5TXzZKU0NlbGxFCiBfX1pOM0pT
QzE0dGhyb3dUeXBlRXJyb3JFUE5TXzlFeGVjU3RhdGVFCitfX1pOM0pTQzE1QWxsb2NhdGlvblNw
YWNlMTZhbGxvY2F0ZVNsb3dDYXNlRVJOU18xMU1hcmtlZFNwYWNlOVNpemVDbGFzc0UKIF9fWk4z
SlNDMTVXZWFrSGFuZGxlT3duZXIyNmlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzRU5TXzZIYW5k
bGVJTlNfN1Vua25vd25FRUVQdlJOU18xMVNsb3RWaXNpdG9yRQogX19aTjNKU0MxNVdlYWtIYW5k
bGVPd25lcjhmaW5hbGl6ZUVOU182SGFuZGxlSU5TXzdVbmtub3duRUVFUHYKIF9fWk4zSlNDMTVX
ZWFrSGFuZGxlT3duZXJEMkV2CkBAIC0yMzIsNiArMjMzLDcgQEAgX19aTjNKU0MzMGlzVGVybWlu
YXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbgogX19aTjNKU0MzNWNyZWF0ZUludGVycnVwdGVkRXhlY3V0
aW9uRXhjZXB0aW9uRVBOU18xMkpTR2xvYmFsRGF0YUUKIF9fWk4zSlNDNDFjb25zdHJ1Y3RGdW5j
dGlvblNraXBwaW5nRXZhbEVuYWJsZWRDaGVja0VQTlNfOUV4ZWNTdGF0ZUVQTlNfMTRKU0dsb2Jh
bE9iamVjdEVSS05TXzdBcmdMaXN0RVJLTlNfMTBJZGVudGlmaWVyRVJLTlNfN1VTdHJpbmdFaQog
X19aTjNKU0M0SGVhcDExb2JqZWN0Q291bnRFdgorX19aTjNKU0M0SGVhcDEyYWRkRmluYWxpemVy
RVBOU182SlNDZWxsRVBGdlMyX0UKIF9fWk4zSlNDNEhlYXAxNmFjdGl2aXR5Q2FsbGJhY2tFdgog
X19aTjNKU0M0SGVhcDE2b2JqZWN0VHlwZUNvdW50c0V2CiBfX1pOM0pTQzRIZWFwMTdjb2xsZWN0
QWxsR2FyYmFnZUV2CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAkocmV2aXNp
b24gOTY3MzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzAxLDQgKzcwMSwxNyBAQCB2b2lkIEhlYXA6OnJlbGVhc2VGcmVlQmxvY2tz
KCkKICAgICB9CiB9CiAKK3ZvaWQgSGVhcDo6YWRkRmluYWxpemVyKEpTQ2VsbCogY2VsbCwgRmlu
YWxpemVyIGZpbmFsaXplcikKK3sKKyAgICBXZWFrPEpTQ2VsbD4gd2VhaygqZ2xvYmFsRGF0YSgp
LCBjZWxsLCAmbV9maW5hbGl6ZXJPd25lciwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZmluYWxp
emVyKSk7CisgICAgd2Vhay5sZWFrSGFuZGxlKCk7IC8vIEJhbGFuY2VkIGJ5IEZpbmFsaXplck93
bmVyOjpmaW5hbGl6ZSgpLgorfQorCit2b2lkIEhlYXA6OkZpbmFsaXplck93bmVyOjpmaW5hbGl6
ZShIYW5kbGU8VW5rbm93bj4gaGFuZGxlLCB2b2lkKiBjb250ZXh0KQoreworICAgIFdlYWs8SlND
ZWxsPiB3ZWFrKFdlYWs8SlNDZWxsPjo6QWRvcHQsIGhhbmRsZSk7CisgICAgRmluYWxpemVyIGZp
bmFsaXplciA9IHJlaW50ZXJwcmV0X2Nhc3Q8RmluYWxpemVyPihjb250ZXh0KTsKKyAgICBmaW5h
bGl6ZXIod2Vhay5nZXQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXAuaAkocmV2aXNpb24gOTY3MzIpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9IZWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDYgKzkyLDkgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIE1hcmtlZFNwYWNlOjpTaXplQ2xhc3MmIHNpemVDbGFzc0Zvck9i
amVjdChzaXplX3QgYnl0ZXMpIHsgcmV0dXJuIG1fb2JqZWN0U3BhY2Uuc2l6ZUNsYXNzRm9yKGJ5
dGVzKTsgfQogICAgICAgICB2b2lkKiBhbGxvY2F0ZShzaXplX3QpOwogCisgICAgICAgIHR5cGVk
ZWYgdm9pZCAoKkZpbmFsaXplcikoSlNDZWxsKik7CisgICAgICAgIHZvaWQgYWRkRmluYWxpemVy
KEpTQ2VsbCosIEZpbmFsaXplcik7CisKICAgICAgICAgdm9pZCBub3RpZnlJc1NhZmVUb0NvbGxl
Y3QoKSB7IG1faXNTYWZlVG9Db2xsZWN0ID0gdHJ1ZTsgfQogICAgICAgICB2b2lkIGNvbGxlY3RB
bGxHYXJiYWdlKCk7CiAKQEAgLTEzMCw2ICsxMzMsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5FeHRyYUNvc3QgPSAyNTY7CiAgICAgICAgIHN0
YXRpYyBjb25zdCBzaXplX3QgbWF4RXh0cmFDb3N0ID0gMTAyNCAqIDEwMjQ7CisgICAgICAgIAor
ICAgICAgICBjbGFzcyBGaW5hbGl6ZXJPd25lciA6IHB1YmxpYyBXZWFrSGFuZGxlT3duZXIgewor
ICAgICAgICAgICAgdmlydHVhbCB2b2lkIGZpbmFsaXplKEhhbmRsZTxVbmtub3duPiwgdm9pZCog
Y29udGV4dCk7CisgICAgICAgIH07CiAKICAgICAgICAgYm9vbCBpc1ZhbGlkQWxsb2NhdGlvbihz
aXplX3QpOwogICAgICAgICB2b2lkIHJlcG9ydEV4dHJhTWVtb3J5Q29zdFNsb3dDYXNlKHNpemVf
dCk7CkBAIC0xOTMsNiArMjAwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEhhbmRsZUhl
YXAgbV9oYW5kbGVIZWFwOwogICAgICAgICBIYW5kbGVTdGFjayBtX2hhbmRsZVN0YWNrOwogICAg
ICAgICBKZXR0aXNvbmVkQ29kZUJsb2NrcyBtX2pldHRpc29uZWRDb2RlQmxvY2tzOworICAgICAg
ICBGaW5hbGl6ZXJPd25lciBtX2ZpbmFsaXplck93bmVyOwogICAgICAgICAKICAgICAgICAgYm9v
bCBtX2lzU2FmZVRvQ29sbGVjdDsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDk2NzMyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4
LDEyIEBAIG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBDbGFzc0luZm8gRXhlY3V0YWJsZUJhc2U6
OnNfaW5mbyA9IHsgIkV4ZWN1dGFibGUiLCAwLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEV4
ZWN1dGFibGVCYXNlKSB9OwogCi12b2lkIEV4ZWN1dGFibGVCYXNlOjpjbGVhckNvZGUoKQordm9p
ZCBFeGVjdXRhYmxlQmFzZTo6Y2xlYXJDb2RlKEpTQ2VsbCogY2VsbCkKK3sKKyAgICBzdGF0aWNf
Y2FzdDxFeGVjdXRhYmxlQmFzZSo+KGNlbGwpLT5jbGVhckNvZGVWaXJ0dWFsKCk7Cit9CisKK3Zv
aWQgRXhlY3V0YWJsZUJhc2U6OmNsZWFyQ29kZVZpcnR1YWwoKQogewogI2lmIEVOQUJMRShKSVQp
CiAgICAgbV9qaXRDb2RlRm9yQ2FsbC5jbGVhcigpOwpAQCAtNTcsMjAgKzYyLDYgQEAgREZHOjpJ
bnRyaW5zaWMgRXhlY3V0YWJsZUJhc2U6OmludHJpbnNpYwogfQogI2VuZGlmCiAKLWNsYXNzIEV4
ZWN1dGFibGVGaW5hbGl6ZXIgOiBwdWJsaWMgV2Vha0hhbmRsZU93bmVyIHsKLSAgICB2aXJ0dWFs
IHZvaWQgZmluYWxpemUoSGFuZGxlPFVua25vd24+IGhhbmRsZSwgdm9pZCopCi0gICAgewotICAg
ICAgICBXZWFrPEV4ZWN1dGFibGVCYXNlPiBleGVjdXRhYmxlKFdlYWs8RXhlY3V0YWJsZUJhc2U+
OjpBZG9wdCwgaGFuZGxlKTsKLSAgICAgICAgZXhlY3V0YWJsZS0+Y2xlYXJDb2RlKCk7Ci0gICAg
fQotfTsKLQotV2Vha0hhbmRsZU93bmVyKiBFeGVjdXRhYmxlQmFzZTo6ZXhlY3V0YWJsZUZpbmFs
aXplcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChFeGVjdXRhYmxlRmluYWxpemVyLCBm
aW5hbGl6ZXIsICgpKTsKLSAgICByZXR1cm4gJmZpbmFsaXplcjsKLX0KLQogY29uc3QgQ2xhc3NJ
bmZvIE5hdGl2ZUV4ZWN1dGFibGU6OnNfaW5mbyA9IHsgIk5hdGl2ZUV4ZWN1dGFibGUiLCAmRXhl
Y3V0YWJsZUJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShOYXRpdmVFeGVj
dXRhYmxlKSB9OwogCiBOYXRpdmVFeGVjdXRhYmxlOjp+TmF0aXZlRXhlY3V0YWJsZSgpCkBAIC0y
NTUsMTMgKzI0NiwxMyBAQCB2b2lkIEV2YWxFeGVjdXRhYmxlOjp1bmxpbmtDYWxscygpCiAjZW5k
aWYKIH0KIAotdm9pZCBFdmFsRXhlY3V0YWJsZTo6Y2xlYXJDb2RlKCkKK3ZvaWQgRXZhbEV4ZWN1
dGFibGU6OmNsZWFyQ29kZVZpcnR1YWwoKQogewogICAgIGlmIChtX2V2YWxDb2RlQmxvY2spIHsK
ICAgICAgICAgbV9ldmFsQ29kZUJsb2NrLT5jbGVhckV2YWxDYWNoZSgpOwogICAgICAgICBtX2V2
YWxDb2RlQmxvY2suY2xlYXIoKTsKICAgICB9Ci0gICAgQmFzZTo6Y2xlYXJDb2RlKCk7CisgICAg
QmFzZTo6Y2xlYXJDb2RlVmlydHVhbCgpOwogfQogCiBKU09iamVjdCogUHJvZ3JhbUV4ZWN1dGFi
bGU6OmNoZWNrU3ludGF4KEV4ZWNTdGF0ZSogZXhlYykKQEAgLTM4NCwxMyArMzc1LDEzIEBAIHZv
aWQgUHJvZ3JhbUV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRyZW4oSlMKICAgICAgICAgdGhpc09iamVj
dC0+bV9wcm9ncmFtQ29kZUJsb2NrLT52aXNpdEFnZ3JlZ2F0ZSh2aXNpdG9yKTsKIH0KIAotdm9p
ZCBQcm9ncmFtRXhlY3V0YWJsZTo6Y2xlYXJDb2RlKCkKK3ZvaWQgUHJvZ3JhbUV4ZWN1dGFibGU6
OmNsZWFyQ29kZVZpcnR1YWwoKQogewogICAgIGlmIChtX3Byb2dyYW1Db2RlQmxvY2spIHsKICAg
ICAgICAgbV9wcm9ncmFtQ29kZUJsb2NrLT5jbGVhckV2YWxDYWNoZSgpOwogICAgICAgICBtX3By
b2dyYW1Db2RlQmxvY2suY2xlYXIoKTsKICAgICB9Ci0gICAgQmFzZTo6Y2xlYXJDb2RlKCk7Cisg
ICAgQmFzZTo6Y2xlYXJDb2RlVmlydHVhbCgpOwogfQogCiBKU09iamVjdCogRnVuY3Rpb25FeGVj
dXRhYmxlOjpjb21waWxlT3B0aW1pemVkRm9yQ2FsbChFeGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hh
aW5Ob2RlKiBzY29wZUNoYWluTm9kZSwgRXhlY1N0YXRlKiBjYWxsZWVBcmdzRXhlYykKQEAgLTYx
MiwxMCArNjAzLDEwIEBAIHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxlOjpkaXNjYXJkQ29kZSgpCiAg
ICAgaWYgKCFtX2ppdENvZGVGb3JDb25zdHJ1Y3QgJiYgbV9jb2RlQmxvY2tGb3JDb25zdHJ1Y3Qp
CiAgICAgICAgIHJldHVybjsKICNlbmRpZgotICAgIGNsZWFyQ29kZSgpOworICAgIGNsZWFyQ29k
ZVZpcnR1YWwoKTsKIH0KIAotdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OmNsZWFyQ29kZSgpCit2
b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6Y2xlYXJDb2RlVmlydHVhbCgpCiB7CiAgICAgaWYgKG1f
Y29kZUJsb2NrRm9yQ2FsbCkgewogICAgICAgICBtX2NvZGVCbG9ja0ZvckNhbGwtPmNsZWFyRXZh
bENhY2hlKCk7CkBAIC02MjUsNyArNjE2LDcgQEAgdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OmNs
ZWFyQ29kZSgpCiAgICAgICAgIG1fY29kZUJsb2NrRm9yQ29uc3RydWN0LT5jbGVhckV2YWxDYWNo
ZSgpOwogICAgICAgICBtX2NvZGVCbG9ja0ZvckNvbnN0cnVjdC5jbGVhcigpOwogICAgIH0KLSAg
ICBCYXNlOjpjbGVhckNvZGUoKTsKKyAgICBCYXNlOjpjbGVhckNvZGVWaXJ0dWFsKCk7CiB9CiAK
IHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxlOjp1bmxpbmtDYWxscygpCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCShyZXZpc2lvbiA5NjczMikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5KQpA
QCAtNjMsMTAgKzYzLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQogICAgICAgICB7CiAgICAgICAgICAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKLSAgICAgICAgICAgIFdlYWs8RXhlY3V0
YWJsZUJhc2U+IGZpbmFsaXplcihnbG9iYWxEYXRhLCB0aGlzLCBleGVjdXRhYmxlRmluYWxpemVy
KCkpOwotICAgICAgICAgICAgZmluYWxpemVyLmxlYWtIYW5kbGUoKTsKKyAgICAgICAgICAgIGds
b2JhbERhdGEuaGVhcC5hZGRGaW5hbGl6ZXIodGhpcywgY2xlYXJDb2RlKTsKICAgICAgICAgfQot
ICAgICAgICAKKwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKIApA
QCAtODcsNyArODYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIHN0YXRp
YyBjb25zdCBDbGFzc0luZm8gc19pbmZvOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBjbGVhckNv
ZGUoKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGNsZWFyQ29kZVZpcnR1YWwoKTsKIAogICAgIHBy
b3RlY3RlZDoKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0g
MDsKQEAgLTE2OCw3ICsxNjcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICNlbmRpZgogICAgICAgICAK
ICAgICBwcml2YXRlOgotICAgICAgICBzdGF0aWMgV2Vha0hhbmRsZU93bmVyKiBleGVjdXRhYmxl
RmluYWxpemVyKCk7CisgICAgICAgIHN0YXRpYyB2b2lkIGNsZWFyQ29kZShKU0NlbGwqKTsKICAg
ICB9OwogCiAgICAgY2xhc3MgTmF0aXZlRXhlY3V0YWJsZSA6IHB1YmxpYyBFeGVjdXRhYmxlQmFz
ZSB7CkBAIC0zNDksNyArMzQ4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0YXRpYyBj
b25zdCBDbGFzc0luZm8gc19pbmZvOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFs
IHZvaWQgY2xlYXJDb2RlKCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBjbGVhckNvZGVWaXJ0dWFs
KCk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBPdmVycmlkZXNWaXNpdENoaWxkcmVuIHwgU2NyaXB0RXhlY3V0YWJsZTo6U3Ry
dWN0dXJlRmxhZ3M7CkBAIC00MTQsNyArNDEzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOwogICAgICAgICAKICAgICBwcm90ZWN0ZWQ6
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBjbGVhckNvZGUoKTsKKyAgICAgICAgdmlydHVhbCB2b2lk
IGNsZWFyQ29kZVZpcnR1YWwoKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4gfCBTY3Jp
cHRFeGVjdXRhYmxlOjpTdHJ1Y3R1cmVGbGFnczsKQEAgLTU5MCw3ICs1ODksNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CiAgICAgICAg
IAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCB2b2lkIGNsZWFyQ29kZSgpOworICAg
ICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJDb2RlVmlydHVhbCgpOwogCiAgICAgICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBjb25zdCBJZGVudGlmaWVyJiBu
YW1lLCBpbnQgZmlyc3RMaW5lLCBpbnQgbGFzdExpbmUpCiAgICAgICAgIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlz
aW9uIDk2NzMyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjgsMTYgKzQyOCw5IEBAIGJvb2wgSlNHbG9iYWxP
YmplY3Q6OmdldE93blByb3BlcnR5RGVzY3IKICAgICByZXR1cm4gc3ltYm9sVGFibGVHZXQocHJv
cGVydHlOYW1lLCBkZXNjcmlwdG9yKTsKIH0KIAotdm9pZCBKU0dsb2JhbE9iamVjdDo6V2Vha01h
cHNGaW5hbGl6ZXI6OmZpbmFsaXplKEhhbmRsZTxVbmtub3duPiBoYW5kbGUsIHZvaWQqKQordm9p
ZCBKU0dsb2JhbE9iamVjdDo6Y2xlYXJSYXJlRGF0YShKU0NlbGwqIGNlbGwpCiB7Ci0gICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGFzR2xvYmFsT2JqZWN0KGhhbmRsZS5nZXQoKSk7
Ci0gICAgZ2xvYmFsT2JqZWN0LT5tX3JhcmVEYXRhLmNsZWFyKCk7Ci19Ci0KLUpTR2xvYmFsT2Jq
ZWN0OjpXZWFrTWFwc0ZpbmFsaXplciogSlNHbG9iYWxPYmplY3Q6OndlYWtNYXBzRmluYWxpemVy
KCkKLXsKLSAgICBzdGF0aWMgV2Vha01hcHNGaW5hbGl6ZXIqIGZpbmFsaXplciA9IG5ldyBXZWFr
TWFwc0ZpbmFsaXplcigpOwotICAgIHJldHVybiBmaW5hbGl6ZXI7CisgICAgc3RhdGljX2Nhc3Q8
SlNHbG9iYWxPYmplY3QqPihjZWxsKS0+bV9yYXJlRGF0YS5jbGVhcigpOwogfQogCiBEeW5hbWlj
R2xvYmFsT2JqZWN0U2NvcGU6OkR5bmFtaWNHbG9iYWxPYmplY3RTY29wZShKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBkeW5hbWljR2xvYmFsT2JqZWN0KQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCShyZXZp
c2lvbiA5NjczMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDExICs1Nyw2IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8T3BhcXVlSlNXZWFr
T2JqZWN0TWFwPiA+IFdlYWtNYXBTZXQ7CiAKLSAgICAgICAgY2xhc3MgV2Vha01hcHNGaW5hbGl6
ZXIgOiBwdWJsaWMgV2Vha0hhbmRsZU93bmVyIHsKLSAgICAgICAgcHVibGljOgotICAgICAgICAg
ICAgdmlydHVhbCB2b2lkIGZpbmFsaXplKEhhbmRsZTxVbmtub3duPiwgdm9pZCogY29udGV4dCk7
Ci0gICAgICAgIH07Ci0KICAgICAgICAgc3RydWN0IEpTR2xvYmFsT2JqZWN0UmFyZURhdGEgewog
ICAgICAgICAgICAgSlNHbG9iYWxPYmplY3RSYXJlRGF0YSgpCiAgICAgICAgICAgICAgICAgOiBw
cm9maWxlR3JvdXAoMCkKQEAgLTcwLDcgKzY1LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAg
ICAgICAgIFdlYWtNYXBTZXQgd2Vha01hcHM7CiAgICAgICAgICAgICB1bnNpZ25lZCBwcm9maWxl
R3JvdXA7Ci0gICAgICAgICAgICBXZWFrPEpTR2xvYmFsT2JqZWN0PiB3ZWFrTWFwc0ZpbmFsaXpl
cjsKICAgICAgICAgfTsKIAogICAgIHByb3RlY3RlZDoKQEAgLTEyOCw3ICsxMjIsNiBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgRGVidWdnZXIqIG1fZGVidWdnZXI7CiAKICAgICAgICAgT3du
UHRyPEpTR2xvYmFsT2JqZWN0UmFyZURhdGE+IG1fcmFyZURhdGE7Ci0gICAgICAgIHN0YXRpYyBX
ZWFrTWFwc0ZpbmFsaXplciogd2Vha01hcHNGaW5hbGl6ZXIoKTsKIAogICAgICAgICBXZWFrUmFu
ZG9tIG1fd2Vha1JhbmRvbTsKIApAQCAtMTM4LDggKzEzMSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogICAgICAgICB2b2lkIGNyZWF0ZVJhcmVEYXRhSWZOZWVkZWQoKQogICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAoIW1fcmFyZURhdGEpCi0gICAgICAgICAgICAgICAgbV9yYXJlRGF0YSA9IGFk
b3B0UHRyKG5ldyBKU0dsb2JhbE9iamVjdFJhcmVEYXRhKTsKKyAgICAgICAgICAgIGlmIChtX3Jh
cmVEYXRhKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIG1fcmFyZURhdGEg
PSBhZG9wdFB0cihuZXcgSlNHbG9iYWxPYmplY3RSYXJlRGF0YSk7CisgICAgICAgICAgICBIZWFw
OjpoZWFwKHRoaXMpLT5hZGRGaW5hbGl6ZXIodGhpcywgY2xlYXJSYXJlRGF0YSk7CiAgICAgICAg
IH0KICAgICAgICAgCiAgICAgcHVibGljOgpAQCAtMjgxLDggKzI3Niw2IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICB2b2lkIHJlZ2lzdGVyV2Vha01hcChPcGFxdWVKU1dlYWtPYmplY3RNYXAq
IG1hcCkKICAgICAgICAgewogICAgICAgICAgICAgY3JlYXRlUmFyZURhdGFJZk5lZWRlZCgpOwot
ICAgICAgICAgICAgaWYgKCFtX3JhcmVEYXRhLT53ZWFrTWFwc0ZpbmFsaXplcikKLSAgICAgICAg
ICAgICAgICBtX3JhcmVEYXRhLT53ZWFrTWFwc0ZpbmFsaXplci5zZXQoZ2xvYmFsRGF0YSgpLCB0
aGlzLCB3ZWFrTWFwc0ZpbmFsaXplcigpKTsKICAgICAgICAgICAgIG1fcmFyZURhdGEtPndlYWtN
YXBzLmFkZChtYXApOwogICAgICAgICB9CiAKQEAgLTMxNyw2ICszMTAsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgdm9pZCByZXNldChKU1ZhbHVlIHByb3RvdHlwZSk7CiAKICAgICAgICAg
dm9pZCBzZXRSZWdpc3RlcnMoV3JpdGVCYXJyaWVyPFVua25vd24+KiByZWdpc3RlcnMsIFBhc3NP
d25BcnJheVB0cjxXcml0ZUJhcnJpZXI8VW5rbm93bj4gPiByZWdpc3RlckFycmF5LCBzaXplX3Qg
Y291bnQpOworICAgICAgICBzdGF0aWMgdm9pZCBjbGVhclJhcmVEYXRhKEpTQ2VsbCopOwogICAg
IH07CiAKICAgICBKU0dsb2JhbE9iamVjdCogYXNHbG9iYWxPYmplY3QoSlNWYWx1ZSk7Cg==
</data>
<flag name="review"
          id="107202"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>