public class jdk.internal.invoke.NativeEntryPoint
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.invoke.NativeEntryPoint
super_class: java.lang.Object
{
private final long addr;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int shadowSpace;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long[] argMoves;
descriptor: [J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long[] returnMoves;
descriptor: [J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean needTransition;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.invoke.MethodType methodType;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: invokestatic jdk.internal.invoke.NativeEntryPoint.registerNatives:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(long, int, long[], long[], boolean, java.lang.invoke.MethodType, java.lang.String);
descriptor: (JI[J[JZLjava/lang/invoke/MethodType;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=8
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
lload 1
putfield jdk.internal.invoke.NativeEntryPoint.addr:J
2: aload 0
iload 3
putfield jdk.internal.invoke.NativeEntryPoint.shadowSpace:I
3: aload 0
aload 4
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast long[]
putfield jdk.internal.invoke.NativeEntryPoint.argMoves:[J
4: aload 0
aload 5
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast long[]
putfield jdk.internal.invoke.NativeEntryPoint.returnMoves:[J
5: aload 0
iload 6
putfield jdk.internal.invoke.NativeEntryPoint.needTransition:Z
6: aload 0
aload 7
putfield jdk.internal.invoke.NativeEntryPoint.methodType:Ljava/lang/invoke/MethodType;
7: aload 0
aload 8
putfield jdk.internal.invoke.NativeEntryPoint.name:Ljava/lang/String;
8: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/invoke/NativeEntryPoint;
0 9 1 addr J
0 9 3 shadowSpace I
0 9 4 argMoves [J
0 9 5 returnMoves [J
0 9 6 needTransition Z
0 9 7 methodType Ljava/lang/invoke/MethodType;
0 9 8 name Ljava/lang/String;
MethodParameters:
Name Flags
addr
shadowSpace
argMoves
returnMoves
needTransition
methodType
name
public static jdk.internal.invoke.NativeEntryPoint make(long, java.lang.String, jdk.internal.invoke.ABIDescriptorProxy, jdk.internal.invoke.VMStorageProxy[], jdk.internal.invoke.VMStorageProxy[], boolean, java.lang.invoke.MethodType);
descriptor: (JLjava/lang/String;Ljdk/internal/invoke/ABIDescriptorProxy;[Ljdk/internal/invoke/VMStorageProxy;[Ljdk/internal/invoke/VMStorageProxy;ZLjava/lang/invoke/MethodType;)Ljdk/internal/invoke/NativeEntryPoint;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=8, args_size=7
start local 0 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 5
arraylength
iconst_1
if_icmple 2
1: new java.lang.IllegalArgumentException
dup
ldc "Multiple register return not supported"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new jdk.internal.invoke.NativeEntryPoint
dup
3: lload 0
aload 3
invokeinterface jdk.internal.invoke.ABIDescriptorProxy.shadowSpaceBytes:()I
aload 4
invokestatic jdk.internal.invoke.NativeEntryPoint.encodeVMStorages:([Ljdk/internal/invoke/VMStorageProxy;)[J
aload 5
invokestatic jdk.internal.invoke.NativeEntryPoint.encodeVMStorages:([Ljdk/internal/invoke/VMStorageProxy;)[J
iload 6
aload 7
aload 2
4: invokespecial jdk.internal.invoke.NativeEntryPoint.<init>:(JI[J[JZLjava/lang/invoke/MethodType;Ljava/lang/String;)V
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 addr J
0 5 2 name Ljava/lang/String;
0 5 3 abi Ljdk/internal/invoke/ABIDescriptorProxy;
0 5 4 argMoves [Ljdk/internal/invoke/VMStorageProxy;
0 5 5 returnMoves [Ljdk/internal/invoke/VMStorageProxy;
0 5 6 needTransition Z
0 5 7 methodType Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
addr
name
abi
argMoves
returnMoves
needTransition
methodType
private static long[] encodeVMStorages(jdk.internal.invoke.VMStorageProxy[]);
descriptor: ([Ljdk/internal/invoke/VMStorageProxy;)[J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
arraylength
newarray 11
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: long[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
aaload
invokeinterface jdk.internal.invoke.VMStorageProxy.type:()I
aload 0
iload 2
aaload
invokeinterface jdk.internal.invoke.VMStorageProxy.index:()I
invokestatic jdk.internal.invoke.NativeEntryPoint.vmStorageToVMReg:(II)J
lastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 moves [Ljdk/internal/invoke/VMStorageProxy;
1 7 1 out [J
2 6 2 i I
MethodParameters:
Name Flags
moves
private static native long vmStorageToVMReg(int, int);
descriptor: (II)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
type
index
public java.lang.invoke.MethodType type();
descriptor: ()Ljava/lang/invoke/MethodType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.invoke.NativeEntryPoint.methodType:Ljava/lang/invoke/MethodType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/invoke/NativeEntryPoint;
private static native void registerNatives();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "NativeEntryPoint.java"