<?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>40435</bug_id>
          
          <creation_ts>2010-06-10 11:43:51 -0700</creation_ts>
          <short_desc>[v8] Introduce single element caches for WebCore::String to v8::String conversions</short_desc>
          <delta_ts>2010-06-16 05:43:34 -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>All</rep_platform>
          <op_sys>All</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>
          <dependson>40539</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="anton muhin">antonm</reporter>
          <assigned_to name="anton muhin">antonm</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>236470</commentid>
    <comment_count>0</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-06-10 11:43:51 -0700</bug_when>
    <thetext>[v8] Introduce single element caches for WebCore::String to v8::String conversions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236472</commentid>
    <comment_count>1</comment_count>
      <attachid>58396</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-06-10 11:47:26 -0700</bug_when>
    <thetext>Created attachment 58396
First version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236475</commentid>
    <comment_count>2</comment_count>
      <attachid>58396</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-06-10 11:48:54 -0700</bug_when>
    <thetext>Comment on attachment 58396
First version

I removed a check for WTF::MainThread() from getCache function.  The idea is that in that case caching should be disabled and thus this function would always return an empty map.

If you think this reasoning is too subtle, I&apos;d be glad to revert this modification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236911</commentid>
    <comment_count>3</comment_count>
      <attachid>58396</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-11 10:58:37 -0700</bug_when>
    <thetext>Comment on attachment 58396
First version

Cool.

WebCore/bindings/v8/V8Binding.cpp: 
 +      ASSERT(WTF::isMainThread());
I didn&apos;t quite understand the reasoning behind remove this assert.  I&apos;m not necessarily against it, I just don&apos;t understand.

WebCore/bindings/v8/V8Binding.h:84
 +      // Note: RefPtr is a must as we cache by StringImpl* equality, not identity
I don&apos;t quite understand the difference between equality and identity, but it makes sense to me why we need a RefPtr here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236914</commentid>
    <comment_count>4</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-06-11 11:04:57 -0700</bug_when>
    <thetext>Thanks a lot, Adam.

Difference between equality and identity: by identity I mean just an address of StringImpl, therefore there might be not identical, but equal string impls (if their contents is the same).

If you could suggest better words, that&apos;d be most appreciated.

Regarding MainThread.  I just speculative fetch the map in any thread.  But I don&apos;t add anything into it if cache is not allowed (that is we&apos;re always on MainThread).  Let me roll it back as it is too complicated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236919</commentid>
    <comment_count>5</comment_count>
      <attachid>58488</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-06-11 11:09:22 -0700</bug_when>
    <thetext>Created attachment 58488
Restore isMainThread assertion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236926</commentid>
    <comment_count>6</comment_count>
      <attachid>58488</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-11 11:13:26 -0700</bug_when>
    <thetext>Comment on attachment 58488
Restore isMainThread assertion

&gt; Regarding MainThread.  I just speculative fetch the map in any thread.

I see.  I&apos;d have to looking into it more carefully to see whether that&apos;s safe.  If it doesn&apos;t have a big perf impact, it might be netter to leave the assert in so the code is easier to understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236928</commentid>
    <comment_count>7</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-06-11 11:15:33 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 58488 [details])
&gt; &gt; Regarding MainThread.  I just speculative fetch the map in any thread.
&gt; 
&gt; I see.  I&apos;d have to looking into it more carefully to see whether that&apos;s safe.  If it doesn&apos;t have a big perf impact, it might be netter to leave the assert in so the code is easier to understand.

Agree.  It shouldn&apos;t be big perf impact as it is a slow case anyway.  Plus condition is perfectly predictable.

Once again, thanks a lot for review, cq+&apos;ing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236960</commentid>
    <comment_count>8</comment_count>
      <attachid>58488</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-11 12:11:53 -0700</bug_when>
    <thetext>Comment on attachment 58488
Restore isMainThread assertion

Clearing flags on attachment: 58488

Committed r61031: &lt;http://trac.webkit.org/changeset/61031&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236961</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-11 12:12:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238417</commentid>
    <comment_count>10</comment_count>
      <attachid>58785</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-06-15 09:30:30 -0700</bug_when>
    <thetext>Created attachment 58785
Clean single element cache on major GCs which may invalidate handles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238439</commentid>
    <comment_count>11</comment_count>
      <attachid>58785</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-06-15 10:09:56 -0700</bug_when>
    <thetext>Comment on attachment 58785
Clean single element cache on major GCs which may invalidate handles

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238449</commentid>
    <comment_count>12</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-06-15 10:17:18 -0700</bug_when>
    <thetext>As it got reverted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238822</commentid>
    <comment_count>13</comment_count>
      <attachid>58785</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-06-16 05:43:22 -0700</bug_when>
    <thetext>Comment on attachment 58785
Clean single element cache on major GCs which may invalidate handles

Clearing flags on attachment: 58785

Committed r61252: &lt;http://trac.webkit.org/changeset/61252&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238823</commentid>
    <comment_count>14</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-06-16 05:43:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58396</attachid>
            <date>2010-06-10 11:47:26 -0700</date>
            <delta_ts>2010-06-11 11:09:13 -0700</delta_ts>
            <desc>First version</desc>
            <filename>bug-40435-20100610224724.patch</filename>
            <type>text/plain</type>
            <size>4929</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTRmYmU5NjE1ZDcwYTAxZDJhYmNkN2ViYjY0MTU3YzUwZWY0OTRiNC4uYzhkOGQ0NGUwYzZlNzMz
