RFR: 8185104: Generate CharacterDataLatin1 lookup tables directly
claes.redestad at oracle.com
Tue Jul 25 11:28:30 UTC 2017
On 07/25/2017 01:14 PM, Ulf Zibis wrote:
> 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
> 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 startup implications,
but only an actual experiment will tell if the good outweighs the bad.
 Loading some more classes, need to drop into the runtime image from
java code etc..
More information about the core-libs-dev