<?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>56346</bug_id>
          
          <creation_ts>2011-03-14 17:21:10 -0700</creation_ts>
          <short_desc>Made JSWrapperObject and subclasses moving-GC-safe</short_desc>
          <delta_ts>2011-03-14 17:41:42 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>367368</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-14 17:21:10 -0700</bug_when>
    <thetext>Made JSWrapperObject and subclasses moving-GC-safe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367370</commentid>
    <comment_count>1</comment_count>
      <attachid>85745</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-14 17:28:13 -0700</bug_when>
    <thetext>Created attachment 85745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367373</commentid>
    <comment_count>2</comment_count>
      <attachid>85745</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-14 17:35:06 -0700</bug_when>
    <thetext>Comment on attachment 85745
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:21
&gt; +        no longer does so for us. Also added an ASSERT to catch a latent bug,
&gt; +        where DatePrototype stomped on its base class&apos;s anonymous slot. Hard-coded

What was the symptom of this “stomping”?

&gt; Source/JavaScriptCore/ChangeLog:30
&gt; +        data member which was not always visited during GC. Now, we only use the
&gt; +        data member, and we always visit it.

I don’t see any change to the code to always visit the data member. Is the change just the change to StructureFlags? If so it might be better to say so outright.

&gt; Source/JavaScriptCore/ChangeLog:34
&gt; +        * runtime/NumberObject.cpp:
&gt; +        (JSC::NumberObject::NumberObject):
&gt; +        * runtime/NumberObject.h: Removed meaningless declaration.

NumberObject.cpp here doesn’t have a comment.

&gt; Source/JavaScriptCore/runtime/BooleanObject.cpp:31
&gt; +BooleanObject::BooleanObject(JSGlobalData&amp;, NonNullPassRefPtr&lt;Structure&gt; structure)
&gt; +    : JSWrapperObject(structure)

Do we want to change the constructor arguments eventually to not even pass the global data?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367379</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-14 17:40:01 -0700</bug_when>
    <thetext>Committed r81086: &lt;http://trac.webkit.org/changeset/81086&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367381</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-14 17:41:42 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; What was the symptom of this “stomping”?

Updated ChangeLog to explain the symptom.

&gt; I don’t see any change to the code to always visit the data member. Is the change just the change to StructureFlags? If so it might be better to say so outright.

Yes. Updated ChangeLog to mention the flag.

&gt; NumberObject.cpp here doesn’t have a comment.

Fixed.

&gt; Do we want to change the constructor arguments eventually to not even pass the global data?

Yes.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85745</attachid>
            <date>2011-03-14 17:28:13 -0700</date>
            <delta_ts>2011-03-14 17:35:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56346-20110314172812.patch</filename>
            <type>text/plain</type>
            <size>11732</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODEwODMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTAgQEAK
KzIwMTEtMDMtMTQgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWRlIEpTV3JhcHBlck9i
amVjdCBhbmQgc3ViY2xhc3NlcyBtb3ZpbmctR0Mtc2FmZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzNDYKKyAgICAgICAgCisgICAgICAgIFN1blNw
aWRlciByZXBvcnRzIG5vIGNoYW5nZS4KKworICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhbk9iamVj
dC5jcHA6CisgICAgICAgIChKU0M6OkJvb2xlYW5PYmplY3Q6OkJvb2xlYW5PYmplY3QpOgorICAg
ICAgICAqIHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RGF0ZUluc3Rh
bmNlOjpEYXRlSW5zdGFuY2UpOiBObyBtb3JlIG5lZWQgZm9yIEpTR2xvYmFsRGF0YSwgc2luY2UK
KyAgICAgICAgd2UgZG9uJ3QgaW5pdGlhbGl6ZSB0aGUgd3JhcHBlZCB2YWx1ZSBpbiBvdXIgY29u
c3RydWN0b3IuCisKKyAgICAgICAgKiBydW50aW1lL0RhdGVJbnN0YW5jZS5oOiBEb24ndCBzZXQg
dGhlIE92ZXJyaWRlc01hcmtDaGlsZHJlbiBmbGFnIGJlY2F1c2UKKyAgICAgICAgd2UgZG8gbm90
IGluIGZhY3Qgb3ZlcnJpZGUgbWFya0NoaWxkcmVuLgorCisgICAgICAgICogcnVudGltZS9EYXRl
UHJvdG90eXBlLmg6IERlY2xhcmUgYW4gYW5vbnltb3VzIHNsb3QsIHNpbmNlIHdyYXBwZXIgb2Jq
ZWN0CisgICAgICAgIG5vIGxvbmdlciBkb2VzIHNvIGZvciB1cy4gQWxzbyBhZGRlZCBhbiBBU1NF
UlQgdG8gY2F0Y2ggYSBsYXRlbnQgYnVnLAorICAgICAgICB3aGVyZSBEYXRlUHJvdG90eXBlIHN0
b21wZWQgb24gaXRzIGJhc2UgY2xhc3MncyBhbm9ueW1vdXMgc2xvdC4gSGFyZC1jb2RlZAorICAg
ICAgICBhbm9ueW1vdXMgc2xvdHMgYXJlIGEgcGxhZ3VlIG9uIG91ciBjb2RlLgorCisgICAgICAg
ICogcnVudGltZS9KU1dyYXBwZXJPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNXcmFwcGVyT2Jq
ZWN0OjpKU1dyYXBwZXJPYmplY3QpOgorICAgICAgICAoSlNDOjpKU1dyYXBwZXJPYmplY3Q6Omlu
dGVybmFsVmFsdWUpOgorICAgICAgICAoSlNDOjpKU1dyYXBwZXJPYmplY3Q6OnNldEludGVybmFs
VmFsdWUpOiBSZXNvbHZlZCBhIHByb2JsZW0gd2hlcmUKKyAgICAgICAgb3VyIGludGVybmFsIHZh
bHVlIHdhcyBzdG9yZWQgaW4gdHdvIHBsYWNlczogYW4gYW5vbnltb3VzIHNsb3QsIGFuZCBhCisg
ICAgICAgIGRhdGEgbWVtYmVyIHdoaWNoIHdhcyBub3QgYWx3YXlzIHZpc2l0ZWQgZHVyaW5nIEdD
LiBOb3csIHdlIG9ubHkgdXNlIHRoZQorICAgICAgICBkYXRhIG1lbWJlciwgYW5kIHdlIGFsd2F5
cyB2aXNpdCBpdC4KKworICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcDoKKyAgICAg
ICAgKEpTQzo6TnVtYmVyT2JqZWN0OjpOdW1iZXJPYmplY3QpOgorICAgICAgICAqIHJ1bnRpbWUv
TnVtYmVyT2JqZWN0Lmg6IFJlbW92ZWQgbWVhbmluZ2xlc3MgZGVjbGFyYXRpb24uCisKKyAgICAg
ICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVj
dDo6U3RyaW5nT2JqZWN0KTogTm8gbW9yZSBuZWVkIGZvciBKU0dsb2JhbERhdGEsIHNpbmNlCisg
ICAgICAgIHdlIGRvbid0IGluaXRpYWxpemUgdGhlIHdyYXBwZWQgdmFsdWUgaW4gb3VyIGNvbnN0
cnVjdG9yLgorCisgICAgICAgICogcnVudGltZS9TdHJpbmdPYmplY3QuaDogRG9uJ3Qgc2V0IHRo
ZSBPdmVycmlkZXNNYXJrQ2hpbGRyZW4gZmxhZyBiZWNhdXNlCisgICAgICAgIHdlIGRvIG5vdCBp
biBmYWN0IG92ZXJyaWRlIG1hcmtDaGlsZHJlbi4KKworICAgICAgICAqIHJ1bnRpbWUvU3RyaW5n
UHJvdG90eXBlLmg6IERlY2xhcmUgYW4gYW5vbnltb3VzIHNsb3QsIHNpbmNlIHdyYXBwZXIgb2Jq
ZWN0CisgICAgICAgIG5vIGxvbmdlciBkb2VzIHNvIGZvciB1cy4gQWxzbyBhZGRlZCBhbiBBU1NF
UlQgdG8gY2F0Y2ggYSBsYXRlbnQgYnVnLAorICAgICAgICB3aGVyZSBEYXRlUHJvdG90eXBlIHN0
b21wZWQgb24gaXRzIGJhc2UgY2xhc3MncyBhbm9ueW1vdXMgc2xvdC4gSGFyZC1jb2RlZAorICAg
ICAgICBhbm9ueW1vdXMgc2xvdHMgYXJlIGEgcGxhZ3VlIG9uIG91ciBjb2RlLgorCiAyMDExLTAz
LTE0ICBWaWF0Y2hlc2xhdiBPc3RhcGVua28gIDxvc3RhcGVua28udmlhdGNoZXNsYXZAbm9raWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IExhc3psbyBHb21ib3MuCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcAkocmV2aXNpb24g
ODEwNzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjcsOCArMjcsOCBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9D
RUxMKEJvb2xlYW5PYmplY3QpCiAKIGNvbnN0IENsYXNzSW5mbyBCb29sZWFuT2JqZWN0OjpzX2lu
Zm8gPSB7ICJCb29sZWFuIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLCAwIH07CiAKLUJv
b2xlYW5PYmplY3Q6OkJvb2xlYW5PYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBOb25O
dWxsUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IHN0cnVjdHVyZSkKLSAgICA6IEpTV3JhcHBlck9iamVj
dChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCitCb29sZWFuT2JqZWN0OjpCb29sZWFuT2JqZWN0KEpT
R2xvYmFsRGF0YSYsIE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4gc3RydWN0dXJlKQorICAg
IDogSlNXcmFwcGVyT2JqZWN0KHN0cnVjdHVyZSkKIHsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNf
aW5mbykpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3Rh
bmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRl
SW5zdGFuY2UuY3BwCShyZXZpc2lvbiA4MTA3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVJbnN0YW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDIxICszNSwyMSBA
QCBuYW1lc3BhY2UgSlNDIHsKIGNvbnN0IENsYXNzSW5mbyBEYXRlSW5zdGFuY2U6OnNfaW5mbyA9
IHsiRGF0ZSIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMH07CiAKIERhdGVJbnN0YW5j
ZTo6RGF0ZUluc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywgTm9uTnVsbFBhc3NSZWZQdHI8U3RydWN0
dXJlPiBzdHJ1Y3R1cmUpCi0gICAgOiBKU1dyYXBwZXJPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgp
LCBzdHJ1Y3R1cmUpCisgICAgOiBKU1dyYXBwZXJPYmplY3Qoc3RydWN0dXJlKQogewogICAgIEFT
U0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAgICAgc2V0SW50ZXJuYWxWYWx1ZShleGVjLT5nbG9i
YWxEYXRhKCksIGpzTmFOKCkpOwogfQogCiBEYXRlSW5zdGFuY2U6OkRhdGVJbnN0YW5jZShFeGVj
U3RhdGUqIGV4ZWMsIE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4gc3RydWN0dXJlLCBkb3Vi
bGUgdGltZSkKLSAgICA6IEpTV3JhcHBlck9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVj
dHVyZSkKKyAgICA6IEpTV3JhcHBlck9iamVjdChzdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKGlu
aGVyaXRzKCZzX2luZm8pKTsKICAgICBzZXRJbnRlcm5hbFZhbHVlKGV4ZWMtPmdsb2JhbERhdGEo
KSwganNOdW1iZXIodGltZUNsaXAodGltZSkpKTsKIH0KIAogRGF0ZUluc3RhbmNlOjpEYXRlSW5z
dGFuY2UoRXhlY1N0YXRlKiBleGVjLCBkb3VibGUgdGltZSkKLSAgICA6IEpTV3JhcHBlck9iamVj
dChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+ZGF0ZVN0
cnVjdHVyZSgpKQorICAgIDogSlNXcmFwcGVyT2JqZWN0KGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKS0+ZGF0ZVN0cnVjdHVyZSgpKQogewogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7
CiAgICAgc2V0SW50ZXJuYWxWYWx1ZShleGVjLT5nbG9iYWxEYXRhKCksIGpzTnVtYmVyKHRpbWVD
bGlwKHRpbWUpKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5z
dGFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRl
SW5zdGFuY2UuaAkocmV2aXNpb24gODEwNzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlSW5zdGFuY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsOSArNTgsNiBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90b3R5
cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgQW5vbnltb3VzU2xvdENv
dW50LCAmc19pbmZvKTsKICAgICAgICAgfQogCi0gICAgcHJvdGVjdGVkOgotICAgICAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNNYXJrQ2hpbGRyZW4g
fCBKU1dyYXBwZXJPYmplY3Q6OlN0cnVjdHVyZUZsYWdzOwotCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUqIGNhbGN1bGF0ZUdyZWdvcmlhbkRhdGVUaW1lKEV4
ZWNTdGF0ZSopIGNvbnN0OwogICAgICAgICBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSogY2FsY3Vs
YXRlR3JlZ29yaWFuRGF0ZVRpbWVVVEMoRXhlY1N0YXRlKikgY29uc3Q7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oCShyZXZpc2lvbiA4MTA3
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaAkod29y
a2luZyBjb3B5KQpAQCAtNDQsNiArNDQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBwcm90ZWN0
ZWQ6CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJy
aWRlc0dldE93blByb3BlcnR5U2xvdCB8IERhdGVJbnN0YW5jZTo6U3RydWN0dXJlRmxhZ3M7CiAK
KyAgICAgICAgQ09NUElMRV9BU1NFUlQoIURhdGVJbnN0YW5jZTo6QW5vbnltb3VzU2xvdENvdW50
LCBEYXRlUHJvdG90eXBlX3N0b21wc19vbl95b3VyX2Fub255bW91c19zbG90KTsKKyAgICAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIEFub255bW91c1Nsb3RDb3VudCA9IDE7CiAgICAgfTsKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1dyYXBwZXJPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1dyYXBwZXJPYmplY3QuaAkocmV2aXNpb24gODEwNzApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1dyYXBwZXJPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzAs
MTAgKzMwLDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgIC8vIE51bWJlciwgQm9vbGVhbiBhbmQg
RGF0ZSB3aGljaCBhcmUgd3JhcHBlcnMgZm9yIHByaW1pdGl2ZSB0eXBlcy4KICAgICBjbGFzcyBK
U1dyYXBwZXJPYmplY3QgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgcHJvdGVjdGVk
OgotICAgICAgICBleHBsaWNpdCBKU1dyYXBwZXJPYmplY3QoSlNHbG9iYWxEYXRhJiwgTm9uTnVs
bFBhc3NSZWZQdHI8U3RydWN0dXJlPik7CisgICAgICAgIGV4cGxpY2l0IEpTV3JhcHBlck9iamVj
dChOb25OdWxsUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+KTsKIAogICAgIHB1YmxpYzoKLSAgICAgICAg
SlNWYWx1ZSBpbnRlcm5hbFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFZhbHVlLmdl
dCgpOyB9CisgICAgICAgIEpTVmFsdWUgaW50ZXJuYWxWYWx1ZSgpIGNvbnN0OwogICAgICAgICB2
b2lkIHNldEludGVybmFsVmFsdWUoSlNHbG9iYWxEYXRhJiwgSlNWYWx1ZSk7CiAKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNWYWx1ZSBwcm90
b3R5cGUpIApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAg
ICAgcHJvdGVjdGVkOgotICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgQW5vbnltb3VzU2xv
dENvdW50ID0gMSArIEpTT2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQ7CisgICAgICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc01hcmtDaGlsZHJlbiB8
IEpTTm9uRmluYWxPYmplY3Q6OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgdmlydHVhbCB2b2lkIG1hcmtDaGlsZHJlbihNYXJrU3RhY2smKTsKQEAgLTUwLDEwICs1MCwx
NCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+IG1faW50
ZXJuYWxWYWx1ZTsKICAgICB9OwogCi0gICAgaW5saW5lIEpTV3JhcHBlck9iamVjdDo6SlNXcmFw
cGVyT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgTm9uTnVsbFBhc3NSZWZQdHI8U3Ry
dWN0dXJlPiBzdHJ1Y3R1cmUpCisgICAgaW5saW5lIEpTV3JhcHBlck9iamVjdDo6SlNXcmFwcGVy
T2JqZWN0KE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4gc3RydWN0dXJlKQogICAgICAgICA6
IEpTTm9uRmluYWxPYmplY3Qoc3RydWN0dXJlKQogICAgIHsKLSAgICAgICAgcHV0QW5vbnltb3Vz
VmFsdWUoZ2xvYmFsRGF0YSwgMCwganNOdWxsKCkpOworICAgIH0KKworICAgIGlubGluZSBKU1Zh
bHVlIEpTV3JhcHBlck9iamVjdDo6aW50ZXJuYWxWYWx1ZSgpIGNvbnN0CisgICAgeworICAgICAg
ICByZXR1cm4gbV9pbnRlcm5hbFZhbHVlLmdldCgpOwogICAgIH0KIAogICAgIGlubGluZSB2b2lk
IEpTV3JhcHBlck9iamVjdDo6c2V0SW50ZXJuYWxWYWx1ZShKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIEpTVmFsdWUgdmFsdWUpCkBAIC02MSw3ICs2NSw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBBU1NFUlQodmFsdWUpOwogICAgICAgICBBU1NFUlQoIXZhbHVlLmlzT2JqZWN0KCkpOwog
ICAgICAgICBtX2ludGVybmFsVmFsdWUuc2V0KGdsb2JhbERhdGEsIHRoaXMsIHZhbHVlKTsKLSAg
ICAgICAgcHV0QW5vbnltb3VzVmFsdWUoZ2xvYmFsRGF0YSwgMCwgdmFsdWUpOwogICAgIH0KIAog
fSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlck9iamVjdC5jcHAJKHJldmlzaW9uIDgxMDcwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsOCAr
MzEsOCBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE51bWJlck9iamVjdCk7CiAKIGNvbnN0
IENsYXNzSW5mbyBOdW1iZXJPYmplY3Q6OnNfaW5mbyA9IHsgIk51bWJlciIsICZKU1dyYXBwZXJP
YmplY3Q6OnNfaW5mbywgMCwgMCB9OwogCi1OdW1iZXJPYmplY3Q6Ok51bWJlck9iamVjdChKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEsIE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4gc3RydWN0
dXJlKQotICAgIDogSlNXcmFwcGVyT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkKK051bWJl
ck9iamVjdDo6TnVtYmVyT2JqZWN0KEpTR2xvYmFsRGF0YSYsIE5vbk51bGxQYXNzUmVmUHRyPFN0
cnVjdHVyZT4gc3RydWN0dXJlKQorICAgIDogSlNXcmFwcGVyT2JqZWN0KHN0cnVjdHVyZSkKIHsK
ICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmgJKHJldmlzaW9uIDgxMDcwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTM2LDkgKzM2LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gU3Ry
dWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVG
bGFncyksIEFub255bW91c1Nsb3RDb3VudCwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAotICAgIHBy
b3RlY3RlZDoKLSAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0g
SlNXcmFwcGVyT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKLQogICAgIHByaXZhdGU6CiAgICAgICAg
IHZpcnR1YWwgSlNWYWx1ZSBnZXRKU051bWJlcigpOwogICAgIH07CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAJKHJldmlzaW9uIDgxMDcw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzAsMjEgKzMwLDIxIEBAIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwo
U3RyaW5nT2JqZWN0KTsKIGNvbnN0IENsYXNzSW5mbyBTdHJpbmdPYmplY3Q6OnNfaW5mbyA9IHsg
IlN0cmluZyIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMCB9OwogCiBTdHJpbmdPYmpl
Y3Q6OlN0cmluZ09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIE5vbk51bGxQYXNzUmVmUHRyPFN0cnVj
dHVyZT4gc3RydWN0dXJlKQotICAgIDogSlNXcmFwcGVyT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEo
KSwgc3RydWN0dXJlKQorICAgIDogSlNXcmFwcGVyT2JqZWN0KHN0cnVjdHVyZSkKIHsKICAgICBB
U1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogICAgIHNldEludGVybmFsVmFsdWUoZXhlYy0+Z2xv
YmFsRGF0YSgpLCBqc0VtcHR5U3RyaW5nKGV4ZWMpKTsKIH0KIAogU3RyaW5nT2JqZWN0OjpTdHJp
bmdPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBOb25OdWxsUGFzc1JlZlB0cjxTdHJ1
Y3R1cmU+IHN0cnVjdHVyZSwgSlNTdHJpbmcqIHN0cmluZykKLSAgICA6IEpTV3JhcHBlck9iamVj
dChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCisgICAgOiBKU1dyYXBwZXJPYmplY3Qoc3RydWN0dXJl
KQogewogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAgICAgc2V0SW50ZXJuYWxWYWx1
ZShnbG9iYWxEYXRhLCBzdHJpbmcpOwogfQogCiBTdHJpbmdPYmplY3Q6OlN0cmluZ09iamVjdChF
eGVjU3RhdGUqIGV4ZWMsIE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4gc3RydWN0dXJlLCBj
b25zdCBVU3RyaW5nJiBzdHJpbmcpCi0gICAgOiBKU1dyYXBwZXJPYmplY3QoZXhlYy0+Z2xvYmFs
RGF0YSgpLCBzdHJ1Y3R1cmUpCisgICAgOiBKU1dyYXBwZXJPYmplY3Qoc3RydWN0dXJlKQogewog
ICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAgICAgc2V0SW50ZXJuYWxWYWx1ZShleGVj
LT5nbG9iYWxEYXRhKCksIGpzU3RyaW5nKGV4ZWMsIHN0cmluZykpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgJKHJldmlzaW9uIDgxMDcwKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUxLDkgKzUxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAg
IHByb3RlY3RlZDoKLSAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzTWFya0NoaWxkcmVuIHwg
T3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTV3JhcHBlck9iamVjdDo6U3RydWN0dXJlRmxh
Z3M7CisgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJy
aWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBKU1dy
YXBwZXJPYmplY3Q6OlN0cnVjdHVyZUZsYWdzOwogICAgICAgICBTdHJpbmdPYmplY3QoSlNHbG9i
YWxEYXRhJiwgTm9uTnVsbFBhc3NSZWZQdHI8U3RydWN0dXJlPiwgSlNTdHJpbmcqKTsKLSAgfTsK
KyAgICB9OwogCiAgICAgU3RyaW5nT2JqZWN0KiBhc1N0cmluZ09iamVjdChKU1ZhbHVlKTsKIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBl
LmgJKHJldmlzaW9uIDgxMDcwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nUHJvdG90eXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDEyIEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2lu
Zm87CisgICAgICAgIAorICAgIHByb3RlY3RlZDoKKyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgU3RyaW5n
T2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKKworICAgICAgICBDT01QSUxFX0FTU0VSVCghU3RyaW5n
T2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQsIFN0cmluZ1Byb3RvdHlwZV9zdG9tcHNfb25feW91
cl9hbm9ueW1vdXNfc2xvdCk7CisgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBbm9ueW1v
dXNTbG90Q291bnQgPSAxOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwo=
</data>
<flag name="review"
          id="77919"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>