On Tue, 26 Apr 2022 12:39:50 GMT, Сергей Цыпанов <d...@openjdk.java.net> wrote:
>> src/java.base/share/classes/java/net/URI.java line 1921: >> >>> 1919: return sn - tn; >>> 1920: int val = 0; >>> 1921: int n = Math.min(sn, tn); >> >> Can we drop this change? I wouldn't like `java.net.URI` to gratuitously >> trigger the loading of the Math class. >> For the rest of the proposed changes, I will need to study them carefully >> and that may take some time. >> Thanks! > > @dfuch I've looked into class loading order and I see this: > > ... > [0.179s][info][class,init] 38 Initializing > 'java/util/ImmutableCollections$MapN'(no method) (0x000000080013d4b8) > [0.180s][info][class,init] 39 Initializing 'java/lang/StringLatin1' > (0x0000000800021cb8) > [0.180s][info][class,init] 40 Initializing 'java/lang/Math' > (0x0000000800022828) > [0.180s][info][class,init] 41 Initializing 'java/lang/Number'(no method) > (0x0000000800030080) > [0.180s][info][class,init] 42 Initializing 'java/lang/Float' > (0x000000080002fe10) > ... > [0.234s][info][class,init] 194 Initializing > 'java/lang/module/ModuleDescriptor$Requires$Modifier' (0x00000008001def98) > [0.234s][info][class,init] 195 Initializing > 'java/lang/module/ModuleDescriptor$Provides'(no method) (0x00000008001dd800) > [0.235s][info][class,init] 196 Initializing 'java/net/URI' > (0x0000000800142ff0) > [0.236s][info][class,init] 197 Initializing 'java/net/URI$1'(no method) > (0x00000008001f4368) > [0.236s][info][class,init] 198 Initializing > 'jdk/internal/module/SystemModuleFinders$2'(no method) (0x00000008001d4790) > [0.236s][info][class,init] 199 Initializing > 'jdk/internal/module/SystemModuleFinders$3'(no method) (0x00000008001d50b0) > > I.e. `Math` is loaded far before `URI`. Am I missing something? OK. ------------- PR: https://git.openjdk.java.net/jdk/pull/8397