final class io.netty.util.internal.PlatformDependent0
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.util.internal.PlatformDependent0
super_class: java.lang.Object
{
private static final io.netty.util.internal.logging.InternalLogger logger;
descriptor: Lio/netty/util/internal/logging/InternalLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long ADDRESS_FIELD_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long BYTE_ARRAY_BASE_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Constructor<?> DIRECT_BUFFER_CONSTRUCTOR;
descriptor: Ljava/lang/reflect/Constructor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/reflect/Constructor<*>;
private static final java.lang.Throwable EXPLICIT_NO_UNSAFE_CAUSE;
descriptor: Ljava/lang/Throwable;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method ALLOCATE_ARRAY_METHOD;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int JAVA_VERSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean IS_ANDROID;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Throwable UNSAFE_UNAVAILABILITY_CAUSE;
descriptor: Ljava/lang/Throwable;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object INTERNAL_UNSAFE;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final sun.misc.Unsafe UNSAFE;
descriptor: Lsun/misc/Unsafe;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int HASH_CODE_ASCII_SEED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -1028477387
static final int HASH_CODE_C1;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -862048943
static final int HASH_CODE_C2;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 461845907
private static final long UNSAFE_COPY_THRESHOLD;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1048576
private static final boolean UNALIGNED;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=15, args_size=0
0: ldc Lio/netty/util/internal/PlatformDependent0;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic io.netty.util.internal.PlatformDependent0.$assertionsDisabled:Z
3: ldc Lio/netty/util/internal/PlatformDependent0;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
putstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
4: invokestatic io.netty.util.internal.PlatformDependent0.explicitNoUnsafeCause0:()Ljava/lang/Throwable;
putstatic io.netty.util.internal.PlatformDependent0.EXPLICIT_NO_UNSAFE_CAUSE:Ljava/lang/Throwable;
5: invokestatic io.netty.util.internal.PlatformDependent0.javaVersion0:()I
putstatic io.netty.util.internal.PlatformDependent0.JAVA_VERSION:I
6: invokestatic io.netty.util.internal.PlatformDependent0.isAndroid0:()Z
putstatic io.netty.util.internal.PlatformDependent0.IS_ANDROID:Z
7: invokestatic io.netty.util.internal.PlatformDependent0.explicitTryReflectionSetAccessible0:()Z
putstatic io.netty.util.internal.PlatformDependent0.IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE:Z
8: aconst_null
astore 1
start local 1 9: aconst_null
astore 2
start local 2 10: aconst_null
astore 3
start local 3 11: aconst_null
astore 5
start local 5 12: getstatic io.netty.util.internal.PlatformDependent0.EXPLICIT_NO_UNSAFE_CAUSE:Ljava/lang/Throwable;
dup
astore 3
ifnull 18
13: aconst_null
astore 0
start local 0 14: aconst_null
astore 1
15: aconst_null
astore 4
start local 4 16: aconst_null
astore 5
17: goto 52
end local 4 end local 0 18: StackMap locals: top java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable top java.lang.Object
StackMap stack:
iconst_1
invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
astore 0
start local 0 19: new io.netty.util.internal.PlatformDependent0$1
dup
invokespecial io.netty.util.internal.PlatformDependent0$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
astore 6
start local 6 20: aload 6
instanceof java.lang.Throwable
ifeq 25
21: aconst_null
astore 4
start local 4 22: aload 6
checkcast java.lang.Throwable
astore 3
23: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "sun.misc.Unsafe.theUnsafe: unavailable"
aload 6
checkcast java.lang.Throwable
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
24: goto 27
end local 4 25: StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable top java.lang.Object java.lang.Object
StackMap stack:
aload 6
checkcast sun.misc.Unsafe
astore 4
start local 4 26: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "sun.misc.Unsafe.theUnsafe: available"
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
27: StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object java.lang.Object
StackMap stack:
aload 4
ifnull 36
28: aload 4
astore 7
start local 7 29: new io.netty.util.internal.PlatformDependent0$2
dup
aload 7
invokespecial io.netty.util.internal.PlatformDependent0$2.<init>:(Lsun/misc/Unsafe;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
astore 8
start local 8 30: aload 8
ifnonnull 33
31: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "sun.misc.Unsafe.copyMemory: available"
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
32: goto 36
33: StackMap locals: sun.misc.Unsafe java.lang.Object
StackMap stack:
aconst_null
astore 4
34: aload 8
checkcast java.lang.Throwable
astore 3
35: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "sun.misc.Unsafe.copyMemory: unavailable"
aload 8
checkcast java.lang.Throwable
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 8 end local 7 36: StackMap locals:
StackMap stack:
aload 4
ifnull 46
37: aload 4
astore 7
start local 7 38: new io.netty.util.internal.PlatformDependent0$3
dup
aload 7
aload 0
invokespecial io.netty.util.internal.PlatformDependent0$3.<init>:(Lsun/misc/Unsafe;Ljava/nio/ByteBuffer;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
astore 8
start local 8 39: aload 8
instanceof java.lang.reflect.Field
ifeq 43
40: aload 8
checkcast java.lang.reflect.Field
astore 1
41: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "java.nio.Buffer.address: available"
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
42: goto 46
43: StackMap locals: sun.misc.Unsafe java.lang.Object
StackMap stack:
aload 8
checkcast java.lang.Throwable
astore 3
44: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "java.nio.Buffer.address: unavailable"
aload 8
checkcast java.lang.Throwable
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
45: aconst_null
astore 4
end local 8 end local 7 46: StackMap locals:
StackMap stack:
aload 4
ifnull 52
47: aload 4
ldc [B
invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
i2l
lstore 7
start local 7 48: lload 7
lconst_1
lcmp
ifeq 52
49: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "unsafe.arrayIndexScale is {} (expected: 1). Not using unsafe."
lload 7
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
50: new java.lang.UnsupportedOperationException
dup
ldc "Unexpected unsafe.arrayIndexScale"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
astore 3
51: aconst_null
astore 4
end local 7 end local 6 52: StackMap locals:
StackMap stack:
aload 3
putstatic io.netty.util.internal.PlatformDependent0.UNSAFE_UNAVAILABILITY_CAUSE:Ljava/lang/Throwable;
53: aload 4
putstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
54: aload 4
ifnonnull 61
55: ldc -1
putstatic io.netty.util.internal.PlatformDependent0.ADDRESS_FIELD_OFFSET:J
56: ldc -1
putstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
57: iconst_0
putstatic io.netty.util.internal.PlatformDependent0.UNALIGNED:Z
58: aconst_null
putstatic io.netty.util.internal.PlatformDependent0.DIRECT_BUFFER_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
59: aconst_null
putstatic io.netty.util.internal.PlatformDependent0.ALLOCATE_ARRAY_METHOD:Ljava/lang/reflect/Method;
60: goto 130
61: StackMap locals:
StackMap stack:
ldc -1
lstore 7
start local 7 62: new io.netty.util.internal.PlatformDependent0$4
dup
aload 0
invokespecial io.netty.util.internal.PlatformDependent0$4.<init>:(Ljava/nio/ByteBuffer;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
63: astore 9
start local 9 64: aload 9
instanceof java.lang.reflect.Constructor
ifeq 79
65: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lconst_1
invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
lstore 7
66: aload 9
checkcast java.lang.reflect.Constructor
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 7
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
pop
67: aload 9
checkcast java.lang.reflect.Constructor
astore 6
start local 6 68: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "direct buffer constructor: available"
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
69: goto 89
end local 6 StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object top long java.lang.Object
StackMap stack: java.lang.InstantiationException
70: pop
71: aconst_null
astore 6
start local 6 72: goto 89
end local 6 73: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
pop
74: aconst_null
astore 6
start local 6 75: goto 89
end local 6 76: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
pop
77: aconst_null
astore 6
start local 6 78: goto 89
end local 6 79: StackMap locals:
StackMap stack:
getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
80: ldc "direct buffer constructor: unavailable"
81: aload 9
checkcast java.lang.Throwable
82: invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
83: aconst_null
astore 6
end local 9 start local 6 84: goto 89
end local 6 StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object top long
StackMap stack: java.lang.Throwable
85: astore 10
86: lload 7
ldc -1
lcmp
ifeq 88
87: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 7
invokevirtual sun.misc.Unsafe.freeMemory:(J)V
88: StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object top long top java.lang.Throwable
StackMap stack:
aload 10
athrow
start local 6 89: StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object java.lang.reflect.Constructor long
StackMap stack:
lload 7
ldc -1
lcmp
ifeq 91
90: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 7
invokevirtual sun.misc.Unsafe.freeMemory:(J)V
91: StackMap locals:
StackMap stack:
aload 6
putstatic io.netty.util.internal.PlatformDependent0.DIRECT_BUFFER_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
92: aload 1
invokestatic io.netty.util.internal.PlatformDependent0.objectFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic io.netty.util.internal.PlatformDependent0.ADDRESS_FIELD_OFFSET:J
93: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
ldc [B
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
i2l
putstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
94: new io.netty.util.internal.PlatformDependent0$5
dup
invokespecial io.netty.util.internal.PlatformDependent0$5.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
astore 10
start local 10 95: aload 10
instanceof java.lang.Boolean
ifeq 99
96: aload 10
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 9
start local 9 97: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "java.nio.Bits.unaligned: available, {}"
iload 9
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
98: goto 103
end local 9 99: StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object java.lang.reflect.Constructor long top java.lang.Object
StackMap stack:
ldc "os.arch"
ldc ""
invokestatic io.netty.util.internal.SystemPropertyUtil.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 11
start local 11 100: aload 11
ldc "^(i[3-6]86|x86(_64)?|x64|amd64)$"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
istore 9
start local 9 101: aload 10
checkcast java.lang.Throwable
astore 12
start local 12 102: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "java.nio.Bits.unaligned: unavailable {}"
iload 9
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 12
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 12 end local 11 103: StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object java.lang.reflect.Constructor long int java.lang.Object
StackMap stack:
iload 9
putstatic io.netty.util.internal.PlatformDependent0.UNALIGNED:Z
104: invokestatic io.netty.util.internal.PlatformDependent0.javaVersion:()I
bipush 9
if_icmplt 128
105: new io.netty.util.internal.PlatformDependent0$6
dup
invokespecial io.netty.util.internal.PlatformDependent0$6.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
astore 11
start local 11 106: aload 11
instanceof java.lang.Throwable
ifne 121
107: aload 11
astore 5
108: aload 5
astore 12
start local 12 109: new io.netty.util.internal.PlatformDependent0$7
dup
aload 12
invokespecial io.netty.util.internal.PlatformDependent0$7.<init>:(Ljava/lang/Object;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
astore 11
110: aload 11
instanceof java.lang.reflect.Method
ifeq 121
111: aload 11
checkcast java.lang.reflect.Method
astore 13
start local 13 112: aload 13
aload 12
iconst_2
anewarray java.lang.Object
dup
iconst_0
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
bipush 8
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 14
start local 14 113: getstatic io.netty.util.internal.PlatformDependent0.$assertionsDisabled:Z
ifne 114
aload 14
arraylength
bipush 8
if_icmpeq 114
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
114: StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object java.lang.reflect.Constructor long int java.lang.Object java.lang.Object java.lang.Object java.lang.reflect.Method byte[]
StackMap stack:
aload 13
astore 2
end local 14 end local 13 115: goto 121
StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object java.lang.reflect.Constructor long int java.lang.Object java.lang.Object java.lang.Object
StackMap stack: java.lang.IllegalAccessException
116: astore 13
start local 13 117: aload 13
astore 11
end local 13 118: goto 121
119: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 13
start local 13 120: aload 13
astore 11
end local 13 end local 12 121: StackMap locals:
StackMap stack:
aload 11
instanceof java.lang.Throwable
ifeq 126
122: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable"
123: aload 11
checkcast java.lang.Throwable
124: invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
125: goto 129
126: StackMap locals:
StackMap stack:
getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "jdk.internal.misc.Unsafe.allocateUninitializedArray(int): available"
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
end local 11 127: goto 129
128: StackMap locals:
StackMap stack:
getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9"
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
129: StackMap locals:
StackMap stack:
aload 2
putstatic io.netty.util.internal.PlatformDependent0.ALLOCATE_ARRAY_METHOD:Ljava/lang/reflect/Method;
end local 10 end local 9 end local 7 end local 6 130: StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object
StackMap stack:
aload 5
putstatic io.netty.util.internal.PlatformDependent0.INTERNAL_UNSAFE:Ljava/lang/Object;
131: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "java.nio.DirectByteBuffer.<init>(long, int): {}"
132: getstatic io.netty.util.internal.PlatformDependent0.DIRECT_BUFFER_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
ifnull 133
ldc "available"
goto 134
StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object
StackMap stack: io.netty.util.internal.logging.InternalLogger java.lang.String
133: ldc "unavailable"
134: StackMap locals: java.nio.ByteBuffer java.lang.reflect.Field java.lang.reflect.Method java.lang.Throwable sun.misc.Unsafe java.lang.Object
StackMap stack: io.netty.util.internal.logging.InternalLogger java.lang.String java.lang.String
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 135: return
LocalVariableTable:
Start End Slot Name Signature
14 18 0 direct Ljava/nio/ByteBuffer;
19 135 0 direct Ljava/nio/ByteBuffer;
9 135 1 addressField Ljava/lang/reflect/Field;
10 135 2 allocateArrayMethod Ljava/lang/reflect/Method;
11 135 3 unsafeUnavailabilityCause Ljava/lang/Throwable;
16 18 4 unsafe Lsun/misc/Unsafe;
22 25 4 unsafe Lsun/misc/Unsafe;
26 135 4 unsafe Lsun/misc/Unsafe;
12 135 5 internalUnsafe Ljava/lang/Object;
20 52 6 maybeUnsafe Ljava/lang/Object;
29 36 7 finalUnsafe Lsun/misc/Unsafe;
30 36 8 maybeException Ljava/lang/Object;
38 46 7 finalUnsafe Lsun/misc/Unsafe;
39 46 8 maybeAddressField Ljava/lang/Object;
48 52 7 byteArrayIndexScale J
68 70 6 directBufferConstructor Ljava/lang/reflect/Constructor<*>;
72 73 6 directBufferConstructor Ljava/lang/reflect/Constructor<*>;
75 76 6 directBufferConstructor Ljava/lang/reflect/Constructor<*>;
78 79 6 directBufferConstructor Ljava/lang/reflect/Constructor<*>;
84 85 6 directBufferConstructor Ljava/lang/reflect/Constructor<*>;
89 130 6 directBufferConstructor Ljava/lang/reflect/Constructor<*>;
62 130 7 address J
64 84 9 maybeDirectBufferConstructor Ljava/lang/Object;
97 99 9 unaligned Z
101 130 9 unaligned Z
95 130 10 maybeUnaligned Ljava/lang/Object;
100 103 11 arch Ljava/lang/String;
102 103 12 t Ljava/lang/Throwable;
106 127 11 maybeException Ljava/lang/Object;
109 121 12 finalInternalUnsafe Ljava/lang/Object;
112 115 13 m Ljava/lang/reflect/Method;
113 115 14 bytes [B
117 118 13 e Ljava/lang/IllegalAccessException;
120 121 13 e Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
66 69 70 Class java.lang.InstantiationException
66 69 73 Class java.lang.IllegalAccessException
66 69 76 Class java.lang.reflect.InvocationTargetException
62 85 85 any
111 115 116 Class java.lang.IllegalAccessException
111 115 119 Class java.lang.reflect.InvocationTargetException
static boolean isExplicitNoUnsafe();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.EXPLICIT_NO_UNSAFE_CAUSE:Ljava/lang/Throwable;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Throwable explicitNoUnsafeCause0();
descriptor: ()Ljava/lang/Throwable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=0
0: ldc "io.netty.noUnsafe"
iconst_0
invokestatic io.netty.util.internal.SystemPropertyUtil.getBoolean:(Ljava/lang/String;Z)Z
istore 0
start local 0 1: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "-Dio.netty.noUnsafe: {}"
iload 0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
2: iload 0
ifeq 5
3: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "sun.misc.Unsafe: unavailable (io.netty.noUnsafe)"
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
4: new java.lang.UnsupportedOperationException
dup
ldc "sun.misc.Unsafe: unavailable (io.netty.noUnsafe)"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
areturn
5: StackMap locals: int
StackMap stack:
ldc "io.netty.tryUnsafe"
invokestatic io.netty.util.internal.SystemPropertyUtil.contains:(Ljava/lang/String;)Z
ifeq 8
6: ldc "io.netty.tryUnsafe"
astore 1
start local 1 7: goto 9
end local 1 8: StackMap locals:
StackMap stack:
ldc "org.jboss.netty.tryUnsafe"
astore 1
start local 1 9: StackMap locals: java.lang.String
StackMap stack:
aload 1
iconst_1
invokestatic io.netty.util.internal.SystemPropertyUtil.getBoolean:(Ljava/lang/String;Z)Z
ifne 13
10: new java.lang.StringBuilder
dup
ldc "sun.misc.Unsafe: unavailable ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 11: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
aload 2
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
12: new java.lang.UnsupportedOperationException
dup
aload 2
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
areturn
end local 2 13: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 14 0 noUnsafe Z
7 8 1 unsafePropName Ljava/lang/String;
9 14 1 unsafePropName Ljava/lang/String;
11 13 2 msg Ljava/lang/String;
static boolean isUnaligned();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.UNALIGNED:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static boolean hasUnsafe();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
static java.lang.Throwable getUnsafeUnavailabilityCause();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE_UNAVAILABILITY_CAUSE:Ljava/lang/Throwable;
areturn
LocalVariableTable:
Start End Slot Name Signature
static boolean unalignedAccess();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.UNALIGNED:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static void throwException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
ldc "cause"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Throwable
invokevirtual sun.misc.Unsafe.throwException:(Ljava/lang/Throwable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
static boolean hasDirectBufferNoCleanerConstructor();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.DIRECT_BUFFER_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
static java.nio.ByteBuffer reallocateDirectNoCleaner(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
invokestatic io.netty.util.internal.PlatformDependent0.directBufferAddress:(Ljava/nio/ByteBuffer;)J
iload 1
i2l
invokevirtual sun.misc.Unsafe.reallocateMemory:(JJ)J
iload 1
invokestatic io.netty.util.internal.PlatformDependent0.newDirectBuffer:(JI)Ljava/nio/ByteBuffer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 buffer Ljava/nio/ByteBuffer;
0 1 1 capacity I
MethodParameters:
Name Flags
buffer
capacity
static java.nio.ByteBuffer allocateDirectNoCleaner(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
iload 0
i2l
invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
iload 0
invokestatic io.netty.util.internal.PlatformDependent0.newDirectBuffer:(JI)Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 capacity I
MethodParameters:
Name Flags
capacity
static boolean hasAllocateArrayMethod();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.ALLOCATE_ARRAY_METHOD:Ljava/lang/reflect/Method;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
static byte[] allocateUninitializedArray(int);
descriptor: (I)[B
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: getstatic io.netty.util.internal.PlatformDependent0.ALLOCATE_ARRAY_METHOD:Ljava/lang/reflect/Method;
getstatic io.netty.util.internal.PlatformDependent0.INTERNAL_UNSAFE:Ljava/lang/Object;
iconst_2
anewarray java.lang.Object
dup
iconst_0
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
iload 0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 1
start local 1 3: new java.lang.Error
dup
aload 1
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 4: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 1
start local 1 5: new java.lang.Error
dup
aload 1
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 size I
3 4 1 e Ljava/lang/IllegalAccessException;
5 6 1 e Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalAccessException
0 1 4 Class java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
size
static java.nio.ByteBuffer newDirectBuffer(long, int);
descriptor: (JI)Ljava/nio/ByteBuffer;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 2 0: iload 2
ldc "capacity"
invokestatic io.netty.util.internal.ObjectUtil.checkPositiveOrZero:(ILjava/lang/String;)I
pop
1: getstatic io.netty.util.internal.PlatformDependent0.DIRECT_BUFFER_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.ByteBuffer
2: areturn
3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 4: aload 3
instanceof java.lang.Error
ifeq 6
5: aload 3
checkcast java.lang.Error
athrow
6: StackMap locals: java.lang.Throwable
StackMap stack:
new java.lang.Error
dup
aload 3
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 address J
0 7 2 capacity I
4 7 3 cause Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
MethodParameters:
Name Flags
address
capacity
static long directBufferAddress(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)J
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic io.netty.util.internal.PlatformDependent0.ADDRESS_FIELD_OFFSET:J
invokestatic io.netty.util.internal.PlatformDependent0.getLong:(Ljava/lang/Object;J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer
static long byteArrayBaseOffset();
descriptor: ()J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
lreturn
LocalVariableTable:
Start End Slot Name Signature
static java.lang.Object getObject(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 1
invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Ljava/lang/Object;
0 1 1 fieldOffset J
MethodParameters:
Name Flags
object
fieldOffset
static int getInt(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 1
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Ljava/lang/Object;
0 1 1 fieldOffset J
MethodParameters:
Name Flags
object
fieldOffset
private static long getLong(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 1
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Ljava/lang/Object;
0 1 1 fieldOffset J
MethodParameters:
Name Flags
object
fieldOffset
static long objectFieldOffset(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 field Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
field
static byte getByte(long);
descriptor: (J)B
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getByte:(J)B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 address J
MethodParameters:
Name Flags
address
static short getShort(long);
descriptor: (J)S
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getShort:(J)S
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 address J
MethodParameters:
Name Flags
address
static int getInt(long);
descriptor: (J)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getInt:(J)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 address J
MethodParameters:
Name Flags
address
static long getLong(long);
descriptor: (J)J
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getLong:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 address J
MethodParameters:
Name Flags
address
static byte getByte(byte[], int);
descriptor: ([BI)B
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [B
0 1 1 index I
MethodParameters:
Name Flags
data
index
static short getShort(byte[], int);
descriptor: ([BI)S
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [B
0 1 1 index I
MethodParameters:
Name Flags
data
index
static int getInt(byte[], int);
descriptor: ([BI)I
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [B
0 1 1 index I
MethodParameters:
Name Flags
data
index
static long getLong(byte[], int);
descriptor: ([BI)J
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [B
0 1 1 index I
MethodParameters:
Name Flags
data
index
static void putByte(long, byte);
descriptor: (JB)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 2 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
iload 2
invokevirtual sun.misc.Unsafe.putByte:(JB)V
1: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 address J
0 2 2 value B
MethodParameters:
Name Flags
address
value
static void putShort(long, short);
descriptor: (JS)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 2 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
iload 2
invokevirtual sun.misc.Unsafe.putShort:(JS)V
1: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 address J
0 2 2 value S
MethodParameters:
Name Flags
address
value
static void putInt(long, int);
descriptor: (JI)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 2 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
iload 2
invokevirtual sun.misc.Unsafe.putInt:(JI)V
1: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 address J
0 2 2 value I
MethodParameters:
Name Flags
address
value
static void putLong(long, long);
descriptor: (JJ)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 2 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
lload 2
invokevirtual sun.misc.Unsafe.putLong:(JJ)V
1: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 address J
0 2 2 value J
MethodParameters:
Name Flags
address
value
static void putByte(byte[], int, byte);
descriptor: ([BIB)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
iload 2
invokevirtual sun.misc.Unsafe.putByte:(Ljava/lang/Object;JB)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 data [B
0 2 1 index I
0 2 2 value B
MethodParameters:
Name Flags
data
index
value
static void putShort(byte[], int, short);
descriptor: ([BIS)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
iload 2
invokevirtual sun.misc.Unsafe.putShort:(Ljava/lang/Object;JS)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 data [B
0 2 1 index I
0 2 2 value S
MethodParameters:
Name Flags
data
index
value
static void putInt(byte[], int, int);
descriptor: ([BII)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
iload 2
invokevirtual sun.misc.Unsafe.putInt:(Ljava/lang/Object;JI)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 data [B
0 2 1 index I
0 2 2 value I
MethodParameters:
Name Flags
data
index
value
static void putLong(byte[], int, long);
descriptor: ([BIJ)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
lload 2
invokevirtual sun.misc.Unsafe.putLong:(Ljava/lang/Object;JJ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 data [B
0 2 1 index I
0 2 2 value J
MethodParameters:
Name Flags
data
index
value
static void copyMemory(long, long, long);
descriptor: (JJJ)V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=8, args_size=3
start local 0 start local 2 start local 4 0: goto 6
1: StackMap locals:
StackMap stack:
lload 4
ldc 1048576
invokestatic java.lang.Math.min:(JJ)J
lstore 6
start local 6 2: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
lload 2
lload 6
invokevirtual sun.misc.Unsafe.copyMemory:(JJJ)V
3: lload 4
lload 6
lsub
lstore 4
4: lload 0
lload 6
ladd
lstore 0
5: lload 2
lload 6
ladd
lstore 2
end local 6 6: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifgt 1
7: return
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 srcAddr J
0 8 2 dstAddr J
0 8 4 length J
2 6 6 size J
MethodParameters:
Name Flags
srcAddr
dstAddr
length
static void copyMemory(java.lang.Object, long, java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;JJ)V
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=10, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 6 0: goto 6
1: StackMap locals:
StackMap stack:
lload 6
ldc 1048576
invokestatic java.lang.Math.min:(JJ)J
lstore 8
start local 8 2: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 1
aload 3
lload 4
lload 8
invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
3: lload 6
lload 8
lsub
lstore 6
4: lload 1
lload 8
ladd
lstore 1
5: lload 4
lload 8
ladd
lstore 4
end local 8 6: StackMap locals:
StackMap stack:
lload 6
lconst_0
lcmp
ifgt 1
7: return
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 src Ljava/lang/Object;
0 8 1 srcOffset J
0 8 3 dst Ljava/lang/Object;
0 8 4 dstOffset J
0 8 6 length J
2 6 8 size J
MethodParameters:
Name Flags
src
srcOffset
dst
dstOffset
length
static void setMemory(long, long, byte);
descriptor: (JJB)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 2 start local 4 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
lload 2
iload 4
invokevirtual sun.misc.Unsafe.setMemory:(JJB)V
1: return
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 address J
0 2 2 bytes J
0 2 4 value B
MethodParameters:
Name Flags
address
bytes
value
static void setMemory(java.lang.Object, long, long, byte);
descriptor: (Ljava/lang/Object;JJB)V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 1
lload 3
iload 5
invokevirtual sun.misc.Unsafe.setMemory:(Ljava/lang/Object;JJB)V
1: return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 o Ljava/lang/Object;
0 2 1 offset J
0 2 3 bytes J
0 2 5 value B
MethodParameters:
Name Flags
o
offset
bytes
value
static boolean equals(byte[], int, byte[], int, int);
descriptor: ([BI[BII)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifgt 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
lstore 5
start local 5 3: getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 3
i2l
ladd
lstore 7
start local 7 4: iload 4
bipush 7
iand
istore 9
start local 9 5: lload 5
iload 9
i2l
ladd
lstore 10
start local 10 6: lload 5
ldc 8
lsub
iload 4
i2l
ladd
lstore 12
start local 12 7: lload 7
ldc 8
lsub
iload 4
i2l
ladd
lstore 14
start local 14 8: goto 12
9: StackMap locals: byte[] int byte[] int int long long int long long long
StackMap stack:
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 12
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 14
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
lcmp
ifeq 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
lload 12
ldc 8
lsub
lstore 12
lload 14
ldc 8
lsub
lstore 14
StackMap locals:
StackMap stack:
12: lload 12
lload 10
lcmp
ifge 9
end local 14 end local 12 13: iload 9
iconst_4
if_icmplt 19
14: iinc 9 -4
15: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 5
iload 9
i2l
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
16: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 7
iload 9
i2l
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
17: if_icmpeq 19
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
iload 9
iconst_2
if_icmplt 24
20: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 5
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 7
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
if_icmpne 23
21: iload 9
iconst_2
if_icmpeq 22
aload 0
iload 1
iconst_2
iadd
baload
aload 2
iload 3
iconst_2
iadd
baload
if_icmpne 23
22: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
23: iconst_0
ireturn
24: StackMap locals:
StackMap stack:
aload 0
iload 1
baload
aload 2
iload 3
baload
if_icmpne 25
iconst_1
ireturn
StackMap locals:
StackMap stack:
25: iconst_0
ireturn
end local 10 end local 9 end local 7 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 26 0 bytes1 [B
0 26 1 startPos1 I
0 26 2 bytes2 [B
0 26 3 startPos2 I
0 26 4 length I
3 26 5 baseOffset1 J
4 26 7 baseOffset2 J
5 26 9 remainingBytes I
6 26 10 end J
7 13 12 i J
8 13 14 j J
MethodParameters:
Name Flags
bytes1
startPos1
bytes2
startPos2
length
static int equalsConstantTime(byte[], int, byte[], int, int);
descriptor: ([BI[BII)I
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: lconst_0
lstore 5
start local 5 1: getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
lstore 7
start local 7 2: getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 3
i2l
ladd
lstore 9
start local 9 3: iload 4
bipush 7
iand
istore 11
start local 11 4: lload 7
iload 11
i2l
ladd
lstore 12
start local 12 5: lload 7
ldc 8
lsub
iload 4
i2l
ladd
lstore 14
start local 14 6: lload 9
ldc 8
lsub
iload 4
i2l
ladd
lstore 16
start local 16 7: goto 10
8: StackMap locals: byte[] int byte[] int int long long long int long long long
StackMap stack:
lload 5
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 14
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 16
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
lxor
lor
lstore 5
9: lload 14
ldc 8
lsub
lstore 14
lload 16
ldc 8
lsub
lstore 16
StackMap locals:
StackMap stack:
10: lload 14
lload 12
lcmp
ifge 8
end local 16 end local 14 11: iload 11
tableswitch { // 1 - 7
1: 52
2: 47
3: 40
4: 35
5: 28
6: 21
7: 12
default: 57
}
12: StackMap locals:
StackMap stack:
lload 5
13: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
ldc 3
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
ldc 3
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
ixor
i2l
14: lor
15: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
ixor
i2l
16: lor
17: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
ixor
i2l
18: lor
19: lconst_0
20: invokestatic io.netty.util.internal.ConstantTimeUtils.equalsConstantTime:(JJ)I
ireturn
21: StackMap locals:
StackMap stack:
lload 5
22: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
ldc 2
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
ldc 2
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
ixor
i2l
23: lor
24: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
ixor
i2l
25: lor
26: lconst_0
27: invokestatic io.netty.util.internal.ConstantTimeUtils.equalsConstantTime:(JJ)I
ireturn
28: StackMap locals:
StackMap stack:
lload 5
29: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
ixor
i2l
30: lor
31: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
ixor
i2l
32: lor
33: lconst_0
34: invokestatic io.netty.util.internal.ConstantTimeUtils.equalsConstantTime:(JJ)I
ireturn
35: StackMap locals:
StackMap stack:
lload 5
36: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
ixor
i2l
37: lor
38: lconst_0
39: invokestatic io.netty.util.internal.ConstantTimeUtils.equalsConstantTime:(JJ)I
ireturn
40: StackMap locals:
StackMap stack:
lload 5
41: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
ixor
i2l
42: lor
43: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
ixor
i2l
44: lor
45: lconst_0
46: invokestatic io.netty.util.internal.ConstantTimeUtils.equalsConstantTime:(JJ)I
ireturn
47: StackMap locals:
StackMap stack:
lload 5
48: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
ixor
i2l
49: lor
50: lconst_0
51: invokestatic io.netty.util.internal.ConstantTimeUtils.equalsConstantTime:(JJ)I
ireturn
52: StackMap locals:
StackMap stack:
lload 5
53: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 7
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 2
lload 9
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
ixor
i2l
54: lor
55: lconst_0
56: invokestatic io.netty.util.internal.ConstantTimeUtils.equalsConstantTime:(JJ)I
ireturn
57: StackMap locals:
StackMap stack:
lload 5
lconst_0
invokestatic io.netty.util.internal.ConstantTimeUtils.equalsConstantTime:(JJ)I
ireturn
end local 12 end local 11 end local 9 end local 7 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 58 0 bytes1 [B
0 58 1 startPos1 I
0 58 2 bytes2 [B
0 58 3 startPos2 I
0 58 4 length I
1 58 5 result J
2 58 7 baseOffset1 J
3 58 9 baseOffset2 J
4 58 11 remainingBytes I
5 58 12 end J
6 11 14 i J
7 11 16 j J
MethodParameters:
Name Flags
bytes1
startPos1
bytes2
startPos2
length
static boolean isZero(byte[], int, int);
descriptor: ([BII)Z
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifgt 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
lstore 3
start local 3 3: iload 2
bipush 7
iand
istore 5
start local 5 4: lload 3
iload 5
i2l
ladd
lstore 6
start local 6 5: lload 3
ldc 8
lsub
iload 2
i2l
ladd
lstore 8
start local 8 6: goto 10
7: StackMap locals: byte[] int int long int long long
StackMap stack:
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 8
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
lconst_0
lcmp
ifeq 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
lload 8
ldc 8
lsub
lstore 8
StackMap locals:
StackMap stack:
10: lload 8
lload 6
lcmp
ifge 7
end local 8 11: iload 5
iconst_4
if_icmplt 15
12: iinc 5 -4
13: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 3
iload 5
i2l
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
ifeq 15
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
iload 5
iconst_2
if_icmplt 20
16: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 3
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
ifne 19
17: iload 5
iconst_2
if_icmpeq 18
aload 0
iload 1
iconst_2
iadd
baload
ifne 19
18: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
19: iconst_0
ireturn
20: StackMap locals:
StackMap stack:
aload 0
iload 1
baload
ifne 21
iconst_1
ireturn
StackMap locals:
StackMap stack:
21: iconst_0
ireturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 bytes [B
0 22 1 startPos I
0 22 2 length I
3 22 3 baseOffset J
4 22 5 remainingBytes I
5 22 6 end J
6 11 8 i J
MethodParameters:
Name Flags
bytes
startPos
length
static int hashCodeAscii(byte[], int, int);
descriptor: ([BII)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: ldc -1028477387
istore 3
start local 3 1: getstatic io.netty.util.internal.PlatformDependent0.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
lstore 4
start local 4 2: iload 2
bipush 7
iand
istore 6
start local 6 3: lload 4
iload 6
i2l
ladd
lstore 7
start local 7 4: lload 4
ldc 8
lsub
iload 2
i2l
ladd
lstore 9
start local 9 5: goto 8
6: StackMap locals: byte[] int int int long int long long
StackMap stack:
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 9
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
iload 3
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiCompute:(JI)I
istore 3
7: lload 9
ldc 8
lsub
lstore 9
StackMap locals:
StackMap stack:
8: lload 9
lload 7
lcmp
ifge 6
end local 9 9: iload 6
tableswitch { // 1 - 7
1: 36
2: 35
3: 30
4: 29
5: 24
6: 19
7: 10
default: 37
}
10: StackMap locals:
StackMap stack:
iload 3
ldc -862048943
imul
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(B)I
iadd
11: ldc 461845907
12: imul
13: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(S)I
14: iadd
15: ldc -862048943
16: imul
17: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
ldc 3
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(I)I
18: iadd
ireturn
19: StackMap locals:
StackMap stack:
iload 3
ldc -862048943
imul
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(S)I
iadd
20: ldc 461845907
21: imul
22: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
ldc 2
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(I)I
23: iadd
ireturn
24: StackMap locals:
StackMap stack:
iload 3
ldc -862048943
imul
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(B)I
iadd
25: ldc 461845907
26: imul
27: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(I)I
28: iadd
ireturn
29: StackMap locals:
StackMap stack:
iload 3
ldc -862048943
imul
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(I)I
iadd
ireturn
30: StackMap locals:
StackMap stack:
iload 3
ldc -862048943
imul
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(B)I
iadd
31: ldc 461845907
32: imul
33: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(S)I
34: iadd
ireturn
35: StackMap locals:
StackMap stack:
iload 3
ldc -862048943
imul
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(S)I
iadd
ireturn
36: StackMap locals:
StackMap stack:
iload 3
ldc -862048943
imul
getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 4
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(B)I
iadd
ireturn
37: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 bytes [B
0 38 1 startPos I
0 38 2 length I
1 38 3 hash I
2 38 4 baseOffset J
3 38 6 remainingBytes I
4 38 7 end J
5 9 9 i J
MethodParameters:
Name Flags
bytes
startPos
length
static int hashCodeAsciiCompute(long, int);
descriptor: (JI)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 2 0: iload 2
ldc -862048943
imul
1: lload 0
l2i
invokestatic io.netty.util.internal.PlatformDependent0.hashCodeAsciiSanitize:(I)I
ldc 461845907
imul
2: iadd
3: lload 0
ldc 2242545357458243584
land
bipush 32
lushr
l2i
4: iadd
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value J
0 5 2 hash I
MethodParameters:
Name Flags
value
hash
static int hashCodeAsciiSanitize(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc 522133279
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value I
MethodParameters:
Name Flags
value
static int hashCodeAsciiSanitize(short);
descriptor: (S)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 7967
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value S
MethodParameters:
Name Flags
value
static int hashCodeAsciiSanitize(byte);
descriptor: (B)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 31
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value B
MethodParameters:
Name Flags
value
static java.lang.ClassLoader getClassLoader(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/ClassLoader;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 2
1: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
areturn
2: StackMap locals:
StackMap stack:
new io.netty.util.internal.PlatformDependent0$8
dup
aload 0
invokespecial io.netty.util.internal.PlatformDependent0$8.<init>:(Ljava/lang/Class;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
clazz final
static java.lang.ClassLoader getContextClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 2
1: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
areturn
2: StackMap locals:
StackMap stack:
new io.netty.util.internal.PlatformDependent0$9
dup
invokespecial io.netty.util.internal.PlatformDependent0$9.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.lang.ClassLoader getSystemClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 2
1: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
areturn
2: StackMap locals:
StackMap stack:
new io.netty.util.internal.PlatformDependent0$10
dup
invokespecial io.netty.util.internal.PlatformDependent0$10.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
areturn
LocalVariableTable:
Start End Slot Name Signature
static int addressSize();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
invokevirtual sun.misc.Unsafe.addressSize:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
static long allocateMemory(long);
descriptor: (J)J
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 size J
MethodParameters:
Name Flags
size
static void freeMemory(long);
descriptor: (J)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.freeMemory:(J)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 address J
MethodParameters:
Name Flags
address
static long reallocateMemory(long, long);
descriptor: (JJ)J
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 2 0: getstatic io.netty.util.internal.PlatformDependent0.UNSAFE:Lsun/misc/Unsafe;
lload 0
lload 2
invokevirtual sun.misc.Unsafe.reallocateMemory:(JJ)J
lreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 address J
0 1 2 newSize J
MethodParameters:
Name Flags
address
newSize
static boolean isAndroid();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.IS_ANDROID:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static boolean isAndroid0();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: ldc "java.vm.name"
invokestatic io.netty.util.internal.SystemPropertyUtil.get:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: ldc "Dalvik"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 1
start local 1 2: iload 1
ifeq 4
3: getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Platform: Android"
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
4: StackMap locals: java.lang.String int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 vmName Ljava/lang/String;
2 5 1 isAndroid Z
private static boolean explicitTryReflectionSetAccessible0();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc "io.netty.tryReflectionSetAccessible"
invokestatic io.netty.util.internal.PlatformDependent0.javaVersion:()I
bipush 9
if_icmpge 1
iconst_1
goto 2
StackMap locals:
StackMap stack: java.lang.String
1: iconst_0
StackMap locals:
StackMap stack: java.lang.String int
2: invokestatic io.netty.util.internal.SystemPropertyUtil.getBoolean:(Ljava/lang/String;Z)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static boolean isExplicitTryReflectionSetAccessible();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.IS_EXPLICIT_TRY_REFLECTION_SET_ACCESSIBLE:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static int javaVersion();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.util.internal.PlatformDependent0.JAVA_VERSION:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static int javaVersion0();
descriptor: ()I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: invokestatic io.netty.util.internal.PlatformDependent0.isAndroid0:()Z
ifeq 3
1: bipush 6
istore 0
start local 0 2: goto 4
end local 0 3: StackMap locals:
StackMap stack:
invokestatic io.netty.util.internal.PlatformDependent0.majorVersionFromJavaSpecificationVersion:()I
istore 0
start local 0 4: StackMap locals: int
StackMap stack:
getstatic io.netty.util.internal.PlatformDependent0.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Java version: {}"
iload 0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
5: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
2 3 0 majorVersion I
4 6 0 majorVersion I
static int majorVersionFromJavaSpecificationVersion();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "java.specification.version"
ldc "1.6"
invokestatic io.netty.util.internal.SystemPropertyUtil.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic io.netty.util.internal.PlatformDependent0.majorVersion:(Ljava/lang/String;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
static int majorVersion(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
ldc "\\."
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 1: aload 1
arraylength
newarray 10
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: java.lang.String[] int[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
iastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 7: aload 2
iconst_0
iaload
iconst_1
if_icmpne 10
8: getstatic io.netty.util.internal.PlatformDependent0.$assertionsDisabled:Z
ifne 9
aload 2
iconst_1
iaload
bipush 6
if_icmpge 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 2
iconst_1
iaload
ireturn
10: StackMap locals:
StackMap stack:
aload 2
iconst_0
iaload
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 javaSpecVersion Ljava/lang/String;
1 11 1 components [Ljava/lang/String;
2 11 2 version [I
3 7 3 i I
MethodParameters:
Name Flags
javaSpecVersion final
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/util/internal/PlatformDependent0;
}
SourceFile: "PlatformDependent0.java"
NestMembers:
io.netty.util.internal.PlatformDependent0$1 io.netty.util.internal.PlatformDependent0$10 io.netty.util.internal.PlatformDependent0$2 io.netty.util.internal.PlatformDependent0$3 io.netty.util.internal.PlatformDependent0$4 io.netty.util.internal.PlatformDependent0$5 io.netty.util.internal.PlatformDependent0$6 io.netty.util.internal.PlatformDependent0$7 io.netty.util.internal.PlatformDependent0$8 io.netty.util.internal.PlatformDependent0$9
InnerClasses:
io.netty.util.internal.PlatformDependent0$1
io.netty.util.internal.PlatformDependent0$10
io.netty.util.internal.PlatformDependent0$2
io.netty.util.internal.PlatformDependent0$3
io.netty.util.internal.PlatformDependent0$4
io.netty.util.internal.PlatformDependent0$5
io.netty.util.internal.PlatformDependent0$6
io.netty.util.internal.PlatformDependent0$7
io.netty.util.internal.PlatformDependent0$8
io.netty.util.internal.PlatformDependent0$9