NGI2MGJhNDg4MWIzZjcyZTIwY2IwNmY3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wNi0xMCAgQW50
b24gTXVoaW4gIDxhbnRvbm1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFt2OF0gSW50cm9kdWNlIHNpbmdsZSBlbGVtZW50IGNh
Y2hlcyBmb3IgV2ViQ29yZTo6U3RyaW5nIHRvIHY4OjpTdHJpbmcgY29udmVyc2lvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNDM1CisgICAgICAg
IE1lYXN1cmVtZW50cyBzaG93IHRoYXQgZm9yIHNvbWUgd2ViIGFwcHMgKEdNYWlsLCBXYXZlKSBh
bmQgc29tZSBzY2VuYXJpb3MKKyAgICAgICAgKGludGVuc2l2ZSByZWFkaW5nIGFuZC9vciBrZWVw
aW5nIGEgdGFiIG9wZW4gZm9yIGEgbG9uZyB0aW1lKSwKKyAgICAgICAgaGl0IHJhdGUgbGllcyBp
biAzMC0tNTAlIGludGVydmFsLgorICAgICAgICBJbmxpbmluZyBmYXN0IGNhc2UgZ2l2ZXMgYW5v
dGhlciBtaW5vciBwZXJmb3JtYW5jZSB3aW4uCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEJp
bmRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0U3RyaW5nQ2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6djhFeHRlcm5hbFN0cmluZ1Nsb3cpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
QmluZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6djhFeHRlcm5hbFN0cmluZyk6CisKIDIwMTAt
MDYtMTAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhCaW5kaW5nLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAppbmRl
eCA5NzgwNWMwMmU2ODkzNmZjZGQxYTE5MDMwNDMzYTJiZDVmZTQ0OTk0Li43ZGY2Mzk2ODAzZDI2
OGVkOWE5ZDdmNjE4NTM5NDgzNzBmMjY5NWQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4QmluZGluZy5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3Bw
CkBAIC00MjcsNyArNDI3LDYgQEAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCB2ODo6U3Ry
aW5nKj4gU3RyaW5nQ2FjaGU7CiAKIHN0YXRpYyBTdHJpbmdDYWNoZSYgZ2V0U3RyaW5nQ2FjaGUo
KQogewotICAgIEFTU0VSVChXVEY6OmlzTWFpblRocmVhZCgpKTsKICAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0cmluZ0NhY2hlLCBtYWluVGhyZWFkU3RyaW5nQ2FjaGUsICgpKTsKICAgICByZXR1
cm4gbWFpblRocmVhZFN0cmluZ0NhY2hlOwogfQpAQCAtNDQyLDI2ICs0NDEsMjcgQEAgc3RhdGlj
IHZvaWQgY2FjaGVkU3RyaW5nQ2FsbGJhY2sodjg6OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiB3cmFw
cGVyLCB2b2lkKiBwYXJhbWUKICAgICBzdHJpbmdJbXBsLT5kZXJlZigpOwogfQogCi12ODo6TG9j
YWw8djg6OlN0cmluZz4gdjhFeHRlcm5hbFN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKK1Jl
ZlB0cjxTdHJpbmdJbXBsPiBsYXN0U3RyaW5nSW1wbCA9IDA7Cit2ODo6UGVyc2lzdGVudDx2ODo6
U3RyaW5nPiBsYXN0VjhTdHJpbmc7CisKK3Y4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVybmFs
U3RyaW5nU2xvdyhTdHJpbmdJbXBsKiBzdHJpbmdJbXBsKQogewotICAgIFN0cmluZ0ltcGwqIHN0
cmluZ0ltcGwgPSBzdHJpbmcuaW1wbCgpOwotICAgIGlmICghc3RyaW5nSW1wbCB8fCAhc3RyaW5n
SW1wbC0+bGVuZ3RoKCkpCisgICAgaWYgKCFzdHJpbmdJbXBsLT5sZW5ndGgoKSkKICAgICAgICAg
cmV0dXJuIHY4OjpTdHJpbmc6OkVtcHR5KCk7CiAKLSAgICBpZiAoIXN0cmluZ0ltcGxDYWNoZUVu
YWJsZWQpCi0gICAgICAgIHJldHVybiBtYWtlRXh0ZXJuYWxTdHJpbmcoc3RyaW5nKTsKLQogICAg
IFN0cmluZ0NhY2hlJiBzdHJpbmdDYWNoZSA9IGdldFN0cmluZ0NhY2hlKCk7CiAgICAgdjg6OlN0
cmluZyogY2FjaGVkVjhTdHJpbmcgPSBzdHJpbmdDYWNoZS5nZXQoc3RyaW5nSW1wbCk7Ci0gICAg
aWYgKGNhY2hlZFY4U3RyaW5nKQotICAgIHsKKyAgICBpZiAoY2FjaGVkVjhTdHJpbmcpIHsKICAg
ICAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4gaGFuZGxlKGNhY2hlZFY4U3RyaW5nKTsK
LSAgICAgICAgaWYgKCFoYW5kbGUuSXNOZWFyRGVhdGgoKSAmJiAhaGFuZGxlLklzRW1wdHkoKSkK
KyAgICAgICAgaWYgKCFoYW5kbGUuSXNOZWFyRGVhdGgoKSAmJiAhaGFuZGxlLklzRW1wdHkoKSkg
eworICAgICAgICAgICAgbGFzdFN0cmluZ0ltcGwgPSBzdHJpbmdJbXBsOworICAgICAgICAgICAg
bGFzdFY4U3RyaW5nID0gaGFuZGxlOwogICAgICAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6
U3RyaW5nPjo6TmV3KGhhbmRsZSk7CisgICAgICAgIH0KICAgICB9CiAKLSAgICB2ODo6TG9jYWw8
djg6OlN0cmluZz4gbmV3U3RyaW5nID0gbWFrZUV4dGVybmFsU3RyaW5nKHN0cmluZyk7Ci0gICAg
aWYgKG5ld1N0cmluZy5Jc0VtcHR5KCkpCisgICAgdjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5ld1N0
cmluZyA9IG1ha2VFeHRlcm5hbFN0cmluZyhTdHJpbmcoc3RyaW5nSW1wbCkpOworICAgIGlmICgh
c3RyaW5nSW1wbENhY2hlRW5hYmxlZCB8fCBuZXdTdHJpbmcuSXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gbmV3U3RyaW5nOwogCiAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4gd3JhcHBl
ciA9IHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+OjpOZXcobmV3U3RyaW5nKTsKQEAgLTQ3Miw2
ICs0NzIsOSBAQCB2ODo6TG9jYWw8djg6OlN0cmluZz4gdjhFeHRlcm5hbFN0cmluZyhjb25zdCBT
dHJpbmcmIHN0cmluZykKICAgICB3cmFwcGVyLk1ha2VXZWFrKHN0cmluZ0ltcGwsIGNhY2hlZFN0
cmluZ0NhbGxiYWNrKTsKICAgICBzdHJpbmdDYWNoZS5zZXQoc3RyaW5nSW1wbCwgKndyYXBwZXIp
OwogCisgICAgbGFzdFN0cmluZ0ltcGwgPSBzdHJpbmdJbXBsOworICAgIGxhc3RWOFN0cmluZyA9
IHdyYXBwZXI7CisKICAgICByZXR1cm4gbmV3U3RyaW5nOwogfQogICAgIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhC
aW5kaW5nLmgKaW5kZXggNjk2Y2QxYTlmZmM2MmFiYzFlYjI5ZTNlM2JiMDJkOWVlMGFkZjQxNy4u
OTc1NDIyN2MxYzE4ODkwN2M4YmUxOGNmYTJlZjg0YjcwNTVhZDJlOCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
QmluZGluZy5oCkBAIC04MSwxMCArODEsMjggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIEF0
b21pY1N0cmluZyB2OE5vblN0cmluZ1ZhbHVlVG9BdG9taWNXZWJDb3JlU3RyaW5nKHY4OjpIYW5k
bGU8djg6OlZhbHVlPik7CiAgICAgQXRvbWljU3RyaW5nIHY4VmFsdWVUb0F0b21pY1dlYkNvcmVT
dHJpbmcodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKTsKIAorICAgIC8vIE5vdGU6IFJlZlB0
ciBpcyBhIG11c3QgYXMgd2UgY2FjaGUgYnkgU3RyaW5nSW1wbCogZXF1YWxpdHksIG5vdCBpZGVu
dGl0eQorICAgIC8vIGhlbmNlIGxhc3RTdHJpbmdJbXBsIG1pZ2h0IGJlIG5vdCBhIGtleSBvZiB0
aGUgY2FjaGUgKGluIHNlbnNlIG9mIGlkZW50aXR5KQorICAgIC8vIGFuZCBoZW5jZSBpdCdzIG5v
dCByZWZlZCBvbiBhZGRpdGlvbi4KKyAgICBleHRlcm4gUmVmUHRyPFN0cmluZ0ltcGw+IGxhc3RT
dHJpbmdJbXBsOworICAgIGV4dGVybiB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBsYXN0VjhT
dHJpbmc7CisgICAgdjg6OkxvY2FsPHY4OjpTdHJpbmc+IHY4RXh0ZXJuYWxTdHJpbmdTbG93KFN0
cmluZ0ltcGwqIHN0cmluZ0ltcGwpOworCiAgICAgLy8gUmV0dXJuIGEgVjggZXh0ZXJuYWwgc3Ry
aW5nIHRoYXQgc2hhcmVzIHRoZSB1bmRlcmx5aW5nIGJ1ZmZlciB3aXRoIHRoZSBnaXZlbgogICAg
IC8vIFdlYkNvcmUgc3RyaW5nLiBUaGUgcmVmZXJlbmNlIGNvdW50aW5nIG1lY2hhbmlzbSBpcyB1
c2VkIHRvIGtlZXAgdGhlCiAgICAgLy8gdW5kZXJseWluZyBidWZmZXIgYWxpdmUgd2hpbGUgdGhl
IHN0cmluZyBpcyBzdGlsbCBsaXZlIGluIHRoZSBWOCBlbmdpbmUuCi0gICAgdjg6OkxvY2FsPHY4
OjpTdHJpbmc+IHY4RXh0ZXJuYWxTdHJpbmcoY29uc3QgU3RyaW5nJik7CisgICAgaW5saW5lIHY4
OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVybmFsU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5n
KQorICAgIHsKKyAgICAgICAgU3RyaW5nSW1wbCogc3RyaW5nSW1wbCA9IHN0cmluZy5pbXBsKCk7
CisgICAgICAgIGlmICghc3RyaW5nSW1wbCkKKyAgICAgICAgICAgIHJldHVybiB2ODo6U3RyaW5n
OjpFbXB0eSgpOworCisgICAgICAgIGlmIChsYXN0U3RyaW5nSW1wbC5nZXQoKSA9PSBzdHJpbmdJ
bXBsKQorICAgICAgICAgICAgaWYgKCFsYXN0VjhTdHJpbmcuSXNOZWFyRGVhdGgoKSAmJiAhbGFz
dFY4U3RyaW5nLklzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4
OjpTdHJpbmc+OjpOZXcobGFzdFY4U3RyaW5nKTsKKworICAgICAgICByZXR1cm4gdjhFeHRlcm5h
bFN0cmluZ1Nsb3coc3RyaW5nSW1wbCk7CisgICAgfQogCiAgICAgLy8gQ29udmVydCBhIHN0cmlu
ZyB0byBhIFY4IHN0cmluZy4KICAgICBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiB2OFN0
cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58488</attachid>
            <date>2010-06-11 11:09:22 -0700</date>
            <delta_ts>2010-06-15 09:30:22 -0700</delta_ts>
            <desc>Restore isMainThread assertion</desc>
            <filename>bug-40435-20100611220919.patch</filename>
            <type>text/plain</type>
            <size>4586</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTRmYmU5NjE1ZDcwYTAxZDJhYmNkN2ViYjY0MTU3YzUwZWY0OTRiNC4uYzhkOGQ0NGUwYzZlNzMz
NGI2MGJhNDg4MWIzZjcyZTIwY2IwNmY3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wNi0xMCAgQW50
b24gTXVoaW4gIDxhbnRvbm1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFt2OF0gSW50cm9kdWNlIHNpbmdsZSBlbGVtZW50IGNh
Y2hlcyBmb3IgV2ViQ29yZTo6U3RyaW5nIHRvIHY4OjpTdHJpbmcgY29udmVyc2lvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNDM1CisgICAgICAg
IE1lYXN1cmVtZW50cyBzaG93IHRoYXQgZm9yIHNvbWUgd2ViIGFwcHMgKEdNYWlsLCBXYXZlKSBh
bmQgc29tZSBzY2VuYXJpb3MKKyAgICAgICAgKGludGVuc2l2ZSByZWFkaW5nIGFuZC9vciBrZWVw
aW5nIGEgdGFiIG9wZW4gZm9yIGEgbG9uZyB0aW1lKSwKKyAgICAgICAgaGl0IHJhdGUgbGllcyBp
biAzMC0tNTAlIGludGVydmFsLgorICAgICAgICBJbmxpbmluZyBmYXN0IGNhc2UgZ2l2ZXMgYW5v
dGhlciBtaW5vciBwZXJmb3JtYW5jZSB3aW4uCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEJp
bmRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0U3RyaW5nQ2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6djhFeHRlcm5hbFN0cmluZ1Nsb3cpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
QmluZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6djhFeHRlcm5hbFN0cmluZyk6CisKIDIwMTAt
MDYtMTAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhCaW5kaW5nLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAppbmRl
eCA5NzgwNWMwMmU2ODkzNmZjZGQxYTE5MDMwNDMzYTJiZDVmZTQ0OTk0Li4xMjcyZmQ0YzlmMDkw
ODUwNTg4ZDU0MmRkNWQ2ODhkMDZmNGU1ZDU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4QmluZGluZy5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3Bw
CkBAIC00NDIsMjUgKzQ0MiwyOSBAQCBzdGF0aWMgdm9pZCBjYWNoZWRTdHJpbmdDYWxsYmFjayh2
ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IHdyYXBwZXIsIHZvaWQqIHBhcmFtZQogICAgIHN0cmlu
Z0ltcGwtPmRlcmVmKCk7CiB9CiAKLXY4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVybmFsU3Ry
aW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorUmVmUHRyPFN0cmluZ0ltcGw+IGxhc3RTdHJpbmdJ
bXBsID0gMDsKK3Y4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+IGxhc3RWOFN0cmluZzsKKwordjg6
OkxvY2FsPHY4OjpTdHJpbmc+IHY4RXh0ZXJuYWxTdHJpbmdTbG93KFN0cmluZ0ltcGwqIHN0cmlu
Z0ltcGwpCiB7Ci0gICAgU3RyaW5nSW1wbCogc3RyaW5nSW1wbCA9IHN0cmluZy5pbXBsKCk7Ci0g
ICAgaWYgKCFzdHJpbmdJbXBsIHx8ICFzdHJpbmdJbXBsLT5sZW5ndGgoKSkKKyAgICBpZiAoIXN0
cmluZ0ltcGwtPmxlbmd0aCgpKQogICAgICAgICByZXR1cm4gdjg6OlN0cmluZzo6RW1wdHkoKTsK
IAogICAgIGlmICghc3RyaW5nSW1wbENhY2hlRW5hYmxlZCkKLSAgICAgICAgcmV0dXJuIG1ha2VF
eHRlcm5hbFN0cmluZyhzdHJpbmcpOworICAgICAgICByZXR1cm4gbWFrZUV4dGVybmFsU3RyaW5n
KFN0cmluZyhzdHJpbmdJbXBsKSk7CiAKICAgICBTdHJpbmdDYWNoZSYgc3RyaW5nQ2FjaGUgPSBn
ZXRTdHJpbmdDYWNoZSgpOwogICAgIHY4OjpTdHJpbmcqIGNhY2hlZFY4U3RyaW5nID0gc3RyaW5n
Q2FjaGUuZ2V0KHN0cmluZ0ltcGwpOwotICAgIGlmIChjYWNoZWRWOFN0cmluZykKLSAgICB7Cisg
ICAgaWYgKGNhY2hlZFY4U3RyaW5nKSB7CiAgICAgICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJp
bmc+IGhhbmRsZShjYWNoZWRWOFN0cmluZyk7Ci0gICAgICAgIGlmICghaGFuZGxlLklzTmVhckRl
YXRoKCkgJiYgIWhhbmRsZS5Jc0VtcHR5KCkpCisgICAgICAgIGlmICghaGFuZGxlLklzTmVhckRl
YXRoKCkgJiYgIWhhbmRsZS5Jc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGxhc3RTdHJpbmdJbXBs
ID0gc3RyaW5nSW1wbDsKKyAgICAgICAgICAgIGxhc3RWOFN0cmluZyA9IGhhbmRsZTsKICAgICAg
ICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6OlN0cmluZz46Ok5ldyhoYW5kbGUpOworICAgICAg
ICB9CiAgICAgfQogCi0gICAgdjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5ld1N0cmluZyA9IG1ha2VF
eHRlcm5hbFN0cmluZyhzdHJpbmcpOworICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuZXdTdHJp
bmcgPSBtYWtlRXh0ZXJuYWxTdHJpbmcoU3RyaW5nKHN0cmluZ0ltcGwpKTsKICAgICBpZiAobmV3
U3RyaW5nLklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIG5ld1N0cmluZzsKIApAQCAtNDcyLDYg
KzQ3Niw5IEBAIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVybmFsU3RyaW5nKGNvbnN0IFN0
cmluZyYgc3RyaW5nKQogICAgIHdyYXBwZXIuTWFrZVdlYWsoc3RyaW5nSW1wbCwgY2FjaGVkU3Ry
aW5nQ2FsbGJhY2spOwogICAgIHN0cmluZ0NhY2hlLnNldChzdHJpbmdJbXBsLCAqd3JhcHBlcik7
CiAKKyAgICBsYXN0U3RyaW5nSW1wbCA9IHN0cmluZ0ltcGw7CisgICAgbGFzdFY4U3RyaW5nID0g
d3JhcHBlcjsKKwogICAgIHJldHVybiBuZXdTdHJpbmc7CiB9CiAgICAgCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJp
bmRpbmcuaAppbmRleCA2OTZjZDFhOWZmYzYyYWJjMWViMjllM2UzYmIwMmQ5ZWUwYWRmNDE3Li45
NzU0MjI3YzFjMTg4OTA3YzhiZTE4Y2ZhMmVmODRiNzA1NWFkMmU4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhC
aW5kaW5nLmgKQEAgLTgxLDEwICs4MSwyOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgQXRv
bWljU3RyaW5nIHY4Tm9uU3RyaW5nVmFsdWVUb0F0b21pY1dlYkNvcmVTdHJpbmcodjg6OkhhbmRs
ZTx2ODo6VmFsdWU+KTsKICAgICBBdG9taWNTdHJpbmcgdjhWYWx1ZVRvQXRvbWljV2ViQ29yZVN0
cmluZyh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpOwogCisgICAgLy8gTm90ZTogUmVmUHRy
IGlzIGEgbXVzdCBhcyB3ZSBjYWNoZSBieSBTdHJpbmdJbXBsKiBlcXVhbGl0eSwgbm90IGlkZW50
aXR5CisgICAgLy8gaGVuY2UgbGFzdFN0cmluZ0ltcGwgbWlnaHQgYmUgbm90IGEga2V5IG9mIHRo
ZSBjYWNoZSAoaW4gc2Vuc2Ugb2YgaWRlbnRpdHkpCisgICAgLy8gYW5kIGhlbmNlIGl0J3Mgbm90
IHJlZmVkIG9uIGFkZGl0aW9uLgorICAgIGV4dGVybiBSZWZQdHI8U3RyaW5nSW1wbD4gbGFzdFN0
cmluZ0ltcGw7CisgICAgZXh0ZXJuIHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+IGxhc3RWOFN0
cmluZzsKKyAgICB2ODo6TG9jYWw8djg6OlN0cmluZz4gdjhFeHRlcm5hbFN0cmluZ1Nsb3coU3Ry
aW5nSW1wbCogc3RyaW5nSW1wbCk7CisKICAgICAvLyBSZXR1cm4gYSBWOCBleHRlcm5hbCBzdHJp
bmcgdGhhdCBzaGFyZXMgdGhlIHVuZGVybHlpbmcgYnVmZmVyIHdpdGggdGhlIGdpdmVuCiAgICAg
Ly8gV2ViQ29yZSBzdHJpbmcuIFRoZSByZWZlcmVuY2UgY291bnRpbmcgbWVjaGFuaXNtIGlzIHVz
ZWQgdG8ga2VlcCB0aGUKICAgICAvLyB1bmRlcmx5aW5nIGJ1ZmZlciBhbGl2ZSB3aGlsZSB0aGUg
c3RyaW5nIGlzIHN0aWxsIGxpdmUgaW4gdGhlIFY4IGVuZ2luZS4KLSAgICB2ODo6TG9jYWw8djg6
OlN0cmluZz4gdjhFeHRlcm5hbFN0cmluZyhjb25zdCBTdHJpbmcmKTsKKyAgICBpbmxpbmUgdjg6
OkxvY2FsPHY4OjpTdHJpbmc+IHY4RXh0ZXJuYWxTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcp
CisgICAgeworICAgICAgICBTdHJpbmdJbXBsKiBzdHJpbmdJbXBsID0gc3RyaW5nLmltcGwoKTsK
KyAgICAgICAgaWYgKCFzdHJpbmdJbXBsKQorICAgICAgICAgICAgcmV0dXJuIHY4OjpTdHJpbmc6
OkVtcHR5KCk7CisKKyAgICAgICAgaWYgKGxhc3RTdHJpbmdJbXBsLmdldCgpID09IHN0cmluZ0lt
cGwpCisgICAgICAgICAgICBpZiAoIWxhc3RWOFN0cmluZy5Jc05lYXJEZWF0aCgpICYmICFsYXN0
VjhTdHJpbmcuSXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6
OlN0cmluZz46Ok5ldyhsYXN0VjhTdHJpbmcpOworCisgICAgICAgIHJldHVybiB2OEV4dGVybmFs
U3RyaW5nU2xvdyhzdHJpbmdJbXBsKTsKKyAgICB9CiAKICAgICAvLyBDb252ZXJ0IGEgc3RyaW5n
IHRvIGEgVjggc3RyaW5nLgogICAgIGlubGluZSB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHY4U3Ry
aW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58785</attachid>
            <date>2010-06-15 09:30:30 -0700</date>
            <delta_ts>2010-06-16 05:43:21 -0700</delta_ts>
            <desc>Clean single element cache on major GCs which may invalidate handles</desc>
            <filename>bug-40435-20100615203027.patch</filename>
            <type>text/plain</type>
            <size>5474</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTRmYmU5NjE1ZDcwYTAxZDJhYmNkN2ViYjY0MTU3YzUwZWY0OTRiNC4uYzhkOGQ0NGUwYzZlNzMz
