Bug 1501523 - part 1 - externalize jpeg_nbits_table from jpeg_nbits_table.h; r=aosmond

The current setup means that including jpeg_nbits_table.h creates a 64K
static table in the current compilation unit...for every inclusion of
jpeg_nbits_table.h.  Since we have two such inclusions, we have two
copies of this table, and the linker is not merging them; perhaps there
is a limit on the size of identical blobs of data it will merge.

In any event, this setup is suboptimal; instead, we should have a single
instance of jpeg_nbits_table in some external source file, and the
header can declare it like any other variable.
This commit is contained in:
Nathan Froyd 2018-10-24 16:06:48 -04:00
Родитель ff2bc5ca0b
Коммит b3c9f58bdd
5 изменённых файлов: 8219 добавлений и 4099 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -71,6 +71,10 @@ SOURCES += [
'jctrans.c',
]
SOURCES += [
'jpeg_nbits_table.c',
]
if CONFIG['LIBJPEG_TURBO_USE_YASM']:
USE_YASM = True

Просмотреть файл

@ -19,7 +19,7 @@ tag=${2-HEAD}
cd $srcdir/libjpeg
cp win/jsimdcfg.inc simd/
revert_files="1050342.diff jconfig.h jconfigint.h moz.build MOZCHANGES mozilla.diff simd/jsimdcfg.inc"
revert_files="1050342.diff externalize-table.diff jconfig.h jconfigint.h jpeg_nbits_table.c moz.build MOZCHANGES mozilla.diff simd/jsimdcfg.inc"
if test -d ${topsrcdir}/.hg; then
hg revert --no-backup $revert_files
elif test -d ${topsrcdir}/.git; then
@ -28,3 +28,4 @@ fi
patch -p0 -i mozilla.diff
patch -p0 -i 1050342.diff
patch -p3 -i externalize-table.diff