You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Kores currently uses MethodInvokeSpec to specify a method invocation and lacks a FieldAccessSpec.
InvokeDynamic instruction supports specifying both fields and methods using MethodHandle and ASM uses Handle type to provide this information and differentation through tag argument using Opcodes prefixed with H_.
- Support for Java 11 Nest Based Access Control
- Default to Java 16 Major Version
- Use `invokedynamic` for String Concatenation for Java 9 or later .
- Consistent InvokeDynamic (koresframework/Kores#79).
- Support Dynamic Constant
- Support Field Specification
- Better Method Specification
Kores currently uses
MethodInvokeSpec
to specify a method invocation and lacks aFieldAccessSpec
.InvokeDynamic instruction supports specifying both fields and methods using MethodHandle and ASM uses Handle type to provide this information and differentation through tag argument using Opcodes prefixed with
H_
.Also, Kores
InvokeType
, which is used to specify the invocation kind, lacks H_NEWINVOKESPECIAL, which is used to invoke constructors (<init>
method) as specified in Reference Kinds section of Java MethodHandleInfo Documentation.This document specifies new types for InvokeDynamic bootstrap arguments:
DynamicInvokeType
NEW_INVOKE_SPECIAL
.FieldAccessKind
GET_FIELD
GET_STATIC
PUT_FIELD
PUT_STATIC
MethodInvokeHandleSpec
FieldAccessHandleSpec
DynamicConstantSpec
Also conversion from
MethodInvokeSpec
toMethodInvokeHandleSpec
.Compatibility
This will break compatibility with current code that relies on serialization.
Support
MethodInvokeSpec
must still be supported by Kores-BytecodeWriter, in addition to the support to those new types.The text was updated successfully, but these errors were encountered: