Perform validation of local variable slots, multinewarray dimension, iinc value and specify these validations are performed. Specify these exception behaviors for sipush and bipush as well.
This validation avoids using invalid values that will be lost once class files are written, and avoids invalid value pollution from upstream in chained transformations. This changes the exception specs of Class-File API, but does not block the JEP as it does not change the intended functionality of these APIs. Unfortunately, I cannot test the DirectCodeBuilder overloads due to it failing to generate stack maps, so the tests are restricted to instruction factories. ------------- Commit messages: - slot and some other validation Changes: https://git.openjdk.org/jdk/pull/21275/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21275&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8341277 Stats: 417 lines in 15 files changed: 337 ins; 51 del; 29 mod Patch: https://git.openjdk.org/jdk/pull/21275.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/21275/head:pull/21275 PR: https://git.openjdk.org/jdk/pull/21275