public class org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets 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.StringToBytesSnippets
super_class: java.lang.Object
{
public static final org.graalvm.compiler.core.common.LocationIdentity CSTRING_LOCATION;
descriptor: Lorg/graalvm/compiler/core/common/LocationIdentity;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "CString location"
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.immutable:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/NamedLocationIdentity;
putstatic org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets.CSTRING_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
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/StringToBytesSnippets;
static long arrayBaseOffset();
descriptor: ()J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic org.graalvm.compiler.hotspot.replacements.UnsafeAccess.UNSAFE:Lsun/misc/Unsafe;
ldc [C
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
i2l
lreturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
public static byte[] transform(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
iload 1
invokestatic org.graalvm.compiler.nodes.java.NewArrayNode.newUninitializedArray:(Ljava/lang/Class;I)Ljava/lang/Object;
checkcast byte[]
astore 2
start local 2 2: aload 0
invokestatic org.graalvm.compiler.replacements.nodes.CStringConstant.cstring:(Ljava/lang/String;)Lorg/graalvm/compiler/word/Word;
astore 3
start local 3 3: goto 5
4: StackMap locals: int byte[] org.graalvm.compiler.word.Word
StackMap stack:
getstatic org.graalvm.compiler.hotspot.replacements.UnsafeAccess.UNSAFE:Lsun/misc/Unsafe;
aload 2
invokestatic org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets.arrayBaseOffset:()J
iload 1
i2l
ladd
aload 3
iload 1
getstatic org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets.CSTRING_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.readByte:(ILorg/graalvm/compiler/core/common/LocationIdentity;)B
invokevirtual sun.misc.Unsafe.putByte:(Ljava/lang/Object;JB)V
5: StackMap locals:
StackMap stack:
iload 1
iinc 1 -1
ifgt 4
6: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 compilationTimeString Ljava/lang/String;
1 7 1 i I
2 7 2 array [B
3 7 3 cArray Lorg/graalvm/compiler/word/Word;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Snippet()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
MethodParameters:
Name Flags
compilationTimeString
}
SourceFile: "StringToBytesSnippets.java"
NestMembers:
org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets$Templates
InnerClasses:
public abstract ConstantParameter = org.graalvm.compiler.api.replacements.Snippet$ConstantParameter of org.graalvm.compiler.api.replacements.Snippet
public Templates = org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets$Templates of org.graalvm.compiler.hotspot.replacements.StringToBytesSnippets