RFR: 8305990: Stripping debug info of ASM 9.5 fails [v10]

Adam Sotona asotona at openjdk.org
Tue May 2 14:15:27 UTC 2023


> Classfile API didn't handle transformations of class files version 50 and below correctly. 
> 
> Proposed fix have two parts: 
> 1. Inflation of branch targets does not depend on StackMapTable attribute presence for class file version 50 and below. Alternative fallback implementation is provided. 
> 2. StackMapTable attribute is not generated for class file versions below 50.
> 
> StackMapsTest is also extended to test this patch.
> 
> 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 12 additional commits since the last revision:

 - Merge branch 'master' into JDK-8305990-debug-info-strip-fail
 - Update StackCounter.java
 - added comments to StackCounter about maxStack upper bounds calculation for JSR/RET instructions
 - fixed stack counting of JSR instructions
 - implemented StackCounter
 - Making some BufWriter fields final
 - Update src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java
   
   Co-authored-by: liach <7806504+liach at users.noreply.github.com>
 - Update src/java.base/share/classes/jdk/internal/classfile/Opcode.java
   
   Co-authored-by: ExE Boss <3889017+ExE-Boss at users.noreply.github.com>
 - fixed ClassPrinterImpl
 - DiscontinuedInstruction implementation + test
 - ... and 2 more: https://git.openjdk.org/jdk/compare/9ce19553...f132f737

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/13478/files
  - new: https://git.openjdk.org/jdk/pull/13478/files/42b96b2c..f132f737

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13478&range=09
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13478&range=08-09

  Stats: 285823 lines in 2346 files changed: 252875 ins; 16769 del; 16179 mod
  Patch: https://git.openjdk.org/jdk/pull/13478.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13478/head:pull/13478

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


More information about the core-libs-dev mailing list