public class org.glassfish.grizzly.threadpool.GrizzlyExecutorService extends java.util.concurrent.AbstractExecutorService implements org.glassfish.grizzly.monitoring.MonitoringAware
{
private final java.lang.Object statelock;
private volatile org.glassfish.grizzly.threadpool.AbstractThreadPool pool;
protected volatile org.glassfish.grizzly.threadpool.ThreadPoolConfig config;
public static org.glassfish.grizzly.threadpool.GrizzlyExecutorService createInstance()
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
org.glassfish.grizzly.threadpool.ThreadPoolConfig v;
v = staticinvoke <org.glassfish.grizzly.threadpool.ThreadPoolConfig: org.glassfish.grizzly.threadpool.ThreadPoolConfig defaultConfig()>();
v = staticinvoke <org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.GrizzlyExecutorService createInstance(org.glassfish.grizzly.threadpool.ThreadPoolConfig)>(v);
return v;
}
public static org.glassfish.grizzly.threadpool.GrizzlyExecutorService createInstance(org.glassfish.grizzly.threadpool.ThreadPoolConfig)
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
org.glassfish.grizzly.threadpool.ThreadPoolConfig v;
v := @parameter: org.glassfish.grizzly.threadpool.ThreadPoolConfig;
v = new org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
specialinvoke v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: void <init>(org.glassfish.grizzly.threadpool.ThreadPoolConfig)>(v);
return v;
}
protected void <init>(org.glassfish.grizzly.threadpool.ThreadPoolConfig)
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
java.lang.Object v;
org.glassfish.grizzly.threadpool.ThreadPoolConfig v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v := @parameter: org.glassfish.grizzly.threadpool.ThreadPoolConfig;
specialinvoke v.<java.util.concurrent.AbstractExecutorService: void <init>()>();
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: java.lang.Object statelock> = v;
virtualinvoke v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: void setImpl(org.glassfish.grizzly.threadpool.ThreadPoolConfig)>(v);
return;
}
protected final void setImpl(org.glassfish.grizzly.threadpool.ThreadPoolConfig)
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
org.glassfish.grizzly.memory.MemoryManager v, v;
org.glassfish.grizzly.threadpool.QueueLimitedThreadPool v;
org.glassfish.grizzly.threadpool.SyncThreadPool v;
org.glassfish.grizzly.threadpool.ThreadPoolConfig v, v;
int v, v, v, v;
boolean v;
java.lang.IllegalArgumentException v;
org.glassfish.grizzly.threadpool.FixedThreadPool v, v;
java.util.Queue v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v := @parameter: org.glassfish.grizzly.threadpool.ThreadPoolConfig;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("config is null");
throw v;
label:
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: org.glassfish.grizzly.threadpool.ThreadPoolConfig copy()>();
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
if v != null goto label;
v = <org.glassfish.grizzly.memory.MemoryManager: org.glassfish.grizzly.memory.MemoryManager DEFAULT_MEMORY_MANAGER>;
virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: org.glassfish.grizzly.threadpool.ThreadPoolConfig setMemoryManager(org.glassfish.grizzly.memory.MemoryManager)>(v);
label:
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: java.util.Queue getQueue()>();
if v == null goto label;
v = v instanceof java.util.concurrent.BlockingQueue;
if v == 0 goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: int getCorePoolSize()>();
if v < 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: int getCorePoolSize()>();
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: int getMaxPoolSize()>();
if v != v goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: int getQueueLimit()>();
if v >= 0 goto label;
v = new org.glassfish.grizzly.threadpool.FixedThreadPool;
v = v;
specialinvoke v.<org.glassfish.grizzly.threadpool.FixedThreadPool: void <init>(org.glassfish.grizzly.threadpool.ThreadPoolConfig)>(v);
goto label;
label:
v = new org.glassfish.grizzly.threadpool.QueueLimitedThreadPool;
v = v;
specialinvoke v.<org.glassfish.grizzly.threadpool.QueueLimitedThreadPool: void <init>(org.glassfish.grizzly.threadpool.ThreadPoolConfig)>(v);
label:
v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool> = v;
goto label;
label:
v = new org.glassfish.grizzly.threadpool.SyncThreadPool;
specialinvoke v.<org.glassfish.grizzly.threadpool.SyncThreadPool: void <init>(org.glassfish.grizzly.threadpool.ThreadPoolConfig)>(v);
v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool> = v;
label:
v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.ThreadPoolConfig config> = v;
return;
}
public org.glassfish.grizzly.threadpool.GrizzlyExecutorService reconfigure(org.glassfish.grizzly.threadpool.ThreadPoolConfig)
{
java.lang.Throwable v;
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
org.glassfish.grizzly.threadpool.ThreadPoolConfig v;
java.lang.Object v;
org.glassfish.grizzly.threadpool.AbstractThreadPool v, v;
java.util.Queue v, v, v, v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v := @parameter: org.glassfish.grizzly.threadpool.ThreadPoolConfig;
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: java.lang.Object statelock>;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool>;
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: java.util.Queue getQueue()>();
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: java.util.Queue getQueue()>();
if v != v goto label;
virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: org.glassfish.grizzly.threadpool.ThreadPoolConfig setQueue(java.util.Queue)>(null);
label:
virtualinvoke v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: void setImpl(org.glassfish.grizzly.threadpool.ThreadPoolConfig)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: java.util.Queue getQueue()>();
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool>;
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: java.util.Queue getQueue()>();
staticinvoke <org.glassfish.grizzly.threadpool.AbstractThreadPool: void drain(java.util.Queue,java.util.Collection)>(v, v);
virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: void shutdown()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public org.glassfish.grizzly.threadpool.ThreadPoolConfig getConfiguration()
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
org.glassfish.grizzly.threadpool.ThreadPoolConfig v, v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.ThreadPoolConfig config>;
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.ThreadPoolConfig: org.glassfish.grizzly.threadpool.ThreadPoolConfig copy()>();
return v;
}
public void shutdown()
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
org.glassfish.grizzly.threadpool.AbstractThreadPool v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool>;
virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: void shutdown()>();
return;
}
public java.util.List shutdownNow()
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
java.util.List v;
org.glassfish.grizzly.threadpool.AbstractThreadPool v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool>;
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: java.util.List shutdownNow()>();
return v;
}
public boolean isShutdown()
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
org.glassfish.grizzly.threadpool.AbstractThreadPool v;
boolean v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool>;
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: boolean isShutdown()>();
return v;
}
public boolean isTerminated()
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
org.glassfish.grizzly.threadpool.AbstractThreadPool v;
boolean v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool>;
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: boolean isTerminated()>();
return v;
}
public void execute(java.lang.Runnable)
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
org.glassfish.grizzly.threadpool.AbstractThreadPool v;
java.lang.Runnable v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v := @parameter: java.lang.Runnable;
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool>;
virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: void execute(java.lang.Runnable)>(v);
return;
}
public boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException
{
java.util.concurrent.TimeUnit v;
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
long v;
org.glassfish.grizzly.threadpool.AbstractThreadPool v;
boolean v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool>;
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: boolean awaitTermination(long,java.util.concurrent.TimeUnit)>(v, v);
return v;
}
public org.glassfish.grizzly.monitoring.MonitoringConfig getMonitoringConfig()
{
org.glassfish.grizzly.threadpool.GrizzlyExecutorService v;
org.glassfish.grizzly.threadpool.AbstractThreadPool v;
org.glassfish.grizzly.monitoring.MonitoringConfig v;
v := @this: org.glassfish.grizzly.threadpool.GrizzlyExecutorService;
v = v.<org.glassfish.grizzly.threadpool.GrizzlyExecutorService: org.glassfish.grizzly.threadpool.AbstractThreadPool pool>;
v = virtualinvoke v.<org.glassfish.grizzly.threadpool.AbstractThreadPool: org.glassfish.grizzly.monitoring.MonitoringConfig getMonitoringConfig()>();
return v;
}
}