RFR: 8338661: StackMapTable is invalid if frames appear in dead code [v2]

Adam Sotona asotona at openjdk.org
Tue Aug 20 14:50:22 UTC 2024


> ClassFile API allows to build a class with dead code and provide custom `StackMapTable` attribute with user-specified frames covering the dead code.
> `StackCounter` is responsible for calculation of `maxStack` and `maxLocals` in certain situations and it did not include the user-provided `StackMapTable` attribute. Dead code was skipped and `maxStack` or `maxLocals` might became underestimated.
> 
> This patch includes frames from user-provided `StackMapTable` attribute into the `StackCounter` calculations.
> 
> 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.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/20644/files
  - new: https://git.openjdk.org/jdk/pull/20644/files/a5989c97..a5989c97

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

  Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/20644.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20644/head:pull/20644

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


More information about the core-libs-dev mailing list