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

Adam Sotona asotona at openjdk.org
Tue May 9 11:11:36 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 16 additional commits since the last revision:

 - fixed StackCounter
 - Merge branch 'master' into JDK-8305990-debug-info-strip-fail
 - implemented failover stackmap generation for class version 50
   fixed StackMapGenerator error debug print + added clone constructor to SplitConstantPool
   adjusted and extended related tests
 - Apply suggestions from code review
   
   Thanks for review.
   
   Co-authored-by: liach <7806504+liach at users.noreply.github.com>
 - 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
 - ... and 6 more: https://git.openjdk.org/jdk/compare/e6c0bde0...5db0ed01

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/13478/files
  - new: https://git.openjdk.org/jdk/pull/13478/files/795314a2..5db0ed01

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

  Stats: 24213 lines in 591 files changed: 18405 ins; 2515 del; 3293 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