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

Adam Sotona asotona at openjdk.org
Fri Jun 2 11:24:20 UTC 2023


> Classfile context object and multi-state options have been discussed at https://mail.openjdk.org/pipermail/classfile-api-dev/2023-May/000321.html
> This patch implements the proposed changes in Classfile API and fixes all affected code across JDK sources and tests.
> 
> Please review.
> 
> Thanks,
> Adam

Adam Sotona has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 22 additional commits since the last revision:

 - fixed StackMapGenerator::generatorError and removed obsolete SplitConstantPool clone constructor
 - Merge branch 'master' into JDK-8308899-context
 - fixed benchmarks
 - fixed snippets and added SnippetsTest
 - fixed javadoc
 - added Classfile context parameter to ClasRemapper::remapClass
 - records and methods implementations moved from Classfile to ClassfileImpl
 - added Classfile::buildTo override
 - implementation of Classfile::withOptions(Option... options)
   ClassfileImpl made immutable
   "options" use across implementation renamed to "context"
 - added test for StackMapsOption.ALWAYS_GENERATE_STACK_MAPS
   fixed DirectCodeBuilder and added fast bypass when stack map is not needed
 - ... and 12 more: https://git.openjdk.org/jdk/compare/0945a741...f8915f91

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/14180/files
  - new: https://git.openjdk.org/jdk/pull/14180/files/eae9bed3..f8915f91

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=14180&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14180&range=01-02

  Stats: 20638 lines in 447 files changed: 15729 ins; 1904 del; 3005 mod
  Patch: https://git.openjdk.org/jdk/pull/14180.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14180/head:pull/14180

PR: https://git.openjdk.org/jdk/pull/14180


More information about the core-libs-dev mailing list