public class org.graalvm.compiler.hotspot.replacements.StringUTF16Substitutions
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.replacements.StringUTF16Substitutions
super_class: java.lang.Object
{
private static final int MAX_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1073741823
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/StringUTF16Substitutions;
public static byte[] toBytes(char[], int, int);
descriptor: ([CII)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: ldc 0.010000000000000009
iload 1
ifge 1
iconst_1
goto 2
StackMap locals:
StackMap stack: double
1: iconst_0
StackMap locals: char[] int int
StackMap stack: double int
2: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
ifne 12
3: ldc 0.010000000000000009
iload 2
ifge 4
iconst_1
goto 5
StackMap locals:
StackMap stack: double
4: iconst_0
StackMap locals: char[] int int
StackMap stack: double int
5: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
ifne 12
6: ldc 0.010000000000000009
iload 2
ldc 1073741823
if_icmple 7
iconst_1
goto 8
StackMap locals:
StackMap stack: double
7: iconst_0
StackMap locals: char[] int int
StackMap stack: double int
8: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
ifne 12
9: ldc 0.010000000000000009
iload 1
aload 0
arraylength
iload 2
isub
if_icmple 10
iconst_1
goto 11
StackMap locals:
StackMap stack: double
10: iconst_0
StackMap locals: char[] int int
StackMap stack: double int
11: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
ifeq 13
12: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
getstatic jdk.vm.ci.meta.DeoptimizationReason.BoundsCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
invokestatic org.graalvm.compiler.nodes.DeoptimizeNode.deopt:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;)V
13: StackMap locals:
StackMap stack:
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
iload 2
iconst_1
ishl
invokestatic org.graalvm.compiler.nodes.java.NewArrayNode.newUninitializedArray:(Ljava/lang/Class;I)Ljava/lang/Object;
checkcast byte[]
astore 3
start local 3 14: aload 0
iload 1
aload 3
iconst_0
iload 2
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigBase.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.getHeapWordSize:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
invokestatic org.graalvm.compiler.replacements.arraycopy.ArrayCopyCallNode.disjointArraycopyKillsAny:(Ljava/lang/Object;ILjava/lang/Object;IILjdk/vm/ci/meta/JavaKind;I)V
15: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 value [C
0 16 1 srcBegin I
0 16 2 length I
14 16 3 val [B
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.MethodSubstitution()
MethodParameters:
Name Flags
value
srcBegin
length
public static void getChars(byte[], int, int, char[], int);
descriptor: ([BII[CI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
iload 1
isub
istore 5
start local 5 1: ldc 0.010000000000000009
iload 1
ifge 2
iconst_1
goto 3
StackMap locals: byte[] int int char[] int int
StackMap stack: double
2: iconst_0
StackMap locals: byte[] int int char[] int int
StackMap stack: double int
3: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
ifne 13
4: ldc 0.010000000000000009
iload 5
ifge 5
iconst_1
goto 6
StackMap locals:
StackMap stack: double
5: iconst_0
StackMap locals: byte[] int int char[] int int
StackMap stack: double int
6: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
ifne 13
7: ldc 0.010000000000000009
iload 1
aload 0
arraylength
iconst_1
ishr
iload 5
isub
if_icmple 8
iconst_1
goto 9
StackMap locals:
StackMap stack: double
8: iconst_0
StackMap locals: byte[] int int char[] int int
StackMap stack: double int
9: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
ifne 13
10: ldc 0.010000000000000009
iload 4
aload 3
arraylength
iload 5
isub
if_icmple 11
iconst_1
goto 12
StackMap locals:
StackMap stack: double
11: iconst_0
StackMap locals: byte[] int int char[] int int
StackMap stack: double int
12: invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
ifeq 14
13: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
getstatic jdk.vm.ci.meta.DeoptimizationReason.BoundsCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
invokestatic org.graalvm.compiler.nodes.DeoptimizeNode.deopt:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;)V
14: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 3
iload 4
iload 5
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigBase.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.getHeapWordSize:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
invokestatic org.graalvm.compiler.replacements.arraycopy.ArrayCopyCallNode.disjointArraycopyKillsAny:(Ljava/lang/Object;ILjava/lang/Object;IILjdk/vm/ci/meta/JavaKind;I)V
15: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 value [B
0 16 1 srcBegin I
0 16 2 srcEnd I
0 16 3 dst [C
0 16 4 dstBegin I
1 16 5 length I
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.MethodSubstitution()
MethodParameters:
Name Flags
value
srcBegin
srcEnd
dst
dstBegin
}
SourceFile: "StringUTF16Substitutions.java"
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.ClassSubstitution(className = {"java.lang.StringUTF16"}, optional = true)