[PATCH 04/14] S390: Optimize 8bit-generic iconv modules.

Stefan Liebler stli@linux.vnet.ibm.com
Thu Apr 21 15:35:00 GMT 2016


On 04/15/2016 03:05 PM, Florian Weimer wrote:
> On 02/23/2016 10:21 AM, Stefan Liebler wrote:
>> +     to the 1 byte generic character. If this table contains only up
>> +     to 256 entry, then the highest UCS4 value can be stored in 1 byte
>
> “256 entries”? (spelling)
>
> Why don't you compute the required table at compile time?  Then it can
> live in .rodata and does not have to end up in .bss.
>
> In the inline assembly, I would suggest to out-dent the labels.  There
> is a typo in a comment, “blcocks”.  You could reduce the amount of
> inline assembly by falling back on the C code for error handling, I think.
>
> I can't comment on the technical accuracy of the inline assembly.
>
> Florian
>
Good point. Now this table is generated at compile time.
The gen-8bit.sh script in sysdeps/s390/multiarch generates the 
conversion table to_ucs1. Therefore in sysdeps/s390/multiarch/Makefile 
an override define generate-8bit-table is added, which is originally 
defined in iconvdata/Makefile. This version calls the gen-8bit.sh in 
iconvdata folder and the s390 one. Thus the headers - e.g. 
<build-dir>/iconvdata/ibm037.h - contain this table.

I've fixed the typo and out-dent the labels in the inline assemblies.
I've adjusted the inline assemblies from the other patches, too.

ChangeLog:

	* sysdeps/s390/multiarch/8bit-generic.c: New File.
	* sysdeps/s390/multiarch/gen-8bit.sh: New File.
	* sysdeps/s390/multiarch/Makefile (generate-8bit-table):
	New override define.
	* sysdeps/s390/multiarch/iconv/skeleton.c: Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-S390-Optimize-8bit-generic-iconv-modules.patch
Type: text/x-patch
Size: 19663 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20160421/d74a58fc/attachment.bin>


More information about the Libc-alpha mailing list