> 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+li...@users.noreply.github.com> - Update src/java.base/share/classes/jdk/internal/classfile/Opcode.java Co-authored-by: ExE Boss <3889017+exe-b...@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