<?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>189156</bug_id>
          
          <creation_ts>2018-08-30 09:02:32 -0700</creation_ts>
          <short_desc>[JSC] Clean up StructureStubClearingWatchpoint</short_desc>
          <delta_ts>2018-09-06 21:25:32 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1455237</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-30 09:02:32 -0700</bug_when>
    <thetext>[JSC] Clean up StructureStubClearingWatchpoint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455238</commentid>
    <comment_count>1</comment_count>
      <attachid>348502</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-30 09:03:52 -0700</bug_when>
    <thetext>Created attachment 348502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455379</commentid>
    <comment_count>2</comment_count>
      <attachid>348502</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-08-30 13:23:57 -0700</bug_when>
    <thetext>Comment on attachment 348502
Patch

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

&gt; Source/JavaScriptCore/bytecode/StructureStubClearingWatchpoint.h:-96
&gt; -    std::unique_ptr&lt;StructureStubClearingWatchpoint&gt; m_head;

Was there a reason for the old code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455618</commentid>
    <comment_count>3</comment_count>
      <attachid>348502</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-31 02:21:29 -0700</bug_when>
    <thetext>Comment on attachment 348502
Patch

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

&gt;&gt; Source/JavaScriptCore/bytecode/StructureStubClearingWatchpoint.h:-96
&gt;&gt; -    std::unique_ptr&lt;StructureStubClearingWatchpoint&gt; m_head;
&gt; 
&gt; Was there a reason for the old code?

I can&apos;t see any reason. Vector&lt;StructureStubClearingWatchpoint&gt; is bad since each StructureStubClearingWatchpoint address can be changed. But Vector&lt;std::unique_ptr&lt;StructureStubClearingWatchpoint&gt;&gt; is enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455789</commentid>
    <comment_count>4</comment_count>
      <attachid>348502</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-08-31 11:44:48 -0700</bug_when>
    <thetext>Comment on attachment 348502
Patch

Maybe the linked list uses less memory on average for common programs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455946</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-31 23:16:23 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #4)
&gt; Comment on attachment 348502 [details]
&gt; Patch
&gt; 
&gt; Maybe the linked list uses less memory on average for common programs?

