[10] RFR: 8185104: Generate CharacterDataLatin1 lookup tables directly

Claes Redestad claes.redestad at oracle.com
Tue Jul 25 11:28:30 UTC 2017


On 07/25/2017 01:14 PM, Ulf Zibis wrote:
> Hi,
> Am 23.07.2017 um 15:37 schrieb Claes Redestad:
>> 1. it reduces the size of the generated bytecode, which is necessary 
>> to keep code below method bytecode limits if the arrays generated are 
>> very large
> I always was wondering why filling large lookup tables is done by 
> static java code in the class. Wouldn't it be more clever, to load the 
> lookup table content from a binary resource file? Then we must not 
> bother to initialize tables by static fake strings to save bytecode 
> footprint.
> The same thoughts would apply to the charset mappings in 
> sun.nio.charset classes.

while I think it's something to be avoided for CharacterDataLatin1 
(since it's small enough anyway, as shown here), it seems like a fine 
thing to do to experiment with loading arrays from binary resource files 
instead of via "fake Strings". As a follow-up, of course.

Doing so may have both some good and some bad[1] startup implications, 
but only an actual experiment will tell if the good outweighs the bad.


[1] Loading some more classes, need to drop into the runtime image from 
java code etc..

More information about the core-libs-dev mailing list