<?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>164823</bug_id>
          
          <creation_ts>2016-11-16 09:41:37 -0800</creation_ts>
          <short_desc>Slight Octane regression from concurrent GC&apos;s eager object zero-fill</short_desc>
          <delta_ts>2016-12-13 10:13:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>164885</dependson>
          <blocked>149432</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1251892</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-11-16 09:41:37 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251893</commentid>
    <comment_count>1</comment_count>
      <attachid>294946</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-11-16 09:49:58 -0800</bug_when>
    <thetext>Created attachment 294946
one possible approach

This fixes the eager zero-fill performance problems by doing the zero-fill conditionally.

But I&apos;m also going to attempt a fix where the GC manages the zero-filling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251986</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-11-16 13:02:10 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created attachment 294946 [details]
&gt; one possible approach
&gt; 
&gt; This fixes the eager zero-fill performance problems by doing the zero-fill
&gt; conditionally.
&gt; 
&gt; But I&apos;m also going to attempt a fix where the GC manages the zero-filling.

Thinking about it more, doing the zero-filling in GC doesn&apos;t work. It fails to protect us from the case where the collector races with a transition on an object that was allocated without eager zero-fill.

Also, the GC zero-fill patch was not really faster.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251988</commentid>
    <comment_count>3</comment_count>
      <attachid>294967</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-11-16 13:02:53 -0800</bug_when>
    <thetext>Created attachment 294967
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251989</commentid>
    <comment_count>4</comment_count>
      <attachid>294967</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-11-16 13:05:59 -0800</bug_when>
    <thetext>Comment on attachment 294967
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252017</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-11-16 14:25:13 -0800</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/208811</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252072</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-11-16 15:50:38 -0800</bug_when>
    <thetext>I&apos;m beginning to think that no version of this optimization is sound: it&apos;s possible that an object allocated before GC started, and so without zero-fill, could be part of a memory ordering race while the GC is running.

I think that a better approach would be to remove object initializations and then put fences on PutStructure. To make that efficient on ARM, we would have to do redundant PutStructure elimination in DFG IR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252079</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-11-16 16:02:20 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; I&apos;m beginning to think that no version of this optimization is sound: it&apos;s
&gt; possible that an object allocated before GC started, and so without
&gt; zero-fill, could be part of a memory ordering race while the GC is running.
&gt; 
&gt; I think that a better approach would be to remove object initializations and
&gt; then put fences on PutStructure. To make that efficient on ARM, we would
&gt; have to do redundant PutStructure elimination in DFG IR.

Rolled out in r208822.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252198</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-11-16 21:02:10 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Landed in https://trac.webkit.org/changeset/208811

FYI, one of our Mac bots has caught up with r208811 and there was no progression on Octane.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252698</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-11-18 09:30:20 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #5)
&gt; &gt; Landed in https://trac.webkit.org/changeset/208811
&gt; 
&gt; FYI, one of our Mac bots has caught up with r208811 and there was no
&gt; progression on Octane.

FYI, A/B testing shows there was no Speedometer progression from r208811 on ARM either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259426</commentid>
    <comment_count>10</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-12-13 10:13:52 -0800</bug_when>
    <thetext>I don&apos;t think that we know that there was actually any regression due to this specifically, based on subsequent testing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294946</attachid>
            <date>2016-11-16 09:49:58 -0800</date>
            <delta_ts>2016-11-16 13:02:53 -0800</delta_ts>
            <desc>one possible approach</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>5161</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4Nzk0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDE2LTExLTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
