class org.apache.cassandra.service.StartupChecks$5 implements org.apache.cassandra.service.StartupCheck
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.service.StartupChecks$5
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
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/apache/cassandra/service/StartupChecks$5;
public void execute();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.hasLargeAddressSpace:()Z
ifne 2
1: getstatic org.apache.cassandra.service.StartupChecks.logger:Lorg/slf4j/Logger;
ldc "32bit JVM detected. It is recommended to run Cassandra on a 64bit JVM for better performance."
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
ldc "java.vm.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 3: aload 1
ldc "HotSpot"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 6
aload 1
ldc "OpenJDK"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 6
4: getstatic org.apache.cassandra.service.StartupChecks.logger:Lorg/slf4j/Logger;
ldc "Non-Oracle JVM detected. Some features, such as immediate unmap of compacted SSTables, may not work as intended"
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
5: goto 7
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.service.StartupChecks$5.checkOutOfMemoryHandling:()V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/service/StartupChecks$5;
3 8 1 javaVmName Ljava/lang/String;
private void checkOutOfMemoryHandling();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "java.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic org.apache.cassandra.utils.JavaUtils.supportExitOnOutOfMemory:(Ljava/lang/String;)Z
ifeq 4
1: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "-XX:OnOutOfMemoryError="
aastore
dup
iconst_1
ldc "-XX:+ExitOnOutOfMemoryError"
aastore
dup
iconst_2
ldc "-XX:+CrashOnOutOfMemoryError"
aastore
invokevirtual org.apache.cassandra.service.StartupChecks$5.jvmOptionsContainsOneOf:([Ljava/lang/String;)Z
ifne 6
2: getstatic org.apache.cassandra.service.StartupChecks.logger:Lorg/slf4j/Logger;
ldc "The JVM is not configured to stop on OutOfMemoryError which can cause data corruption. Use one of the following JVM options to configure the behavior on OutOfMemoryError: -XX:+ExitOnOutOfMemoryError, -XX:+CrashOnOutOfMemoryError, or -XX:OnOutOfMemoryError=\"<cmd args>;<cmd args>\""
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
3: goto 6
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "-XX:OnOutOfMemoryError="
aastore
invokevirtual org.apache.cassandra.service.StartupChecks$5.jvmOptionsContainsOneOf:([Ljava/lang/String;)Z
ifne 6
5: getstatic org.apache.cassandra.service.StartupChecks.logger:Lorg/slf4j/Logger;
ldc "The JVM is not configured to stop on OutOfMemoryError which can cause data corruption. Either upgrade your JRE to a version greater or equal to 8u92 and use -XX:+ExitOnOutOfMemoryError/-XX:+CrashOnOutOfMemoryError or use -XX:OnOutOfMemoryError=\"<cmd args>;<cmd args>\" on your current JRE."
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/service/StartupChecks$5;
private boolean jvmOptionsContainsOneOf(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Z
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=2, locals=10, args_size=2
start local 0 start local 1 0: invokestatic java.lang.management.ManagementFactory.getRuntimeMXBean:()Ljava/lang/management/RuntimeMXBean;
astore 2
start local 2 1: aload 2
invokeinterface java.lang.management.RuntimeMXBean.getInputArguments:()Ljava/util/List;
astore 3
start local 3 2: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: org.apache.cassandra.service.StartupChecks$5 java.lang.String[] java.lang.management.RuntimeMXBean java.util.List top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 1
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 9
StackMap locals: org.apache.cassandra.service.StartupChecks$5 java.lang.String[] java.lang.management.RuntimeMXBean java.util.List java.lang.String java.util.Iterator top int int java.lang.String[]
StackMap stack:
5: aload 9
iload 7
aaload
astore 6
start local 6 6: aload 4
aload 6
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
7: iconst_1
ireturn
end local 6 8: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
iload 8
if_icmplt 5
end local 4 10: StackMap locals: org.apache.cassandra.service.StartupChecks$5 java.lang.String[] java.lang.management.RuntimeMXBean java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/service/StartupChecks$5;
0 12 1 optionNames [Ljava/lang/String;
1 12 2 runtimeMxBean Ljava/lang/management/RuntimeMXBean;
2 12 3 inputArguments Ljava/util/List<Ljava/lang/String;>;
4 10 4 argument Ljava/lang/String;
6 8 6 optionName Ljava/lang/String;
MethodParameters:
Name Flags
optionNames
}
SourceFile: "StartupChecks.java"
EnclosingMethod: org.apache.cassandra.service.StartupChecks
NestHost: org.apache.cassandra.service.StartupChecks
InnerClasses:
org.apache.cassandra.service.StartupChecks$5