forked from mozilla/gecko-dev
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1501523 - part 2 - remove separate jpeg_nbits_table copies from a…
…ssembly files; r=aosmond Continuing the theme from the first part, the optimized assembly files for x86-64 and i386 include their own private copies of jpeg_nbits_table. There's no need for them to do so; they can make use of the C copy that we commonized in the first patch.
- Loading branch information
Showing
4 changed files
with
78 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
diff --git a/media/libjpeg/simd/i386/jchuff-sse2.asm b/media/libjpeg/simd/i386/jchuff-sse2.asm | ||
index 6ea69f6..fea4de3 100644 | ||
--- a/media/libjpeg/simd/i386/jchuff-sse2.asm | ||
+++ b/media/libjpeg/simd/i386/jchuff-sse2.asm | ||
@@ -27,11 +27,10 @@ | ||
|
||
alignz 32 | ||
GLOBAL_DATA(jconst_huff_encode_one_block) | ||
+ EXTERN EXTN(jpeg_nbits_table) | ||
|
||
EXTN(jconst_huff_encode_one_block): | ||
|
||
-%include "jpeg_nbits_table.inc" | ||
- | ||
alignz 32 | ||
|
||
; -------------------------------------------------------------------------- | ||
@@ -233,7 +232,7 @@ EXTN(jsimd_huff_encode_one_block_sse2): | ||
|
||
; Find the number of bits needed for the magnitude of the coefficient | ||
movpic ebp, POINTER [esp+gotptr] ; load GOT address (ebp) | ||
- movzx edx, byte [GOTOFF(ebp, jpeg_nbits_table + ecx)] ; nbits = JPEG_NBITS(temp); | ||
+ movzx edx, byte [GOTOFF(ebp, EXTN(jpeg_nbits_table) + ecx)] ; nbits = JPEG_NBITS(temp); | ||
mov DWORD [esp+temp2], edx ; backup nbits in temp2 | ||
|
||
; Emit the Huffman-coded symbol for the number of bits | ||
@@ -305,7 +304,7 @@ EXTN(jsimd_huff_encode_one_block_sse2): | ||
.ERLOOP: | ||
movsx eax, word [esi] ; temp = t1[k]; | ||
movpic edx, POINTER [esp+gotptr] ; load GOT address (edx) | ||
- movzx eax, byte [GOTOFF(edx, jpeg_nbits_table + eax)] ; nbits = JPEG_NBITS(temp); | ||
+ movzx eax, byte [GOTOFF(edx, EXTN(jpeg_nbits_table) + eax)] ; nbits = JPEG_NBITS(temp); | ||
mov DWORD [esp+temp2], eax | ||
; Emit Huffman symbol for run length / number of bits | ||
shl ecx, 4 ; temp3 = (r << 4) + nbits; | ||
diff --git a/media/libjpeg/simd/x86_64/jchuff-sse2.asm b/media/libjpeg/simd/x86_64/jchuff-sse2.asm | ||
index 1b091ad..5ec8b1a 100644 | ||
--- a/media/libjpeg/simd/x86_64/jchuff-sse2.asm | ||
+++ b/media/libjpeg/simd/x86_64/jchuff-sse2.asm | ||
@@ -27,11 +27,10 @@ | ||
|
||
alignz 32 | ||
GLOBAL_DATA(jconst_huff_encode_one_block) | ||
+ EXTERN EXTN(jpeg_nbits_table) | ||
|
||
EXTN(jconst_huff_encode_one_block): | ||
|
||
-%include "jpeg_nbits_table.inc" | ||
- | ||
alignz 32 | ||
|
||
; -------------------------------------------------------------------------- | ||
@@ -222,7 +221,7 @@ EXTN(jsimd_huff_encode_one_block_sse2): | ||
add ebx, esi ; temp2 += temp3; | ||
|
||
; Find the number of bits needed for the magnitude of the coefficient | ||
- lea r11, [rel jpeg_nbits_table] | ||
+ lea r11, [rel EXTN(jpeg_nbits_table)] | ||
movzx rdi, byte [r11 + rdi] ; nbits = JPEG_NBITS(temp); | ||
; Emit the Huffman-coded symbol for the number of bits | ||
mov r11d, INT [r14 + rdi * 4] ; code = dctbl->ehufco[nbits]; | ||
@@ -289,7 +288,7 @@ EXTN(jsimd_huff_encode_one_block_sse2): | ||
lea rsi, [rsi+r12*2] ; k += r; | ||
shr r11, cl ; index >>= r; | ||
movzx rdi, word [rsi] ; temp = t1[k]; | ||
- lea rbx, [rel jpeg_nbits_table] | ||
+ lea rbx, [rel EXTN(jpeg_nbits_table)] | ||
movzx rdi, byte [rbx + rdi] ; nbits = JPEG_NBITS(temp); | ||
.BRLOOP: | ||
cmp r12, 16 ; while (r > 15) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters