<?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>193714</bug_id>
          
          <creation_ts>2019-01-23 03:49:03 -0800</creation_ts>
          <short_desc>[JSC] Duplicate global variables: JSC::opcodeLengths</short_desc>
          <delta_ts>2019-01-23 07:41:03 -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 Local 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="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1497283</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-23 03:49:03 -0800</bug_when>
    <thetext>Because JSC::opcodeLengths is defined in the Source/JavaScriptCore/bytecode/Opcode.h header, there are 11 copies of it created on Release-iphoneos builds:

$ nm -a $BUILD_ROOT/Release-iphoneos/JavaScriptCore.framework/JavaScriptCore | grep opcodeLengths
0000000000bfdb54 - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE
0000000000bfdb54 s __ZN3JSCL13opcodeLengthsE
0000000000bfde2c s __ZN3JSCL13opcodeLengthsE
0000000000bfde2c - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE
0000000000bfe130 - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE
0000000000bfe130 s __ZN3JSCL13opcodeLengthsE
0000000000bfe5e8 - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE
0000000000bfe5e8 s __ZN3JSCL13opcodeLengthsE
0000000000bfe930 - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE
0000000000bfe930 s __ZN3JSCL13opcodeLengthsE
0000000000bff1f0 - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE
0000000000bff1f0 s __ZN3JSCL13opcodeLengthsE
0000000000c08684 - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE
0000000000c08684 s __ZN3JSCL13opcodeLengthsE
0000000000c08970 - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE
0000000000c08970 s __ZN3JSCL13opcodeLengthsE
0000000000c08c98 - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE
0000000000c08c98 s __ZN3JSCL13opcodeLengthsE
0000000000c09100 - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE
0000000000c09100 s __ZN3JSCL13opcodeLengthsE
0000000000c09880 s __ZN3JSCL13opcodeLengthsE
0000000000c09880 - 04 0000 STSYM __ZN3JSCL13opcodeLengthsE

After moving JSC::opcodeLengths to Source/JavaScriptCore/bytecode/Opcode.cpp, we have only one copy:

$ nm -a $BUILD_ROOT/Release-iphoneos/JavaScriptCore.framework/JavaScriptCore | grep opcodeLengths
0000000000000000 - 00 0000  GSYM __ZN3JSC13opcodeLengthsE
0000000000bfd878 s __ZN3JSC13opcodeLengthsE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497284</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-23 03:49:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/47340200&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497285</commentid>
    <comment_count>2</comment_count>
      <attachid>359869</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-23 03:53:25 -0800</bug_when>
    <thetext>Created attachment 359869
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497313</commentid>
    <comment_count>3</comment_count>
      <attachid>359869</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-01-23 07:15:41 -0800</bug_when>
    <thetext>Comment on attachment 359869
Patch v1

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497320</commentid>
    <comment_count>4</comment_count>
      <attachid>359869</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-23 07:41:01 -0800</bug_when>
    <thetext>Comment on attachment 359869
Patch v1

Clearing flags on attachment: 359869

Committed r240335: &lt;https://trac.webkit.org/changeset/240335&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497321</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-23 07:41:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359869</attachid>
            <date>2019-01-23 03:53:25 -0800</date>
            <delta_ts>2019-01-23 07:41:01 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-193714-20190123035324.patch</filename>
            <type>text/plain</type>
            <size>2269</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MzRjZWQ0ODU5ZmUzOTMxZmJiYzJhMmFhNWY3Y2I1Y2UwM2JlYjk0Li45MGMwNjM4ODE3YzkxNjU4
