public final class org.glassfish.grizzly.impl.UnsafeFutureImpl<R> implements org.glassfish.grizzly.impl.FutureImpl<R>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.glassfish.grizzly.impl.UnsafeFutureImpl
super_class: java.lang.Object
{
private static final org.glassfish.grizzly.ThreadCache$CachedTypeIndex<org.glassfish.grizzly.impl.UnsafeFutureImpl> CACHE_IDX;
descriptor: Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex<Lorg/glassfish/grizzly/impl/UnsafeFutureImpl;>;
protected boolean isDone;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected boolean isCancelled;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected java.lang.Throwable failure;
descriptor: Ljava/lang/Throwable;
flags: (0x0004) ACC_PROTECTED
protected java.util.Set<org.glassfish.grizzly.CompletionHandler<R>> completionHandlers;
descriptor: Ljava/util/Set;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/Set<Lorg/glassfish/grizzly/CompletionHandler<TR;>;>;
protected R result;
descriptor: Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Signature: TR;
protected int recycleMark;
descriptor: I
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/glassfish/grizzly/impl/UnsafeFutureImpl;
iconst_4
invokestatic org.glassfish.grizzly.ThreadCache.obtainIndex:(Ljava/lang/Class;I)Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
putstatic org.glassfish.grizzly.impl.UnsafeFutureImpl.CACHE_IDX:Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
return
LocalVariableTable:
Start End Slot Name Signature
public static <R> org.glassfish.grizzly.impl.UnsafeFutureImpl<R> create();
descriptor: ()Lorg/glassfish/grizzly/impl/UnsafeFutureImpl;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: getstatic org.glassfish.grizzly.impl.UnsafeFutureImpl.CACHE_IDX:Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
invokestatic org.glassfish.grizzly.ThreadCache.takeFromCache:(Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;)Ljava/lang/Object;
checkcast org.glassfish.grizzly.impl.UnsafeFutureImpl
astore 0
start local 0 1: aload 0
ifnull 3
2: aload 0
areturn
3: StackMap locals: org.glassfish.grizzly.impl.UnsafeFutureImpl
StackMap stack:
new org.glassfish.grizzly.impl.UnsafeFutureImpl
dup
invokespecial org.glassfish.grizzly.impl.UnsafeFutureImpl.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 future Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
Signature: <R:Ljava/lang/Object;>()Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
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 Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
public void addCompletionHandler(org.glassfish.grizzly.CompletionHandler<R>);
descriptor: (Lorg/glassfish/grizzly/CompletionHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isDone:Z
ifeq 3
1: aload 0
aload 1
invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.notifyCompletionHandler:(Lorg/glassfish/grizzly/CompletionHandler;)V
2: goto 6
3: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.completionHandlers:Ljava/util/Set;
ifnonnull 5
4: aload 0
new java.util.HashSet
dup
iconst_2
invokespecial java.util.HashSet.<init>:(I)V
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.completionHandlers:Ljava/util/Set;
5: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.completionHandlers:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
0 7 1 completionHandler Lorg/glassfish/grizzly/CompletionHandler<TR;>;
Signature: (Lorg/glassfish/grizzly/CompletionHandler<TR;>;)V
MethodParameters:
Name Flags
completionHandler final
public R getResult();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.result:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
Signature: ()TR;
public void result();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.result:Ljava/lang/Object;
1: aload 0
invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.notifyHaveResult:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
0 3 1 result TR;
Signature: (TR;)V
MethodParameters:
Name Flags
result
public boolean cancel(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isCancelled:Z
1: aload 0
invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.notifyHaveResult:()V
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
0 3 1 mayInterruptIfRunning Z
MethodParameters:
Name Flags
mayInterruptIfRunning
public boolean isCancelled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isCancelled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
public boolean isDone();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isDone:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
public R get();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isDone:Z
ifeq 7
1: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isCancelled:Z
ifeq 3
2: new java.util.concurrent.CancellationException
dup
invokespecial java.util.concurrent.CancellationException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.failure:Ljava/lang/Throwable;
ifnull 5
4: new java.util.concurrent.ExecutionException
dup
aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.failure:Ljava/lang/Throwable;
invokespecial java.util.concurrent.ExecutionException.<init>:(Ljava/lang/Throwable;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.result:Ljava/lang/Object;
ifnull 7
6: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.result:Ljava/lang/Object;
areturn
7: StackMap locals:
StackMap stack:
new java.util.concurrent.ExecutionException
dup
new java.lang.IllegalStateException
dup
ldc "Result is not ready"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokespecial java.util.concurrent.ExecutionException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
Exceptions:
throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
Signature: ()TR;
public R get(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.get:()Ljava/lang/Object;
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
0 1 1 timeout J
0 1 3 unit Ljava/util/concurrent/TimeUnit;
Exceptions:
throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
Signature: (JLjava/util/concurrent/TimeUnit;)TR;
MethodParameters:
Name Flags
timeout
unit
public void failure(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.failure:Ljava/lang/Throwable;
1: aload 0
invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.notifyHaveResult:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
0 3 1 failure Ljava/lang/Throwable;
MethodParameters:
Name Flags
failure
protected void notifyHaveResult();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.recycleMark:I
ifne 4
1: aload 0
iconst_1
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isDone:Z
2: aload 0
invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.notifyCompletionHandlers:()V
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.recycleMark:I
iconst_2
if_icmpne 5
iconst_1
goto 6
StackMap locals:
StackMap stack: org.glassfish.grizzly.impl.UnsafeFutureImpl
5: iconst_0
StackMap locals: org.glassfish.grizzly.impl.UnsafeFutureImpl
StackMap stack: org.glassfish.grizzly.impl.UnsafeFutureImpl int
6: invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.recycle:(Z)V
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
private void notifyCompletionHandlers();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.completionHandlers:Ljava/util/Set;
ifnull 6
1: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.completionHandlers:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: org.glassfish.grizzly.impl.UnsafeFutureImpl top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.CompletionHandler
astore 1
start local 1 3: aload 0
aload 1
invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.notifyCompletionHandler:(Lorg/glassfish/grizzly/CompletionHandler;)V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
aconst_null
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.completionHandlers:Ljava/util/Set;
6: StackMap locals: org.glassfish.grizzly.impl.UnsafeFutureImpl
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
3 4 1 completionHandler Lorg/glassfish/grizzly/CompletionHandler<TR;>;
private void notifyCompletionHandler(org.glassfish.grizzly.CompletionHandler<R>);
descriptor: (Lorg/glassfish/grizzly/CompletionHandler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isCancelled:Z
ifeq 3
1: aload 1
invokeinterface org.glassfish.grizzly.CompletionHandler.cancelled:()V
2: goto 10
StackMap locals:
StackMap stack:
3: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.failure:Ljava/lang/Throwable;
ifnull 6
4: aload 1
aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.failure:Ljava/lang/Throwable;
invokeinterface org.glassfish.grizzly.CompletionHandler.failed:(Ljava/lang/Throwable;)V
5: goto 10
StackMap locals:
StackMap stack:
6: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.result:Ljava/lang/Object;
ifnull 10
7: aload 1
aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.result:Ljava/lang/Object;
invokeinterface org.glassfish.grizzly.CompletionHandler.completed:(Ljava/lang/Object;)V
8: goto 10
StackMap locals:
StackMap stack: java.lang.Exception
9: pop
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
0 11 1 completionHandler Lorg/glassfish/grizzly/CompletionHandler<TR;>;
Exception table:
from to target type
0 8 9 Class java.lang.Exception
Signature: (Lorg/glassfish/grizzly/CompletionHandler<TR;>;)V
MethodParameters:
Name Flags
completionHandler final
public void markForRecycle(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isDone:Z
ifeq 3
1: aload 0
iload 1
invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.recycle:(Z)V
2: goto 6
3: StackMap locals:
StackMap stack:
aload 0
iconst_1
iload 1
ifeq 4
iconst_1
goto 5
StackMap locals: org.glassfish.grizzly.impl.UnsafeFutureImpl int
StackMap stack: org.glassfish.grizzly.impl.UnsafeFutureImpl int
4: iconst_0
StackMap locals: org.glassfish.grizzly.impl.UnsafeFutureImpl int
StackMap stack: org.glassfish.grizzly.impl.UnsafeFutureImpl int int
5: iadd
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.recycleMark:I
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
0 7 1 recycleResult Z
MethodParameters:
Name Flags
recycleResult
protected void reset();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.completionHandlers:Ljava/util/Set;
1: aload 0
aconst_null
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.result:Ljava/lang/Object;
2: aload 0
aconst_null
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.failure:Ljava/lang/Throwable;
3: aload 0
iconst_0
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isCancelled:Z
4: aload 0
iconst_0
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.isDone:Z
5: aload 0
iconst_0
putfield org.glassfish.grizzly.impl.UnsafeFutureImpl.recycleMark:I
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
public void recycle(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.result:Ljava/lang/Object;
ifnull 2
aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.result:Ljava/lang/Object;
instanceof org.glassfish.grizzly.Cacheable
ifeq 2
1: aload 0
getfield org.glassfish.grizzly.impl.UnsafeFutureImpl.result:Ljava/lang/Object;
checkcast org.glassfish.grizzly.Cacheable
invokeinterface org.glassfish.grizzly.Cacheable.recycle:()V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.reset:()V
3: getstatic org.glassfish.grizzly.impl.UnsafeFutureImpl.CACHE_IDX:Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
aload 0
invokestatic org.glassfish.grizzly.ThreadCache.putToCache:(Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;Ljava/lang/Object;)Z
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
0 5 1 recycleResult Z
MethodParameters:
Name Flags
recycleResult
public void recycle();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.impl.UnsafeFutureImpl.recycle:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/impl/UnsafeFutureImpl<TR;>;
}
Signature: <R:Ljava/lang/Object;>Ljava/lang/Object;Lorg/glassfish/grizzly/impl/FutureImpl<TR;>;
SourceFile: "UnsafeFutureImpl.java"
InnerClasses:
public final CachedTypeIndex = org.glassfish.grizzly.ThreadCache$CachedTypeIndex of org.glassfish.grizzly.ThreadCache