Rewrite BindingSpecializer to use the new class file API. Note: There is a big try/catch/finally block generated in the `specialize` method that currently uses labels. I looked at replacing this with a call to `CodeBuilder::trying` but it would require threading the nested code builders through all the `emit*` methods, which currently access the 'global' CodeBuilder instance attached to the BindingSpecializer instance. Since there didn't really seem to be a big benefit to this, I've kept that try/catch/finally block as is, using labels.
The current implementation could also use `CheckClassAdapter` to do additional verification on the generated bytecode (ahead of the VM's verifier). I'm not sure if the new API has a replacement for that? ------------- Depends on: https://git.openjdk.org/jdk/pull/13079 Commit messages: - use ifThen to release scopes - use TypeKind.from - Translate BindingSpecializer to new classfile API Changes: https://git.openjdk.org/jdk/pull/13247/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13247&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8301703 Stats: 411 lines in 1 file changed: 22 ins; 154 del; 235 mod Patch: https://git.openjdk.org/jdk/pull/13247.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/13247/head:pull/13247 PR: https://git.openjdk.org/jdk/pull/13247