public class jdk.vm.ci.hotspot.HotSpotNmethod extends jdk.vm.ci.hotspot.HotSpotInstalledCode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.vm.ci.hotspot.HotSpotNmethod
super_class: jdk.vm.ci.hotspot.HotSpotInstalledCode
{
private final jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl method;
descriptor: Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isDefault;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long compileIdSnapshot;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/vm/ci/hotspot/HotSpotNmethod;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.vm.ci.hotspot.HotSpotNmethod.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
boolean inOopsTable();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.compileIdSnapshot:J
lconst_0
lcmp
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
void <init>(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl, java.lang.String, boolean, long);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;Ljava/lang/String;ZJ)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
invokespecial jdk.vm.ci.hotspot.HotSpotInstalledCode.<init>:(Ljava/lang/String;)V
1: aload 0
aload 1
putfield jdk.vm.ci.hotspot.HotSpotNmethod.method:Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
2: aload 0
iload 3
putfield jdk.vm.ci.hotspot.HotSpotNmethod.isDefault:Z
3: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifne 4
iload 3
ifne 4
iconst_1
goto 5
StackMap locals: jdk.vm.ci.hotspot.HotSpotNmethod jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl java.lang.String int long
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 6
start local 6 6: aload 0
iload 6
ifeq 7
lconst_0
goto 8
StackMap locals: jdk.vm.ci.hotspot.HotSpotNmethod jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl java.lang.String int long int
StackMap stack: jdk.vm.ci.hotspot.HotSpotNmethod
7: lload 4
StackMap locals: jdk.vm.ci.hotspot.HotSpotNmethod jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl java.lang.String int long int
StackMap stack: jdk.vm.ci.hotspot.HotSpotNmethod long
8: putfield jdk.vm.ci.hotspot.HotSpotNmethod.compileIdSnapshot:J
9: getstatic jdk.vm.ci.hotspot.HotSpotNmethod.$assertionsDisabled:Z
ifne 10
iload 6
ifne 10
lload 4
lconst_0
lcmp
ifne 10
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
0 11 1 method Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
0 11 2 name Ljava/lang/String;
0 11 3 isDefault Z
0 11 4 compileId J
6 11 6 inOopsTable Z
MethodParameters:
Name Flags
method
name
isDefault
compileId
public boolean isDefault();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.isDefault:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
public boolean isValid();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.compileIdSnapshot:J
lconst_0
lcmp
ifeq 2
1: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.updateHotSpotNmethod:(Ljdk/vm/ci/hotspot/HotSpotNmethod;)V
2: StackMap locals:
StackMap stack:
aload 0
invokespecial jdk.vm.ci.hotspot.HotSpotInstalledCode.isValid:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
public jdk.vm.ci.meta.ResolvedJavaMethod getMethod();
descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.method:Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
public void invalidate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.invalidateHotSpotNmethod:(Ljdk/vm/ci/hotspot/HotSpotNmethod;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
public long getAddress();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.compileIdSnapshot:J
lconst_0
lcmp
ifeq 2
1: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.updateHotSpotNmethod:(Ljdk/vm/ci/hotspot/HotSpotNmethod;)V
2: StackMap locals:
StackMap stack:
aload 0
invokespecial jdk.vm.ci.hotspot.HotSpotInstalledCode.getAddress:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
public long getEntryPoint();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.compileIdSnapshot:J
lconst_0
lcmp
ifeq 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial jdk.vm.ci.hotspot.HotSpotInstalledCode.getEntryPoint:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: ldc "HotSpotNmethod[method=%s, codeBlob=0x%x, isDefault=%b, name=%s, inOopsTable=%s]"
iconst_5
anewarray java.lang.Object
dup
iconst_0
1: aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.method:Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
aastore
dup
iconst_1
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotNmethod.getAddress:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.isDefault:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_3
aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.name:Ljava/lang/String;
aastore
dup
iconst_4
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotNmethod.inOopsTable:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
2: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
private boolean checkArgs(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Z
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.method:Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.toParameterTypes:()[Ljdk/vm/ci/meta/JavaType;
astore 2
start local 2 1: getstatic jdk.vm.ci.hotspot.HotSpotNmethod.$assertionsDisabled:Z
ifne 2
aload 1
arraylength
aload 2
arraylength
if_icmpeq 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.method:Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
ldc "%H.%n(%p): expected "
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.format:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " args, got "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: jdk.vm.ci.meta.JavaType[]
StackMap stack:
iconst_0
istore 3
start local 3 3: goto 10
4: StackMap locals: int
StackMap stack:
aload 1
iload 3
aaload
astore 4
start local 4 5: aload 4
ifnonnull 7
6: getstatic jdk.vm.ci.hotspot.HotSpotNmethod.$assertionsDisabled:Z
ifne 9
aload 2
iload 3
aaload
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 9
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.method:Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
ldc "%H.%n(%p): expected arg "
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.format:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " to be Object, not "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: java.lang.Object
StackMap stack:
aload 2
iload 3
aaload
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 9
8: getstatic jdk.vm.ci.hotspot.HotSpotNmethod.$assertionsDisabled:Z
ifne 9
aload 2
iload 3
aaload
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.toBoxedJavaClass:()Ljava/lang/Class;
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 9
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
aload 0
getfield jdk.vm.ci.hotspot.HotSpotNmethod.method:Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
ldc "%H.%n(%p): expected arg "
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.format:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " to be "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", not "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 11: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
0 12 1 args [Ljava/lang/Object;
1 12 2 sig [Ljdk/vm/ci/meta/JavaType;
3 11 3 i I
5 9 4 arg Ljava/lang/Object;
MethodParameters:
Name Flags
args
public java.lang.Object executeVarargs(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifeq 2
1: new jdk.vm.ci.hotspot.HotSpotJVMCIUnsupportedOperationError
dup
ldc "Cannot execute nmethod via mirror in native image"
invokespecial jdk.vm.ci.hotspot.HotSpotJVMCIUnsupportedOperationError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.HotSpotNmethod.$assertionsDisabled:Z
ifne 3
aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotNmethod.checkArgs:([Ljava/lang/Object;)Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 1
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.executeHotSpotNmethod:([Ljava/lang/Object;Ljdk/vm/ci/hotspot/HotSpotNmethod;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
0 4 1 args [Ljava/lang/Object;
Exceptions:
throws jdk.vm.ci.code.InvalidInstalledCodeException
MethodParameters:
Name Flags
args
public long getStart();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotNmethod.isValid:()Z
ifeq 1
aload 0
invokespecial jdk.vm.ci.hotspot.HotSpotInstalledCode.getStart:()J
goto 2
StackMap locals:
StackMap stack:
1: lconst_0
StackMap locals:
StackMap stack: long
2: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotNmethod;
}
SourceFile: "HotSpotNmethod.java"