Internal explicit counter support for Code max_stack and max_locals has been already added in #24807. Since that example works well, we may consider opening this functionality up to general users under strict restrictions.
This is an advanced API; thus, I chose a more complex name `withExplicitStackAndLocals` that discourages accidental use, and indicates the exact order of stack and locals arguments. For integrity, the argument checks are unconditional. And this is also barred behind `DROP_STACK_MAPS` advanced option. I have enhanced the tests with a `CodeBuilderType` utility to test all types of code builders; it is already effective at increasing coverage in some of our existing tests that only cover DirectCodeBuilder, and simplify other tests. It is particularly helpful for my new `BuilderExplicitMaxsTest`. ------------- Commit messages: - 8341275: Explicit counter support for Code attribute building Changes: https://git.openjdk.org/jdk/pull/24903/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24903&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8341275 Stats: 314 lines in 10 files changed: 262 ins; 19 del; 33 mod Patch: https://git.openjdk.org/jdk/pull/24903.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/24903/head:pull/24903 PR: https://git.openjdk.org/jdk/pull/24903