Add classfile-api module: java.lang.classfile (JEP 484) parse, generate, transform with timing instrumentation, ASM 9.11.1 comparison, version limits, JDK 24/25/26 API diff
Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b4VQVEJWetTT1dYzyJ
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
$ java -cp classes:asm-9.11.1.jar... demo.BrokenGenerate (25.0.5+8-LTS)
|
||||
DROP_STACK_MAPS: verify() -> 1 problem(s)
|
||||
Expecting a stackmap frame at branch target 8 in demo/Broken::pick(int) @1
|
||||
DROP_STACK_MAPS: defineClass -> java.lang.VerifyError
|
||||
Expecting a stackmap frame at branch target 8
|
||||
Exception Details:
|
||||
Location:
|
||||
PASS a branching method built without stack maps fails verification
|
||||
PASS the same code with default options verifies
|
||||
ireturn in a String method: build() succeeded (126 bytes)
|
||||
verify: Bad return type in demo/Wrong::bad() @1 (java/lang/String is not assignable from integer_type)
|
||||
PASS verify() catches a wrongly typed return
|
||||
PASS stack underflow is caught while building
|
||||
underflow: build() threw java.lang.IllegalArgumentException
|
||||
Operand stack underflow at bytecode offset 0 of method u()
|
||||
swapped labels: build() succeeded (173 bytes), verify() -> 0 problem(s)
|
||||
swapped labels: defineClass -> java.lang.ClassFormatError: Illegal exception table range in class file demo/Swapped
|
||||
PASS the JVM rejects the swapped exception-table labels
|
||||
exit=0
|
||||
Reference in New Issue
Block a user