final class org.jboss.threads.EnhancedQueueExecutor$Task extends java.lang.Object implements java.lang.Runnable
{
private final java.lang.Runnable delegate;
private final java.lang.ClassLoader contextClassLoader;
private final java.lang.Object context;
final org.jboss.threads.EnhancedQueueExecutor this$0;
void <init>(org.jboss.threads.EnhancedQueueExecutor, java.lang.Runnable, java.lang.Object)
{
org.jboss.threads.EnhancedQueueExecutor v;
java.lang.Thread v;
java.lang.Object v;
java.lang.ClassLoader v;
org.jboss.threads.EnhancedQueueExecutor$Task v;
java.lang.Runnable v;
v := @this: org.jboss.threads.EnhancedQueueExecutor$Task;
v := @parameter: org.jboss.threads.EnhancedQueueExecutor;
v := @parameter: java.lang.Runnable;
v := @parameter: java.lang.Object;
v.<org.jboss.threads.EnhancedQueueExecutor$Task: org.jboss.threads.EnhancedQueueExecutor this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
staticinvoke <org.wildfly.common.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("delegate", v);
v.<org.jboss.threads.EnhancedQueueExecutor$Task: java.lang.Runnable delegate> = v;
v.<org.jboss.threads.EnhancedQueueExecutor$Task: java.lang.Object context> = v;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = staticinvoke <org.jboss.threads.JBossExecutors: java.lang.ClassLoader getContextClassLoader(java.lang.Thread)>(v);
v.<org.jboss.threads.EnhancedQueueExecutor$Task: java.lang.ClassLoader contextClassLoader> = v;
return;
}
public void run()
{
java.lang.Throwable v, v, v;
java.util.concurrent.atomic.LongAdder v;
org.jboss.threads.EnhancedQueueExecutor v, v, v, v, v, v;
long v;
java.lang.Runnable v;
java.lang.Thread$UncaughtExceptionHandler v;
java.lang.Thread v, v, v;
boolean v, v, v, v;
org.jboss.threads.ContextHandler v;
java.lang.Object v;
java.lang.ClassLoader v, v;
org.jboss.threads.EnhancedQueueExecutor$Task v;
v := @this: org.jboss.threads.EnhancedQueueExecutor$Task;
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: org.jboss.threads.EnhancedQueueExecutor this$0>;
v = v.<org.jboss.threads.EnhancedQueueExecutor: long threadStatus>;
v = staticinvoke <org.jboss.threads.EnhancedQueueExecutor: boolean isShutdownInterrupt(long)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
goto label;
label:
staticinvoke <java.lang.Thread: boolean interrupted()>();
label:
v = <org.jboss.threads.EnhancedQueueExecutor: boolean UPDATE_ACTIVE_COUNT>;
if v == 0 goto label;
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: org.jboss.threads.EnhancedQueueExecutor this$0>;
virtualinvoke v.<org.jboss.threads.EnhancedQueueExecutor: void incrementActiveCount()>();
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: java.lang.ClassLoader contextClassLoader>;
v = staticinvoke <org.jboss.threads.JBossExecutors: java.lang.ClassLoader getAndSetContextClassLoader(java.lang.Thread,java.lang.ClassLoader)>(v, v);
label:
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: org.jboss.threads.EnhancedQueueExecutor this$0>;
v = v.<org.jboss.threads.EnhancedQueueExecutor: org.jboss.threads.ContextHandler contextHandler>;
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: java.lang.Runnable delegate>;
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: java.lang.Object context>;
interfaceinvoke v.<org.jboss.threads.ContextHandler: void runWith(java.lang.Runnable,java.lang.Object)>(v, v);
label:
staticinvoke <org.jboss.threads.JBossExecutors: void setContextClassLoader(java.lang.Thread,java.lang.ClassLoader)>(v, v);
goto label;
label:
v := @caughtexception;
label:
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: org.jboss.threads.EnhancedQueueExecutor this$0>;
v = v.<org.jboss.threads.EnhancedQueueExecutor: java.lang.Thread$UncaughtExceptionHandler exceptionHandler>;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
interfaceinvoke v.<java.lang.Thread$UncaughtExceptionHandler: void uncaughtException(java.lang.Thread,java.lang.Throwable)>(v, v);
label:
goto label;
label:
v := @caughtexception;
label:
staticinvoke <org.jboss.threads.JBossExecutors: void setContextClassLoader(java.lang.Thread,java.lang.ClassLoader)>(v, v);
goto label;
label:
v := @caughtexception;
staticinvoke <org.jboss.threads.JBossExecutors: void setContextClassLoader(java.lang.Thread,java.lang.ClassLoader)>(v, v);
throw v;
label:
staticinvoke <java.lang.Thread: boolean interrupted()>();
v = <org.jboss.threads.EnhancedQueueExecutor: boolean UPDATE_ACTIVE_COUNT>;
if v == 0 goto label;
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: org.jboss.threads.EnhancedQueueExecutor this$0>;
virtualinvoke v.<org.jboss.threads.EnhancedQueueExecutor: void decrementActiveCount()>();
v = <org.jboss.threads.EnhancedQueueExecutor: boolean UPDATE_STATISTICS>;
if v == 0 goto label;
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: org.jboss.threads.EnhancedQueueExecutor this$0>;
v = v.<org.jboss.threads.EnhancedQueueExecutor: java.util.concurrent.atomic.LongAdder completedTaskCounter>;
virtualinvoke v.<java.util.concurrent.atomic.LongAdder: void increment()>();
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
java.lang.Runnable handoff()
{
java.lang.ClassLoader v;
org.jboss.threads.ContextClassLoaderSavingRunnable v;
org.jboss.threads.EnhancedQueueExecutor$Task v;
java.lang.Runnable v;
v := @this: org.jboss.threads.EnhancedQueueExecutor$Task;
v = new org.jboss.threads.ContextClassLoaderSavingRunnable;
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: java.lang.ClassLoader contextClassLoader>;
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: java.lang.Runnable delegate>;
specialinvoke v.<org.jboss.threads.ContextClassLoaderSavingRunnable: void <init>(java.lang.ClassLoader,java.lang.Runnable)>(v, v);
return v;
}
public java.lang.String toString()
{
java.lang.ClassLoader v;
java.lang.String v;
org.jboss.threads.EnhancedQueueExecutor$Task v;
java.lang.Runnable v;
v := @this: org.jboss.threads.EnhancedQueueExecutor$Task;
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: java.lang.Runnable delegate>;
v = v.<org.jboss.threads.EnhancedQueueExecutor$Task: java.lang.ClassLoader contextClassLoader>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Runnable,java.lang.ClassLoader)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Task{delegate=\u, contextClassLoader=\u0001}");
return v;
}
}