U2xpZ2h0IE9jdGFuZSByZWdyZXNzaW9uIGZyb20gY29uY3VycmVudCBHQydzIGVhZ2VyIG9iamVj
dCB6ZXJvLWZpbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2NDgyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgRHVyaW5nIGNvbmN1cnJlbnQgR0MsIHdlIG5lZWQgdG8gZWFnZXJseSB6ZXJv
LWZpbGwgb2JqZWN0cyB3ZSBhbGxvY2F0ZSBwcmlvciB0bworICAgICAgICBleGVjdXRpbmcgdGhl
IGVuZC1vZi1hbGxvY2F0aW9uIGZlbmNlLiBUaGlzIGNhdXNlcyBzb21lIHJlZ3Jlc3Npb25zLiBU
aGlzIGlzIGFuIGF0dGVtcHQKKyAgICAgICAgdG8gZml4IHRob3NlIHJlZ3Jlc3Npb25zIGJ5IG1h
a2luZyB0aGVtIGNvbmRpdGlvbmFsIG9uIHdoZXRoZXIgdGhlIG11dGF0b3IgaXMgZmVuY2VkLgor
ICAgICAgICAKKyAgICAgICAgVGhpcyBpcyBhIHNsaWdodCBzcGVlZC11cCBvbiByYXl0cmFjZSBh
bmQgYm95ZXIuCisKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAg
KEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU1hdGVyaWFsaXplTmV3T2JqZWN0
KToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6c3BsYXRXb3Jkc0lmTXV0
YXRvcklzRmVuY2VkKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6YWxs
b2NhdGVQcm9wZXJ0eVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpyZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6
Okxvd2VyREZHVG9CMzo6YWxsb2NhdGVPYmplY3QpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0IzOjptdXRhdG9yRmVuY2UpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpzZXRCdXR0ZXJmbHkpOgorCiAyMDE2LTExLTE2ICBLZWl0aCBNaWxsZXIgIDxr
ZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEFSTSBidWlsZCBm
aXguCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMu
Y3BwCShyZXZpc2lvbiAyMDg3NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxMzQsNyArODEzNCw3IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgaGF2
ZUJ1dHRlcmZseSA9IG1fb3V0LmFuY2hvcihmYXN0QnV0dGVyZmx5VmFsdWUpOwogICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgIHNwbGF0V29yZHMoCisgICAgICAgICAgICAgICAgc3Bs
YXRXb3Jkc0lmTXV0YXRvcklzRmVuY2VkKAogICAgICAgICAgICAgICAgICAgICBmYXN0QnV0dGVy
Zmx5VmFsdWUsCiAgICAgICAgICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50MzIoLXN0cnVjdHVy
ZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSAtIDEpLAogICAgICAgICAgICAgICAgICAgICBtX291dC5j
b25zdEludDMyKC0xKSwKQEAgLTg5NjAsNiArODk2MCwyNSBAQCBwcml2YXRlOgogICAgICAgICBz
cGxhdFdvcmRzKGJ1dHRlcmZseSwgYmVnaW4sIGVuZCwgaG9sZSwgaGVhcC0+YXRBbnlJbmRleCgp
KTsKICAgICB9CiAgICAgCisgICAgdm9pZCBzcGxhdFdvcmRzSWZNdXRhdG9ySXNGZW5jZWQoTFZh
bHVlIGJhc2UsIExWYWx1ZSBiZWdpbiwgTFZhbHVlIGVuZCwgTFZhbHVlIHZhbHVlLCBjb25zdCBB
YnN0cmFjdEhlYXAmIGhlYXApCisgICAgeworICAgICAgICBMQmFzaWNCbG9jayBzbG93UGF0aCA9
IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1f
b3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9
IG1fb3V0Lmluc2VydE5ld0Jsb2Nrc0JlZm9yZShzbG93UGF0aCk7CisgICAgICAgIAorICAgICAg
ICBtX291dC5icmFuY2goCisgICAgICAgICAgICBtX291dC5sb2FkOFplcm9FeHQzMihtX291dC5h
YnNvbHV0ZSh2bSgpLmhlYXAuYWRkcmVzc09mTXV0YXRvclNob3VsZEJlRmVuY2VkKCkpKSwKKyAg
ICAgICAgICAgIHJhcmVseShzbG93UGF0aCksIHVzdWFsbHkoY29udGludWF0aW9uKSk7CisgICAg
ICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGludWF0aW9uKTsKKyAg
ICAgICAgCisgICAgICAgIHNwbGF0V29yZHMoYmFzZSwgYmVnaW4sIGVuZCwgdmFsdWUsIGhlYXAp
OworICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBt
X291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKKyAgICB9CisgICAgCiAgICAg
dm9pZCBzcGxhdFdvcmRzKExWYWx1ZSBiYXNlLCBMVmFsdWUgYmVnaW4sIExWYWx1ZSBlbmQsIExW
YWx1ZSB2YWx1ZSwgY29uc3QgQWJzdHJhY3RIZWFwJiBoZWFwKQogICAgIHsKICAgICAgICAgY29u
c3QgdWludDY0X3QgdW5yb2xsaW5nTGltaXQgPSAxMDsKQEAgLTkwMTMsNyArOTAzMiw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgcmVzdWx0ID0gYWxsb2NhdGVQcm9wZXJ0
eVN0b3JhZ2VXaXRoU2l6ZUltcGwoaW5pdGlhbE91dE9mTGluZUNhcGFjaXR5KTsKIAotICAgICAg
ICBzcGxhdFdvcmRzKAorICAgICAgICBzcGxhdFdvcmRzSWZNdXRhdG9ySXNGZW5jZWQoCiAgICAg
ICAgICAgICByZXN1bHQsCiAgICAgICAgICAgICBtX291dC5jb25zdEludDMyKC1pbml0aWFsT3V0
T2ZMaW5lQ2FwYWNpdHkgLSAxKSwgbV9vdXQuY29uc3RJbnQzMigtMSksCiAgICAgICAgICAgICBt
X291dC5pbnQ2NFplcm8sIG1faGVhcHMucHJvcGVydGllcy5hdEFueU51bWJlcigpKTsKQEAgLTkw
NDYsNyArOTA2NSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX291dC5zdG9yZVB0cihsb2Fk
ZWQsIG1fb3V0LmFkZHJlc3MobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHJlc3Vs
dCwgb2Zmc2V0KSk7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIHNwbGF0V29yZHMoCisg
ICAgICAgIHNwbGF0V29yZHNJZk11dGF0b3JJc0ZlbmNlZCgKICAgICAgICAgICAgIHJlc3VsdCwK
ICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50MzIoLW5ld1NpemUgLSAxKSwgbV9vdXQuY29uc3RJ
bnQzMigtb2xkU2l6ZSAtIDEpLAogICAgICAgICAgICAgbV9vdXQuaW50NjRaZXJvLCBtX2hlYXBz
LnByb3BlcnRpZXMuYXRBbnlOdW1iZXIoKSk7CkBAIC05OTI2LDcgKzk5NDUsNyBAQCBwcml2YXRl
OgogICAgICAgICBMVmFsdWUgYWxsb2NhdG9yLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTFZhbHVl
IGJ1dHRlcmZseSwgTEJhc2ljQmxvY2sgc2xvd1BhdGgpCiAgICAgewogICAgICAgICBMVmFsdWUg
cmVzdWx0ID0gYWxsb2NhdGVDZWxsKGFsbG9jYXRvciwgc3RydWN0dXJlLCBzbG93UGF0aCk7Ci0g
ICAgICAgIHNwbGF0V29yZHMoCisgICAgICAgIHNwbGF0V29yZHNJZk11dGF0b3JJc0ZlbmNlZCgK
ICAgICAgICAgICAgIHJlc3VsdCwKICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50MzIoSlNGaW5h
bE9iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkgLyA4KSwKICAgICAgICAgICAgIG1fb3V0
LmNvbnN0SW50MzIoSlNGaW5hbE9iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkgLyA4ICsg
c3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpKSwKQEAgLTEyNTg1LDcgKzEyNjA0LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgICAgIG1fb3V0LmxvYWQ4WmVyb0V4dDMyKG1fb3V0LmFic29sdXRlKHZt
KCkuaGVhcC5hZGRyZXNzT2ZNdXRhdG9yU2hvdWxkQmVGZW5jZWQoKSkpLAogICAgICAgICAgICAg
cmFyZWx5KHNsb3dQYXRoKSwgdXN1YWxseShjb250aW51YXRpb24pKTsKICAgICAgICAgCi0gICAg
ICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQYXRoKTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oc2xv
d1BhdGgsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAogICAgICAgICBtX291dC5mZW5jZSgmbV9o
ZWFwcy5yb290LCBudWxscHRyKTsKICAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwpA
QCAtMTI2MTIsMTIgKzEyNjMxLDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX291dC5sb2Fk
OFplcm9FeHQzMihtX291dC5hYnNvbHV0ZSh2bSgpLmhlYXAuYWRkcmVzc09mTXV0YXRvclNob3Vs
ZEJlRmVuY2VkKCkpKSwKICAgICAgICAgICAgIHJhcmVseShzbG93UGF0aCksIHVzdWFsbHkoZmFz
dFBhdGgpKTsKIAotICAgICAgICBtX291dC5hcHBlbmRUbyhmYXN0UGF0aCk7CisgICAgICAgIG1f
b3V0LmFwcGVuZFRvKGZhc3RQYXRoLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX291
dC5zdG9yZVB0cihidXR0ZXJmbHksIG9iamVjdCwgbV9oZWFwcy5KU09iamVjdF9idXR0ZXJmbHkp
OwogICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAotICAgICAgICBt
X291dC5hcHBlbmRUbyhzbG93UGF0aCk7CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQYXRo
LCBjb250aW51YXRpb24pOwogICAgICAgICAKICAgICAgICAgbV9vdXQuZmVuY2UoJm1faGVhcHMu
cm9vdCwgbnVsbHB0cik7CiAgICAgICAgIG1fb3V0LnN0b3JlUHRyKGJ1dHRlcmZseSwgb2JqZWN0
LCBtX2hlYXBzLkpTT2JqZWN0X2J1dHRlcmZseSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294967</attachid>
            <date>2016-11-16 13:02:53 -0800</date>
            <delta_ts>2016-11-16 13:05:59 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>5212</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4Nzk0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDE2LTExLTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
U2xpZ2h0IE9jdGFuZSByZWdyZXNzaW9uIGZyb20gY29uY3VycmVudCBHQydzIGVhZ2VyIG9iamVj
dCB6ZXJvLWZpbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2NDgyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgRHVyaW5nIGNvbmN1cnJlbnQgR0MsIHdlIG5lZWQgdG8gZWFnZXJseSB6ZXJv
LWZpbGwgb2JqZWN0cyB3ZSBhbGxvY2F0ZSBwcmlvciB0bworICAgICAgICBleGVjdXRpbmcgdGhl
IGVuZC1vZi1hbGxvY2F0aW9uIGZlbmNlLiBUaGlzIGNhdXNlcyBzb21lIHJlZ3Jlc3Npb25zLiBU
aGlzIGlzIGFuIGF0dGVtcHQKKyAgICAgICAgdG8gZml4IHRob3NlIHJlZ3Jlc3Npb25zIGJ5IG1h
a2luZyB0aGVtIGNvbmRpdGlvbmFsIG9uIHdoZXRoZXIgdGhlIG11dGF0b3IgaXMgZmVuY2VkLgor
ICAgICAgICAKKyAgICAgICAgVGhpcyBpcyBhIHNsaWdodCBzcGVlZC11cCBvbiByYXl0cmFjZSBh
bmQgYm95ZXIsIGFuZCBob3BlZnVsbHkgaXQgd2lsbCBmaXggdGhlCisgICAgICAgIHJlZ3Jlc3Np
b24uCisKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6
RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU1hdGVyaWFsaXplTmV3T2JqZWN0KToKKyAg
ICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6c3BsYXRXb3Jkc0lmTXV0YXRvcklz
RmVuY2VkKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6YWxsb2NhdGVQ
cm9wZXJ0eVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpy
ZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2Vy
REZHVG9CMzo6YWxsb2NhdGVPYmplY3QpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJE
RkdUb0IzOjptdXRhdG9yRmVuY2UpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpzZXRCdXR0ZXJmbHkpOgorCiAyMDE2LTExLTE2ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9t
aWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEFSTSBidWlsZCBmaXguCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShy
ZXZpc2lvbiAyMDg3NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxMzQsNyArODEzNCw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgaGF2ZUJ1dHRl
cmZseSA9IG1fb3V0LmFuY2hvcihmYXN0QnV0dGVyZmx5VmFsdWUpOwogICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgICAgIHNwbGF0V29yZHMoCisgICAgICAgICAgICAgICAgc3BsYXRXb3Jk
c0lmTXV0YXRvcklzRmVuY2VkKAogICAgICAgICAgICAgICAgICAgICBmYXN0QnV0dGVyZmx5VmFs
dWUsCiAgICAgICAgICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50MzIoLXN0cnVjdHVyZS0+b3V0
T2ZMaW5lQ2FwYWNpdHkoKSAtIDEpLAogICAgICAgICAgICAgICAgICAgICBtX291dC5jb25zdElu
dDMyKC0xKSwKQEAgLTg5NjAsNiArODk2MCwyNSBAQCBwcml2YXRlOgogICAgICAgICBzcGxhdFdv
cmRzKGJ1dHRlcmZseSwgYmVnaW4sIGVuZCwgaG9sZSwgaGVhcC0+YXRBbnlJbmRleCgpKTsKICAg
ICB9CiAgICAgCisgICAgdm9pZCBzcGxhdFdvcmRzSWZNdXRhdG9ySXNGZW5jZWQoTFZhbHVlIGJh
c2UsIExWYWx1ZSBiZWdpbiwgTFZhbHVlIGVuZCwgTFZhbHVlIHZhbHVlLCBjb25zdCBBYnN0cmFj
dEhlYXAmIGhlYXApCisgICAgeworICAgICAgICBMQmFzaWNCbG9jayBzbG93UGF0aCA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5l
d0Jsb2NrKCk7CisgICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0
Lmluc2VydE5ld0Jsb2Nrc0JlZm9yZShzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICBtX291
dC5icmFuY2goCisgICAgICAgICAgICBtX291dC5sb2FkOFplcm9FeHQzMihtX291dC5hYnNvbHV0
ZSh2bSgpLmhlYXAuYWRkcmVzc09mTXV0YXRvclNob3VsZEJlRmVuY2VkKCkpKSwKKyAgICAgICAg
ICAgIHJhcmVseShzbG93UGF0aCksIHVzdWFsbHkoY29udGludWF0aW9uKSk7CisgICAgICAgIAor
ICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGludWF0aW9uKTsKKyAgICAgICAg
CisgICAgICAgIHNwbGF0V29yZHMoYmFzZSwgYmVnaW4sIGVuZCwgdmFsdWUsIGhlYXApOworICAg
ICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5h
cHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKKyAgICB9CisgICAgCiAgICAgdm9pZCBz
cGxhdFdvcmRzKExWYWx1ZSBiYXNlLCBMVmFsdWUgYmVnaW4sIExWYWx1ZSBlbmQsIExWYWx1ZSB2
YWx1ZSwgY29uc3QgQWJzdHJhY3RIZWFwJiBoZWFwKQogICAgIHsKICAgICAgICAgY29uc3QgdWlu
dDY0X3QgdW5yb2xsaW5nTGltaXQgPSAxMDsKQEAgLTkwMTMsNyArOTAzMiw3IEBAIHByaXZhdGU6
CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgcmVzdWx0ID0gYWxsb2NhdGVQcm9wZXJ0eVN0b3Jh
Z2VXaXRoU2l6ZUltcGwoaW5pdGlhbE91dE9mTGluZUNhcGFjaXR5KTsKIAotICAgICAgICBzcGxh
dFdvcmRzKAorICAgICAgICBzcGxhdFdvcmRzSWZNdXRhdG9ySXNGZW5jZWQoCiAgICAgICAgICAg
ICByZXN1bHQsCiAgICAgICAgICAgICBtX291dC5jb25zdEludDMyKC1pbml0aWFsT3V0T2ZMaW5l
Q2FwYWNpdHkgLSAxKSwgbV9vdXQuY29uc3RJbnQzMigtMSksCiAgICAgICAgICAgICBtX291dC5p
bnQ2NFplcm8sIG1faGVhcHMucHJvcGVydGllcy5hdEFueU51bWJlcigpKTsKQEAgLTkwNDYsNyAr
OTA2NSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX291dC5zdG9yZVB0cihsb2FkZWQsIG1f
b3V0LmFkZHJlc3MobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHJlc3VsdCwgb2Zm
c2V0KSk7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIHNwbGF0V29yZHMoCisgICAgICAg
IHNwbGF0V29yZHNJZk11dGF0b3JJc0ZlbmNlZCgKICAgICAgICAgICAgIHJlc3VsdCwKICAgICAg
ICAgICAgIG1fb3V0LmNvbnN0SW50MzIoLW5ld1NpemUgLSAxKSwgbV9vdXQuY29uc3RJbnQzMigt
b2xkU2l6ZSAtIDEpLAogICAgICAgICAgICAgbV9vdXQuaW50NjRaZXJvLCBtX2hlYXBzLnByb3Bl
cnRpZXMuYXRBbnlOdW1iZXIoKSk7CkBAIC05OTI2LDcgKzk5NDUsNyBAQCBwcml2YXRlOgogICAg
ICAgICBMVmFsdWUgYWxsb2NhdG9yLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTFZhbHVlIGJ1dHRl
cmZseSwgTEJhc2ljQmxvY2sgc2xvd1BhdGgpCiAgICAgewogICAgICAgICBMVmFsdWUgcmVzdWx0
ID0gYWxsb2NhdGVDZWxsKGFsbG9jYXRvciwgc3RydWN0dXJlLCBzbG93UGF0aCk7Ci0gICAgICAg
IHNwbGF0V29yZHMoCisgICAgICAgIHNwbGF0V29yZHNJZk11dGF0b3JJc0ZlbmNlZCgKICAgICAg
ICAgICAgIHJlc3VsdCwKICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50MzIoSlNGaW5hbE9iamVj
dDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkgLyA4KSwKICAgICAgICAgICAgIG1fb3V0LmNvbnN0
SW50MzIoSlNGaW5hbE9iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkgLyA4ICsgc3RydWN0
dXJlLT5pbmxpbmVDYXBhY2l0eSgpKSwKQEAgLTEyNTg1LDcgKzEyNjA0LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgIG1fb3V0LmxvYWQ4WmVyb0V4dDMyKG1fb3V0LmFic29sdXRlKHZtKCkuaGVh
cC5hZGRyZXNzT2ZNdXRhdG9yU2hvdWxkQmVGZW5jZWQoKSkpLAogICAgICAgICAgICAgcmFyZWx5
KHNsb3dQYXRoKSwgdXN1YWxseShjb250aW51YXRpb24pKTsKICAgICAgICAgCi0gICAgICAgIG1f
b3V0LmFwcGVuZFRvKHNsb3dQYXRoKTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oc2xvd1BhdGgs
IGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAogICAgICAgICBtX291dC5mZW5jZSgmbV9oZWFwcy5y
b290LCBudWxscHRyKTsKICAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwpAQCAtMTI2
MTIsMTIgKzEyNjMxLDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX291dC5sb2FkOFplcm9F
eHQzMihtX291dC5hYnNvbHV0ZSh2bSgpLmhlYXAuYWRkcmVzc09mTXV0YXRvclNob3VsZEJlRmVu
Y2VkKCkpKSwKICAgICAgICAgICAgIHJhcmVseShzbG93UGF0aCksIHVzdWFsbHkoZmFzdFBhdGgp
KTsKIAotICAgICAgICBtX291dC5hcHBlbmRUbyhmYXN0UGF0aCk7CisgICAgICAgIG1fb3V0LmFw
cGVuZFRvKGZhc3RQYXRoLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX291dC5zdG9y
ZVB0cihidXR0ZXJmbHksIG9iamVjdCwgbV9oZWFwcy5KU09iamVjdF9idXR0ZXJmbHkpOwogICAg
ICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAotICAgICAgICBtX291dC5h
cHBlbmRUbyhzbG93UGF0aCk7CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQYXRoLCBjb250
aW51YXRpb24pOwogICAgICAgICAKICAgICAgICAgbV9vdXQuZmVuY2UoJm1faGVhcHMucm9vdCwg
bnVsbHB0cik7CiAgICAgICAgIG1fb3V0LnN0b3JlUHRyKGJ1dHRlcmZseSwgb2JqZWN0LCBtX2hl
YXBzLkpTT2JqZWN0X2J1dHRlcmZseSk7Cg==
</data>
<flag name="review"
          id="317617"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>