public class org.glassfish.hk.internal.ImmediateHelper extends java.lang.Object implements org.glassfish.hk.api.DynamicConfigurationListener, java.lang.Runnable, org.glassfish.hk.api.ValidationService, org.glassfish.hk.api.ErrorService, org.glassfish.hk.api.Validator, org.glassfish.hk.api.ImmediateController
{
private static final java.util.concurrent.ThreadFactory THREAD_FACTORY;
private static final java.util.concurrent.Executor DEFAULT_EXECUTOR;
private final org.glassfish.hk.api.ServiceLocator locator;
private final org.glassfish.hk.utilities.ImmediateContext immediateContext;
private final java.util.HashSet tidsWithWork;
private final java.lang.Object queueLock;
private boolean threadAvailable;
private boolean outstandingJob;
private boolean waitingForWork;
private boolean firstTime;
private org.glassfish.hk.api.ImmediateController$ImmediateServiceState currentState;
private java.util.concurrent.Executor currentExecutor;
private long decayTime;
private void <init>(org.glassfish.hk.api.ServiceLocator, org.glassfish.hk.utilities.ImmediateContext)
{
java.util.HashSet v;
org.glassfish.hk.utilities.ImmediateContext v;
org.glassfish.hk.internal.ImmediateHelper v;
java.util.concurrent.Executor v;
java.lang.Object v;
org.glassfish.hk.api.ServiceLocator v;
org.glassfish.hk.api.ImmediateController$ImmediateServiceState v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v := @parameter: org.glassfish.hk.api.ServiceLocator;
v := @parameter: org.glassfish.hk.utilities.ImmediateContext;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.glassfish.hk.internal.ImmediateHelper: java.util.HashSet tidsWithWork> = v;
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock> = v;
v.<org.glassfish.hk.internal.ImmediateHelper: boolean firstTime> = 1;
v = <org.glassfish.hk.api.ImmediateController$ImmediateServiceState: org.glassfish.hk.api.ImmediateController$ImmediateServiceState SUSPENDED>;
v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ImmediateController$ImmediateServiceState currentState> = v;
v = <org.glassfish.hk.internal.ImmediateHelper: java.util.concurrent.Executor DEFAULT_EXECUTOR>;
v.<org.glassfish.hk.internal.ImmediateHelper: java.util.concurrent.Executor currentExecutor> = v;
v.<org.glassfish.hk.internal.ImmediateHelper: long decayTime> = 20000L;
v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ServiceLocator locator> = v;
v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.utilities.ImmediateContext immediateContext> = v;
return;
}
private boolean hasWork()
{
long v;
java.util.HashSet v, v;
org.glassfish.hk.internal.ImmediateHelper v;
java.util.List v;
java.lang.Long v, v;
java.lang.Thread v;
boolean v, v, v, v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: long getId()>();
v = v.<org.glassfish.hk.internal.ImmediateHelper: boolean firstTime>;
v.<org.glassfish.hk.internal.ImmediateHelper: boolean firstTime> = 0;
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.util.HashSet tidsWithWork>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = virtualinvoke v.<java.util.HashSet: boolean contains(java.lang.Object)>(v);
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.util.HashSet tidsWithWork>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashSet: boolean remove(java.lang.Object)>(v);
if v != 0 goto label;
if v != 0 goto label;
label:
return v;
label:
v = specialinvoke v.<org.glassfish.hk.internal.ImmediateHelper: java.util.List getImmediateServices()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void doWorkIfWeHaveSome()
{
org.glassfish.hk.internal.ImmediateHelper v;
java.util.concurrent.Executor v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v = specialinvoke v.<org.glassfish.hk.internal.ImmediateHelper: boolean hasWork()>();
if v != 0 goto label;
return;
label:
v.<org.glassfish.hk.internal.ImmediateHelper: boolean outstandingJob> = 1;
v = v.<org.glassfish.hk.internal.ImmediateHelper: boolean threadAvailable>;
if v != 0 goto label;
v.<org.glassfish.hk.internal.ImmediateHelper: boolean threadAvailable> = 1;
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.util.concurrent.Executor currentExecutor>;
interfaceinvoke v.<java.util.concurrent.Executor: void execute(java.lang.Runnable)>(v);
goto label;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: boolean waitingForWork>;
if v == 0 goto label;
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
virtualinvoke v.<java.lang.Object: void notify()>();
label:
return;
}
public void configurationChanged()
{
java.lang.Throwable v;
org.glassfish.hk.internal.ImmediateHelper v;
java.lang.Object v;
org.glassfish.hk.api.ImmediateController$ImmediateServiceState v, v;
boolean v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
entermonitor v;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ImmediateController$ImmediateServiceState currentState>;
v = <org.glassfish.hk.api.ImmediateController$ImmediateServiceState: org.glassfish.hk.api.ImmediateController$ImmediateServiceState SUSPENDED>;
v = virtualinvoke v.<org.glassfish.hk.api.ImmediateController$ImmediateServiceState: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
exitmonitor v;
label:
return;
label:
specialinvoke v.<org.glassfish.hk.internal.ImmediateHelper: void doWorkIfWeHaveSome()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public org.glassfish.hk.api.Filter getLookupFilter()
{
org.glassfish.hk.api.Filter v;
org.glassfish.hk.utilities.ImmediateContext v;
org.glassfish.hk.internal.ImmediateHelper v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.utilities.ImmediateContext immediateContext>;
v = virtualinvoke v.<org.glassfish.hk.utilities.ImmediateContext: org.glassfish.hk.api.Filter getValidationFilter()>();
return v;
}
public org.glassfish.hk.api.Validator getValidator()
{
org.glassfish.hk.internal.ImmediateHelper v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
return v;
}
public void onFailure(org.glassfish.hk.api.ErrorInformation) throws org.glassfish.hk.api.MultiException
{
java.lang.Throwable v;
org.glassfish.hk.api.ErrorInformation v;
long v;
org.glassfish.hk.api.ErrorType v, v;
java.util.HashSet v;
org.glassfish.hk.internal.ImmediateHelper v;
java.lang.Long v;
java.lang.Thread v;
java.lang.Object v;
boolean v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v := @parameter: org.glassfish.hk.api.ErrorInformation;
v = <org.glassfish.hk.api.ErrorType: org.glassfish.hk.api.ErrorType DYNAMIC_CONFIGURATION_FAILURE>;
v = interfaceinvoke v.<org.glassfish.hk.api.ErrorInformation: org.glassfish.hk.api.ErrorType getErrorType()>();
v = virtualinvoke v.<org.glassfish.hk.api.ErrorType: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: long getId()>();
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
entermonitor v;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.util.HashSet tidsWithWork>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashSet: boolean remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public boolean validate(org.glassfish.hk.api.ValidationInformation)
{
java.lang.Throwable v;
long v;
org.glassfish.hk.api.Operation v, v, v, v;
java.util.HashSet v;
org.glassfish.hk.internal.ImmediateHelper v;
java.lang.Long v;
org.glassfish.hk.api.ValidationInformation v;
java.lang.Thread v;
java.lang.Object v;
boolean v, v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v := @parameter: org.glassfish.hk.api.ValidationInformation;
v = interfaceinvoke v.<org.glassfish.hk.api.ValidationInformation: org.glassfish.hk.api.Operation getOperation()>();
v = <org.glassfish.hk.api.Operation: org.glassfish.hk.api.Operation BIND>;
v = virtualinvoke v.<org.glassfish.hk.api.Operation: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<org.glassfish.hk.api.ValidationInformation: org.glassfish.hk.api.Operation getOperation()>();
v = <org.glassfish.hk.api.Operation: org.glassfish.hk.api.Operation UNBIND>;
v = virtualinvoke v.<org.glassfish.hk.api.Operation: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: long getId()>();
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
entermonitor v;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.util.HashSet tidsWithWork>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashSet: boolean add(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return 1;
catch java.lang.Throwable from label to label with label;
}
public void run()
{
java.lang.Throwable v;
org.glassfish.hk.utilities.ImmediateContext v;
long v, v, v, v;
byte v;
org.glassfish.hk.api.ImmediateController$ImmediateServiceState v, v, v, v;
boolean v, v, v, v;
org.glassfish.hk.internal.ImmediateHelper v;
java.lang.InterruptedException v;
java.lang.Object v, v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
entermonitor v;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: long decayTime>;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ImmediateController$ImmediateServiceState currentState>;
v = <org.glassfish.hk.api.ImmediateController$ImmediateServiceState: org.glassfish.hk.api.ImmediateController$ImmediateServiceState RUNNING>;
v = virtualinvoke v.<org.glassfish.hk.api.ImmediateController$ImmediateServiceState: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.glassfish.hk.internal.ImmediateHelper: boolean outstandingJob>;
if v != 0 goto label;
v = v cmp 0L;
if v <= 0 goto label;
v.<org.glassfish.hk.internal.ImmediateHelper: boolean waitingForWork> = 1;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
label:
goto label;
label:
v := @caughtexception;
v.<org.glassfish.hk.internal.ImmediateHelper: boolean threadAvailable> = 0;
v.<org.glassfish.hk.internal.ImmediateHelper: boolean waitingForWork> = 0;
exitmonitor v;
label:
return;
label:
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v - v;
goto label;
label:
v.<org.glassfish.hk.internal.ImmediateHelper: boolean waitingForWork> = 0;
v = v.<org.glassfish.hk.internal.ImmediateHelper: boolean outstandingJob>;
if v == 0 goto label;
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ImmediateController$ImmediateServiceState currentState>;
v = <org.glassfish.hk.api.ImmediateController$ImmediateServiceState: org.glassfish.hk.api.ImmediateController$ImmediateServiceState SUSPENDED>;
v = virtualinvoke v.<org.glassfish.hk.api.ImmediateController$ImmediateServiceState: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v.<org.glassfish.hk.internal.ImmediateHelper: boolean threadAvailable> = 0;
exitmonitor v;
label:
return;
label:
v.<org.glassfish.hk.internal.ImmediateHelper: boolean outstandingJob> = 0;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.utilities.ImmediateContext immediateContext>;
virtualinvoke v.<org.glassfish.hk.utilities.ImmediateContext: void doWork()>();
goto label;
catch java.lang.InterruptedException 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;
catch java.lang.Throwable from label to label with label;
}
public java.util.concurrent.Executor getExecutor()
{
java.lang.Throwable v;
org.glassfish.hk.internal.ImmediateHelper v;
java.util.concurrent.Executor v;
java.lang.Object v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
entermonitor v;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.util.concurrent.Executor currentExecutor>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public void setExecutor(java.util.concurrent.Executor) throws java.lang.IllegalStateException
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
java.util.concurrent.Executor v, v;
org.glassfish.hk.internal.ImmediateHelper v;
java.lang.Object v;
org.glassfish.hk.api.ImmediateController$ImmediateServiceState v, v;
boolean v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v := @parameter: java.util.concurrent.Executor;
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
entermonitor v;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ImmediateController$ImmediateServiceState currentState>;
v = <org.glassfish.hk.api.ImmediateController$ImmediateServiceState: org.glassfish.hk.api.ImmediateController$ImmediateServiceState RUNNING>;
v = virtualinvoke v.<org.glassfish.hk.api.ImmediateController$ImmediateServiceState: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("ImmediateSerivce attempt made to change executor while in RUNNING state");
throw v;
label:
if v != null goto label;
v = <org.glassfish.hk.internal.ImmediateHelper: java.util.concurrent.Executor DEFAULT_EXECUTOR>;
goto label;
label:
v = v;
label:
v.<org.glassfish.hk.internal.ImmediateHelper: java.util.concurrent.Executor currentExecutor> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public long getThreadInactivityTimeout()
{
java.lang.Throwable v;
org.glassfish.hk.internal.ImmediateHelper v;
java.lang.Object v;
long v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
entermonitor v;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: long decayTime>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public void setThreadInactivityTimeout(long) throws java.lang.IllegalStateException
{
java.lang.Throwable v;
org.glassfish.hk.internal.ImmediateHelper v;
byte v;
java.lang.Object v;
long v;
java.lang.IllegalArgumentException v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v := @parameter: long;
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
entermonitor v;
label:
v = v cmp 0L;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
v.<org.glassfish.hk.internal.ImmediateHelper: long decayTime> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public org.glassfish.hk.api.ImmediateController$ImmediateServiceState getImmediateState()
{
java.lang.Throwable v;
org.glassfish.hk.internal.ImmediateHelper v;
java.lang.Object v;
org.glassfish.hk.api.ImmediateController$ImmediateServiceState v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
entermonitor v;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ImmediateController$ImmediateServiceState currentState>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public void setImmediateState(org.glassfish.hk.api.ImmediateController$ImmediateServiceState)
{
java.lang.Throwable v;
java.lang.IllegalArgumentException v;
org.glassfish.hk.internal.ImmediateHelper v;
java.lang.Object v;
org.glassfish.hk.api.ImmediateController$ImmediateServiceState v, v, v, v;
boolean v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
v := @parameter: org.glassfish.hk.api.ImmediateController$ImmediateServiceState;
v = v.<org.glassfish.hk.internal.ImmediateHelper: java.lang.Object queueLock>;
entermonitor v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ImmediateController$ImmediateServiceState currentState>;
if v != v goto label;
exitmonitor v;
label:
return;
label:
v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ImmediateController$ImmediateServiceState currentState> = v;
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ImmediateController$ImmediateServiceState currentState>;
v = <org.glassfish.hk.api.ImmediateController$ImmediateServiceState: org.glassfish.hk.api.ImmediateController$ImmediateServiceState RUNNING>;
v = virtualinvoke v.<org.glassfish.hk.api.ImmediateController$ImmediateServiceState: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
specialinvoke v.<org.glassfish.hk.internal.ImmediateHelper: void doWorkIfWeHaveSome()>();
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private java.util.List getImmediateServices()
{
org.glassfish.hk.utilities.ImmediateContext v;
java.lang.IllegalStateException v;
org.glassfish.hk.internal.ImmediateHelper v;
java.util.List v;
org.glassfish.hk.api.Filter v;
org.glassfish.hk.api.ServiceLocator v;
v := @this: org.glassfish.hk.internal.ImmediateHelper;
label:
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.api.ServiceLocator locator>;
v = v.<org.glassfish.hk.internal.ImmediateHelper: org.glassfish.hk.utilities.ImmediateContext immediateContext>;
v = virtualinvoke v.<org.glassfish.hk.utilities.ImmediateContext: org.glassfish.hk.api.Filter getValidationFilter()>();
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.util.List getDescriptors(org.glassfish.hk.api.Filter)>(v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
label:
return v;
catch java.lang.IllegalStateException from label to label with label;
}
static void <clinit>()
{
java.util.concurrent.TimeUnit v;
java.util.concurrent.SynchronousQueue v;
java.util.concurrent.ThreadPoolExecutor v;
java.util.concurrent.ThreadFactory v;
org.glassfish.hk.internal.ImmediateHelper$ImmediateThreadFactory v;
v = new org.glassfish.hk.internal.ImmediateHelper$ImmediateThreadFactory;
specialinvoke v.<org.glassfish.hk.internal.ImmediateHelper$ImmediateThreadFactory: void <init>()>();
<org.glassfish.hk.internal.ImmediateHelper: java.util.concurrent.ThreadFactory THREAD_FACTORY> = v;
v = new java.util.concurrent.ThreadPoolExecutor;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = new java.util.concurrent.SynchronousQueue;
specialinvoke v.<java.util.concurrent.SynchronousQueue: void <init>(boolean)>(1);
v = <org.glassfish.hk.internal.ImmediateHelper: java.util.concurrent.ThreadFactory THREAD_FACTORY>;
specialinvoke v.<java.util.concurrent.ThreadPoolExecutor: void <init>(int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)>(0, 2147483647, 60L, v, v, v);
<org.glassfish.hk.internal.ImmediateHelper: java.util.concurrent.Executor DEFAULT_EXECUTOR> = v;
return;
}
}