RFR: 8308899: Introduce Classfile.Context and improve Classfile.Option(s) [v14]

Adam Sotona asotona at openjdk.org
Tue Jun 13 11:56:53 UTC 2023


On Tue, 13 Jun 2023 09:19:00 GMT, Chen Liang <liach at openjdk.org> wrote:

>> Adam Sotona has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 38 commits:
>> 
>>  - Merge branch 'master' into JDK-8308899-context
>>  - Revert of DirectCodeBuilder.needsStackMap pre-calculation
>>  - Revert "removal of ClassHierarchyImpl.DEFAULT_RESOLVER"
>>    esolver.java
>>  - Revert "proposed semi-synchronized caching, where the map is not locked during delegate call"
>>    
>>    This reverts commit ae2877512d978468743bcaa7e0f596729f12ee72.
>>  - fixed StackMapsOption dispatching in DirectCodeBuilder
>>  - proposed semi-synchronized caching, where the map is not locked during delegate call
>>  - used Factory.INSTANCE for system ClassHierarchyResolver cache
>>  - Revert "ClassHierarchyResolver::ofSystem is now thread-unsafe"
>>    
>>    This reverts commit f3099cd5b252924392995bf65edc710c27822d2b.
>>  - ClassHierarchyResolver::ofSystem is now thread-unsafe
>>  - removal of ClassHierarchyImpl.DEFAULT_RESOLVER
>>    introduction of ClassHierarchyResolver::ofSystem factory method
>>    ClassfileImpl does not pre-initialize ClassHierarchyResolverOption with default
>>  - ... and 28 more: https://git.openjdk.org/jdk/compare/5d5ae352...9e0d141e
>
> src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java line 349:
> 
>> 347:             }
>> 348: 
>> 349:             private boolean writeOriginalAttribute(BufWriterImpl buf) {
> 
> As a result (see previous comment), we will run into a redundant stack map generation when the original stack map table is trivial (absent). Maybe we want to consider user-configured selective stack map regeneration to replace this faulty logiic.

I've fixed the logic in the commit below.

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

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


More information about the core-libs-dev mailing list