<?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>185119</bug_id>
          
          <creation_ts>2018-04-29 08:33:23 -0700</creation_ts>
          <short_desc>WordLock doesn&apos;t need per-thread data</short_desc>
          <delta_ts>2018-04-29 16:06:20 -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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1418885</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-04-29 08:33:23 -0700</bug_when>
    <thetext>WordLock doesn&apos;t need per-thread data</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418887</commentid>
    <comment_count>1</comment_count>
      <attachid>339092</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-04-29 08:41:46 -0700</bug_when>
    <thetext>Created attachment 339092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418888</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-04-29 08:44:21 -0700</bug_when>
    <thetext>Benchmark results look neutral to me:

~/OpenSource&gt; ./LockSpeedTest-baseline wordlock 1 4 1 0 40 2
WTFWordLock: 40014.319 KHz
WTFWordLock = {40014.319};
=====
~/OpenSource&gt; ./LockSpeedTest wordlock 1 4 1 0 40 2
WTFWordLock: 41667.624 KHz
WTFWordLock = {41667.624};
=====
~/OpenSource&gt; ./LockSpeedTest-baseline wordlock 1 4 10 20 40 2
WTFWordLock: 15257.590 KHz
WTFWordLock = {15257.590};
=====
~/OpenSource&gt; ./LockSpeedTest wordlock 1 4 10 20 40 2
WTFWordLock: 15336.106 KHz
WTFWordLock = {15336.106};
=====
~/OpenSource&gt; ./LockSpeedTest-baseline wordlock 1 4 128 1024 40 2
WTFWordLock: 1505.244 KHz
WTFWordLock = {1505.244};
=====
~/OpenSource&gt; ./LockSpeedTest wordlock 1 4 128 1024 40 2
WTFWordLock: 1506.206 KHz
WTFWordLock = {1506.206};</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418893</commentid>
    <comment_count>3</comment_count>
      <attachid>339092</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-04-29 10:02:17 -0700</bug_when>
    <thetext>Comment on attachment 339092
Patch

r=me if it does not cause perf regression. I think it should be perf-neutral since basically constructing ThreadData is cheap.
I think we can use this approach in ParkingLot to remove ThreadSpecific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418898</commentid>
    <comment_count>4</comment_count>
      <attachid>339092</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-29 10:29:18 -0700</bug_when>
    <thetext>Comment on attachment 339092
Patch

Clearing flags on attachment: 339092

Committed r231151: &lt;https://trac.webkit.org/changeset/231151&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418899</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-29 10:29:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418902</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-29 10:30:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/39825097&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418927</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-04-29 16:06:20 -0700</bug_when>
    <thetext>&gt; I think we can use this approach in ParkingLot to remove ThreadSpecific.

That would be cool!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339092</attachid>
            <date>2018-04-29 08:41:46 -0700</date>
            <delta_ts>2018-04-29 10:29:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185119-20180429084146.patch</filename>
            <type>text/plain</type>
            <size>4507</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMzExNDkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE4LTA0LTI5ICBHZW9mZnJleSBHYXJlbiAgPGdn
YXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgV29yZExvY2sgZG9lc24ndCBuZWVkIHBlci10aHJl
YWQgZGF0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg1MTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlIHN0YWNrIGlzIHBlci10aHJlYWQgZGF0YSwgc28gd2UgY2FuIHN0YWNrLWFsbG9jYXRlIG91
ciBUaHJlYWREYXRhLgorCisgICAgICAgIFRoaXMgZWxpbWluYXRlcyBtYWxsb2MoKSBhbmQgaGln
aC1sZXZlbCBXVEYgdGhyZWFkaW5nIHByaW1pdGl2ZXMgZnJvbQorICAgICAgICBXb3JkTG9jaywg
bWFraW5nIFdvcmRMb2NrIG1vcmUgcG9ydGFibGUgdG8gbm9uLVdURiBjb2RlLCBpbmNsdWRpbmcK
KyAgICAgICAgYm1hbGxvYy4KKworICAgICAgICAoTk9URTogVGhpcyBwYXRjaCBtYWtlcyB0aGUg
YnVnIGZpeGVkIGluIHIyMzExNDggMTAwJSByZXByb2R1Y2libGUuKQorCisgICAgICAgICogd3Rm
L1dvcmRMb2NrLmNwcDoKKyAgICAgICAgKFdURjo6V29yZExvY2s6OmxvY2tTbG93KTogQWxsb2Nh
dGUgVGhyZWFkRGF0YSBvbiB0aGUgc3RhY2suCisKIDIwMTgtMDQtMjggIEdlb2ZmcmV5IEdhcmVu
ICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXhlZCBhIHZlcnkgdW5saWtlbHkgcmFj
ZSBjb25kaXRpb24gaW4gV1RGOjpXb3JkTG9jawpJbmRleDogU291cmNlL1dURi93dGYvV29yZExv
Y2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmNwcAkocmV2aXNp
b24gMjMxMTQ5KQorKysgU291cmNlL1dURi93dGYvV29yZExvY2suY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw5ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV29yZExv
Y2suaCIKIAotI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCiAjaW5jbHVkZSAiVGhyZWFkaW5n
LmgiCi0jaW5jbHVkZSAiVGhyZWFkaW5nUHJpbWl0aXZlcy5oIgogI2luY2x1ZGUgPGNvbmRpdGlv
bl92YXJpYWJsZT4KICNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx0aHJlYWQ+CkBAIC02MCwy
MCArNTgsNiBAQCBzdHJ1Y3QgVGhyZWFkRGF0YSB7CiAgICAgVGhyZWFkRGF0YSogcXVldWVUYWls
IHsgbnVsbHB0ciB9OwogfTsKIAotVGhyZWFkU3BlY2lmaWM8VGhyZWFkRGF0YSwgQ2FuQmVHQ1Ro
cmVhZDo6VHJ1ZT4qIHRocmVhZERhdGE7Ci0KLVRocmVhZERhdGEqIG15VGhyZWFkRGF0YSgpCi17
Ci0gICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIGluaXRpYWxpemVPbmNlOwotICAgIHN0ZDo6Y2Fs
bF9vbmNlKAotICAgICAgICBpbml0aWFsaXplT25jZSwKLSAgICAgICAgW10gewotICAgICAgICAg
ICAgdGhyZWFkRGF0YSA9IG5ldyBUaHJlYWRTcGVjaWZpYzxUaHJlYWREYXRhLCBDYW5CZUdDVGhy
ZWFkOjpUcnVlPigpOwotICAgICAgICB9KTsKLQotICAgIHJldHVybiAqdGhyZWFkRGF0YTsKLX0K
LQogfSAvLyBhbm9ueW1vdXMgbmFtZXNwYWNlCiAKIE5FVkVSX0lOTElORSB2b2lkIFdvcmRMb2Nr
Ojpsb2NrU2xvdygpCkBAIC0xMDYsMTIgKzkwLDggQEAgTkVWRVJfSU5MSU5FIHZvaWQgV29yZExv
Y2s6OmxvY2tTbG93KCkKIAogICAgICAgICAvLyBOZWVkIHRvIHB1dCBvdXJzZWx2ZXMgb24gdGhl
IHF1ZXVlLiBDcmVhdGUgdGhlIHF1ZXVlIGlmIG9uZSBkb2VzIG5vdCBleGlzdC4gVGhpcyByZXF1
cmllcwogICAgICAgICAvLyBvd25pbmcgdGhlIHF1ZXVlIGZvciBhIGxpdHRsZSBiaXQuIFRoZSBs
b2NrIHRoYXQgY29udHJvbHMgdGhlIHF1ZXVlIGlzIGl0c2VsZiBhIHNwaW5sb2NrLgotICAgICAg
ICAvLyBCdXQgYmVmb3JlIHdlIGFjcXVpcmUgdGhlIHF1ZXVlIHNwaW5sb2NrLCB3ZSBtYWtlIHN1
cmUgdGhhdCB3ZSBoYXZlIGEgVGhyZWFkRGF0YSBmb3IgdGhpcwotICAgICAgICAvLyB0aHJlYWQu
Ci0gICAgICAgIFRocmVhZERhdGEqIG1lID0gbXlUaHJlYWREYXRhKCk7Ci0gICAgICAgIEFTU0VS
VCghbWUtPnNob3VsZFBhcmspOwotICAgICAgICBBU1NFUlQoIW1lLT5uZXh0SW5RdWV1ZSk7Ci0g
ICAgICAgIEFTU0VSVCghbWUtPnF1ZXVlVGFpbCk7CisKKyAgICAgICAgVGhyZWFkRGF0YSBtZTsK
IAogICAgICAgICAvLyBSZWxvYWQgdGhlIGN1cnJlbnQgd29yZCB2YWx1ZSwgc2luY2Ugc29tZSB0
aW1lIG1heSBoYXZlIHBhc3NlZC4KICAgICAgICAgY3VycmVudFdvcmRWYWx1ZSA9IG1fd29yZC5s
b2FkKCk7CkBAIC0xMjUsMTUgKzEwNSwxNSBAQCBORVZFUl9JTkxJTkUgdm9pZCBXb3JkTG9jazo6
bG9ja1Nsb3coKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgCi0g
ICAgICAgIG1lLT5zaG91bGRQYXJrID0gdHJ1ZTsKKyAgICAgICAgbWUuc2hvdWxkUGFyayA9IHRy
dWU7CiAKICAgICAgICAgLy8gV2Ugb3duIHRoZSBxdWV1ZS4gTm9ib2R5IGNhbiBlbnF1ZXVlIG9y
IGRlcXVldWUgdW50aWwgd2UncmUgZG9uZS4gQWxzbywgaXQncyBub3QgcG9zc2libGUKICAgICAg
ICAgLy8gdG8gcmVsZWFzZSB0aGUgV29yZExvY2sgd2hpbGUgd2UgaG9sZCB0aGUgcXVldWUgbG9j
ay4KICAgICAgICAgVGhyZWFkRGF0YSogcXVldWVIZWFkID0gYml0d2lzZV9jYXN0PFRocmVhZERh
dGEqPihjdXJyZW50V29yZFZhbHVlICYgfnF1ZXVlSGVhZE1hc2spOwogICAgICAgICBpZiAocXVl
dWVIZWFkKSB7CiAgICAgICAgICAgICAvLyBQdXQgdGhpcyB0aHJlYWQgYXQgdGhlIGVuZCBvZiB0
aGUgcXVldWUuCi0gICAgICAgICAgICBxdWV1ZUhlYWQtPnF1ZXVlVGFpbC0+bmV4dEluUXVldWUg
PSBtZTsKLSAgICAgICAgICAgIHF1ZXVlSGVhZC0+cXVldWVUYWlsID0gbWU7CisgICAgICAgICAg
ICBxdWV1ZUhlYWQtPnF1ZXVlVGFpbC0+bmV4dEluUXVldWUgPSAmbWU7CisgICAgICAgICAgICBx
dWV1ZUhlYWQtPnF1ZXVlVGFpbCA9ICZtZTsKIAogICAgICAgICAgICAgLy8gUmVsZWFzZSB0aGUg
cXVldWUgbG9jay4KICAgICAgICAgICAgIGN1cnJlbnRXb3JkVmFsdWUgPSBtX3dvcmQubG9hZCgp
OwpAQCAtMTQzLDggKzEyMyw4IEBAIE5FVkVSX0lOTElORSB2b2lkIFdvcmRMb2NrOjpsb2NrU2xv
dygpCiAgICAgICAgICAgICBtX3dvcmQuc3RvcmUoY3VycmVudFdvcmRWYWx1ZSAmIH5pc1F1ZXVl
TG9ja2VkQml0KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIE1ha2UgdGhpcyB0
aHJlYWQgYmUgdGhlIHF1ZXVlLWhlYWQuCi0gICAgICAgICAgICBxdWV1ZUhlYWQgPSBtZTsKLSAg
ICAgICAgICAgIG1lLT5xdWV1ZVRhaWwgPSBtZTsKKyAgICAgICAgICAgIHF1ZXVlSGVhZCA9ICZt
ZTsKKyAgICAgICAgICAgIG1lLnF1ZXVlVGFpbCA9ICZtZTsKIAogICAgICAgICAgICAgLy8gUmVs
ZWFzZSB0aGUgcXVldWUgbG9jayBhbmQgaW5zdGFsbCBvdXJzZWx2ZXMgYXMgdGhlIGhlYWQuIE5v
IG5lZWQgZm9yIGEgQ0FTIGxvb3AsIHNpbmNlCiAgICAgICAgICAgICAvLyB3ZSBvd24gdGhlIHF1
ZXVlIGxvY2suCkBAIC0xNjQsMTQgKzE0NCwxNCBAQCBORVZFUl9JTkxJTkUgdm9pZCBXb3JkTG9j
azo6bG9ja1Nsb3coKQogICAgICAgICAvLyByZWxlYXNpbmcgdGhyZWFkIGhvbGRzIG1lJ3MgcGFy
a2luZ0xvY2suCiAKICAgICAgICAgewotICAgICAgICAgICAgc3RkOjp1bmlxdWVfbG9jazxzdGQ6
Om11dGV4PiBsb2NrZXIobWUtPnBhcmtpbmdMb2NrKTsKLSAgICAgICAgICAgIHdoaWxlIChtZS0+
c2hvdWxkUGFyaykKLSAgICAgICAgICAgICAgICBtZS0+cGFya2luZ0NvbmRpdGlvbi53YWl0KGxv
Y2tlcik7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9sb2NrPHN0ZDo6bXV0ZXg+IGxvY2tlciht
ZS5wYXJraW5nTG9jayk7CisgICAgICAgICAgICB3aGlsZSAobWUuc2hvdWxkUGFyaykKKyAgICAg
ICAgICAgICAgICBtZS5wYXJraW5nQ29uZGl0aW9uLndhaXQobG9ja2VyKTsKICAgICAgICAgfQog
Ci0gICAgICAgIEFTU0VSVCghbWUtPnNob3VsZFBhcmspOwotICAgICAgICBBU1NFUlQoIW1lLT5u
ZXh0SW5RdWV1ZSk7Ci0gICAgICAgIEFTU0VSVCghbWUtPnF1ZXVlVGFpbCk7CisgICAgICAgIEFT
U0VSVCghbWUuc2hvdWxkUGFyayk7CisgICAgICAgIEFTU0VSVCghbWUubmV4dEluUXVldWUpOwor
ICAgICAgICBBU1NFUlQoIW1lLnF1ZXVlVGFpbCk7CiAgICAgICAgIAogICAgICAgICAvLyBOb3cg
d2UgY2FuIGxvb3AgYXJvdW5kIGFuZCB0cnkgdG8gYWNxdWlyZSB0aGUgbG9jayBhZ2Fpbi4KICAg
ICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>