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

Reply via email to