On Thu, 1 Jun 2023 15:04:00 GMT, Chen Liang <li...@openjdk.org> wrote:

>> Adam Sotona has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   fixed benchmarks
>
> src/java.base/share/classes/java/lang/Module.java line 1593:
> 
>> 1591:     private Class<?> loadModuleInfoClass(InputStream in) throws 
>> IOException {
>> 1592:         final String MODULE_INFO = "module-info";
>> 1593:         var cc = 
>> Classfile.of(Classfile.ConstantPoolSharingOption.DO_NOT_SHARE_CONSTANT_POOL);
> 
> This `cc` can be stored in a static final field instead.

Yes, we can avoid repeated construction of default class hierarchy resolver 
here.

> src/java.base/share/classes/jdk/internal/classfile/Classfile.java line 55:
> 
>> 53: 
>> 54:     static Classfile of() {
>> 55:         return new ClassfileImpl();
> 
> We can create a static final field in `ClassfileImpl` holding a default 
> instance equivalent to that created by `new ClassfileImpl()` and have the 
> `of()` factory return that instance instead.

Global static default context will hold global shared cached class hierarchy 
resolver and that we want to avoid.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/14180#discussion_r1213583268
PR Review Comment: https://git.openjdk.org/jdk/pull/14180#discussion_r1213585474

Reply via email to