class jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl implements jdk.vm.ci.hotspot.HotSpotMemoryAccessProvider
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl
super_class: java.lang.Object
{
protected final jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime;
descriptor: Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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/HotSpotMemoryAccessProviderImpl;
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.HotSpotMemoryAccessProviderImpl.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 3 1 runtime Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
MethodParameters:
Name Flags
runtime
private static jdk.vm.ci.hotspot.HotSpotObjectConstantImpl asObject(jdk.vm.ci.meta.Constant, jdk.vm.ci.meta.JavaKind, long);
descriptor: (Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/JavaKind;J)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
ifeq 5
1: aload 0
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
astore 4
start local 4 2: aload 4
invokevirtual jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.getType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
astore 5
start local 5 3: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.reflection:Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
aload 4
aload 1
lload 2
aload 5
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIReflection.checkRead:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;Ljdk/vm/ci/meta/JavaKind;JLjdk/vm/ci/hotspot/HotSpotResolvedObjectType;)V
4: aload 4
areturn
end local 5 end local 4 5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 base Ljdk/vm/ci/meta/Constant;
0 6 1 kind Ljdk/vm/ci/meta/JavaKind;
0 6 2 displacement J
2 5 4 constant Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
3 5 5 type Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
MethodParameters:
Name Flags
base
kind
displacement
private boolean isValidObjectFieldDisplacement(jdk.vm.ci.meta.Constant, long);
descriptor: (Ljdk/vm/ci/meta/Constant;J)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
ifeq 6
1: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl.getMetaspaceObject:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/hotspot/MetaspaceObject;
astore 4
start local 4 2: aload 4
instanceof jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
ifeq 5
3: lload 2
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.javaMirrorOffset:I
i2l
lcmp
ifne 6
4: iconst_1
ireturn
5: StackMap locals: jdk.vm.ci.hotspot.MetaspaceObject
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 4 6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 7 1 base Ljdk/vm/ci/meta/Constant;
0 7 2 displacement J
2 6 4 metaspaceObject Ljdk/vm/ci/hotspot/MetaspaceObject;
MethodParameters:
Name Flags
base
displacement
private static long asRawPointer(jdk.vm.ci.meta.Constant);
descriptor: (Ljdk/vm/ci/meta/Constant;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl
ifeq 3
1: aload 0
invokestatic jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl.getMetaspaceObject:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/hotspot/MetaspaceObject;
astore 1
start local 1 2: aload 1
invokeinterface jdk.vm.ci.hotspot.MetaspaceObject.getMetaspacePointer:()J
lreturn
end local 1 3: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.vm.ci.meta.PrimitiveConstant
ifeq 7
4: aload 0
checkcast jdk.vm.ci.meta.PrimitiveConstant
astore 1
start local 1 5: aload 1
invokevirtual jdk.vm.ci.meta.PrimitiveConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 7
6: aload 1
invokevirtual jdk.vm.ci.meta.PrimitiveConstant.asLong:()J
lreturn
end local 1 7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 base Ljdk/vm/ci/meta/Constant;
2 3 1 meta Ljdk/vm/ci/hotspot/MetaspaceObject;
5 7 1 prim Ljdk/vm/ci/meta/PrimitiveConstant;
MethodParameters:
Name Flags
base
private static long readRawValue(jdk.vm.ci.meta.Constant, long, jdk.vm.ci.meta.JavaKind, int);
descriptor: (Ljdk/vm/ci/meta/Constant;JLjdk/vm/ci/meta/JavaKind;I)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
aload 3
lload 1
invokestatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.asObject:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/JavaKind;J)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
astore 5
start local 5 1: aload 5
ifnull 8
2: iload 4
lookupswitch { // 4
8: 3
16: 4
32: 5
64: 6
default: 7
}
3: StackMap locals: jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.reflection:Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
aload 5
lload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIReflection.getByte:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)B
i2l
lreturn
4: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.reflection:Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
aload 5
lload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIReflection.getShort:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)S
i2l
lreturn
5: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.reflection:Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
aload 5
lload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIReflection.getInt:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)I
i2l
lreturn
6: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.reflection:Ljdk/vm/ci/hotspot/HotSpotJVMCIReflection;
aload 5
lload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIReflection.getLong:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)J
lreturn
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
iload 4
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
invokestatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.asRawPointer:(Ljdk/vm/ci/meta/Constant;)J
lstore 6
start local 6 9: iload 4
lookupswitch { // 4
8: 10
16: 11
32: 12
64: 13
default: 14
}
10: StackMap locals: long
StackMap stack:
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 6
lload 1
ladd
invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
i2l
lreturn
11: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 6
lload 1
ladd
invokevirtual jdk.internal.misc.Unsafe.getShort:(J)S
i2l
lreturn
12: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 6
lload 1
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
i2l
lreturn
13: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 6
lload 1
ladd
invokevirtual jdk.internal.misc.Unsafe.getLong:(J)J
lreturn
14: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
iload 4
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
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 15 0 baseConstant Ljdk/vm/ci/meta/Constant;
0 15 1 displacement J
0 15 3 kind Ljdk/vm/ci/meta/JavaKind;
0 15 4 bits I
1 15 5 base Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
9 15 6 pointer J
MethodParameters:
Name Flags
baseConstant
displacement
kind
bits
private boolean verifyReadRawObject(jdk.vm.ci.meta.JavaConstant, jdk.vm.ci.meta.Constant, long);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/Constant;J)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
ifeq 6
1: aload 2
invokestatic jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl.getMetaspaceObject:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/hotspot/MetaspaceObject;
astore 5
start local 5 2: aload 5
instanceof jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
ifeq 6
3: lload 3
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.javaMirrorOffset:I
i2l
lcmp
ifne 6
4: aload 5
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
astore 6
start local 6 5: getstatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.$assertionsDisabled:Z
ifne 6
aload 1
aload 6
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.getJavaMirror:()Ljdk/vm/ci/meta/JavaConstant;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 6 end local 5 6: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 7 1 expected Ljdk/vm/ci/meta/JavaConstant;
0 7 2 base Ljdk/vm/ci/meta/Constant;
0 7 3 displacement J
2 6 5 metaspaceObject Ljdk/vm/ci/hotspot/MetaspaceObject;
5 6 6 type Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
MethodParameters:
Name Flags
expected
base
displacement
private jdk.vm.ci.meta.JavaConstant readRawObject(jdk.vm.ci.meta.Constant, long, boolean);
descriptor: (Ljdk/vm/ci/meta/Constant;JZ)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 4 0: lload 2
lstore 5
start local 5 1: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
lload 5
invokestatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.asObject:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/JavaKind;J)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
astore 8
start local 8 2: aload 8
ifnonnull 7
3: getstatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.$assertionsDisabled:Z
ifne 4
iload 4
ifeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl jdk.vm.ci.meta.Constant long int long top jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
StackMap stack:
lload 5
aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.asRawPointer:(Ljdk/vm/ci/meta/Constant;)J
ladd
lstore 5
5: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
lload 5
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.readUncompressedOop:(J)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
astore 7
start local 7 6: getstatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.$assertionsDisabled:Z
ifne 9
aload 0
aload 7
aload 1
lload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.verifyReadRawObject:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/Constant;J)Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 7 7: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.$assertionsDisabled:Z
ifne 8
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.useCompressedOops:Z
iload 4
if_icmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 8
lload 5
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getObject:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
astore 7
start local 7 9: StackMap locals: jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl jdk.vm.ci.meta.Constant long int long jdk.vm.ci.meta.JavaConstant jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
StackMap stack:
aload 7
ifnonnull 10
getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
goto 11
StackMap locals:
StackMap stack:
10: aload 7
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaConstant
11: areturn
end local 8 end local 7 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 12 1 baseConstant Ljdk/vm/ci/meta/Constant;
0 12 2 initialDisplacement J
0 12 4 compressed Z
1 12 5 displacement J
6 7 7 ret Ljdk/vm/ci/meta/JavaConstant;
9 12 7 ret Ljdk/vm/ci/meta/JavaConstant;
2 12 8 base Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
MethodParameters:
Name Flags
baseConstant
initialDisplacement
compressed
public jdk.vm.ci.meta.JavaConstant readPrimitiveConstant(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Constant, long, int);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Constant;JI)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 2
lload 3
aload 1
iload 5
invokestatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.readRawValue:(Ljdk/vm/ci/meta/Constant;JLjdk/vm/ci/meta/JavaKind;I)J
lstore 6
start local 6 1: invokestatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 8
1: 2
2: 6
3: 10
4: 8
5: 12
6: 16
7: 14
8: 18
default: 20
}
2: StackMap locals: long
StackMap stack:
lload 6
lconst_0
lcmp
ifeq 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: invokestatic jdk.vm.ci.meta.JavaConstant.forBoolean:(Z)Ljdk/vm/ci/meta/PrimitiveConstant;
5: areturn
6: StackMap locals:
StackMap stack:
lload 6
l2i
i2b
invokestatic jdk.vm.ci.meta.JavaConstant.forByte:(B)Ljdk/vm/ci/meta/PrimitiveConstant;
7: areturn
8: StackMap locals:
StackMap stack:
lload 6
l2i
i2c
invokestatic jdk.vm.ci.meta.JavaConstant.forChar:(C)Ljdk/vm/ci/meta/PrimitiveConstant;
9: areturn
10: StackMap locals:
StackMap stack:
lload 6
l2i
i2s
invokestatic jdk.vm.ci.meta.JavaConstant.forShort:(S)Ljdk/vm/ci/meta/PrimitiveConstant;
11: areturn
12: StackMap locals:
StackMap stack:
lload 6
l2i
invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
13: areturn
14: StackMap locals:
StackMap stack:
lload 6
invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
15: areturn
16: StackMap locals:
StackMap stack:
lload 6
l2i
invokestatic java.lang.Float.intBitsToFloat:(I)F
invokestatic jdk.vm.ci.meta.JavaConstant.forFloat:(F)Ljdk/vm/ci/meta/PrimitiveConstant;
17: areturn
18: StackMap locals:
StackMap stack:
lload 6
invokestatic java.lang.Double.longBitsToDouble:(J)D
invokestatic jdk.vm.ci.meta.JavaConstant.forDouble:(D)Ljdk/vm/ci/meta/PrimitiveConstant;
19: areturn
20: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported kind: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 6 21: StackMap locals: jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Constant long int
StackMap stack: java.lang.NullPointerException
pop
22: aconst_null
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 23 1 kind Ljdk/vm/ci/meta/JavaKind;
0 23 2 baseConstant Ljdk/vm/ci/meta/Constant;
0 23 3 initialDisplacement J
0 23 5 bits I
1 21 6 rawValue J
Exception table:
from to target type
0 5 21 Class java.lang.NullPointerException
6 7 21 Class java.lang.NullPointerException
8 9 21 Class java.lang.NullPointerException
10 11 21 Class java.lang.NullPointerException
12 13 21 Class java.lang.NullPointerException
14 15 21 Class java.lang.NullPointerException
16 17 21 Class java.lang.NullPointerException
18 19 21 Class java.lang.NullPointerException
20 21 21 Class java.lang.NullPointerException
MethodParameters:
Name Flags
kind
baseConstant
initialDisplacement
bits
public jdk.vm.ci.meta.JavaConstant readObjectConstant(jdk.vm.ci.meta.Constant, long);
descriptor: (Ljdk/vm/ci/meta/Constant;J)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
ifeq 2
1: aload 0
aload 1
lload 2
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.useCompressedOops:Z
invokevirtual jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.readRawObject:(Ljdk/vm/ci/meta/Constant;JZ)Ljdk/vm/ci/meta/JavaConstant;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.isValidObjectFieldDisplacement:(Ljdk/vm/ci/meta/Constant;J)Z
ifne 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
ifeq 8
5: lload 2
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
getfield jdk.vm.ci.hotspot.HotSpotVMConfig.javaMirrorOffset:I
i2l
lcmp
ifne 8
6: aload 1
invokestatic jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl.getMetaspaceObject:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/hotspot/MetaspaceObject;
astore 4
start local 4 7: aload 4
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.getJavaMirror:()Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 4 8: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
iconst_0
invokevirtual jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.readRawObject:(Ljdk/vm/ci/meta/Constant;JZ)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 9 1 base Ljdk/vm/ci/meta/Constant;
0 9 2 displacement J
7 8 4 metaspaceObject Ljdk/vm/ci/hotspot/MetaspaceObject;
MethodParameters:
Name Flags
base
displacement
public jdk.vm.ci.meta.JavaConstant readNarrowOopConstant(jdk.vm.ci.meta.Constant, long);
descriptor: (Ljdk/vm/ci/meta/Constant;J)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
lload 2
iconst_1
invokevirtual jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.readRawObject:(Ljdk/vm/ci/meta/Constant;JZ)Ljdk/vm/ci/meta/JavaConstant;
astore 4
start local 4 1: getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
getstatic jdk.vm.ci.hotspot.HotSpotCompressedNullConstant.COMPRESSED_NULL:Ljdk/vm/ci/meta/JavaConstant;
goto 3
StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
2: aload 4
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstant
invokeinterface jdk.vm.ci.hotspot.HotSpotObjectConstant.compress:()Ljdk/vm/ci/meta/JavaConstant;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaConstant
3: areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 4 1 base Ljdk/vm/ci/meta/Constant;
0 4 2 displacement J
1 4 4 res Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
base
displacement
private jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl readKlass(jdk.vm.ci.meta.Constant, long, boolean);
descriptor: (Ljdk/vm/ci/meta/Constant;JZ)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: getstatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.$assertionsDisabled:Z
ifne 1
aload 1
instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl
ifne 1
aload 1
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
ifne 1
new java.lang.AssertionError
dup
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl
ifeq 3
2: aload 0
getfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl.asResolvedJavaType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
lload 2
iload 4
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getResolvedJavaType:(Ljdk/vm/ci/hotspot/MetaspaceObject;JZ)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
lload 2
iload 4
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getResolvedJavaType:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;JZ)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 4 1 base Ljdk/vm/ci/meta/Constant;
0 4 2 displacement J
0 4 4 compressed Z
MethodParameters:
Name Flags
base
displacement
compressed
public jdk.vm.ci.meta.Constant readKlassPointerConstant(jdk.vm.ci.meta.Constant, long);
descriptor: (Ljdk/vm/ci/meta/Constant;J)Ljdk/vm/ci/meta/Constant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
lload 2
iconst_0
invokevirtual jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.readKlass:(Ljdk/vm/ci/meta/Constant;JZ)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
areturn
3: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
StackMap stack:
aload 4
iconst_0
invokestatic jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl.forMetaspaceObject:(Ljdk/vm/ci/hotspot/MetaspaceObject;Z)Ljdk/vm/ci/hotspot/HotSpotMetaspaceConstantImpl;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 4 1 base Ljdk/vm/ci/meta/Constant;
0 4 2 displacement J
1 4 4 klass Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
MethodParameters:
Name Flags
base
displacement
public jdk.vm.ci.meta.Constant readNarrowKlassPointerConstant(jdk.vm.ci.meta.Constant, long);
descriptor: (Ljdk/vm/ci/meta/Constant;J)Ljdk/vm/ci/meta/Constant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
lload 2
iconst_1
invokevirtual jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.readKlass:(Ljdk/vm/ci/meta/Constant;JZ)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: getstatic jdk.vm.ci.hotspot.HotSpotCompressedNullConstant.COMPRESSED_NULL:Ljdk/vm/ci/meta/JavaConstant;
areturn
3: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
StackMap stack:
aload 4
iconst_1
invokestatic jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl.forMetaspaceObject:(Ljdk/vm/ci/hotspot/MetaspaceObject;Z)Ljdk/vm/ci/hotspot/HotSpotMetaspaceConstantImpl;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 4 1 base Ljdk/vm/ci/meta/Constant;
0 4 2 displacement J
1 4 4 klass Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
MethodParameters:
Name Flags
base
displacement
public jdk.vm.ci.meta.Constant readMethodPointerConstant(jdk.vm.ci.meta.Constant, long);
descriptor: (Ljdk/vm/ci/meta/Constant;J)Ljdk/vm/ci/meta/Constant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.$assertionsDisabled:Z
ifne 1
aload 1
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
aload 1
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstantImpl
lload 2
invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getResolvedJavaMethod:(Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;J)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
astore 4
start local 4 2: aload 4
iconst_0
invokestatic jdk.vm.ci.hotspot.HotSpotMetaspaceConstantImpl.forMetaspaceObject:(Ljdk/vm/ci/hotspot/MetaspaceObject;Z)Ljdk/vm/ci/hotspot/HotSpotMetaspaceConstantImpl;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl;
0 3 1 base Ljdk/vm/ci/meta/Constant;
0 3 2 displacement J
2 3 4 method Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
MethodParameters:
Name Flags
base
displacement
static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic jdk.vm.ci.hotspot.HotSpotMemoryAccessProviderImpl.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
}
SourceFile: "HotSpotMemoryAccessProviderImpl.java"