In the Vector&lt;&gt; case, we can drop a link in StructureStubClearingWatchpoint instead of allocating storage for Vector.
The memory consumption is so-so, larger in Vector case due to unused memory allocation for storages, or larger in linked-list case due to the representation of the enlarged objects in bmalloc (it depends on whether the given object size would fit to the bmalloc&apos;s segregated heap).
We can use Bag&lt;&gt; here, it does not change memory usage. Changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455947</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-31 23:19:50 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #5)
&gt; (In reply to Saam Barati from comment #4)
&gt; &gt; Comment on attachment 348502 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Maybe the linked list uses less memory on average for common programs?
&gt; 
&gt; In the Vector&lt;&gt; case, we can drop a link in StructureStubClearingWatchpoint
&gt; instead of allocating storage for Vector.
&gt; The memory consumption is so-so, larger in Vector case due to unused memory
&gt; allocation for storages, or larger in linked-list case due to the
&gt; representation of the enlarged objects in bmalloc (it depends on whether the
&gt; given object size would fit to the bmalloc&apos;s segregated heap).
&gt; We can use Bag&lt;&gt; here, it does not change memory usage. Changed.

If allocations of this watchpoint in this vector/bag is so many, SegmentedVector&lt;&gt; can improve memory usage more. In the meantime, I&apos;ll use bag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455948</commentid>
    <comment_count>7</comment_count>
      <attachid>348708</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-31 23:20:12 -0700</bug_when>
    <thetext>Created attachment 348708
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457169</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-06 12:00:47 -0700</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457193</commentid>
    <comment_count>9</comment_count>
      <attachid>348708</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-06 12:50:21 -0700</bug_when>
    <thetext>Comment on attachment 348708
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457404</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-06 21:23:55 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #9)
&gt; Comment on attachment 348708 [details]
&gt; Patch
&gt; 
&gt; r=me

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457405</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-06 21:24:24 -0700</bug_when>
    <thetext>Committed r235776: &lt;https://trac.webkit.org/changeset/235776&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457408</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-06 21:25:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/44211170&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348502</attachid>
            <date>2018-08-30 09:03:52 -0700</date>
            <delta_ts>2018-08-31 23:20:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189156-20180831010351.patch</filename>
            <type>text/plain</type>
            <size>5254</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MjRlZDE5ZTYxZWQxNWYxNzRkYTMwZDdhMDYyOGE1OTFiOWE3YmQzLi5jYzdmNGE3YTE4NTdhYmNm
Nzc3ZGFmMWFmOTBmNzE3YTViMmIxMTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxOC0wOC0zMCAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93
c3RhcnQub3JnPgorCisgICAgICAgIFtKU0NdIENsZWFuIHVwIFN0cnVjdHVyZVN0dWJDbGVhcmlu
Z1dhdGNocG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTE1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIENsZWFuaW5nIHVwIFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQgYnkgaG9sZGlu
ZyBzdGQ6OnVuaXF1ZV9wdHI8U3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludD4KKyAgICAg
ICAgaW4gVmVjdG9yIGluIFdhdGNocG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5mby4gVGhpcyByZW1v
dmVzIGhhY2t5IGxpbmtlZCBsaXN0IGNvZGUgZm9yIFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNo
cG9pbnQuCisKKyAgICAgICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBv
aW50LmNwcDoKKyAgICAgICAgKEpTQzo6V2F0Y2hwb2ludHNPblN0cnVjdHVyZVN0dWJJbmZvOjph
ZGRXYXRjaHBvaW50KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hw
b2ludDo6flN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50OjpwdXNoKTogRGVsZXRlZC4K
KyAgICAgICAgKEpTQzo6V2F0Y2hwb2ludHNPblN0cnVjdHVyZVN0dWJJbmZvOjp+V2F0Y2hwb2lu
dHNPblN0cnVjdHVyZVN0dWJJbmZvKTogRGVsZXRlZC4KKyAgICAgICAgKiBieXRlY29kZS9TdHJ1
Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50Lmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVN0
dWJDbGVhcmluZ1dhdGNocG9pbnQ6OlN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQpOgor
CiAyMDE4LTA4LTI5ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgc29tZSBtaXNzaW5nIGV4Y2VwdGlvbiBjaGVja3MgaW4gSlNSb3BlU3RyaW5nOjpyZXNvbHZl
Um9wZVRvQXRvbWljU3RyaW5nKCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludC5jcHAK
aW5kZXggNzgxNjM1NzliODc4MTI3MWVhNGExNmQ2MTc3YTg0MGE5ODAwNTA1ZS4uMDQxNGFkMjUw
NjJkY2E5ZjhiMTFjZDJjZDkxZGQ0MWIxYjZjM2E3MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViQ2xlYXJpbmdX
YXRjaHBvaW50LmNwcApAQCAtMzQsMjAgKzM0LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLVN0
cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQ6On5TdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRj
aHBvaW50KCkKLXsKLSAgICBmb3IgKGF1dG8gY3VycmVudCA9IFdURk1vdmUobV9uZXh0KTsgY3Vy
cmVudDsgY3VycmVudCA9IFdURk1vdmUoY3VycmVudC0+bV9uZXh0KSkgeyB9Ci19Ci0KLVN0cnVj
dHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQqIFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9p
bnQ6OnB1c2goCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSwKLSAgICBX
YXRjaHBvaW50c09uU3RydWN0dXJlU3R1YkluZm8mIGhvbGRlciwKLSAgICBzdGQ6OnVuaXF1ZV9w
dHI8U3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludD4mIGhlYWQpCi17Ci0gICAgaGVhZCA9
IHN0ZDo6bWFrZV91bmlxdWU8U3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludD4oa2V5LCBo
b2xkZXIsIFdURk1vdmUoaGVhZCkpOwotICAgIHJldHVybiBoZWFkLmdldCgpOwotfQotCiB2b2lk
IFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQ6OmZpcmVJbnRlcm5hbChWTSYgdm0sIGNv
bnN0IEZpcmVEZXRhaWwmKQogewogICAgIGlmICghbV9rZXkgfHwgIW1fa2V5LmlzV2F0Y2hhYmxl
KFByb3BlcnR5Q29uZGl0aW9uOjpFbnN1cmVXYXRjaGFiaWxpdHkpKSB7CkBAIC02OCwxMyArNTQs
MTIgQEAgdm9pZCBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50OjpmaXJlSW50ZXJuYWwo
Vk0mIHZtLCBjb25zdCBGaXJlRGV0YWlsJikKICAgICBtX2tleS5vYmplY3QoKS0+c3RydWN0dXJl
KHZtKS0+YWRkVHJhbnNpdGlvbldhdGNocG9pbnQodGhpcyk7CiB9CiAKLVdhdGNocG9pbnRzT25T
dHJ1Y3R1cmVTdHViSW5mbzo6fldhdGNocG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5mbygpCi17Ci19
Ci0KIFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQqIFdhdGNocG9pbnRzT25TdHJ1Y3R1
cmVTdHViSW5mbzo6YWRkV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYg
a2V5KQogewotICAgIHJldHVybiBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50OjpwdXNo
KGtleSwgKnRoaXMsIG1faGVhZCk7CisgICAgYXV0byB3YXRjaHBvaW50ID0gc3RkOjptYWtlX3Vu
aXF1ZTxTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50PihrZXksICp0aGlzKTsKKyAgICBh
dXRvKiByZXN1bHQgPSB3YXRjaHBvaW50LmdldCgpOworICAgIG1fd2F0Y2hwb2ludHMuYXBwZW5k
KFdURk1vdmUod2F0Y2hwb2ludCkpOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIFN0cnVjdHVy
ZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQqIFdhdGNocG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5mbzo6
ZW5zdXJlUmVmZXJlbmNlQW5kQWRkV2F0Y2hwb2ludCgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hw
b2ludC5oCmluZGV4IDNjMGE3ZmI0ZDYxMjYxNTgxMWFiMzM5YjhjYTk1NjI4YmRjNTExMzAuLjY3
NWE0MzI3YmFhMDU5NDNjMWQxNTk5MThmNmJlMGRhNmM2OTkyYjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJDbGVh
cmluZ1dhdGNocG9pbnQuaApAQCAtNDUsMjAgKzQ1LDExIEBAIGNsYXNzIFN0cnVjdHVyZVN0dWJD
bGVhcmluZ1dhdGNocG9pbnQgOiBwdWJsaWMgV2F0Y2hwb2ludCB7CiBwdWJsaWM6CiAgICAgU3Ry
dWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludCgKICAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb24mIGtleSwKLSAgICAgICAgV2F0Y2hwb2ludHNPblN0cnVjdHVyZVN0dWJJbmZv
JiBob2xkZXIsCi0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdX
YXRjaHBvaW50PiBuZXh0KQorICAgICAgICBXYXRjaHBvaW50c09uU3RydWN0dXJlU3R1YkluZm8m
IGhvbGRlcikKICAgICAgICAgOiBtX2tleShrZXkpCiAgICAgICAgICwgbV9ob2xkZXIoaG9sZGVy
KQotICAgICAgICAsIG1fbmV4dChXVEZNb3ZlKG5leHQpKQogICAgIHsKICAgICB9Ci0gICAgCi0g
ICAgdmlydHVhbCB+U3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludCgpOwotICAgIAotICAg
IHN0YXRpYyBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50KiBwdXNoKAotICAgICAgICBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYga2V5LAotICAgICAgICBXYXRjaHBvaW50c09u
U3RydWN0dXJlU3R1YkluZm8mIGhvbGRlciwKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFN0cnVj
dHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQ+JiBoZWFkKTsKIAogcHJvdGVjdGVkOgogICAgIHZv
aWQgZmlyZUludGVybmFsKFZNJiwgY29uc3QgRmlyZURldGFpbCYpIG92ZXJyaWRlOwpAQCAtNjYs
NyArNTcsNiBAQCBjbGFzcyBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50IDogcHVibGlj
IFdhdGNocG9pbnQgewogcHJpdmF0ZToKICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiBtX2tl
eTsKICAgICBXYXRjaHBvaW50c09uU3RydWN0dXJlU3R1YkluZm8mIG1faG9sZGVyOwotICAgIHN0
ZDo6dW5pcXVlX3B0cjxTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50PiBtX25leHQ7CiB9
OwogCiBjbGFzcyBXYXRjaHBvaW50c09uU3RydWN0dXJlU3R1YkluZm8gewpAQCAtNzksOCArNjks
NiBAQCBjbGFzcyBXYXRjaHBvaW50c09uU3RydWN0dXJlU3R1YkluZm8gewogICAgIHsKICAgICB9
CiAgICAgCi0gICAgfldhdGNocG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5mbygpOwotICAgIAogICAg
IFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQqIGFkZFdhdGNocG9pbnQoY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSk7CiAgICAgCiAgICAgc3RhdGljIFN0cnVjdHVyZVN0
dWJDbGVhcmluZ1dhdGNocG9pbnQqIGVuc3VyZVJlZmVyZW5jZUFuZEFkZFdhdGNocG9pbnQoCkBA
IC05Myw3ICs4MSw3IEBAIGNsYXNzIFdhdGNocG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5mbyB7CiBw
cml2YXRlOgogICAgIENvZGVCbG9jayogbV9jb2RlQmxvY2s7CiAgICAgU3RydWN0dXJlU3R1Yklu
Zm8qIG1fc3R1YkluZm87Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFN0cnVjdHVyZVN0dWJDbGVhcmlu
Z1dhdGNocG9pbnQ+IG1faGVhZDsKKyAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFN0cnVjdHVy
ZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQ+PiBtX3dhdGNocG9pbnRzOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgSlNDCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348708</attachid>
            <date>2018-08-31 23:20:12 -0700</date>
            <delta_ts>2018-09-06 12:50:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189156-20180901152011.patch</filename>
            <type>text/plain</type>
            <size>5178</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
ZDVlMmUzNmZmMzllYjM0OWI4MGU0NTA3MGNkMjU0N2Y5MTM5ZmRjLi44Yjc5ZjVhYmVkNDMwNzVi
MWVhNjY0NTBmODE4ZmE2ZDE1MjUwZWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxOC0wOC0zMSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93
c3RhcnQub3JnPgorCisgICAgICAgIFtKU0NdIENsZWFuIHVwIFN0cnVjdHVyZVN0dWJDbGVhcmlu
Z1dhdGNocG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTE1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIENsZWFuaW5nIHVwIFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQgYnkgaG9sZGlu
ZyBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50IGluIEJhZworICAgICAgICBpbiBXYXRj
aHBvaW50c09uU3RydWN0dXJlU3R1YkluZm8uIFRoaXMgcmVtb3ZlcyBoYWNreSBsaW5rZWQgbGlz
dCBjb2RlIGZvciBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50LgorCisgICAgICAgICog
Ynl0ZWNvZGUvU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludC5jcHA6CisgICAgICAgIChK
U0M6OldhdGNocG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5mbzo6YWRkV2F0Y2hwb2ludCk6CisgICAg
ICAgIChKU0M6OlN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQ6On5TdHJ1Y3R1cmVTdHVi
Q2xlYXJpbmdXYXRjaHBvaW50KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6U3RydWN0dXJlU3R1
YkNsZWFyaW5nV2F0Y2hwb2ludDo6cHVzaCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OldhdGNo
cG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5mbzo6fldhdGNocG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5m
byk6IERlbGV0ZWQuCisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0
Y2hwb2ludC5oOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50
OjpTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50KToKKwogMjAxOC0wOC0zMSAgTWFyayBM
YW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGV4Y2VwdGlvbiBjaGVjayBh
Y2NvdW50aW5nIGluIGNvbnN0cnVjdEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IoKS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViQ2xlYXJp
bmdXYXRjaHBvaW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1
cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50LmNwcAppbmRleCA3ODE2MzU3OWI4NzgxMjcxZWE0YTE2
ZDYxNzdhODQwYTk4MDA1MDVlLi42NDhiMWU4ZjU4ZDY4YWRjNWY0ZWU2ZGRlZWU3NjkxMWY5ZTc3
ODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJl
U3R1YkNsZWFyaW5nV2F0Y2hwb2ludC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1N0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuY3BwCkBAIC0zNCwyMCArMzQs
NiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2lu
dDo6flN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQoKQotewotICAgIGZvciAoYXV0byBj
dXJyZW50ID0gV1RGTW92ZShtX25leHQpOyBjdXJyZW50OyBjdXJyZW50ID0gV1RGTW92ZShjdXJy
ZW50LT5tX25leHQpKSB7IH0KLX0KLQotU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludCog
U3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludDo6cHVzaCgKLSAgICBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvbiYga2V5LAotICAgIFdhdGNocG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5m
byYgaG9sZGVyLAotICAgIHN0ZDo6dW5pcXVlX3B0cjxTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRj
aHBvaW50PiYgaGVhZCkKLXsKLSAgICBoZWFkID0gc3RkOjptYWtlX3VuaXF1ZTxTdHJ1Y3R1cmVT
dHViQ2xlYXJpbmdXYXRjaHBvaW50PihrZXksIGhvbGRlciwgV1RGTW92ZShoZWFkKSk7Ci0gICAg
cmV0dXJuIGhlYWQuZ2V0KCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hw
b2ludDo6ZmlyZUludGVybmFsKFZNJiB2bSwgY29uc3QgRmlyZURldGFpbCYpCiB7CiAgICAgaWYg
KCFtX2tleSB8fCAhbV9rZXkuaXNXYXRjaGFibGUoUHJvcGVydHlDb25kaXRpb246OkVuc3VyZVdh
dGNoYWJpbGl0eSkpIHsKQEAgLTY4LDEzICs1NCw5IEBAIHZvaWQgU3RydWN0dXJlU3R1YkNsZWFy
aW5nV2F0Y2hwb2ludDo6ZmlyZUludGVybmFsKFZNJiB2bSwgY29uc3QgRmlyZURldGFpbCYpCiAg
ICAgbV9rZXkub2JqZWN0KCktPnN0cnVjdHVyZSh2bSktPmFkZFRyYW5zaXRpb25XYXRjaHBvaW50
KHRoaXMpOwogfQogCi1XYXRjaHBvaW50c09uU3RydWN0dXJlU3R1YkluZm86On5XYXRjaHBvaW50
c09uU3RydWN0dXJlU3R1YkluZm8oKQotewotfQotCiBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRj
aHBvaW50KiBXYXRjaHBvaW50c09uU3RydWN0dXJlU3R1YkluZm86OmFkZFdhdGNocG9pbnQoY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSkKIHsKLSAgICByZXR1cm4gU3RydWN0dXJl
U3R1YkNsZWFyaW5nV2F0Y2hwb2ludDo6cHVzaChrZXksICp0aGlzLCBtX2hlYWQpOworICAgIHJl
dHVybiBtX3dhdGNocG9pbnRzLmFkZChrZXksICp0aGlzKTsKIH0KIAogU3RydWN0dXJlU3R1YkNs
ZWFyaW5nV2F0Y2hwb2ludCogV2F0Y2hwb2ludHNPblN0cnVjdHVyZVN0dWJJbmZvOjplbnN1cmVS
ZWZlcmVuY2VBbmRBZGRXYXRjaHBvaW50KApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50LmgK
aW5kZXggM2MwYTdmYjRkNjEyNjE1ODExYWIzMzliOGNhOTU2MjhiZGM1MTEzMC4uMDdlMWY3NDZl
ZGE5NTJjMDY0Mjc1YjkyNjUyN2ZhOTg3NjE1YjdjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0
Y2hwb2ludC5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBFTkFCTEUoSklUKQogCisjaW5jbHVk
ZSA8d3RmL0JhZy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKQEAgLTQ1LDIwICs0NiwxMSBAQCBjbGFzcyBTdHJ1Y3R1cmVTdHVi
Q2xlYXJpbmdXYXRjaHBvaW50IDogcHVibGljIFdhdGNocG9pbnQgewogcHVibGljOgogICAgIFN0
cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQoCiAgICAgICAgIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uJiBrZXksCi0gICAgICAgIFdhdGNocG9pbnRzT25TdHJ1Y3R1cmVTdHViSW5m
byYgaG9sZGVyLAotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3RydWN0dXJlU3R1YkNsZWFyaW5n
V2F0Y2hwb2ludD4gbmV4dCkKKyAgICAgICAgV2F0Y2hwb2ludHNPblN0cnVjdHVyZVN0dWJJbmZv
JiBob2xkZXIpCiAgICAgICAgIDogbV9rZXkoa2V5KQogICAgICAgICAsIG1faG9sZGVyKGhvbGRl
cikKLSAgICAgICAgLCBtX25leHQoV1RGTW92ZShuZXh0KSkKICAgICB7CiAgICAgfQotICAgIAot
ICAgIHZpcnR1YWwgflN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNocG9pbnQoKTsKLSAgICAKLSAg
ICBzdGF0aWMgU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludCogcHVzaCgKLSAgICAgICAg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSwKLSAgICAgICAgV2F0Y2hwb2ludHNP
blN0cnVjdHVyZVN0dWJJbmZvJiBob2xkZXIsCi0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxTdHJ1
Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50PiYgaGVhZCk7CiAKIHByb3RlY3RlZDoKICAgICB2
b2lkIGZpcmVJbnRlcm5hbChWTSYsIGNvbnN0IEZpcmVEZXRhaWwmKSBvdmVycmlkZTsKQEAgLTY2
LDcgKzU4LDYgQEAgY2xhc3MgU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludCA6IHB1Ymxp
YyBXYXRjaHBvaW50IHsKIHByaXZhdGU6CiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb24gbV9r
ZXk7CiAgICAgV2F0Y2hwb2ludHNPblN0cnVjdHVyZVN0dWJJbmZvJiBtX2hvbGRlcjsKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8U3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludD4gbV9uZXh0Owog
fTsKIAogY2xhc3MgV2F0Y2hwb2ludHNPblN0cnVjdHVyZVN0dWJJbmZvIHsKQEAgLTc5LDggKzcw
LDYgQEAgY2xhc3MgV2F0Y2hwb2ludHNPblN0cnVjdHVyZVN0dWJJbmZvIHsKICAgICB7CiAgICAg
fQogICAgIAotICAgIH5XYXRjaHBvaW50c09uU3RydWN0dXJlU3R1YkluZm8oKTsKLSAgICAKICAg
ICBTdHJ1Y3R1cmVTdHViQ2xlYXJpbmdXYXRjaHBvaW50KiBhZGRXYXRjaHBvaW50KGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uJiBrZXkpOwogICAgIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmVT
dHViQ2xlYXJpbmdXYXRjaHBvaW50KiBlbnN1cmVSZWZlcmVuY2VBbmRBZGRXYXRjaHBvaW50KApA
QCAtOTMsNyArODIsNyBAQCBjbGFzcyBXYXRjaHBvaW50c09uU3RydWN0dXJlU3R1YkluZm8gewog
cHJpdmF0ZToKICAgICBDb2RlQmxvY2sqIG1fY29kZUJsb2NrOwogICAgIFN0cnVjdHVyZVN0dWJJ
bmZvKiBtX3N0dWJJbmZvOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxTdHJ1Y3R1cmVTdHViQ2xlYXJp
bmdXYXRjaHBvaW50PiBtX2hlYWQ7CisgICAgQmFnPFN0cnVjdHVyZVN0dWJDbGVhcmluZ1dhdGNo
cG9pbnQ+IG1fd2F0Y2hwb2ludHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
</data>
<flag name="review"
          id="366320"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>