classes.io.netty.util.internal.Cleaner0.class Maven / Gradle / Ivy
???? 2 ? io/netty/util/internal/Cleaner0 java/lang/Object
Cleaner0.java CLEANER_FIELD_OFFSET J CLEAN_METHOD Ljava/lang/reflect/Method; CLEANER_IS_RUNNABLE Z logger /Lio/netty/util/internal/logging/InternalLogger; $assertionsDisabled freeDirectBuffer (Ljava/nio/ByteBuffer;)V java/lang/Throwable ???????? java/nio/ByteBuffer isDirect ()Z
! java/lang/AssertionError # VCLEANER_FIELD_OFFSET != -1 implies CLEAN_METHOD != null or CLEANER_IS_RUNNABLE == true % (Ljava/lang/Object;)V ' (
$ ) )io/netty/util/internal/PlatformDependent0 + getObject '(Ljava/lang/Object;J)Ljava/lang/Object; - .
, / java/lang/Runnable 1 run ()V 3 4 2 5 java/lang/reflect/Method 7 invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; 9 :
8 ; cleaner Ljava/lang/Object; buffer Ljava/nio/ByteBuffer; ' 4
A this !Lio/netty/util/internal/Cleaner0; java/lang/ClassCastException F java/lang/Class H desiredAssertionStatus J
I K 4io/netty/util/internal/logging/InternalLoggerFactory M getInstance B(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger; O P
N Q
S allocateDirect (I)Ljava/nio/ByteBuffer; U V
W hasUnsafe Y
, Z getClass ()Ljava/lang/Class; \ ]
^ = getDeclaredField -(Ljava/lang/String;)Ljava/lang/reflect/Field; a b
I c java/lang/reflect/Field e
setAccessible (Z)V g h
f i objectFieldOffset (Ljava/lang/reflect/Field;)J k l
, m get &(Ljava/lang/Object;)Ljava/lang/Object; o p
f q clean s getDeclaredMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; u v
I w !java.nio.ByteBuffer.cleaner(): {} y available { -io/netty/util/internal/logging/InternalLogger } java/lang/String unavailable ? debug '(Ljava/lang/String;Ljava/lang/Object;)V ? ? ~ ?
? runnable Ljava/lang/Runnable; ignored Ljava/lang/ClassCastException; cleanerField Ljava/lang/reflect/Field; t Ljava/lang/Throwable; direct fieldOffset cleanerIsRunnable Code LocalVariableTable LineNumberTable
StackMapTable
SourceFile 0
? ? ]? ??
*? ? ?? ? ? ? ? "?
? $Y&? *?*? ? 0L+? !? "? +? 2? 6 ? ? +? ?