public abstract class jdk.jfr.internal.consumer.AbstractEventStream implements jdk.jfr.consumer.EventStream
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: jdk.jfr.internal.consumer.AbstractEventStream
super_class: java.lang.Object
{
private static final java.util.concurrent.atomic.AtomicLong counter;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.Object terminated;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Runnable flushOperation;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.security.AccessControlContext accessControllerContext;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.jfr.internal.consumer.StreamConfiguration streamConfiguration;
descriptor: Ljdk/jfr/internal/consumer/StreamConfiguration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final jdk.jfr.internal.PlatformRecording recording;
descriptor: Ljdk/jfr/internal/PlatformRecording;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final java.util.List<jdk.jfr.Configuration> configurations;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljdk/jfr/Configuration;>;
private volatile java.lang.Thread thread;
descriptor: Ljava/lang/Thread;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private jdk.jfr.internal.consumer.Dispatcher dispatcher;
descriptor: Ljdk/jfr/internal/consumer/Dispatcher;
flags: (0x0002) ACC_PRIVATE
private volatile boolean closed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putstatic jdk.jfr.internal.consumer.AbstractEventStream.counter:Ljava/util/concurrent/atomic/AtomicLong;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.security.AccessControlContext, jdk.jfr.internal.PlatformRecording, java.util.List<jdk.jfr.Configuration>);
descriptor: (Ljava/security/AccessControlContext;Ljdk/jfr/internal/PlatformRecording;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
2: aload 0
aload 0
invokedynamic run(Ljdk/jfr/internal/consumer/AbstractEventStream;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
jdk/jfr/internal/consumer/AbstractEventStream.lambda$0()V (7)
()V
putfield jdk.jfr.internal.consumer.AbstractEventStream.flushOperation:Ljava/lang/Runnable;
3: aload 0
new jdk.jfr.internal.consumer.StreamConfiguration
dup
invokespecial jdk.jfr.internal.consumer.StreamConfiguration.<init>:()V
putfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
4: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.AccessControlContext
putfield jdk.jfr.internal.consumer.AbstractEventStream.accessControllerContext:Ljava/security/AccessControlContext;
5: aload 0
aload 2
putfield jdk.jfr.internal.consumer.AbstractEventStream.recording:Ljdk/jfr/internal/PlatformRecording;
6: aload 0
aload 3
putfield jdk.jfr.internal.consumer.AbstractEventStream.configurations:Ljava/util/List;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 8 1 acc Ljava/security/AccessControlContext;
0 8 2 recording Ljdk/jfr/internal/PlatformRecording;
0 8 3 configurations Ljava/util/List<Ljdk/jfr/Configuration;>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/security/AccessControlContext;Ljdk/jfr/internal/PlatformRecording;Ljava/util/List<Ljdk/jfr/Configuration;>;)V
MethodParameters:
Name Flags
acc
recording
configurations
public abstract void start();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void startAsync();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void close();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
protected final jdk.jfr.internal.consumer.Dispatcher dispatcher();
descriptor: ()Ljdk/jfr/internal/consumer/Dispatcher;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.hasChanged:()Z
ifeq 8
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
dup
astore 1
monitorenter
2: aload 0
new jdk.jfr.internal.consumer.Dispatcher
dup
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
invokespecial jdk.jfr.internal.consumer.Dispatcher.<init>:(Ljdk/jfr/internal/consumer/StreamConfiguration;)V
putfield jdk.jfr.internal.consumer.AbstractEventStream.dispatcher:Ljdk/jfr/internal/consumer/Dispatcher;
3: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
iconst_0
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setChanged:(Z)V
4: aload 1
monitorexit
5: goto 8
StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream jdk.jfr.internal.consumer.StreamConfiguration
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.dispatcher:Ljdk/jfr/internal/consumer/Dispatcher;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
Exception table:
from to target type
2 5 6 any
6 7 6 any
public final void setOrdered(boolean);
descriptor: (Z)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
iload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setOrdered:(Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 2 1 ordered Z
MethodParameters:
Name Flags
ordered
public final void setReuse(boolean);
descriptor: (Z)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
iload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setReuse:(Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 2 1 reuse Z
MethodParameters:
Name Flags
reuse
public final void setStartTime(java.time.Instant);
descriptor: (Ljava/time/Instant;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.nonNull:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
dup
astore 2
monitorenter
2: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
getfield jdk.jfr.internal.consumer.StreamConfiguration.started:Z
ifeq 4
3: new java.lang.IllegalStateException
dup
ldc "Stream is already started"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: jdk.jfr.internal.consumer.StreamConfiguration
StackMap stack:
aload 1
getstatic java.time.Instant.EPOCH:Ljava/time/Instant;
invokevirtual java.time.Instant.isBefore:(Ljava/time/Instant;)Z
ifeq 6
5: getstatic java.time.Instant.EPOCH:Ljava/time/Instant;
astore 1
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
aload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setStartTime:(Ljava/time/Instant;)V
7: aload 2
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 12 1 startTime Ljava/time/Instant;
Exception table:
from to target type
2 8 9 any
9 10 9 any
MethodParameters:
Name Flags
startTime
public final void setEndTime(java.time.Instant);
descriptor: (Ljava/time/Instant;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
dup
astore 2
monitorenter
2: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
getfield jdk.jfr.internal.consumer.StreamConfiguration.started:Z
ifeq 4
3: new java.lang.IllegalStateException
dup
ldc "Stream is already started"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: jdk.jfr.internal.consumer.StreamConfiguration
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
aload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setEndTime:(Ljava/time/Instant;)V
5: aload 2
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 10 1 endTime Ljava/time/Instant;
Exception table:
from to target type
2 6 7 any
7 8 7 any
MethodParameters:
Name Flags
endTime
public final void onEvent(java.util.function.Consumer<jdk.jfr.consumer.RecordedEvent>);
descriptor: (Ljava/util/function/Consumer;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
aload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addEventAction:(Ljava/util/function/Consumer;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 3 1 action Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;
Signature: (Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;)V
MethodParameters:
Name Flags
action
public final void onEvent(java.lang.String, java.util.function.Consumer<jdk.jfr.consumer.RecordedEvent>);
descriptor: (Ljava/lang/String;Ljava/util/function/Consumer;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
aload 1
aload 2
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addEventAction:(Ljava/lang/String;Ljava/util/function/Consumer;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 4 1 eventName Ljava/lang/String;
0 4 2 action Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;
Signature: (Ljava/lang/String;Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;)V
MethodParameters:
Name Flags
eventName
action
public final void onFlush(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
aload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addFlushAction:(Ljava/lang/Runnable;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 3 1 action Ljava/lang/Runnable;
MethodParameters:
Name Flags
action
public final void onClose(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
aload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addCloseAction:(Ljava/lang/Runnable;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 3 1 action Ljava/lang/Runnable;
MethodParameters:
Name Flags
action
public final void onError(java.util.function.Consumer<java.lang.Throwable>);
descriptor: (Ljava/util/function/Consumer;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
aload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addErrorAction:(Ljava/util/function/Consumer;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 3 1 action Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
Signature: (Ljava/util/function/Consumer<Ljava/lang/Throwable;>;)V
MethodParameters:
Name Flags
action
public final boolean remove(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
aload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.remove:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 2 1 action Ljava/lang/Object;
MethodParameters:
Name Flags
action
public final void awaitTermination();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
lconst_0
invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.awaitTermination:(Ljava/time/Duration;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
Exceptions:
throws java.lang.InterruptedException
public final void awaitTermination(java.time.Duration);
descriptor: (Ljava/time/Duration;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokevirtual java.time.Duration.isNegative:()Z
ifeq 3
2: new java.lang.IllegalArgumentException
dup
ldc "timeout value is negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 4: lconst_0
lstore 4
start local 4 5: aload 1
invokevirtual java.time.Duration.getSeconds:()J
sipush 1000
invokestatic java.lang.Math.multiplyExact:(JI)J
lstore 6
start local 6 6: goto 9
end local 6 StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.time.Duration long long
StackMap stack: java.lang.ArithmeticException
7: pop
8: ldc 9223372036854775807
lstore 6
start local 6 9: StackMap locals: long
StackMap stack:
aload 1
invokevirtual java.time.Duration.toNanosPart:()I
istore 8
start local 8 10: iload 8
ifne 29
lload 6
lconst_0
lcmp
ifne 29
11: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
dup
astore 9
monitorenter
12: goto 14
13: StackMap locals: int java.lang.Object
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
lconst_0
invokevirtual java.lang.Object.wait:(J)V
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.isClosed:()Z
ifeq 13
15: aload 9
monitorexit
16: goto 30
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 9
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
lload 6
lload 4
lsub
lstore 9
start local 9 20: lload 9
lconst_0
lcmp
ifgt 22
21: goto 30
22: StackMap locals: long
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
dup
astore 11
monitorenter
23: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
lload 9
iload 8
invokevirtual java.lang.Object.wait:(JI)V
24: aload 11
monitorexit
25: goto 28
StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.time.Duration long long long int long java.lang.Object
StackMap stack: java.lang.Throwable
26: aload 11
monitorexit
27: athrow
28: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lload 2
lsub
lstore 4
end local 9 29: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.isClosed:()Z
ifeq 19
30: StackMap locals:
StackMap stack:
return
end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 31 1 timeout Ljava/time/Duration;
4 31 2 base J
5 31 4 now J
6 7 6 millis J
9 31 6 millis J
10 31 8 nanos I
20 29 9 delay J
Exception table:
from to target type
5 6 7 Class java.lang.ArithmeticException
12 16 17 any
17 18 17 any
23 25 26 any
26 27 26 any
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
timeout
protected abstract void process();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
protected final void setClosed(boolean);
descriptor: (Z)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.jfr.internal.consumer.AbstractEventStream.closed:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 2 1 closed Z
MethodParameters:
Name Flags
closed
protected final boolean isClosed();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.closed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
public final void startAsync(long);
descriptor: (J)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.startInternal:(J)V
1: aload 0
invokedynamic run(Ljdk/jfr/internal/consumer/AbstractEventStream;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
jdk/jfr/internal/consumer/AbstractEventStream.lambda$1()V (7)
()V
astore 3
start local 3 2: aload 0
aload 0
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.nextThreadName:()Ljava/lang/String;
aload 3
invokestatic jdk.jfr.internal.SecuritySupport.createThreadWitNoPermissions:(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Thread;
putfield jdk.jfr.internal.consumer.AbstractEventStream.thread:Ljava/lang/Thread;
3: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.thread:Ljava/lang/Thread;
invokevirtual java.lang.Thread.start:()V
4: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 5 1 startNanos J
2 5 3 r Ljava/lang/Runnable;
MethodParameters:
Name Flags
startNanos
public final void start(long);
descriptor: (J)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.startInternal:(J)V
1: aload 0
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield jdk.jfr.internal.consumer.AbstractEventStream.thread:Ljava/lang/Thread;
2: aload 0
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.accessControllerContext:Ljava/security/AccessControlContext;
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.run:(Ljava/security/AccessControlContext;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 4 1 startNanos J
MethodParameters:
Name Flags
startNanos
protected final java.lang.Runnable getFlushOperation();
descriptor: ()Ljava/lang/Runnable;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.flushOperation:Ljava/lang/Runnable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
protected final void onFlush();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.getFlushOperation:()Ljava/lang/Runnable;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokeinterface java.lang.Runnable.run:()V
3: StackMap locals: java.lang.Runnable
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
1 4 1 r Ljava/lang/Runnable;
private void startInternal(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
dup
astore 3
monitorenter
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
getfield jdk.jfr.internal.consumer.StreamConfiguration.started:Z
ifeq 3
2: new java.lang.IllegalStateException
dup
ldc "Event stream can only be started once"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: jdk.jfr.internal.consumer.StreamConfiguration
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.recording:Ljdk/jfr/internal/PlatformRecording;
ifnull 5
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
getfield jdk.jfr.internal.consumer.StreamConfiguration.startTime:Ljava/time/Instant;
ifnonnull 5
4: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
lload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setStartNanos:(J)V
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
iconst_1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setStarted:(Z)V
6: aload 3
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 3
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 11 1 startNanos J
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
startNanos
private void execute();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.process:()V
1: goto 39
StackMap locals:
StackMap stack: java.io.IOException
2: pop
3: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_STREAMING:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
ldc "Execution of stream ended."
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
4: aload 0
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.close:()V
5: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 2
7: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
dup
astore 3
monitorenter
8: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
9: aload 3
monitorexit
10: goto 13
StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream top java.lang.Throwable java.lang.Object
StackMap stack: java.lang.Throwable
11: aload 3
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
aload 2
athrow
14: StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
dup
astore 3
monitorenter
15: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
16: aload 3
monitorexit
17: goto 56
StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream top top java.lang.Object
StackMap stack: java.lang.Throwable
18: aload 3
monitorexit
19: athrow
20: StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream
StackMap stack: java.lang.Throwable
astore 1
21: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_STREAMING:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
ldc "Execution of stream ended."
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
22: aload 0
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.close:()V
23: goto 32
StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.lang.Throwable
StackMap stack: java.lang.Throwable
24: astore 2
25: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
dup
astore 3
monitorenter
26: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
27: aload 3
monitorexit
28: goto 31
StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.lang.Throwable java.lang.Throwable java.lang.Object
StackMap stack: java.lang.Throwable
29: aload 3
monitorexit
30: athrow
31: StackMap locals:
StackMap stack:
aload 2
athrow
32: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
dup
astore 3
monitorenter
33: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
34: aload 3
monitorexit
35: goto 38
StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.lang.Throwable top java.lang.Object
StackMap stack: java.lang.Throwable
36: aload 3
monitorexit
37: athrow
38: StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.lang.Throwable
StackMap stack:
aload 1
athrow
39: StackMap locals:
StackMap stack:
getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_STREAMING:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
ldc "Execution of stream ended."
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
40: aload 0
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.close:()V
41: goto 50
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 2
43: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
dup
astore 3
monitorenter
44: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
45: aload 3
monitorexit
46: goto 49
StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream top java.lang.Throwable java.lang.Object
StackMap stack: java.lang.Throwable
47: aload 3
monitorexit
48: athrow
49: StackMap locals:
StackMap stack:
aload 2
athrow
50: StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
dup
astore 3
monitorenter
51: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
52: aload 3
monitorexit
53: goto 56
StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream top top java.lang.Object
StackMap stack: java.lang.Throwable
54: aload 3
monitorexit
55: athrow
56: StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
Exception table:
from to target type
0 1 2 Class java.io.IOException
4 6 6 any
8 10 11 any
11 12 11 any
15 17 18 any
18 19 18 any
0 3 20 any
22 24 24 any
26 28 29 any
29 30 29 any
33 35 36 any
36 37 36 any
40 42 42 any
44 46 47 any
47 48 47 any
51 53 54 any
54 55 54 any
private void run(java.security.AccessControlContext);
descriptor: (Ljava/security/AccessControlContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new jdk.jfr.internal.consumer.AbstractEventStream$1
dup
aload 0
invokespecial jdk.jfr.internal.consumer.AbstractEventStream$1.<init>:(Ljdk/jfr/internal/consumer/AbstractEventStream;)V
1: aload 1
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 4 1 accessControlContext Ljava/security/AccessControlContext;
MethodParameters:
Name Flags
accessControlContext
private java.lang.String nextThreadName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "JFR Event Stream "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic jdk.jfr.internal.consumer.AbstractEventStream.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
public void onMetadata(java.util.function.Consumer<jdk.jfr.consumer.MetadataEvent>);
descriptor: (Ljava/util/function/Consumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
dup
astore 2
monitorenter
2: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
getfield jdk.jfr.internal.consumer.StreamConfiguration.started:Z
ifeq 4
3: new java.lang.IllegalStateException
dup
ldc "Stream is already started"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: jdk.jfr.internal.consumer.StreamConfiguration
StackMap stack:
aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.streamConfiguration:Ljdk/jfr/internal/consumer/StreamConfiguration;
aload 1
invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addMetadataAction:(Ljava/util/function/Consumer;)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 10 1 action Ljava/util/function/Consumer<Ljdk/jfr/consumer/MetadataEvent;>;
Exception table:
from to target type
2 5 6 any
6 7 6 any
Signature: (Ljava/util/function/Consumer<Ljdk/jfr/consumer/MetadataEvent;>;)V
MethodParameters:
Name Flags
action
protected final void onMetadata(jdk.jfr.internal.consumer.ChunkParser);
descriptor: (Ljdk/jfr/internal/consumer/ChunkParser;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.jfr.internal.consumer.ChunkParser.hasStaleMetadata:()Z
ifeq 8
1: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.dispatcher:Ljdk/jfr/internal/consumer/Dispatcher;
invokevirtual jdk.jfr.internal.consumer.Dispatcher.hasMetadataHandler:()Z
ifeq 8
2: aload 1
invokevirtual jdk.jfr.internal.consumer.ChunkParser.getEventTypes:()Ljava/util/List;
astore 2
start local 2 3: aload 1
invokevirtual jdk.jfr.internal.consumer.ChunkParser.getPreviousEventTypes:()Ljava/util/List;
astore 3
start local 3 4: aload 2
aload 3
if_acmpeq 7
5: invokestatic jdk.jfr.internal.consumer.JdkJfrConsumer.instance:()Ljdk/jfr/internal/consumer/JdkJfrConsumer;
aload 3
aload 2
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.configurations:Ljava/util/List;
invokevirtual jdk.jfr.internal.consumer.JdkJfrConsumer.newMetadataEvent:(Ljava/util/List;Ljava/util/List;Ljava/util/List;)Ljdk/jfr/consumer/MetadataEvent;
astore 4
start local 4 6: aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.dispatcher:Ljdk/jfr/internal/consumer/Dispatcher;
aload 4
invokevirtual jdk.jfr.internal.consumer.Dispatcher.runMetadataActions:(Ljdk/jfr/consumer/MetadataEvent;)V
end local 4 7: StackMap locals: java.util.List java.util.List
StackMap stack:
aload 1
iconst_0
invokevirtual jdk.jfr.internal.consumer.ChunkParser.setStaleMetadata:(Z)V
end local 3 end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
0 9 1 parser Ljdk/jfr/internal/consumer/ChunkParser;
3 8 2 ce Ljava/util/List<Ljdk/jfr/EventType;>;
4 8 3 pe Ljava/util/List<Ljdk/jfr/EventType;>;
6 7 4 me Ljdk/jfr/consumer/MetadataEvent;
MethodParameters:
Name Flags
parser
private void lambda$0();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.dispatcher:()Ljdk/jfr/internal/consumer/Dispatcher;
invokevirtual jdk.jfr.internal.consumer.Dispatcher.runFlushActions:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
private void lambda$1();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield jdk.jfr.internal.consumer.AbstractEventStream.accessControllerContext:Ljava/security/AccessControlContext;
invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.run:(Ljava/security/AccessControlContext;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/consumer/AbstractEventStream;
}
SourceFile: "AbstractEventStream.java"
NestMembers:
jdk.jfr.internal.consumer.AbstractEventStream$1
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
jdk.jfr.internal.consumer.AbstractEventStream$1