abstract class io.vertx.core.impl.ContextImpl implements io.vertx.core.impl.ContextInternal
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: io.vertx.core.impl.ContextImpl
super_class: java.lang.Object
{
private static io.netty.util.concurrent.FastThreadLocal<io.vertx.core.impl.ContextImpl$Holder> holderLocal;
descriptor: Lio/netty/util/concurrent/FastThreadLocal;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Lio/netty/util/concurrent/FastThreadLocal<Lio/vertx/core/impl/ContextImpl$Holder;>;
private static final io.vertx.core.logging.Logger log;
descriptor: Lio/vertx/core/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String THREAD_CHECKS_PROP_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "vertx.threadChecks"
private static final java.lang.String DISABLE_TIMINGS_PROP_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "vertx.disableContextTimings"
private static final java.lang.String DISABLE_TCCL_PROP_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "vertx.disableTCCL"
private static final boolean THREAD_CHECKS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean DISABLE_TIMINGS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean DISABLE_TCCL;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected final io.vertx.core.impl.VertxInternal owner;
descriptor: Lio/vertx/core/impl/VertxInternal;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.String deploymentID;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final io.vertx.core.json.JsonObject config;
descriptor: Lio/vertx/core/json/JsonObject;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private io.vertx.core.impl.Deployment deployment;
descriptor: Lio/vertx/core/impl/Deployment;
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.impl.CloseHooks closeHooks;
descriptor: Lio/vertx/core/impl/CloseHooks;
flags: (0x0002) ACC_PRIVATE
private final java.lang.ClassLoader tccl;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.channel.EventLoop eventLoop;
descriptor: Lio/netty/channel/EventLoop;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.concurrent.ConcurrentMap<java.lang.Object, java.lang.Object> contextData;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Object;Ljava/lang/Object;>;
private volatile io.vertx.core.Handler<java.lang.Throwable> exceptionHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
protected final io.vertx.core.impl.WorkerPool workerPool;
descriptor: Lio/vertx/core/impl/WorkerPool;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final io.vertx.core.impl.WorkerPool internalBlockingPool;
descriptor: Lio/vertx/core/impl/WorkerPool;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
final io.vertx.core.impl.TaskQueue orderedTasks;
descriptor: Lio/vertx/core/impl/TaskQueue;
flags: (0x0010) ACC_FINAL
protected final io.vertx.core.impl.TaskQueue internalOrderedTasks;
descriptor: Lio/vertx/core/impl/TaskQueue;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new io.vertx.core.impl.ContextImpl$1
dup
invokespecial io.vertx.core.impl.ContextImpl$1.<init>:()V
putstatic io.vertx.core.impl.ContextImpl.holderLocal:Lio/netty/util/concurrent/FastThreadLocal;
1: ldc Lio/vertx/core/impl/ContextImpl;
invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
putstatic io.vertx.core.impl.ContextImpl.log:Lio/vertx/core/logging/Logger;
2: ldc "vertx.threadChecks"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic io.vertx.core.impl.ContextImpl.THREAD_CHECKS:Z
3: ldc "vertx.disableContextTimings"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic io.vertx.core.impl.ContextImpl.DISABLE_TIMINGS:Z
4: ldc "vertx.disableTCCL"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic io.vertx.core.impl.ContextImpl.DISABLE_TCCL:Z
return
LocalVariableTable:
Start End Slot Name Signature
public static io.vertx.core.Context context();
descriptor: ()Lio/vertx/core/Context;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 0
start local 0 1: aload 0
instanceof io.vertx.core.impl.VertxThread
ifeq 3
2: aload 0
checkcast io.vertx.core.impl.VertxThread
invokevirtual io.vertx.core.impl.VertxThread.getContext:()Lio/vertx/core/impl/ContextImpl;
areturn
3: StackMap locals: java.lang.Thread
StackMap stack:
aload 0
instanceof io.netty.util.concurrent.FastThreadLocalThread
ifeq 5
4: getstatic io.vertx.core.impl.ContextImpl.holderLocal:Lio/netty/util/concurrent/FastThreadLocal;
invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
checkcast io.vertx.core.impl.ContextImpl$Holder
getfield io.vertx.core.impl.ContextImpl$Holder.ctx:Lio/vertx/core/impl/ContextInternal;
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 6 0 current Ljava/lang/Thread;
private static io.netty.channel.EventLoop getEventLoop(io.vertx.core.impl.VertxInternal);
descriptor: (Lio/vertx/core/impl/VertxInternal;)Lio/netty/channel/EventLoop;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface io.vertx.core.impl.VertxInternal.getEventLoopGroup:()Lio/netty/channel/EventLoopGroup;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokeinterface io.netty.channel.EventLoopGroup.next:()Lio/netty/channel/EventLoop;
areturn
3: StackMap locals: io.netty.channel.EventLoopGroup
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 vertx Lio/vertx/core/impl/VertxInternal;
1 4 1 group Lio/netty/channel/EventLoopGroup;
MethodParameters:
Name Flags
vertx
protected void <init>(io.vertx.core.impl.VertxInternal, io.vertx.core.impl.WorkerPool, io.vertx.core.impl.WorkerPool, java.lang.String, io.vertx.core.json.JsonObject, java.lang.ClassLoader);
descriptor: (Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/impl/WorkerPool;Lio/vertx/core/impl/WorkerPool;Ljava/lang/String;Lio/vertx/core/json/JsonObject;Ljava/lang/ClassLoader;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 1
invokestatic io.vertx.core.impl.ContextImpl.getEventLoop:(Lio/vertx/core/impl/VertxInternal;)Lio/netty/channel/EventLoop;
aload 2
aload 3
aload 4
aload 5
aload 6
invokespecial io.vertx.core.impl.ContextImpl.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/netty/channel/EventLoop;Lio/vertx/core/impl/WorkerPool;Lio/vertx/core/impl/WorkerPool;Ljava/lang/String;Lio/vertx/core/json/JsonObject;Ljava/lang/ClassLoader;)V
1: return
end local 6 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 2 0 this Lio/vertx/core/impl/ContextImpl;
0 2 1 vertx Lio/vertx/core/impl/VertxInternal;
0 2 2 internalBlockingPool Lio/vertx/core/impl/WorkerPool;
0 2 3 workerPool Lio/vertx/core/impl/WorkerPool;
0 2 4 deploymentID Ljava/lang/String;
0 2 5 config Lio/vertx/core/json/JsonObject;
0 2 6 tccl Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
vertx
internalBlockingPool
workerPool
deploymentID
config
tccl
protected void <init>(io.vertx.core.impl.VertxInternal, io.netty.channel.EventLoop, io.vertx.core.impl.WorkerPool, io.vertx.core.impl.WorkerPool, java.lang.String, io.vertx.core.json.JsonObject, java.lang.ClassLoader);
descriptor: (Lio/vertx/core/impl/VertxInternal;Lio/netty/channel/EventLoop;Lio/vertx/core/impl/WorkerPool;Lio/vertx/core/impl/WorkerPool;Ljava/lang/String;Lio/vertx/core/json/JsonObject;Ljava/lang/ClassLoader;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic io.vertx.core.impl.ContextImpl.DISABLE_TCCL:Z
ifeq 3
aload 7
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
if_acmpeq 3
2: getstatic io.vertx.core.impl.ContextImpl.log:Lio/vertx/core/logging/Logger;
ldc "You have disabled TCCL checks but you have a custom TCCL to set."
invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;)V
3: StackMap locals: io.vertx.core.impl.ContextImpl io.vertx.core.impl.VertxInternal io.netty.channel.EventLoop io.vertx.core.impl.WorkerPool io.vertx.core.impl.WorkerPool java.lang.String io.vertx.core.json.JsonObject java.lang.ClassLoader
StackMap stack:
aload 0
aload 5
putfield io.vertx.core.impl.ContextImpl.deploymentID:Ljava/lang/String;
4: aload 0
aload 6
putfield io.vertx.core.impl.ContextImpl.config:Lio/vertx/core/json/JsonObject;
5: aload 0
aload 2
putfield io.vertx.core.impl.ContextImpl.eventLoop:Lio/netty/channel/EventLoop;
6: aload 0
aload 7
putfield io.vertx.core.impl.ContextImpl.tccl:Ljava/lang/ClassLoader;
7: aload 0
aload 1
putfield io.vertx.core.impl.ContextImpl.owner:Lio/vertx/core/impl/VertxInternal;
8: aload 0
aload 4
putfield io.vertx.core.impl.ContextImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
9: aload 0
aload 3
putfield io.vertx.core.impl.ContextImpl.internalBlockingPool:Lio/vertx/core/impl/WorkerPool;
10: aload 0
new io.vertx.core.impl.TaskQueue
dup
invokespecial io.vertx.core.impl.TaskQueue.<init>:()V
putfield io.vertx.core.impl.ContextImpl.orderedTasks:Lio/vertx/core/impl/TaskQueue;
11: aload 0
new io.vertx.core.impl.TaskQueue
dup
invokespecial io.vertx.core.impl.TaskQueue.<init>:()V
putfield io.vertx.core.impl.ContextImpl.internalOrderedTasks:Lio/vertx/core/impl/TaskQueue;
12: aload 0
new io.vertx.core.impl.CloseHooks
dup
getstatic io.vertx.core.impl.ContextImpl.log:Lio/vertx/core/logging/Logger;
invokespecial io.vertx.core.impl.CloseHooks.<init>:(Lio/vertx/core/logging/Logger;)V
putfield io.vertx.core.impl.ContextImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
13: return
end local 7 end local 6 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 14 0 this Lio/vertx/core/impl/ContextImpl;
0 14 1 vertx Lio/vertx/core/impl/VertxInternal;
0 14 2 eventLoop Lio/netty/channel/EventLoop;
0 14 3 internalBlockingPool Lio/vertx/core/impl/WorkerPool;
0 14 4 workerPool Lio/vertx/core/impl/WorkerPool;
0 14 5 deploymentID Ljava/lang/String;
0 14 6 config Lio/vertx/core/json/JsonObject;
0 14 7 tccl Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
vertx
eventLoop
internalBlockingPool
workerPool
deploymentID
config
tccl
static void setContext(io.vertx.core.impl.ContextImpl);
descriptor: (Lio/vertx/core/impl/ContextImpl;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 1
instanceof io.vertx.core.impl.VertxThread
ifeq 4
2: aload 1
checkcast io.vertx.core.impl.VertxThread
aload 0
invokestatic io.vertx.core.impl.ContextImpl.setContext:(Lio/netty/util/concurrent/FastThreadLocalThread;Lio/vertx/core/impl/ContextImpl;)V
3: goto 5
4: StackMap locals: java.lang.Thread
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Attempt to setContext on non Vert.x thread "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lio/vertx/core/impl/ContextImpl;
1 6 1 current Ljava/lang/Thread;
MethodParameters:
Name Flags
context
private static void setContext(io.netty.util.concurrent.FastThreadLocalThread, io.vertx.core.impl.ContextImpl);
descriptor: (Lio/netty/util/concurrent/FastThreadLocalThread;Lio/vertx/core/impl/ContextImpl;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
instanceof io.vertx.core.impl.VertxThread
ifeq 3
1: aload 0
checkcast io.vertx.core.impl.VertxThread
aload 1
invokevirtual io.vertx.core.impl.VertxThread.setContext:(Lio/vertx/core/impl/ContextImpl;)V
2: goto 5
3: StackMap locals:
StackMap stack:
getstatic io.vertx.core.impl.ContextImpl.holderLocal:Lio/netty/util/concurrent/FastThreadLocal;
invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
checkcast io.vertx.core.impl.ContextImpl$Holder
astore 2
start local 2 4: aload 2
aload 1
putfield io.vertx.core.impl.ContextImpl$Holder.ctx:Lio/vertx/core/impl/ContextInternal;
end local 2 5: StackMap locals:
StackMap stack:
getstatic io.vertx.core.impl.ContextImpl.DISABLE_TCCL:Z
ifne 10
6: aload 1
ifnull 9
7: aload 1
invokevirtual io.vertx.core.impl.ContextImpl.setTCCL:()V
8: goto 10
9: StackMap locals:
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aconst_null
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 thread Lio/netty/util/concurrent/FastThreadLocalThread;
0 11 1 context Lio/vertx/core/impl/ContextImpl;
4 5 2 holder Lio/vertx/core/impl/ContextImpl$Holder;
MethodParameters:
Name Flags
thread
context
public void setDeployment(io.vertx.core.impl.Deployment);
descriptor: (Lio/vertx/core/impl/Deployment;)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 io.vertx.core.impl.ContextImpl.deployment:Lio/vertx/core/impl/Deployment;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/ContextImpl;
0 2 1 deployment Lio/vertx/core/impl/Deployment;
MethodParameters:
Name Flags
deployment
public io.vertx.core.impl.Deployment getDeployment();
descriptor: ()Lio/vertx/core/impl/Deployment;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.impl.ContextImpl.deployment:Lio/vertx/core/impl/Deployment;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/impl/ContextImpl;
public void addCloseHook(io.vertx.core.Closeable);
descriptor: (Lio/vertx/core/Closeable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.impl.ContextImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
aload 1
invokevirtual io.vertx.core.impl.CloseHooks.add:(Lio/vertx/core/Closeable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/ContextImpl;
0 2 1 hook Lio/vertx/core/Closeable;
MethodParameters:
Name Flags
hook
public boolean removeCloseHook(io.vertx.core.Closeable);
descriptor: (Lio/vertx/core/Closeable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.impl.ContextImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
aload 1
invokevirtual io.vertx.core.impl.CloseHooks.remove:(Lio/vertx/core/Closeable;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/impl/ContextImpl;
0 1 1 hook Lio/vertx/core/Closeable;
MethodParameters:
Name Flags
hook
public void runCloseHooks(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.impl.ContextImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
aload 1
invokevirtual io.vertx.core.impl.CloseHooks.run:(Lio/vertx/core/Handler;)V
1: aload 0
invokestatic io.vertx.core.impl.VertxThreadFactory.unsetContext:(Lio/vertx/core/impl/ContextImpl;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/impl/ContextImpl;
0 3 1 completionHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
completionHandler
abstract void executeAsync(io.vertx.core.Handler<java.lang.Void>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0400) ACC_ABSTRACT
Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
task
abstract <T> void execute(T, io.vertx.core.Handler<T>);
descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)V
flags: (0x0400) ACC_ABSTRACT
Signature: <T:Ljava/lang/Object;>(TT;Lio/vertx/core/Handler<TT;>;)V
MethodParameters:
Name Flags
value
task
public abstract boolean isEventLoopContext();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isMultiThreadedWorkerContext();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public <T> T get(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.impl.ContextImpl.contextData:()Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/impl/ContextImpl;
0 1 1 key Ljava/lang/String;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)TT;
MethodParameters:
Name Flags
key
public void put(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.vertx.core.impl.ContextImpl.contextData:()Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/ContextImpl;
0 2 1 key Ljava/lang/String;
0 2 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
key
value
public boolean remove(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.impl.ContextImpl.contextData:()Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/ContextImpl;
0 2 1 key Ljava/lang/String;
MethodParameters:
Name Flags
key
public boolean isWorkerContext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.core.impl.ContextImpl.isEventLoopContext:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/impl/ContextImpl;
static boolean isOnVertxThread(boolean);
descriptor: (Z)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 1
instanceof io.vertx.core.impl.VertxThread
ifeq 5
2: aload 1
checkcast io.vertx.core.impl.VertxThread
astore 2
start local 2 3: aload 2
invokevirtual io.vertx.core.impl.VertxThread.isWorker:()Z
iload 0
if_icmpne 4
iconst_1
ireturn
StackMap locals: java.lang.Thread io.vertx.core.impl.VertxThread
StackMap stack:
4: iconst_0
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 worker Z
1 6 1 t Ljava/lang/Thread;
3 5 2 vt Lio/vertx/core/impl/VertxThread;
MethodParameters:
Name Flags
worker
public final void executeFromIO(io.vertx.core.Handler<java.lang.Void>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aload 1
invokevirtual io.vertx.core.impl.ContextImpl.executeFromIO:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/ContextImpl;
0 2 1 task Lio/vertx/core/Handler<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
task
public final <T> void executeFromIO(T, io.vertx.core.Handler<T>);
descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)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: getstatic io.vertx.core.impl.ContextImpl.THREAD_CHECKS:Z
ifeq 2
1: aload 0
invokevirtual io.vertx.core.impl.ContextImpl.checkEventLoopThread:()V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.vertx.core.impl.ContextImpl.execute:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/impl/ContextImpl;
0 4 1 value TT;
0 4 2 task Lio/vertx/core/Handler<TT;>;
Signature: <T:Ljava/lang/Object;>(TT;Lio/vertx/core/Handler<TT;>;)V
MethodParameters:
Name Flags
value
task
private void checkEventLoopThread();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 1
instanceof io.netty.util.concurrent.FastThreadLocalThread
ifne 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Expected to be on Vert.x thread, but actually on: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.Thread
StackMap stack:
aload 1
instanceof io.vertx.core.impl.VertxThread
ifeq 5
aload 1
checkcast io.vertx.core.impl.VertxThread
invokevirtual io.vertx.core.impl.VertxThread.isWorker:()Z
ifeq 5
4: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Event delivered on unexpected worker thread "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/impl/ContextImpl;
1 6 1 current Ljava/lang/Thread;
public void runOnContext(io.vertx.core.Handler<java.lang.Void>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.core.impl.ContextImpl.executeAsync:(Lio/vertx/core/Handler;)V
1: goto 3
StackMap locals:
StackMap stack: java.util.concurrent.RejectedExecutionException
2: pop
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/impl/ContextImpl;
0 4 1 task Lio/vertx/core/Handler<Ljava/lang/Void;>;
Exception table:
from to target type
0 1 2 Class java.util.concurrent.RejectedExecutionException
Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
task
public java.lang.String deploymentID();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.impl.ContextImpl.deploymentID:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/impl/ContextImpl;
public io.vertx.core.json.JsonObject config();
descriptor: ()Lio/vertx/core/json/JsonObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.impl.ContextImpl.config:Lio/vertx/core/json/JsonObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/impl/ContextImpl;
public java.util.List<java.lang.String> processArgs();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: invokestatic io.vertx.core.impl.launcher.VertxCommandLauncher.getProcessArguments:()Ljava/util/List;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
goto 3
StackMap locals: java.util.List
StackMap stack:
2: getstatic io.vertx.core.Starter.PROCESS_ARGS:Ljava/util/List;
StackMap locals:
StackMap stack: java.util.List
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/impl/ContextImpl;
1 4 1 processArgument Ljava/util/List<Ljava/lang/String;>;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public io.netty.channel.EventLoop nettyEventLoop();
descriptor: ()Lio/netty/channel/EventLoop;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.impl.ContextImpl.eventLoop:Lio/netty/channel/EventLoop;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/impl/ContextImpl;
public io.vertx.core.impl.VertxInternal owner();
descriptor: ()Lio/vertx/core/impl/VertxInternal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.impl.ContextImpl.owner:Lio/vertx/core/impl/VertxInternal;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/impl/ContextImpl;
public <T> void executeBlockingInternal(io.vertx.core.Handler<io.vertx.core.Promise<T>>, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
getfield io.vertx.core.impl.ContextImpl.internalBlockingPool:Lio/vertx/core/impl/WorkerPool;
invokevirtual io.vertx.core.impl.WorkerPool.executor:()Ljava/util/concurrent/ExecutorService;
aload 0
getfield io.vertx.core.impl.ContextImpl.internalOrderedTasks:Lio/vertx/core/impl/TaskQueue;
aload 0
getfield io.vertx.core.impl.ContextImpl.internalBlockingPool:Lio/vertx/core/impl/WorkerPool;
invokevirtual io.vertx.core.impl.WorkerPool.metrics:()Lio/vertx/core/spi/metrics/PoolMetrics;
invokevirtual io.vertx.core.impl.ContextImpl.executeBlocking:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;Ljava/util/concurrent/Executor;Lio/vertx/core/impl/TaskQueue;Lio/vertx/core/spi/metrics/PoolMetrics;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/ContextImpl;
0 2 1 action Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
0 2 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)V
MethodParameters:
Name Flags
action
resultHandler
public <T> void executeBlocking(io.vertx.core.Handler<io.vertx.core.Promise<T>>, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
descriptor: (Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
aload 0
getfield io.vertx.core.impl.ContextImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
invokevirtual io.vertx.core.impl.WorkerPool.executor:()Ljava/util/concurrent/ExecutorService;
iload 2
ifeq 1
aload 0
getfield io.vertx.core.impl.ContextImpl.orderedTasks:Lio/vertx/core/impl/TaskQueue;
goto 2
StackMap locals: io.vertx.core.impl.ContextImpl io.vertx.core.Handler int io.vertx.core.Handler
StackMap stack: io.vertx.core.impl.ContextImpl io.vertx.core.Handler io.vertx.core.Handler java.util.concurrent.ExecutorService
1: aconst_null
StackMap locals: io.vertx.core.impl.ContextImpl io.vertx.core.Handler int io.vertx.core.Handler
StackMap stack: io.vertx.core.impl.ContextImpl io.vertx.core.Handler io.vertx.core.Handler java.util.concurrent.ExecutorService io.vertx.core.impl.TaskQueue
2: aload 0
getfield io.vertx.core.impl.ContextImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
invokevirtual io.vertx.core.impl.WorkerPool.metrics:()Lio/vertx/core/spi/metrics/PoolMetrics;
invokevirtual io.vertx.core.impl.ContextImpl.executeBlocking:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;Ljava/util/concurrent/Executor;Lio/vertx/core/impl/TaskQueue;Lio/vertx/core/spi/metrics/PoolMetrics;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/impl/ContextImpl;
0 4 1 blockingCodeHandler Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
0 4 2 ordered Z
0 4 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;ZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)V
MethodParameters:
Name Flags
blockingCodeHandler
ordered
resultHandler
public <T> void executeBlocking(io.vertx.core.Handler<io.vertx.core.Promise<T>>, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_1
aload 2
invokevirtual io.vertx.core.impl.ContextImpl.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/ContextImpl;
0 2 1 blockingCodeHandler Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
0 2 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)V
MethodParameters:
Name Flags
blockingCodeHandler
resultHandler
public <T> void executeBlocking(io.vertx.core.Handler<io.vertx.core.Promise<T>>, io.vertx.core.impl.TaskQueue, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/impl/TaskQueue;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
aload 0
getfield io.vertx.core.impl.ContextImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
invokevirtual io.vertx.core.impl.WorkerPool.executor:()Ljava/util/concurrent/ExecutorService;
aload 2
aload 0
getfield io.vertx.core.impl.ContextImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
invokevirtual io.vertx.core.impl.WorkerPool.metrics:()Lio/vertx/core/spi/metrics/PoolMetrics;
invokevirtual io.vertx.core.impl.ContextImpl.executeBlocking:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;Ljava/util/concurrent/Executor;Lio/vertx/core/impl/TaskQueue;Lio/vertx/core/spi/metrics/PoolMetrics;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/ContextImpl;
0 2 1 blockingCodeHandler Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
0 2 2 queue Lio/vertx/core/impl/TaskQueue;
0 2 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;Lio/vertx/core/impl/TaskQueue;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)V
MethodParameters:
Name Flags
blockingCodeHandler
queue
resultHandler
<T> void executeBlocking(io.vertx.core.Handler<io.vertx.core.Promise<T>>, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>, java.util.concurrent.Executor, io.vertx.core.impl.TaskQueue, io.vertx.core.spi.metrics.PoolMetrics);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Handler;Ljava/util/concurrent/Executor;Lio/vertx/core/impl/TaskQueue;Lio/vertx/core/spi/metrics/PoolMetrics;)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
ifnull 1
aload 5
invokeinterface io.vertx.core.spi.metrics.PoolMetrics.submitted:()Ljava/lang/Object;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
2: astore 6
start local 6 3: aload 0
aload 5
aload 6
aload 1
aload 2
invokedynamic run(Lio/vertx/core/impl/ContextImpl;Lio/vertx/core/spi/metrics/PoolMetrics;Ljava/lang/Object;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)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
io/vertx/core/impl/ContextImpl.lambda$0(Lio/vertx/core/spi/metrics/PoolMetrics;Ljava/lang/Object;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V (7)
()V
astore 7
start local 7 4: aload 4
ifnull 7
5: aload 4
aload 7
aload 3
invokevirtual io.vertx.core.impl.TaskQueue.execute:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
6: goto 13
7: StackMap locals: java.lang.Object java.lang.Runnable
StackMap stack:
aload 3
aload 7
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
end local 7 8: goto 13
StackMap locals: io.vertx.core.impl.ContextImpl io.vertx.core.Handler io.vertx.core.Handler java.util.concurrent.Executor io.vertx.core.impl.TaskQueue io.vertx.core.spi.metrics.PoolMetrics java.lang.Object
StackMap stack: java.util.concurrent.RejectedExecutionException
9: astore 7
start local 7 10: aload 5
ifnull 12
11: aload 5
aload 6
invokeinterface io.vertx.core.spi.metrics.PoolMetrics.rejected:(Ljava/lang/Object;)V
12: StackMap locals: java.util.concurrent.RejectedExecutionException
StackMap stack:
aload 7
athrow
end local 7 13: StackMap locals:
StackMap stack:
return
end local 6 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 14 0 this Lio/vertx/core/impl/ContextImpl;
0 14 1 blockingCodeHandler Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
0 14 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
0 14 3 exec Ljava/util/concurrent/Executor;
0 14 4 queue Lio/vertx/core/impl/TaskQueue;
0 14 5 metrics Lio/vertx/core/spi/metrics/PoolMetrics;
3 14 6 queueMetric Ljava/lang/Object;
4 8 7 command Ljava/lang/Runnable;
10 13 7 e Ljava/util/concurrent/RejectedExecutionException;
Exception table:
from to target type
3 8 9 Class java.util.concurrent.RejectedExecutionException
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;Ljava/util/concurrent/Executor;Lio/vertx/core/impl/TaskQueue;Lio/vertx/core/spi/metrics/PoolMetrics;)V
MethodParameters:
Name Flags
blockingCodeHandler
resultHandler
exec
queue
metrics
public synchronized java.util.concurrent.ConcurrentMap<java.lang.Object, java.lang.Object> contextData();
descriptor: ()Ljava/util/concurrent/ConcurrentMap;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.impl.ContextImpl.contextData:Ljava/util/concurrent/ConcurrentMap;
ifnonnull 2
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield io.vertx.core.impl.ContextImpl.contextData:Ljava/util/concurrent/ConcurrentMap;
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.impl.ContextImpl.contextData:Ljava/util/concurrent/ConcurrentMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/impl/ContextImpl;
Signature: ()Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Object;Ljava/lang/Object;>;
<T> boolean executeTask(T, io.vertx.core.Handler<T>);
descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)Z
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 3
start local 3 1: aload 3
instanceof io.netty.util.concurrent.FastThreadLocalThread
ifne 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Uh oh! context executing with wrong thread! "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.Thread
StackMap stack:
aload 3
checkcast io.netty.util.concurrent.FastThreadLocalThread
astore 4
start local 4 4: getstatic io.vertx.core.impl.ContextImpl.DISABLE_TIMINGS:Z
ifne 6
5: aload 0
aload 4
invokevirtual io.vertx.core.impl.ContextImpl.executeStart:(Lio/netty/util/concurrent/FastThreadLocalThread;)V
6: StackMap locals: io.netty.util.concurrent.FastThreadLocalThread
StackMap stack:
aload 4
aload 0
invokestatic io.vertx.core.impl.ContextImpl.setContext:(Lio/netty/util/concurrent/FastThreadLocalThread;Lio/vertx/core/impl/ContextImpl;)V
7: aload 2
aload 1
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
8: getstatic io.vertx.core.impl.ContextImpl.DISABLE_TIMINGS:Z
ifne 10
9: aload 0
aload 4
invokevirtual io.vertx.core.impl.ContextImpl.executeEnd:(Lio/netty/util/concurrent/FastThreadLocalThread;)V
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 12: aload 0
aload 5
invokevirtual io.vertx.core.impl.ContextImpl.reportException:(Ljava/lang/Throwable;)V
13: getstatic io.vertx.core.impl.ContextImpl.DISABLE_TIMINGS:Z
ifne 15
14: aload 0
aload 4
invokevirtual io.vertx.core.impl.ContextImpl.executeEnd:(Lio/netty/util/concurrent/FastThreadLocalThread;)V
15: StackMap locals: java.lang.Throwable
StackMap stack:
iconst_0
ireturn
end local 5 16: StackMap locals: io.vertx.core.impl.ContextImpl java.lang.Object io.vertx.core.Handler java.lang.Thread io.netty.util.concurrent.FastThreadLocalThread
StackMap stack: java.lang.Throwable
astore 6
17: getstatic io.vertx.core.impl.ContextImpl.DISABLE_TIMINGS:Z
ifne 19
18: aload 0
aload 4
invokevirtual io.vertx.core.impl.ContextImpl.executeEnd:(Lio/netty/util/concurrent/FastThreadLocalThread;)V
19: StackMap locals: io.vertx.core.impl.ContextImpl java.lang.Object io.vertx.core.Handler java.lang.Thread io.netty.util.concurrent.FastThreadLocalThread top java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/vertx/core/impl/ContextImpl;
0 20 1 arg TT;
0 20 2 hTask Lio/vertx/core/Handler<TT;>;
1 20 3 th Ljava/lang/Thread;
4 20 4 current Lio/netty/util/concurrent/FastThreadLocalThread;
12 16 5 t Ljava/lang/Throwable;
Exception table:
from to target type
6 8 11 Class java.lang.Throwable
6 8 16 any
11 13 16 any
Signature: <T:Ljava/lang/Object;>(TT;Lio/vertx/core/Handler<TT;>;)Z
MethodParameters:
Name Flags
arg
hTask
private void executeStart(io.netty.util.concurrent.FastThreadLocalThread);
descriptor: (Lio/netty/util/concurrent/FastThreadLocalThread;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.vertx.core.impl.VertxThread
ifeq 3
1: aload 1
checkcast io.vertx.core.impl.VertxThread
invokevirtual io.vertx.core.impl.VertxThread.executeStart:()V
2: goto 11
3: StackMap locals:
StackMap stack:
getstatic io.vertx.core.impl.ContextImpl.holderLocal:Lio/netty/util/concurrent/FastThreadLocal;
invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
checkcast io.vertx.core.impl.ContextImpl$Holder
astore 2
start local 2 4: aload 2
getfield io.vertx.core.impl.ContextImpl$Holder.checker:Lio/vertx/core/impl/BlockedThreadChecker;
ifnonnull 10
5: aload 0
invokevirtual io.vertx.core.impl.ContextImpl.owner:()Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.blockedThreadChecker:()Lio/vertx/core/impl/BlockedThreadChecker;
astore 3
start local 3 6: aload 2
aload 3
putfield io.vertx.core.impl.ContextImpl$Holder.checker:Lio/vertx/core/impl/BlockedThreadChecker;
7: aload 2
aload 0
getfield io.vertx.core.impl.ContextImpl.owner:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.maxEventLoopExecTime:()J
putfield io.vertx.core.impl.ContextImpl$Holder.maxExecTime:J
8: aload 2
aload 0
getfield io.vertx.core.impl.ContextImpl.owner:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.maxEventLoopExecTimeUnit:()Ljava/util/concurrent/TimeUnit;
putfield io.vertx.core.impl.ContextImpl$Holder.maxExecTimeUnit:Ljava/util/concurrent/TimeUnit;
9: aload 3
aload 1
aload 2
invokevirtual io.vertx.core.impl.BlockedThreadChecker.registerThread:(Ljava/lang/Thread;Lio/vertx/core/impl/BlockedThreadChecker$Task;)V
end local 3 10: StackMap locals: io.vertx.core.impl.ContextImpl$Holder
StackMap stack:
aload 2
invokestatic java.lang.System.nanoTime:()J
putfield io.vertx.core.impl.ContextImpl$Holder.startTime:J
end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/core/impl/ContextImpl;
0 12 1 thread Lio/netty/util/concurrent/FastThreadLocalThread;
4 11 2 holder Lio/vertx/core/impl/ContextImpl$Holder;
6 10 3 checker Lio/vertx/core/impl/BlockedThreadChecker;
MethodParameters:
Name Flags
thread
private void executeEnd(io.netty.util.concurrent.FastThreadLocalThread);
descriptor: (Lio/netty/util/concurrent/FastThreadLocalThread;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.vertx.core.impl.VertxThread
ifeq 3
1: aload 1
checkcast io.vertx.core.impl.VertxThread
invokevirtual io.vertx.core.impl.VertxThread.executeEnd:()V
2: goto 5
3: StackMap locals:
StackMap stack:
getstatic io.vertx.core.impl.ContextImpl.holderLocal:Lio/netty/util/concurrent/FastThreadLocal;
invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
checkcast io.vertx.core.impl.ContextImpl$Holder
astore 2
start local 2 4: aload 2
lconst_0
putfield io.vertx.core.impl.ContextImpl$Holder.startTime:J
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/impl/ContextImpl;
0 6 1 thread Lio/netty/util/concurrent/FastThreadLocalThread;
4 5 2 holder Lio/vertx/core/impl/ContextImpl$Holder;
MethodParameters:
Name Flags
thread
public void reportException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.impl.ContextImpl.exceptionHandler:Lio/vertx/core/Handler;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 0
getfield io.vertx.core.impl.ContextImpl.owner:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.exceptionHandler:()Lio/vertx/core/Handler;
astore 2
3: StackMap locals: io.vertx.core.Handler
StackMap stack:
aload 2
ifnull 6
4: aload 2
aload 1
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
5: goto 7
6: StackMap locals:
StackMap stack:
getstatic io.vertx.core.impl.ContextImpl.log:Lio/vertx/core/logging/Logger;
ldc "Unhandled exception"
aload 1
invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/core/impl/ContextImpl;
0 8 1 t Ljava/lang/Throwable;
1 8 2 handler Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
MethodParameters:
Name Flags
t
private void setTCCL();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 0
getfield io.vertx.core.impl.ContextImpl.tccl:Ljava/lang/ClassLoader;
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/ContextImpl;
public io.vertx.core.Context exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/Context;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.core.impl.ContextImpl.exceptionHandler:Lio/vertx/core/Handler;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/ContextImpl;
0 2 1 handler Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/core/Context;
MethodParameters:
Name Flags
handler
public io.vertx.core.Handler<java.lang.Throwable> exceptionHandler();
descriptor: ()Lio/vertx/core/Handler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.impl.ContextImpl.exceptionHandler:Lio/vertx/core/Handler;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/impl/ContextImpl;
Signature: ()Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
public int getInstanceCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.impl.ContextImpl.deployment:Lio/vertx/core/impl/Deployment;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.impl.ContextImpl.deployment:Lio/vertx/core/impl/Deployment;
invokeinterface io.vertx.core.impl.Deployment.deploymentOptions:()Lio/vertx/core/DeploymentOptions;
ifnonnull 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.impl.ContextImpl.deployment:Lio/vertx/core/impl/Deployment;
invokeinterface io.vertx.core.impl.Deployment.deploymentOptions:()Lio/vertx/core/DeploymentOptions;
invokevirtual io.vertx.core.DeploymentOptions.getInstances:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/impl/ContextImpl;
public io.vertx.core.Vertx owner();
descriptor: ()Lio/vertx/core/Vertx;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.vertx.core.impl.ContextImpl.owner:()Lio/vertx/core/impl/VertxInternal;
areturn
LocalVariableTable:
Start End Slot Name Signature
private void lambda$0(io.vertx.core.spi.metrics.PoolMetrics, java.lang.Object, io.vertx.core.Handler, io.vertx.core.Handler);
descriptor: (Lio/vertx/core/spi/metrics/PoolMetrics;Ljava/lang/Object;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=10, args_size=5
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
checkcast io.vertx.core.impl.VertxThread
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aload 1
ifnull 4
3: aload 1
aload 2
invokeinterface io.vertx.core.spi.metrics.PoolMetrics.begin:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
4: StackMap locals: io.vertx.core.impl.VertxThread java.lang.Object
StackMap stack:
getstatic io.vertx.core.impl.ContextImpl.DISABLE_TIMINGS:Z
ifne 6
5: aload 5
invokevirtual io.vertx.core.impl.VertxThread.executeStart:()V
6: StackMap locals:
StackMap stack:
invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
astore 7
start local 7 7: aload 0
invokestatic io.vertx.core.impl.ContextImpl.setContext:(Lio/vertx/core/impl/ContextImpl;)V
8: aload 3
aload 7
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
9: goto 18
StackMap locals: io.vertx.core.impl.ContextImpl io.vertx.core.spi.metrics.PoolMetrics java.lang.Object io.vertx.core.Handler io.vertx.core.Handler io.vertx.core.impl.VertxThread java.lang.Object io.vertx.core.Promise
StackMap stack: java.lang.Throwable
10: astore 8
start local 8 11: aload 7
aload 8
invokeinterface io.vertx.core.Promise.tryFail:(Ljava/lang/Throwable;)Z
pop
end local 8 12: getstatic io.vertx.core.impl.ContextImpl.DISABLE_TIMINGS:Z
ifne 20
13: aload 5
invokevirtual io.vertx.core.impl.VertxThread.executeEnd:()V
goto 20
14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
15: getstatic io.vertx.core.impl.ContextImpl.DISABLE_TIMINGS:Z
ifne 17
16: aload 5
invokevirtual io.vertx.core.impl.VertxThread.executeEnd:()V
17: StackMap locals: io.vertx.core.impl.ContextImpl io.vertx.core.spi.metrics.PoolMetrics java.lang.Object io.vertx.core.Handler io.vertx.core.Handler io.vertx.core.impl.VertxThread java.lang.Object io.vertx.core.Promise top java.lang.Throwable
StackMap stack:
aload 9
athrow
18: StackMap locals: io.vertx.core.impl.ContextImpl io.vertx.core.spi.metrics.PoolMetrics java.lang.Object io.vertx.core.Handler io.vertx.core.Handler io.vertx.core.impl.VertxThread java.lang.Object io.vertx.core.Promise
StackMap stack:
getstatic io.vertx.core.impl.ContextImpl.DISABLE_TIMINGS:Z
ifne 20
19: aload 5
invokevirtual io.vertx.core.impl.VertxThread.executeEnd:()V
20: StackMap locals:
StackMap stack:
aload 7
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
astore 8
start local 8 21: aload 1
ifnull 23
22: aload 1
aload 6
aload 8
invokeinterface io.vertx.core.Future.succeeded:()Z
invokeinterface io.vertx.core.spi.metrics.PoolMetrics.end:(Ljava/lang/Object;Z)V
23: StackMap locals: io.vertx.core.Future
StackMap stack:
aload 8
aload 0
aload 4
invokedynamic handle(Lio/vertx/core/impl/ContextImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
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:
(Ljava/lang/Object;)V
io/vertx/core/impl/ContextImpl.lambda$1(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
end local 8 end local 7 end local 6 end local 5 24: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lio/vertx/core/impl/ContextImpl;
1 24 5 current Lio/vertx/core/impl/VertxThread;
2 24 6 execMetric Ljava/lang/Object;
7 24 7 promise Lio/vertx/core/Promise<TT;>;
11 12 8 e Ljava/lang/Throwable;
21 24 8 res Lio/vertx/core/Future<TT;>;
Exception table:
from to target type
7 9 10 Class java.lang.Throwable
7 12 14 any
private void lambda$1(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 1
ifnull 3
1: aload 0
aload 1
aload 2
invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)Lio/vertx/core/Handler;
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:
(Ljava/lang/Object;)V
io/vertx/core/impl/ContextImpl.lambda$2(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokevirtual io.vertx.core.impl.ContextImpl.runOnContext:(Lio/vertx/core/Handler;)V
2: goto 5
StackMap locals:
StackMap stack:
3: aload 2
invokeinterface io.vertx.core.AsyncResult.failed:()Z
ifeq 5
4: aload 0
aload 2
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokevirtual io.vertx.core.impl.ContextImpl.reportException:(Ljava/lang/Throwable;)V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/impl/ContextImpl;
0 6 2 ar Lio/vertx/core/AsyncResult<TT;>;
private static void lambda$2(io.vertx.core.Handler, io.vertx.core.AsyncResult, java.lang.Void);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 2 0: aload 0
aload 1
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 1 2 v Ljava/lang/Void;
}
SourceFile: "ContextImpl.java"
NestMembers:
io.vertx.core.impl.ContextImpl$1 io.vertx.core.impl.ContextImpl$Holder
InnerClasses:
public abstract Task = io.vertx.core.impl.BlockedThreadChecker$Task of io.vertx.core.impl.BlockedThreadChecker
io.vertx.core.impl.ContextImpl$1
Holder = io.vertx.core.impl.ContextImpl$Holder of io.vertx.core.impl.ContextImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles