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
<rdar://problem/47340200>
Created attachment 359869 [details] Patch v1
Comment on attachment 359869 [details] Patch v1 r=me
Comment on attachment 359869 [details] Patch v1 Clearing flags on attachment: 359869 Committed r240335: <https://trac.webkit.org/changeset/240335>
All reviewed patches have been landed. Closing bug.