public class org.graalvm.compiler.replacements.amd64.AMD64LongSubstitutions
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.amd64.AMD64LongSubstitutions
super_class: java.lang.Object
{
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/replacements/amd64/AMD64LongSubstitutions;
static boolean lzcnt(jdk.vm.ci.code.TargetDescription);
descriptor: (Ljdk/vm/ci/code/TargetDescription;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
checkcast jdk.vm.ci.amd64.AMD64
astore 1
start local 1 1: aload 1
invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.LZCNT:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 2
aload 1
invokevirtual jdk.vm.ci.amd64.AMD64.getFlags:()Ljava/util/EnumSet;
getstatic jdk.vm.ci.amd64.AMD64$Flag.UseCountLeadingZerosInstruction:Ljdk/vm/ci/amd64/AMD64$Flag;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 2
iconst_1
ireturn
StackMap locals: jdk.vm.ci.amd64.AMD64
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 target Ljdk/vm/ci/code/TargetDescription;
1 3 1 arch Ljdk/vm/ci/amd64/AMD64;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
target
static boolean tzcnt(jdk.vm.ci.code.TargetDescription);
descriptor: (Ljdk/vm/ci/code/TargetDescription;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
checkcast jdk.vm.ci.amd64.AMD64
astore 1
start local 1 1: aload 1
invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.BMI1:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 2
aload 1
invokevirtual jdk.vm.ci.amd64.AMD64.getFlags:()Ljava/util/EnumSet;
getstatic jdk.vm.ci.amd64.AMD64$Flag.UseCountTrailingZerosInstruction:Ljdk/vm/ci/amd64/AMD64$Flag;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 2
iconst_1
ireturn
StackMap locals: jdk.vm.ci.amd64.AMD64
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 target Ljdk/vm/ci/code/TargetDescription;
1 3 1 arch Ljdk/vm/ci/amd64/AMD64;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
target
public static int numberOfLeadingZeros(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic org.graalvm.compiler.replacements.NodeIntrinsificationProvider.INJECTED_TARGET:Ljdk/vm/ci/code/TargetDescription;
invokestatic org.graalvm.compiler.replacements.amd64.AMD64LongSubstitutions.lzcnt:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 2
1: lload 0
invokestatic org.graalvm.compiler.replacements.amd64.AMD64CountLeadingZerosNode.countLeadingZeros:(J)I
ireturn
2: StackMap locals:
StackMap stack:
lload 0
lconst_0
lcmp
ifne 4
3: bipush 64
ireturn
4: StackMap locals:
StackMap stack:
bipush 63
lload 0
invokestatic org.graalvm.compiler.replacements.nodes.BitScanReverseNode.unsafeScan:(J)I
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 i J
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.MethodSubstitution()
RuntimeInvisibleAnnotations:
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"NP_NULL_PARAM_DEREF_NONVIRTUAL"}, justification = "foldable method parameters are injected")
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"NP_NULL_PARAM_DEREF_NONVIRTUAL"}, justification = "foldable method parameters are injected")
MethodParameters:
Name Flags
i
public static int numberOfTrailingZeros(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic org.graalvm.compiler.replacements.NodeIntrinsificationProvider.INJECTED_TARGET:Ljdk/vm/ci/code/TargetDescription;
invokestatic org.graalvm.compiler.replacements.amd64.AMD64LongSubstitutions.tzcnt:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 2
1: lload 0
invokestatic org.graalvm.compiler.replacements.amd64.AMD64CountTrailingZerosNode.countTrailingZeros:(J)I
ireturn
2: StackMap locals:
StackMap stack:
lload 0
lconst_0
lcmp
ifne 4
3: bipush 64
ireturn
4: StackMap locals:
StackMap stack:
lload 0
invokestatic org.graalvm.compiler.replacements.nodes.BitScanForwardNode.unsafeScan:(J)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 i J
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.MethodSubstitution()
RuntimeInvisibleAnnotations:
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"NP_NULL_PARAM_DEREF_NONVIRTUAL"}, justification = "foldable method parameters are injected")
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"NP_NULL_PARAM_DEREF_NONVIRTUAL"}, justification = "foldable method parameters are injected")
MethodParameters:
Name Flags
i
}
SourceFile: "AMD64LongSubstitutions.java"
InnerClasses:
public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
public final Flag = jdk.vm.ci.amd64.AMD64$Flag of jdk.vm.ci.amd64.AMD64
public abstract InjectedParameter = org.graalvm.compiler.api.replacements.Fold$InjectedParameter of org.graalvm.compiler.api.replacements.Fold
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.ClassSubstitution(value = Ljava/lang/Long;)