public final class org.jboss.threads.JBossExecutors extends java.lang.Object
{
private static final org.jboss.logging.Logger THREAD_ERROR_LOGGER;
private static final java.lang.RuntimePermission COPY_CONTEXT_CLASSLOADER_PERMISSION;
private static final java.util.concurrent.ExecutorService REJECTING_EXECUTOR_SERVICE;
private static final java.util.concurrent.ExecutorService DISCARDING_EXECUTOR_SERVICE;
private static final java.util.concurrent.RejectedExecutionHandler ABORT_POLICY;
private static final java.util.concurrent.RejectedExecutionHandler CALLER_RUNS_POLICY;
private static final java.util.concurrent.RejectedExecutionHandler DISCARD_OLDEST_POLICY;
private static final java.util.concurrent.RejectedExecutionHandler DISCARD_POLICY;
private static final java.lang.Runnable TCCL_RESETTER;
private static final java.lang.Runnable NULL_RUNNABLE;
static final java.lang.ClassLoader SAFE_CL;
static final sun.misc.Unsafe unsafe;
static final long contextClassLoaderOffs;
private static final java.lang.Thread$UncaughtExceptionHandler LOGGING_HANDLER;
private void <init>()
{
org.jboss.threads.JBossExecutors v;
v := @this: org.jboss.threads.JBossExecutors;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.util.concurrent.Executor directExecutor()
{
org.jboss.threads.SimpleDirectExecutor v;
v = <org.jboss.threads.SimpleDirectExecutor: org.jboss.threads.SimpleDirectExecutor INSTANCE>;
return v;
}
public static java.util.concurrent.Executor rejectingExecutor()
{
org.jboss.threads.RejectingExecutor v;
v = <org.jboss.threads.RejectingExecutor: org.jboss.threads.RejectingExecutor INSTANCE>;
return v;
}
public static java.util.concurrent.Executor rejectingExecutor(java.lang.String)
{
org.jboss.threads.RejectingExecutor v;
java.lang.String v;
v := @parameter: java.lang.String;
v = new org.jboss.threads.RejectingExecutor;
specialinvoke v.<org.jboss.threads.RejectingExecutor: void <init>(java.lang.String)>(v);
return v;
}
public static java.util.concurrent.ExecutorService rejectingExecutorService()
{
java.util.concurrent.ExecutorService v;
v = <org.jboss.threads.JBossExecutors: java.util.concurrent.ExecutorService REJECTING_EXECUTOR_SERVICE>;
return v;
}
public static java.util.concurrent.ExecutorService rejectingExecutorService(java.lang.String)
{
java.lang.String v;
java.util.concurrent.Executor v;
java.util.concurrent.ExecutorService v;
v := @parameter: java.lang.String;
v = staticinvoke <org.jboss.threads.JBossExecutors: java.util.concurrent.Executor rejectingExecutor(java.lang.String)>(v);
v = staticinvoke <org.jboss.threads.JBossExecutors: java.util.concurrent.ExecutorService protectedExecutorService(java.util.concurrent.Executor)>(v);
return v;
}
public static java.util.concurrent.Executor discardingExecutor()
{
org.jboss.threads.DiscardingExecutor v;
v = <org.jboss.threads.DiscardingExecutor: org.jboss.threads.DiscardingExecutor INSTANCE>;
return v;
}
public static java.util.concurrent.ExecutorService discardingExecutorService()
{
java.util.concurrent.ExecutorService v;
v = <org.jboss.threads.JBossExecutors: java.util.concurrent.ExecutorService DISCARDING_EXECUTOR_SERVICE>;
return v;
}
public static java.util.concurrent.Executor contextClassLoaderExecutor(java.util.concurrent.Executor, java.lang.ClassLoader)
{
org.jboss.threads.JBossExecutors$1 v;
java.lang.ClassLoader v;
java.util.concurrent.Executor v;
v := @parameter: java.util.concurrent.Executor;
v := @parameter: java.lang.ClassLoader;
v = new org.jboss.threads.JBossExecutors$1;
specialinvoke v.<org.jboss.threads.JBossExecutors$1: void <init>(java.util.concurrent.Executor,java.lang.ClassLoader)>(v, v);
return v;
}
public static java.util.concurrent.RejectedExecutionHandler abortPolicy()
{
java.util.concurrent.RejectedExecutionHandler v;
v = <org.jboss.threads.JBossExecutors: java.util.concurrent.RejectedExecutionHandler ABORT_POLICY>;
return v;
}
public static java.util.concurrent.RejectedExecutionHandler callerRunsPolicy()
{
java.util.concurrent.RejectedExecutionHandler v;
v = <org.jboss.threads.JBossExecutors: java.util.concurrent.RejectedExecutionHandler CALLER_RUNS_POLICY>;
return v;
}
public static java.util.concurrent.RejectedExecutionHandler discardOldestPolicy()
{
java.util.concurrent.RejectedExecutionHandler v;
v = <org.jboss.threads.JBossExecutors: java.util.concurrent.RejectedExecutionHandler DISCARD_OLDEST_POLICY>;
return v;
}
public static java.util.concurrent.RejectedExecutionHandler discardPolicy()
{
java.util.concurrent.RejectedExecutionHandler v;
v = <org.jboss.threads.JBossExecutors: java.util.concurrent.RejectedExecutionHandler DISCARD_POLICY>;
return v;
}
public static java.util.concurrent.RejectedExecutionHandler handoffPolicy(java.util.concurrent.Executor)
{
java.util.concurrent.Executor v;
org.jboss.threads.HandoffRejectedExecutionHandler v;
v := @parameter: java.util.concurrent.Executor;
v = new org.jboss.threads.HandoffRejectedExecutionHandler;
specialinvoke v.<org.jboss.threads.HandoffRejectedExecutionHandler: void <init>(java.util.concurrent.Executor)>(v);
return v;
}
public static java.util.concurrent.ExecutorService protectedExecutorService(java.util.concurrent.Executor)
{
java.util.concurrent.Executor v;
org.jboss.threads.DelegatingExecutorService v;
v := @parameter: java.util.concurrent.Executor;
v = new org.jboss.threads.DelegatingExecutorService;
specialinvoke v.<org.jboss.threads.DelegatingExecutorService: void <init>(java.util.concurrent.Executor)>(v);
return v;
}
public static java.util.concurrent.ScheduledExecutorService protectedScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)
{
java.util.concurrent.ScheduledExecutorService v;
org.jboss.threads.DelegatingScheduledExecutorService v;
v := @parameter: java.util.concurrent.ScheduledExecutorService;
v = new org.jboss.threads.DelegatingScheduledExecutorService;
specialinvoke v.<org.jboss.threads.DelegatingScheduledExecutorService: void <init>(java.util.concurrent.ScheduledExecutorService)>(v);
return v;
}
public static java.util.concurrent.ThreadFactory resettingThreadFactory(java.util.concurrent.ThreadFactory) throws java.lang.SecurityException
{
org.jboss.threads.JBossExecutors$2 v;
java.util.concurrent.ThreadFactory v;
v := @parameter: java.util.concurrent.ThreadFactory;
v = new org.jboss.threads.JBossExecutors$2;
specialinvoke v.<org.jboss.threads.JBossExecutors$2: void <init>(java.util.concurrent.ThreadFactory)>(v);
return v;
}
public static java.lang.Runnable nullRunnable()
{
java.lang.Runnable v;
v = <org.jboss.threads.JBossExecutors: java.lang.Runnable NULL_RUNNABLE>;
return v;
}
public static java.lang.Runnable contextClassLoaderResetter()
{
java.lang.Runnable v;
v = <org.jboss.threads.JBossExecutors: java.lang.Runnable TCCL_RESETTER>;
return v;
}
public static java.lang.Runnable classLoaderPreservingTask(java.lang.Runnable) throws java.lang.SecurityException
{
java.lang.RuntimePermission v;
java.lang.Runnable v, v;
java.lang.SecurityManager v;
v := @parameter: java.lang.Runnable;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = <org.jboss.threads.JBossExecutors: java.lang.RuntimePermission COPY_CONTEXT_CLASSLOADER_PERMISSION>;
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = staticinvoke <org.jboss.threads.JBossExecutors: java.lang.Runnable classLoaderPreservingTaskUnchecked(java.lang.Runnable)>(v);
return v;
}
static java.lang.Runnable classLoaderPreservingTaskUnchecked(java.lang.Runnable)
{
java.lang.Thread v;
java.lang.ClassLoader v;
org.jboss.threads.ContextClassLoaderSavingRunnable v;
java.lang.Runnable v;
v := @parameter: java.lang.Runnable;
staticinvoke <org.wildfly.common.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("delegate", v);
v = new org.jboss.threads.ContextClassLoaderSavingRunnable;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = staticinvoke <org.jboss.threads.JBossExecutors: java.lang.ClassLoader getContextClassLoader(java.lang.Thread)>(v);
specialinvoke v.<org.jboss.threads.ContextClassLoaderSavingRunnable: void <init>(java.lang.ClassLoader,java.lang.Runnable)>(v, v);
return v;
}
static java.lang.ClassLoader getContextClassLoader(java.lang.Thread)
{
sun.misc.Unsafe v;
java.lang.Thread v;
java.lang.Object v;
long v;
v := @parameter: java.lang.Thread;
v = <org.jboss.threads.JBossExecutors: sun.misc.Unsafe unsafe>;
v = <org.jboss.threads.JBossExecutors: long contextClassLoaderOffs>;
v = virtualinvoke v.<sun.misc.Unsafe: java.lang.Object getObject(java.lang.Object,long)>(v, v);
return v;
}
static java.lang.ClassLoader getAndSetContextClassLoader(java.lang.Thread, java.lang.ClassLoader)
{
java.lang.Throwable v;
java.lang.Thread v;
java.lang.ClassLoader v, v;
v := @parameter: java.lang.Thread;
v := @parameter: java.lang.ClassLoader;
label:
v = staticinvoke <org.jboss.threads.JBossExecutors: java.lang.ClassLoader getContextClassLoader(java.lang.Thread)>(v);
label:
staticinvoke <org.jboss.threads.JBossExecutors: void setContextClassLoader(java.lang.Thread,java.lang.ClassLoader)>(v, v);
return v;
label:
v := @caughtexception;
staticinvoke <org.jboss.threads.JBossExecutors: void setContextClassLoader(java.lang.Thread,java.lang.ClassLoader)>(v, v);
throw v;
catch java.lang.Throwable from label to label with label;
}
static void setContextClassLoader(java.lang.Thread, java.lang.ClassLoader)
{
sun.misc.Unsafe v;
java.lang.Thread v;
long v;
java.lang.ClassLoader v;
v := @parameter: java.lang.Thread;
v := @parameter: java.lang.ClassLoader;
v = <org.jboss.threads.JBossExecutors: sun.misc.Unsafe unsafe>;
v = <org.jboss.threads.JBossExecutors: long contextClassLoaderOffs>;
virtualinvoke v.<sun.misc.Unsafe: void putObject(java.lang.Object,long,java.lang.Object)>(v, v, v);
return;
}
static void clearContextClassLoader(java.lang.Thread)
{
sun.misc.Unsafe v;
java.lang.Thread v;
long v;
java.lang.ClassLoader v;
v := @parameter: java.lang.Thread;
v = <org.jboss.threads.JBossExecutors: sun.misc.Unsafe unsafe>;
v = <org.jboss.threads.JBossExecutors: long contextClassLoaderOffs>;
v = <org.jboss.threads.JBossExecutors: java.lang.ClassLoader SAFE_CL>;
virtualinvoke v.<sun.misc.Unsafe: void putObject(java.lang.Object,long,java.lang.Object)>(v, v, v);
return;
}
public static java.lang.Thread$UncaughtExceptionHandler loggingExceptionHandler(org.jboss.logging.Logger)
{
org.jboss.threads.LoggingUncaughtExceptionHandler v;
org.jboss.logging.Logger v;
v := @parameter: org.jboss.logging.Logger;
v = new org.jboss.threads.LoggingUncaughtExceptionHandler;
specialinvoke v.<org.jboss.threads.LoggingUncaughtExceptionHandler: void <init>(org.jboss.logging.Logger)>(v);
return v;
}
public static java.lang.Thread$UncaughtExceptionHandler loggingExceptionHandler(java.lang.String)
{
org.jboss.threads.LoggingUncaughtExceptionHandler v;
java.lang.String v;
org.jboss.logging.Logger v;
v := @parameter: java.lang.String;
v = new org.jboss.threads.LoggingUncaughtExceptionHandler;
v = staticinvoke <org.jboss.logging.Logger: org.jboss.logging.Logger getLogger(java.lang.String)>(v);
specialinvoke v.<org.jboss.threads.LoggingUncaughtExceptionHandler: void <init>(org.jboss.logging.Logger)>(v);
return v;
}
public static java.lang.Thread$UncaughtExceptionHandler loggingExceptionHandler()
{
java.lang.Thread$UncaughtExceptionHandler v;
v = <org.jboss.threads.JBossExecutors: java.lang.Thread$UncaughtExceptionHandler LOGGING_HANDLER>;
return v;
}
static void <clinit>()
{
sun.misc.Unsafe v;
org.jboss.threads.DiscardingExecutor v;
java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy v;
org.jboss.threads.DelegatingExecutorService v, v;
org.jboss.threads.JBossExecutors$5 v;
org.jboss.logging.Logger v, v;
long v;
java.lang.NoSuchFieldError v;
java.lang.NoSuchFieldException v;
java.lang.Thread$UncaughtExceptionHandler v;
java.util.concurrent.ThreadPoolExecutor$AbortPolicy v;
java.util.concurrent.ThreadPoolExecutor$DiscardOldestPolicy v;
java.lang.String v;
org.jboss.threads.NullRunnable v;
java.lang.reflect.Field v;
org.jboss.threads.RejectingExecutor v;
org.jboss.threads.JBossExecutors$3 v;
org.jboss.threads.JBossExecutors$4 v;
java.lang.Class v, v;
java.lang.Object v;
java.lang.RuntimePermission v;
java.lang.ClassLoader v;
java.util.concurrent.ThreadPoolExecutor$DiscardPolicy v;
v = staticinvoke <org.jboss.logging.Logger: org.jboss.logging.Logger getLogger(java.lang.String)>("org.jboss.threads.errors");
<org.jboss.threads.JBossExecutors: org.jboss.logging.Logger THREAD_ERROR_LOGGER> = v;
v = new java.lang.RuntimePermission;
specialinvoke v.<java.lang.RuntimePermission: void <init>(java.lang.String)>("copyClassLoader");
<org.jboss.threads.JBossExecutors: java.lang.RuntimePermission COPY_CONTEXT_CLASSLOADER_PERMISSION> = v;
v = new org.jboss.threads.DelegatingExecutorService;
v = <org.jboss.threads.RejectingExecutor: org.jboss.threads.RejectingExecutor INSTANCE>;
specialinvoke v.<org.jboss.threads.DelegatingExecutorService: void <init>(java.util.concurrent.Executor)>(v);
<org.jboss.threads.JBossExecutors: java.util.concurrent.ExecutorService REJECTING_EXECUTOR_SERVICE> = v;
v = new org.jboss.threads.DelegatingExecutorService;
v = <org.jboss.threads.DiscardingExecutor: org.jboss.threads.DiscardingExecutor INSTANCE>;
specialinvoke v.<org.jboss.threads.DelegatingExecutorService: void <init>(java.util.concurrent.Executor)>(v);
<org.jboss.threads.JBossExecutors: java.util.concurrent.ExecutorService DISCARDING_EXECUTOR_SERVICE> = v;
v = new java.util.concurrent.ThreadPoolExecutor$AbortPolicy;
specialinvoke v.<java.util.concurrent.ThreadPoolExecutor$AbortPolicy: void <init>()>();
<org.jboss.threads.JBossExecutors: java.util.concurrent.RejectedExecutionHandler ABORT_POLICY> = v;
v = new java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy;
specialinvoke v.<java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy: void <init>()>();
<org.jboss.threads.JBossExecutors: java.util.concurrent.RejectedExecutionHandler CALLER_RUNS_POLICY> = v;
v = new java.util.concurrent.ThreadPoolExecutor$DiscardOldestPolicy;
specialinvoke v.<java.util.concurrent.ThreadPoolExecutor$DiscardOldestPolicy: void <init>()>();
<org.jboss.threads.JBossExecutors: java.util.concurrent.RejectedExecutionHandler DISCARD_OLDEST_POLICY> = v;
v = new java.util.concurrent.ThreadPoolExecutor$DiscardPolicy;
specialinvoke v.<java.util.concurrent.ThreadPoolExecutor$DiscardPolicy: void <init>()>();
<org.jboss.threads.JBossExecutors: java.util.concurrent.RejectedExecutionHandler DISCARD_POLICY> = v;
v = new org.jboss.threads.JBossExecutors$3;
specialinvoke v.<org.jboss.threads.JBossExecutors$3: void <init>()>();
<org.jboss.threads.JBossExecutors: java.lang.Runnable TCCL_RESETTER> = v;
v = staticinvoke <org.jboss.threads.NullRunnable: org.jboss.threads.NullRunnable getInstance()>();
<org.jboss.threads.JBossExecutors: java.lang.Runnable NULL_RUNNABLE> = v;
v = class "Lorg/jboss/threads/JBossExecutors;";
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
if v != null goto label;
v = staticinvoke <java.lang.ClassLoader: java.lang.ClassLoader getSystemClassLoader()>();
if v != null goto label;
v = new org.jboss.threads.JBossExecutors$4;
specialinvoke v.<org.jboss.threads.JBossExecutors$4: void <init>()>();
v = v;
label:
<org.jboss.threads.JBossExecutors: java.lang.ClassLoader SAFE_CL> = v;
v = new org.jboss.threads.JBossExecutors$5;
specialinvoke v.<org.jboss.threads.JBossExecutors$5: void <init>()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
<org.jboss.threads.JBossExecutors: sun.misc.Unsafe unsafe> = v;
label:
v = <org.jboss.threads.JBossExecutors: sun.misc.Unsafe unsafe>;
v = class "Ljava/lang/Thread;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getDeclaredField(java.lang.String)>("contextClassLoader");
v = virtualinvoke v.<sun.misc.Unsafe: long objectFieldOffset(java.lang.reflect.Field)>(v);
<org.jboss.threads.JBossExecutors: long contextClassLoaderOffs> = v;
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.NoSuchFieldError;
v = virtualinvoke v.<java.lang.NoSuchFieldException: java.lang.String getMessage()>();
specialinvoke v.<java.lang.NoSuchFieldError: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.jboss.threads.JBossExecutors: org.jboss.logging.Logger THREAD_ERROR_LOGGER>;
v = staticinvoke <org.jboss.threads.JBossExecutors: java.lang.Thread$UncaughtExceptionHandler loggingExceptionHandler(org.jboss.logging.Logger)>(v);
<org.jboss.threads.JBossExecutors: java.lang.Thread$UncaughtExceptionHandler LOGGING_HANDLER> = v;
return;
catch java.lang.NoSuchFieldException from label to label with label;
}
}