class jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask extends jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask
super_class: jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask
{
final jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription this$1;
descriptor: Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
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=1, locals=0, args_size=0
0: .line 188
ldc Ljdk/internal/net/http/BufferingSubscriber;
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 jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription);
descriptor: (Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask this
0: .line 188
aload 0 /* this */
aload 1
putfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
aload 0 /* this */
invokespecial jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.<init>:()V
return
end local 0 // jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription$PushDemandedTask;
MethodParameters:
Name Flags
this$0 final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask this
0: .line 192
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.throwable:Ljava/lang/Throwable;
astore 1 /* t */
start local 1 // java.lang.Throwable t
1: .line 193
aload 1 /* t */
ifnull 5
2: .line 194
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.pushDemandedScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.stop:()V
3: .line 195
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.downstreamSubscriber:Ljava/net/http/HttpResponse$BodySubscriber;
aload 1 /* t */
invokeinterface java.net.http.HttpResponse$BodySubscriber.onError:(Ljava/lang/Throwable;)V
4: .line 196
return
5: .line 201
StackMap locals: java.lang.Throwable
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.buffersLock:Ljava/lang/Object;
dup
astore 3
monitorenter
6: .line 202
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifeq 9
7: .line 203
aload 3
monitorexit
8: return
9: .line 204
StackMap locals: jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask java.lang.Throwable top java.lang.Object
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
invokevirtual jdk.internal.net.http.BufferingSubscriber.hasEnoughAccumulatedBytes:()Z
ifne 12
10: .line 205
aload 3
monitorexit
11: goto 23
12: .line 206
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.demand:Ljdk/internal/net/http/common/Demand;
invokevirtual jdk.internal.net.http.common.Demand.tryDecrement:()Z
ifne 15
13: .line 207
aload 3
monitorexit
14: goto 23
15: .line 208
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
invokevirtual jdk.internal.net.http.BufferingSubscriber.fromInternalBuffers:()Ljava/util/List;
astore 2 /* item */
start local 2 // java.util.List item
16: .line 201
aload 3
monitorexit
17: goto 20
end local 2 // java.util.List item
StackMap locals:
StackMap stack: java.lang.Throwable
18: aload 3
monitorexit
19: athrow
start local 2 // java.util.List item
20: .line 210
StackMap locals: jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask java.lang.Throwable java.util.List
StackMap stack:
getstatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.$assertionsDisabled:Z
ifne 21
aload 2 /* item */
ifnonnull 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: .line 212
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.downstreamSubscriber:Ljava/net/http/HttpResponse$BodySubscriber;
aload 2 /* item */
invokeinterface java.net.http.HttpResponse$BodySubscriber.onNext:(Ljava/lang/Object;)V
end local 2 // java.util.List item
22: .line 199
goto 5
23: .line 214
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifeq 25
24: .line 215
return
25: .line 219
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.buffersLock:Ljava/lang/Object;
dup
astore 3
monitorenter
26: .line 220
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.state:I
bipush 16
if_icmpne 27
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.internalBuffers:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 27
iconst_1
goto 28
StackMap locals: jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask java.lang.Throwable top java.lang.Object
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 2 /* complete */
start local 2 // boolean complete
29: .line 219
aload 3
monitorexit
30: goto 33
end local 2 // boolean complete
StackMap locals:
StackMap stack: java.lang.Throwable
31: aload 3
monitorexit
32: athrow
start local 2 // boolean complete
33: .line 222
StackMap locals: jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask java.lang.Throwable int
StackMap stack:
iload 2 /* complete */
ifeq 41
34: .line 223
getstatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.$assertionsDisabled:Z
ifne 35
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.internalBuffers:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 35
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: .line 224
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.pushDemandedScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.stop:()V
36: .line 225
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.downstreamSubscriber:Ljava/net/http/HttpResponse$BodySubscriber;
invokeinterface java.net.http.HttpResponse$BodySubscriber.onComplete:()V
37: .line 226
return
end local 2 // boolean complete
end local 1 // java.lang.Throwable t
38: .line 228
StackMap locals: jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask
StackMap stack: java.lang.Throwable
astore 1 /* t */
start local 1 // java.lang.Throwable t
39: .line 229
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokevirtual jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.cancel:()V
40: .line 230
aload 1 /* t */
athrow
end local 1 // java.lang.Throwable t
41: .line 233
StackMap locals:
StackMap stack:
iconst_0
istore 1 /* requestMore */
start local 1 // boolean requestMore
42: .line 234
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.buffersLock:Ljava/lang/Object;
dup
astore 2
monitorenter
43: .line 235
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
invokevirtual jdk.internal.net.http.BufferingSubscriber.hasEnoughAccumulatedBytes:()Z
ifne 45
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.demand:Ljdk/internal/net/http/common/Demand;
invokevirtual jdk.internal.net.http.common.Demand.isFulfilled:()Z
ifne 45
44: .line 237
iconst_1
istore 1 /* requestMore */
45: .line 234
StackMap locals: int java.lang.Object
StackMap stack:
aload 2
monitorexit
46: goto 49
StackMap locals:
StackMap stack: java.lang.Throwable
47: aload 2
monitorexit
48: athrow
49: .line 240
StackMap locals:
StackMap stack:
iload 1 /* requestMore */
ifeq 51
50: .line 241
aload 0 /* this */
getfield jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask.this$1:Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;
invokestatic jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription.access$0:(Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription;)Ljdk/internal/net/http/BufferingSubscriber;
getfield jdk.internal.net.http.BufferingSubscriber.subscription:Ljava/util/concurrent/Flow$Subscription;
lconst_1
invokeinterface java.util.concurrent.Flow$Subscription.request:(J)V
51: .line 242
StackMap locals:
StackMap stack:
return
end local 1 // boolean requestMore
end local 0 // jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask this
LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Ljdk/internal/net/http/BufferingSubscriber$DownstreamSubscription$PushDemandedTask;
1 38 1 t Ljava/lang/Throwable;
16 18 2 item Ljava/util/List<Ljava/nio/ByteBuffer;>;
20 22 2 item Ljava/util/List<Ljava/nio/ByteBuffer;>;
29 31 2 complete Z
33 38 2 complete Z
39 41 1 t Ljava/lang/Throwable;
42 52 1 requestMore Z
Exception table:
from to target type
6 8 18 any
9 11 18 any
12 14 18 any
15 17 18 any
18 19 18 any
26 30 31 any
31 32 31 any
0 4 38 Class java.lang.Throwable
5 8 38 Class java.lang.Throwable
9 24 38 Class java.lang.Throwable
25 37 38 Class java.lang.Throwable
43 46 47 any
47 48 47 any
}
SourceFile: "BufferingSubscriber.java"
NestHost: jdk.internal.net.http.BufferingSubscriber
InnerClasses:
public abstract BodySubscriber = java.net.http.HttpResponse$BodySubscriber of java.net.http.HttpResponse
public abstract Subscription = java.util.concurrent.Flow$Subscription of java.util.concurrent.Flow
private DownstreamSubscription = jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription of jdk.internal.net.http.BufferingSubscriber
PushDemandedTask = jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription$PushDemandedTask of jdk.internal.net.http.BufferingSubscriber$DownstreamSubscription
public abstract CompleteRestartableTask = jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask of jdk.internal.net.http.common.SequentialScheduler