public class org.graalvm.compiler.hotspot.replacements.UnsafeSnippets implements org.graalvm.compiler.replacements.Snippets
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.replacements.UnsafeSnippets
super_class: java.lang.Object
{
public static final java.lang.String copyMemoryName;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 8
if_icmpgt 1
ldc "copyMemory"
goto 2
StackMap locals:
StackMap stack:
1: ldc "copyMemory0"
StackMap locals:
StackMap stack: java.lang.String
2: putstatic org.graalvm.compiler.hotspot.replacements.UnsafeSnippets.copyMemoryName:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/replacements/UnsafeSnippets;
static void copyMemory(java.lang.Object, java.lang.Object, long, java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/Object;JJ)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 5 start local 7 0: aload 1
lload 2
invokestatic org.graalvm.compiler.nodes.ComputeObjectAddressNode.get:(Ljava/lang/Object;J)J
invokestatic jdk.internal.vm.compiler.word.WordFactory.unsigned:(J)Ljdk/internal/vm/compiler/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
astore 9
start local 9 1: aload 4
lload 5
invokestatic org.graalvm.compiler.nodes.ComputeObjectAddressNode.get:(Ljava/lang/Object;J)J
invokestatic jdk.internal.vm.compiler.word.WordFactory.unsigned:(J)Ljdk/internal/vm/compiler/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
astore 10
start local 10 2: lload 7
invokestatic jdk.internal.vm.compiler.word.WordFactory.signed:(J)Ljdk/internal/vm/compiler/word/SignedWord;
checkcast org.graalvm.compiler.word.Word
astore 11
start local 11 3: aload 9
aload 10
aload 11
invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.unsafeArraycopy:(Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)V
4: return
end local 11 end local 10 end local 9 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 5 0 receiver Ljava/lang/Object;
0 5 1 srcBase Ljava/lang/Object;
0 5 2 srcOffset J
0 5 4 destBase Ljava/lang/Object;
0 5 5 destOffset J
0 5 7 bytes J
1 5 9 srcAddr Lorg/graalvm/compiler/word/Word;
2 5 10 dstAddr Lorg/graalvm/compiler/word/Word;
3 5 11 size Lorg/graalvm/compiler/word/Word;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Snippet()
MethodParameters:
Name Flags
receiver
srcBase
srcOffset
destBase
destOffset
bytes
static void copyMemoryGuarded(java.lang.Object, java.lang.Object, long, java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/Object;JJ)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=15, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 5 start local 7 0: aload 1
lload 2
invokestatic org.graalvm.compiler.nodes.ComputeObjectAddressNode.get:(Ljava/lang/Object;J)J
invokestatic jdk.internal.vm.compiler.word.WordFactory.unsigned:(J)Ljdk/internal/vm/compiler/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
astore 9
start local 9 1: aload 4
lload 5
invokestatic org.graalvm.compiler.nodes.ComputeObjectAddressNode.get:(Ljava/lang/Object;J)J
invokestatic jdk.internal.vm.compiler.word.WordFactory.unsigned:(J)Ljdk/internal/vm/compiler/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
astore 10
start local 10 2: lload 7
invokestatic jdk.internal.vm.compiler.word.WordFactory.signed:(J)Ljdk/internal/vm/compiler/word/SignedWord;
checkcast org.graalvm.compiler.word.Word
astore 11
start local 11 3: invokestatic org.graalvm.compiler.hotspot.nodes.CurrentJavaThreadNode.get:()Lorg/graalvm/compiler/word/Word;
astore 12
start local 12 4: getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigBase.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.doingUnsafeAccessOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
istore 13
start local 13 5: invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 14
start local 14 6: aload 12
iload 13
iconst_1
aload 14
invokevirtual org.graalvm.compiler.word.Word.writeByte:(IBLjdk/internal/vm/compiler/word/LocationIdentity;)V
7: aload 9
aload 10
aload 11
invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.unsafeArraycopy:(Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)V
8: aload 12
iload 13
iconst_0
aload 14
invokevirtual org.graalvm.compiler.word.Word.writeByte:(IBLjdk/internal/vm/compiler/word/LocationIdentity;)V
9: return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 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 10 0 receiver Ljava/lang/Object;
0 10 1 srcBase Ljava/lang/Object;
0 10 2 srcOffset J
0 10 4 destBase Ljava/lang/Object;
0 10 5 destOffset J
0 10 7 bytes J
1 10 9 srcAddr Lorg/graalvm/compiler/word/Word;
2 10 10 dstAddr Lorg/graalvm/compiler/word/Word;
3 10 11 size Lorg/graalvm/compiler/word/Word;
4 10 12 javaThread Lorg/graalvm/compiler/word/Word;
5 10 13 offset I
6 10 14 any Ljdk/internal/vm/compiler/word/LocationIdentity;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Snippet()
MethodParameters:
Name Flags
receiver
srcBase
srcOffset
destBase
destOffset
bytes
}
SourceFile: "UnsafeSnippets.java"
NestMembers:
org.graalvm.compiler.hotspot.replacements.UnsafeSnippets$Templates
InnerClasses:
public Templates = org.graalvm.compiler.hotspot.replacements.UnsafeSnippets$Templates of org.graalvm.compiler.hotspot.replacements.UnsafeSnippets