Stack Checker

david32768@btinternet.com david32768@btinternet.com david32768 at btinternet.com
Sat Mar 16 08:49:25 UTC 2024


I have written a stack checker transform from scratch. The following are 
my observations for this task,

# BranchInstruction

It would help if BranchInstruction could be divided into 
BinaryBranchInstruction and UnaryBranchInstruction.

Opcodes GOTO and GOTO_W could go in Unary as TypeKind.Void has to dealt 
with for method return.

There is a bug in  java.lang.classfile.Opcode: the TypeKind for 
IFNONNULL should be ReferenceType.

#OperatorInstruction

It would help if OperationInstruction could be divided into Binary(IADD 
etc,), Unary(INEG etc.), Shift(LSHR etc,), Compare(LCMP etc) and 
ARRAYLENGTH.

There is a bug in jdk.internal.classfile.impl.CodeStackTrackerImpl: 
Compare(LCMP etc.) return IntType not LongType etc. as returned by 
typeKind()

Regards
David



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/classfile-api-dev/attachments/20240316/defc435e/attachment.htm>


More information about the classfile-api-dev mailing list