NGI2MGJhNDg4MWIzZjcyZTIwY2IwNmY3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wNi0xMCAgQW50
b24gTXVoaW4gIDxhbnRvbm1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFt2OF0gSW50cm9kdWNlIHNpbmdsZSBlbGVtZW50IGNh
Y2hlcyBmb3IgV2ViQ29yZTo6U3RyaW5nIHRvIHY4OjpTdHJpbmcgY29udmVyc2lvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNDM1CisgICAgICAg
IE1lYXN1cmVtZW50cyBzaG93IHRoYXQgZm9yIHNvbWUgd2ViIGFwcHMgKEdNYWlsLCBXYXZlKSBh
bmQgc29tZSBzY2VuYXJpb3MKKyAgICAgICAgKGludGVuc2l2ZSByZWFkaW5nIGFuZC9vciBrZWVw
aW5nIGEgdGFiIG9wZW4gZm9yIGEgbG9uZyB0aW1lKSwKKyAgICAgICAgaGl0IHJhdGUgbGllcyBp
biAzMC0tNTAlIGludGVydmFsLgorICAgICAgICBJbmxpbmluZyBmYXN0IGNhc2UgZ2l2ZXMgYW5v
dGhlciBtaW5vciBwZXJmb3JtYW5jZSB3aW4uCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEJp
bmRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0U3RyaW5nQ2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6djhFeHRlcm5hbFN0cmluZ1Nsb3cpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
QmluZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6djhFeHRlcm5hbFN0cmluZyk6CisKIDIwMTAt
MDYtMTAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhCaW5kaW5nLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAppbmRl
eCA5NzgwNWMwMmU2ODkzNmZjZGQxYTE5MDMwNDMzYTJiZDVmZTQ0OTk0Li4xMjcyZmQ0YzlmMDkw
ODUwNTg4ZDU0MmRkNWQ2ODhkMDZmNGU1ZDU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4QmluZGluZy5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3Bw
CkBAIC00NDIsMjUgKzQ0MiwyOSBAQCBzdGF0aWMgdm9pZCBjYWNoZWRTdHJpbmdDYWxsYmFjayh2
ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IHdyYXBwZXIsIHZvaWQqIHBhcmFtZQogICAgIHN0cmlu
Z0ltcGwtPmRlcmVmKCk7CiB9CiAKLXY4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVybmFsU3Ry
aW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorUmVmUHRyPFN0cmluZ0ltcGw+IGxhc3RTdHJpbmdJ
bXBsID0gMDsKK3Y4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+IGxhc3RWOFN0cmluZzsKKwordjg6
OkxvY2FsPHY4OjpTdHJpbmc+IHY4RXh0ZXJuYWxTdHJpbmdTbG93KFN0cmluZ0ltcGwqIHN0cmlu
Z0ltcGwpCiB7Ci0gICAgU3RyaW5nSW1wbCogc3RyaW5nSW1wbCA9IHN0cmluZy5pbXBsKCk7Ci0g
ICAgaWYgKCFzdHJpbmdJbXBsIHx8ICFzdHJpbmdJbXBsLT5sZW5ndGgoKSkKKyAgICBpZiAoIXN0
cmluZ0ltcGwtPmxlbmd0aCgpKQogICAgICAgICByZXR1cm4gdjg6OlN0cmluZzo6RW1wdHkoKTsK
IAogICAgIGlmICghc3RyaW5nSW1wbENhY2hlRW5hYmxlZCkKLSAgICAgICAgcmV0dXJuIG1ha2VF
eHRlcm5hbFN0cmluZyhzdHJpbmcpOworICAgICAgICByZXR1cm4gbWFrZUV4dGVybmFsU3RyaW5n
KFN0cmluZyhzdHJpbmdJbXBsKSk7CiAKICAgICBTdHJpbmdDYWNoZSYgc3RyaW5nQ2FjaGUgPSBn
ZXRTdHJpbmdDYWNoZSgpOwogICAgIHY4OjpTdHJpbmcqIGNhY2hlZFY4U3RyaW5nID0gc3RyaW5n
Q2FjaGUuZ2V0KHN0cmluZ0ltcGwpOwotICAgIGlmIChjYWNoZWRWOFN0cmluZykKLSAgICB7Cisg
ICAgaWYgKGNhY2hlZFY4U3RyaW5nKSB7CiAgICAgICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJp
bmc+IGhhbmRsZShjYWNoZWRWOFN0cmluZyk7Ci0gICAgICAgIGlmICghaGFuZGxlLklzTmVhckRl
YXRoKCkgJiYgIWhhbmRsZS5Jc0VtcHR5KCkpCisgICAgICAgIGlmICghaGFuZGxlLklzTmVhckRl
YXRoKCkgJiYgIWhhbmRsZS5Jc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGxhc3RTdHJpbmdJbXBs
ID0gc3RyaW5nSW1wbDsKKyAgICAgICAgICAgIGxhc3RWOFN0cmluZyA9IGhhbmRsZTsKICAgICAg
ICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6OlN0cmluZz46Ok5ldyhoYW5kbGUpOworICAgICAg
ICB9CiAgICAgfQogCi0gICAgdjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5ld1N0cmluZyA9IG1ha2VF
eHRlcm5hbFN0cmluZyhzdHJpbmcpOworICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuZXdTdHJp
bmcgPSBtYWtlRXh0ZXJuYWxTdHJpbmcoU3RyaW5nKHN0cmluZ0ltcGwpKTsKICAgICBpZiAobmV3
U3RyaW5nLklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIG5ld1N0cmluZzsKIApAQCAtNDcyLDYg
KzQ3Niw5IEBAIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVybmFsU3RyaW5nKGNvbnN0IFN0
cmluZyYgc3RyaW5nKQogICAgIHdyYXBwZXIuTWFrZVdlYWsoc3RyaW5nSW1wbCwgY2FjaGVkU3Ry
aW5nQ2FsbGJhY2spOwogICAgIHN0cmluZ0NhY2hlLnNldChzdHJpbmdJbXBsLCAqd3JhcHBlcik7
CiAKKyAgICBsYXN0U3RyaW5nSW1wbCA9IHN0cmluZ0ltcGw7CisgICAgbGFzdFY4U3RyaW5nID0g
d3JhcHBlcjsKKwogICAgIHJldHVybiBuZXdTdHJpbmc7CiB9CiAgICAgCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJp
bmRpbmcuaAppbmRleCA2OTZjZDFhOWZmYzYyYWJjMWViMjllM2UzYmIwMmQ5ZWUwYWRmNDE3Li45
ZWViZjUxN2NkMGRjMjQ2N2E3NGZjM2E0M2FkMWY0ZmJkMGU1ZWZkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhC
aW5kaW5nLmgKQEAgLTgxLDEwICs4MSwzMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgQXRv
bWljU3RyaW5nIHY4Tm9uU3RyaW5nVmFsdWVUb0F0b21pY1dlYkNvcmVTdHJpbmcodjg6OkhhbmRs
ZTx2ODo6VmFsdWU+KTsKICAgICBBdG9taWNTdHJpbmcgdjhWYWx1ZVRvQXRvbWljV2ViQ29yZVN0
cmluZyh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpOwogCisgICAgLy8gTm90ZTogUmVmUHRy
IGlzIGEgbXVzdCBhcyB3ZSBjYWNoZSBieSBTdHJpbmdJbXBsKiBlcXVhbGl0eSwgbm90IGlkZW50
aXR5CisgICAgLy8gaGVuY2UgbGFzdFN0cmluZ0ltcGwgbWlnaHQgYmUgbm90IGEga2V5IG9mIHRo
ZSBjYWNoZSAoaW4gc2Vuc2Ugb2YgaWRlbnRpdHkpCisgICAgLy8gYW5kIGhlbmNlIGl0J3Mgbm90
IHJlZmVkIG9uIGFkZGl0aW9uLgorICAgIGV4dGVybiBSZWZQdHI8U3RyaW5nSW1wbD4gbGFzdFN0
cmluZ0ltcGw7CisgICAgZXh0ZXJuIHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+IGxhc3RWOFN0
cmluZzsKKyAgICB2ODo6TG9jYWw8djg6OlN0cmluZz4gdjhFeHRlcm5hbFN0cmluZ1Nsb3coU3Ry
aW5nSW1wbCogc3RyaW5nSW1wbCk7CisKICAgICAvLyBSZXR1cm4gYSBWOCBleHRlcm5hbCBzdHJp
bmcgdGhhdCBzaGFyZXMgdGhlIHVuZGVybHlpbmcgYnVmZmVyIHdpdGggdGhlIGdpdmVuCiAgICAg
Ly8gV2ViQ29yZSBzdHJpbmcuIFRoZSByZWZlcmVuY2UgY291bnRpbmcgbWVjaGFuaXNtIGlzIHVz
ZWQgdG8ga2VlcCB0aGUKICAgICAvLyB1bmRlcmx5aW5nIGJ1ZmZlciBhbGl2ZSB3aGlsZSB0aGUg
c3RyaW5nIGlzIHN0aWxsIGxpdmUgaW4gdGhlIFY4IGVuZ2luZS4KLSAgICB2ODo6TG9jYWw8djg6
OlN0cmluZz4gdjhFeHRlcm5hbFN0cmluZyhjb25zdCBTdHJpbmcmKTsKKyAgICBpbmxpbmUgdjg6
OkxvY2FsPHY4OjpTdHJpbmc+IHY4RXh0ZXJuYWxTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcp
CisgICAgeworICAgICAgICBTdHJpbmdJbXBsKiBzdHJpbmdJbXBsID0gc3RyaW5nLmltcGwoKTsK
KyAgICAgICAgaWYgKCFzdHJpbmdJbXBsKQorICAgICAgICAgICAgcmV0dXJuIHY4OjpTdHJpbmc6
OkVtcHR5KCk7CisKKyAgICAgICAgaWYgKGxhc3RTdHJpbmdJbXBsLmdldCgpID09IHN0cmluZ0lt
cGwpIHsKKyAgICAgICAgICAgIEFTU0VSVCghbGFzdFY4U3RyaW5nLklzTmVhckRlYXRoKCkpOwor
ICAgICAgICAgICAgQVNTRVJUKCFsYXN0VjhTdHJpbmcuSXNFbXB0eSgpKTsKKyAgICAgICAgICAg
IHJldHVybiB2ODo6TG9jYWw8djg6OlN0cmluZz46Ok5ldyhsYXN0VjhTdHJpbmcpOworICAgICAg
ICB9CisKKyAgICAgICAgcmV0dXJuIHY4RXh0ZXJuYWxTdHJpbmdTbG93KHN0cmluZ0ltcGwpOwor
ICAgIH0KIAogICAgIC8vIENvbnZlcnQgYSBzdHJpbmcgdG8gYSBWOCBzdHJpbmcuCiAgICAgaW5s
aW5lIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gdjhTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwCmluZGV4IDU2MTExOTk3ZTRiNzk3
ZmY0Mzk3MzI5ZmM4NjRhYWJhODI4MzJjNDkuLmMyN2UxZDU4MjFiYzRlNWRmNWFiNmI1MGY0MDJl
ZDQ3NTBlMmRmODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xs
ZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwCkBAIC0z
OSw2ICszOSw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBv
cnQuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50LmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAj
aW5jbHVkZSAiVjhET01NYXAuaCIKICNpbmNsdWRlICJWOE1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVk
ZSAiVjhQcm94eS5oIgpAQCAtMzU5LDYgKzM2MCwxMCBAQCB2b2lkIFY4R0NDb250cm9sbGVyOjpn
Y1Byb2xvZ3VlKCkKICAgICBPYmplY3RHcm91cGVyVmlzaXRvciBvYmplY3RHcm91cGVyVmlzaXRv
cjsKICAgICB2aXNpdERPTU5vZGVzSW5DdXJyZW50VGhyZWFkKCZvYmplY3RHcm91cGVyVmlzaXRv
cik7CiAgICAgb2JqZWN0R3JvdXBlclZpc2l0b3IuYXBwbHlHcm91cGluZygpOworCisgICAgLy8g
Q2xlYW4gc2luZ2xlIGVsZW1lbnQgY2FjaGUgZm9yIHN0cmluZyBjb252ZXJzaW9ucy4KKyAgICBs
YXN0U3RyaW5nSW1wbCA9IDA7CisgICAgbGFzdFY4U3RyaW5nLkNsZWFyKCk7CiB9CiAKIGNsYXNz
IEdDRXBpbG9ndWVWaXNpdG9yIDogcHVibGljIERPTVdyYXBwZXJNYXA8dm9pZD46OlZpc2l0b3Ig
ewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>