final class jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl extends jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl
super_class: jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
{
private long objectHandle;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int hashCode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
final jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl base;
descriptor: Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
flags: (0x0010) ACC_FINAL
private java.lang.Object rawAudit;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
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/IndirectHotSpotObjectConstantImpl;
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.IndirectHotSpotObjectConstantImpl.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(long, boolean, boolean);
descriptor: (JZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
iload 3
invokespecial jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.<init>:(Z)V
1: getstatic jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.$assertionsDisabled:Z
ifne 3
lload 1
lconst_0
lcmp
ifeq 2
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 1
invokevirtual jdk.internal.misc.Unsafe.getLong:(J)J
lconst_0
lcmp
ifne 3
StackMap locals: jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl long int int
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.objectHandle:J
4: aload 0
aconst_null
putfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.base:Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
5: iload 4
ifne 13
6: getstatic jdk.vm.ci.hotspot.HotSpotObjectConstantScope.CURRENT:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantScope
astore 5
start local 5 7: aload 5
ifnull 12
aload 5
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantScope.isGlobal:()Z
ifne 12
8: aload 5
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantScope.add:(Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;)V
9: getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.AuditHandles:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime$Option;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.getBoolean:()Z
ifeq 13
10: aload 0
new jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$Audit
dup
aload 5
getfield jdk.vm.ci.hotspot.HotSpotObjectConstantScope.localScopeDescription:Ljava/lang/Object;
lload 1
new jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$1
dup
aload 0
lload 1
invokespecial jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$1.<init>:(Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;J)V
invokespecial jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$Audit.<init>:(Ljava/lang/Object;JLjava/lang/Throwable;)V
putfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.rawAudit:Ljava/lang/Object;
11: goto 13
12: StackMap locals: jdk.vm.ci.hotspot.HotSpotObjectConstantScope
StackMap stack:
aload 0
lload 1
invokestatic jdk.vm.ci.hotspot.HandleCleaner.create:(Ljava/lang/Object;J)V
end local 5 13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
0 14 1 objectHandle J
0 14 3 compressed Z
0 14 4 skipRegister Z
7 13 5 scope Ljdk/vm/ci/hotspot/HotSpotObjectConstantScope;
RuntimeInvisibleAnnotations:
jdk.vm.ci.hotspot.VMEntryPoint()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
jdk.vm.ci.hotspot.VMEntryPoint()
MethodParameters:
Name Flags
objectHandle
compressed
skipRegister
private void <init>(jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl, boolean);
descriptor: (Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 2
invokespecial jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.<init>:(Z)V
1: aload 0
aload 1
invokevirtual jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.getHandle:()J
putfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.objectHandle:J
2: getstatic jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.$assertionsDisabled:Z
ifne 3
aload 1
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.base:Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
ifnull 3
aload 1
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.base:Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.base:Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
ifnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl int
StackMap stack:
aload 0
aload 1
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.base:Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
ifnull 4
aload 1
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.base:Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
goto 5
StackMap locals:
StackMap stack: jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl
4: aload 1
StackMap locals: jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl int
StackMap stack: jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl
5: putfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.base:Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
0 7 1 base Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
0 7 2 compressed Z
MethodParameters:
Name Flags
base
compressed
long getHandle();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.checkHandle:()V
1: aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.objectHandle:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
private void checkHandle();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.objectHandle:J
lconst_0
lcmp
ifne 15
1: aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.rawAudit:Ljava/lang/Object;
instanceof jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$Audit
ifeq 11
2: aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.rawAudit:Ljava/lang/Object;
checkcast jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$Audit
astore 2
start local 2 3: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 4: new java.io.PrintStream
dup
aload 3
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 4
start local 4 5: aload 4
new java.lang.StringBuilder
dup
ldc "Foreign object reference "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$Audit.handle:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " created in scope '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$Audit.scope:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "' is no longer valid. Origin: {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aload 2
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$Audit.origin:Ljava/lang/Throwable;
aload 4
invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintStream;)V
7: aload 4
bipush 125
invokevirtual java.io.PrintStream.print:(C)V
8: aload 4
invokevirtual java.io.PrintStream.flush:()V
9: aload 3
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
astore 1
end local 4 end local 3 end local 2 start local 1 10: goto 14
end local 1 11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Foreign object reference created in scope '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.rawAudit:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "' is no longer valid. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "Set property "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.AuditHandles:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime$Option;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.getPropertyName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "=true to show origin of invalid foreign references."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
start local 1 14: StackMap locals: java.lang.String
StackMap stack:
new java.lang.NullPointerException
dup
aload 1
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
end local 1 15: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
10 11 1 message Ljava/lang/String;
14 15 1 message Ljava/lang/String;
3 10 2 audit Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl$Audit;
4 10 3 baos Ljava/io/ByteArrayOutputStream;
5 10 4 ps Ljava/io/PrintStream;
boolean isValid();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.objectHandle: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/IndirectHotSpotObjectConstantImpl;
public jdk.vm.ci.hotspot.HotSpotResolvedObjectType getType();
descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.checkHandle:()V
1: aload 0
invokespecial jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.getType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
void clear(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.checkHandle:()V
1: invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.objectHandle:J
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.deleteGlobalHandle:(J)V
2: aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.rawAudit:Ljava/lang/Object;
ifnonnull 4
3: aload 0
aload 1
putfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.rawAudit:Ljava/lang/Object;
4: StackMap locals:
StackMap stack:
aload 0
lconst_0
putfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.objectHandle:J
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
0 6 1 scopeDescription Ljava/lang/Object;
MethodParameters:
Name Flags
scopeDescription
public jdk.vm.ci.meta.JavaConstant compress();
descriptor: ()Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.compressed:Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl
dup
aload 0
iconst_1
invokespecial jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.<init>:(Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
public jdk.vm.ci.meta.JavaConstant uncompress();
descriptor: ()Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.compressed:Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl
dup
aload 0
iconst_0
invokespecial jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.<init>:(Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
public int getIdentityHashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.checkHandle:()V
1: aload 0
getfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.hashCode:I
istore 1
start local 1 2: iload 1
ifne 7
3: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compilerToVm:Ljdk/vm/ci/hotspot/CompilerToVM;
aload 0
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getIdentityHashCode:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;)I
istore 1
4: iload 1
ifne 6
5: bipush 31
istore 1
6: StackMap locals: int
StackMap stack:
aload 0
iload 1
putfield jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.hashCode:I
7: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/vm/ci/hotspot/IndirectHotSpotObjectConstantImpl;
2 8 1 hash I
public jdk.vm.ci.meta.Constant uncompress();
descriptor: ()Ljdk/vm/ci/meta/Constant;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.uncompress:()Ljdk/vm/ci/meta/JavaConstant;
areturn
LocalVariableTable:
Start End Slot Name Signature
public jdk.vm.ci.meta.Constant compress();
descriptor: ()Ljdk/vm/ci/meta/Constant;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl.compress:()Ljdk/vm/ci/meta/JavaConstant;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "IndirectHotSpotObjectConstantImpl.java"
NestMembers:
jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$1 jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$Audit
InnerClasses:
public final Option = jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option of jdk.vm.ci.hotspot.HotSpotJVMCIRuntime
jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$1
private Audit = jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl$Audit of jdk.vm.ci.hotspot.IndirectHotSpotObjectConstantImpl