NDY4NDdjNTE4ZTYyYjljOTBiOTcwYWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOS0wMS0yMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIER1cGxpY2F0ZSBnbG9iYWwgdmFyaWFibGVzOiBKU0M6Om9wY29k
ZUxlbmd0aHMKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE5MzcxND4KKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzQ3MzQwMjAwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogYnl0ZWNvZGUvT3Bjb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6
b3Bjb2RlTGVuZ3Rocyk6IE1vdmUgYXJyYXkgaW1wbGVtZW50YXRpb24gaGVyZSBhbmQgbWFyawor
ICAgICAgICBjb25zdC4KKyAgICAgICAgKiBieXRlY29kZS9PcGNvZGUuaDoKKyAgICAgICAgKEpT
Qzo6b3Bjb2RlTGVuZ3Rocyk6IENoYW5nZSB0byBleHRlcm4gZGVjbGFyYXRpb24uCisKIDIwMTkt
MDEtMjIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBJbnRsIGNvbnN0cnVjdG9ycyBzaG91bGQgZml0IGluIHNpemVvZihJbnRlcm5hbEZ1bmN0aW9u
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmNwcAppbmRleCA5N2Q0N2Q0
NWVjYzcxMjI5ZTBiNzgwMTlhOGNmODgxYmU0YTVlYjZlLi4yZGQ5MzQ0OGZhYTA4YzhiZjJkNmFi
M2I4ZGJjNjZkZDNmMzY1MzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvT3Bjb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bj
b2RlLmNwcApAQCAtNDAsNiArNDAsMTIgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NvbnN0IHVu
c2lnbmVkIG9wY29kZUxlbmd0aHNbXSA9IHsKKyNkZWZpbmUgT1BDT0RFX0xFTkdUSChvcGNvZGUs
IGxlbmd0aCkgbGVuZ3RoLAorICAgIEZPUl9FQUNIX09QQ09ERV9JRChPUENPREVfTEVOR1RIKQor
I3VuZGVmIE9QQ09ERV9MRU5HVEgKK307CisKIGNvbnN0IGNoYXIqIGNvbnN0IG9wY29kZU5hbWVz
W10gPSB7CiAjZGVmaW5lIE9QQ09ERV9OQU1FX0VOVFJZKG9wY29kZSwgc2l6ZSkgI29wY29kZSwK
ICAgICBGT1JfRUFDSF9PUENPREVfSUQoT1BDT0RFX05BTUVfRU5UUlkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKaW5kZXggMWYzOWI3ZjlkOWMzMjAwOGVkYWVlYWVlNjRi
NTI5NzY5MWRhMjhhNS4uZmVlYjQ0MjdmNjg1OTU0MWU1NzhmZTUwOWRhZmI1YzNjY2Y1YThmNiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaApAQCAtNzEsMTUgKzcxLDcg
QEAgY29uc3QgaW50IG51bU9wY29kZUlEcyA9IE5VTUJFUl9PRl9CWVRFQ09ERV9JRFMgKyBOVU1C
RVJfT0ZfQllURUNPREVfSEVMUEVSX0lEUzsKICN1bmRlZiBPUENPREVfSURfRU5VTQogI2VuZGlm
CiAKLUlHTk9SRV9XQVJOSU5HU19CRUdJTigidW51c2VkLXZhcmlhYmxlIikKLQotI2RlZmluZSBP
UENPREVfTEVOR1RIKG9wY29kZSwgbGVuZ3RoKSBsZW5ndGgsCi0gICAgc3RhdGljIHVuc2lnbmVk
IG9wY29kZUxlbmd0aHNbXSA9IHsKLSAgICAgICAgRk9SX0VBQ0hfT1BDT0RFX0lEKE9QQ09ERV9M
RU5HVEgpCi0gICAgfTsKLSN1bmRlZiBPUENPREVfTEVOR1RICi0KLUlHTk9SRV9XQVJOSU5HU19F
TkQKK2V4dGVybiBjb25zdCB1bnNpZ25lZCBvcGNvZGVMZW5ndGhzW107CiAKICNkZWZpbmUgT1BD
T0RFX0lEX0xFTkdUSFMoaWQsIGxlbmd0aCkgY29uc3QgaW50IGlkIyNfbGVuZ3RoID0gbGVuZ3Ro
OwogICAgIEZPUl9FQUNIX09QQ09ERV9JRChPUENPREVfSURfTEVOR1RIUyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>