public class org.glassfish.grizzly.memory.PooledMemoryManager extends java.lang.Object implements org.glassfish.grizzly.memory.MemoryManager, org.glassfish.grizzly.memory.WrapperAware
{
public static final int DEFAULT_BASE_BUFFER_SIZE;
public static final int DEFAULT_NUMBER_OF_POOLS;
public static final int DEFAULT_GROWTH_FACTOR;
public static final float DEFAULT_HEAP_USAGE_PERCENTAGE;
public static final float DEFAULT_PREALLOCATED_BUFFERS_PERCENTAGE;
private static final boolean FORCE_BYTE_BUFFER_BASED_BUFFERS;
private static final long BACK_OFF_DELAY;
protected final org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig;
private final org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools;
private final int maxPooledBufferSize;
static final boolean $assertionsDisabled;
public void <init>()
{
int v;
java.lang.Runtime v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v = staticinvoke <java.lang.Runtime: java.lang.Runtime getRuntime()>();
v = virtualinvoke v.<java.lang.Runtime: int availableProcessors()>();
specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: void <init>(int,int,int,int,float,float,boolean)>(4096, 3, 2, v, 0.03F, 1.0F, 0);
return;
}
public void <init>(boolean)
{
java.lang.Runtime v;
int v;
boolean v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: boolean;
v = staticinvoke <java.lang.Runtime: java.lang.Runtime getRuntime()>();
v = virtualinvoke v.<java.lang.Runtime: int availableProcessors()>();
specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: void <init>(int,int,int,int,float,float,boolean)>(4096, 3, 2, v, 0.03F, 1.0F, v);
return;
}
public void <init>(int, int, int, int, float, float, boolean)
{
org.glassfish.grizzly.memory.PooledMemoryManager$1 v;
org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] v, v, v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
byte v, v, v, v;
boolean v, v, v;
java.lang.Runtime v;
org.glassfish.grizzly.memory.PooledMemoryManager$Pool v, v;
float v, v, v, v;
long v;
org.glassfish.grizzly.monitoring.DefaultMonitoringConfig v;
int v, v, v, v, v, v, v, v;
java.lang.IllegalArgumentException v, v, v, v, v, v, v, v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: float;
v := @parameter: float;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.glassfish.grizzly.memory.PooledMemoryManager$1;
specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$1: void <init>(org.glassfish.grizzly.memory.PooledMemoryManager,java.lang.Class)>(v, class "Lorg/glassfish/grizzly/memory/MemoryProbe;");
v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig> = v;
if v > 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("baseBufferSize must be greater than zero");
throw v;
label:
if v > 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("numberOfPools must be greater than zero");
throw v;
label:
if v != 0 goto label;
if v <= 1 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("if numberOfPools is greater than 0 - growthFactor must be greater than zero");
throw v;
label:
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("growthFactor must be greater or equal to zero");
throw v;
label:
if v > 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("numberOfPoolSlices must be greater than zero");
throw v;
label:
v = staticinvoke <org.glassfish.grizzly.memory.PooledMemoryManager: boolean isPowerOfTwo(int)>(v);
if v == 0 goto label;
v = staticinvoke <org.glassfish.grizzly.memory.PooledMemoryManager: boolean isPowerOfTwo(int)>(v);
if v != 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("minBufferSize and growthFactor must be a power of two");
throw v;
label:
v = v cmpg 0.0F;
if v <= 0 goto label;
v = v cmpl 1.0F;
if v < 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("percentOfHeap must be greater than zero and less than 1");
throw v;
label:
v = v cmpg 0.0F;
if v < 0 goto label;
v = v cmpl 1.0F;
if v <= 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("percentPreallocated must be greater or equal to zero and less or equal to 1");
throw v;
label:
v = staticinvoke <java.lang.Runtime: java.lang.Runtime getRuntime()>();
v = virtualinvoke v.<java.lang.Runtime: long maxMemory()>();
v = v * v;
v = v / v;
v = newarray (org.glassfish.grizzly.memory.PooledMemoryManager$Pool)[v];
v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools> = v;
v = 0;
v = v;
label:
if v >= v goto label;
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools>;
v = new org.glassfish.grizzly.memory.PooledMemoryManager$Pool;
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig>;
specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$Pool: void <init>(int,long,int,float,boolean,org.glassfish.grizzly.monitoring.DefaultMonitoringConfig)>(v, v, v, v, v, v);
v[v] = v;
v = v + 1;
v = v << v;
goto label;
label:
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools>;
v = v - 1;
v = v[v];
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager$Pool: int bufferSize>;
v.<org.glassfish.grizzly.memory.PooledMemoryManager: int maxPooledBufferSize> = v;
return;
}
public org.glassfish.grizzly.Buffer allocate(int)
{
int v;
org.glassfish.grizzly.Buffer v, v;
java.lang.IllegalArgumentException v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: int;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Requested allocation size must be greater than or equal to zero.");
throw v;
label:
v = virtualinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.Buffer allocateAtLeast(int)>(v);
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer limit(int)>(v);
return v;
}
public org.glassfish.grizzly.Buffer allocateAtLeast(int)
{
org.glassfish.grizzly.Buffer v, v;
org.glassfish.grizzly.memory.CompositeBuffer v;
java.lang.IllegalArgumentException v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
org.glassfish.grizzly.memory.PooledMemoryManager$Pool v;
int v, v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: int;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Requested allocation size must be greater than or equal to zero.");
throw v;
label:
if v != 0 goto label;
v = <org.glassfish.grizzly.memory.Buffers: org.glassfish.grizzly.Buffer EMPTY_BUFFER>;
return v;
label:
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: int maxPooledBufferSize>;
if v > v goto label;
v = specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool getPoolFor(int)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$Pool: org.glassfish.grizzly.Buffer allocate()>();
goto label;
label:
v = specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.CompositeBuffer newCompositeBuffer()>();
v = specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.CompositeBuffer allocateToCompositeBuffer(org.glassfish.grizzly.memory.CompositeBuffer,int)>(v, v);
label:
return v;
}
public org.glassfish.grizzly.Buffer reallocate(org.glassfish.grizzly.Buffer, int)
{
org.glassfish.grizzly.memory.CompositeBuffer v, v;
java.lang.AssertionError v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
int v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
org.glassfish.grizzly.Buffer v, v, v, v, v;
org.glassfish.grizzly.memory.PooledMemoryManager$PoolSlice v;
org.glassfish.grizzly.memory.PooledMemoryManager$Pool v, v, v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: int;
if v != 0 goto label;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean tryDispose()>();
v = <org.glassfish.grizzly.memory.Buffers: org.glassfish.grizzly.Buffer EMPTY_BUFFER>;
return v;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int capacity()>();
v = v instanceof org.glassfish.grizzly.memory.PooledMemoryManager$PoolBuffer;
if v == 0 goto label;
if v < v goto label;
v = specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool getPoolFor(int)>(v);
v = interfaceinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$PoolBuffer: org.glassfish.grizzly.memory.PooledMemoryManager$PoolSlice owner()>();
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager$PoolSlice: org.glassfish.grizzly.memory.PooledMemoryManager$Pool owner>;
if v == v goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$PoolBuffer: int position()>();
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = virtualinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$Pool: org.glassfish.grizzly.Buffer allocate()>();
staticinvoke <org.glassfish.grizzly.memory.Buffers: void setPositionLimit(org.glassfish.grizzly.Buffer,int,int)>(v, 0, v);
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer put(org.glassfish.grizzly.Buffer)>(v);
staticinvoke <org.glassfish.grizzly.memory.Buffers: void setPositionLimit(org.glassfish.grizzly.Buffer,int,int)>(v, v, v);
interfaceinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$PoolBuffer: boolean tryDispose()>();
return v;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$PoolBuffer: org.glassfish.grizzly.Buffer limit(int)>(v);
return v;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
staticinvoke <org.glassfish.grizzly.memory.Buffers: void setPositionLimit(org.glassfish.grizzly.Buffer,int,int)>(v, 0, v);
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: int maxPooledBufferSize>;
if v > v goto label;
v = specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool getPoolFor(int)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$Pool: org.glassfish.grizzly.Buffer allocate()>();
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer put(org.glassfish.grizzly.Buffer)>(v);
staticinvoke <org.glassfish.grizzly.memory.Buffers: void setPositionLimit(org.glassfish.grizzly.Buffer,int,int)>(v, v, v);
interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean tryDispose()>();
return v;
label:
v = specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.CompositeBuffer newCompositeBuffer()>();
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: org.glassfish.grizzly.memory.CompositeBuffer append(org.glassfish.grizzly.Buffer)>(v);
v = v - v;
specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.CompositeBuffer allocateToCompositeBuffer(org.glassfish.grizzly.memory.CompositeBuffer,int)>(v, v);
staticinvoke <org.glassfish.grizzly.memory.Buffers: void setPositionLimit(org.glassfish.grizzly.Buffer,int,int)>(v, v, v);
return v;
label:
v = <org.glassfish.grizzly.memory.PooledMemoryManager: boolean $assertionsDisabled>;
if v != 0 goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean isComposite()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
if v <= v goto label;
v = virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: int position()>();
staticinvoke <org.glassfish.grizzly.memory.Buffers: void setPositionLimit(org.glassfish.grizzly.Buffer,int,int)>(v, v, v);
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: void trim()>();
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: org.glassfish.grizzly.Buffer position(int)>(v);
return v;
label:
v = v - v;
v = specialinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.CompositeBuffer allocateToCompositeBuffer(org.glassfish.grizzly.memory.CompositeBuffer,int)>(v, v);
return v;
}
public void release(org.glassfish.grizzly.Buffer)
{
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: org.glassfish.grizzly.Buffer;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean tryDispose()>();
return;
}
public boolean willAllocateDirect(int)
{
int v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: int;
return 0;
}
public org.glassfish.grizzly.monitoring.MonitoringConfig getMonitoringConfig()
{
org.glassfish.grizzly.monitoring.DefaultMonitoringConfig v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig>;
return v;
}
public org.glassfish.grizzly.Buffer wrap(byte[])
{
byte[] v;
org.glassfish.grizzly.Buffer v;
java.nio.ByteBuffer v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: byte[];
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
v = virtualinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.Buffer wrap(java.nio.ByteBuffer)>(v);
return v;
}
public org.glassfish.grizzly.Buffer wrap(byte[], int, int)
{
byte[] v;
int v, v;
org.glassfish.grizzly.Buffer v;
java.nio.ByteBuffer v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[],int,int)>(v, v, v);
v = virtualinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.Buffer wrap(java.nio.ByteBuffer)>(v);
return v;
}
public org.glassfish.grizzly.Buffer wrap(java.lang.String)
{
byte[] v;
java.nio.charset.Charset v;
org.glassfish.grizzly.Buffer v;
java.lang.String v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: java.lang.String;
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset defaultCharset()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.Buffer wrap(byte[])>(v);
return v;
}
public org.glassfish.grizzly.Buffer wrap(java.lang.String, java.nio.charset.Charset)
{
byte[] v;
java.nio.charset.Charset v;
org.glassfish.grizzly.Buffer v;
java.lang.String v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: java.lang.String;
v := @parameter: java.nio.charset.Charset;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.Buffer wrap(byte[])>(v);
return v;
}
public org.glassfish.grizzly.Buffer wrap(java.nio.ByteBuffer)
{
java.nio.ByteBuffer v;
org.glassfish.grizzly.memory.ByteBufferWrapper v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: java.nio.ByteBuffer;
v = new org.glassfish.grizzly.memory.ByteBufferWrapper;
specialinvoke v.<org.glassfish.grizzly.memory.ByteBufferWrapper: void <init>(java.nio.ByteBuffer)>(v);
return v;
}
protected java.lang.Object createJmxManagementObject()
{
java.lang.Object v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v = staticinvoke <org.glassfish.grizzly.monitoring.MonitoringUtils: java.lang.Object loadJmxObject(java.lang.String,java.lang.Object,java.lang.Class)>("org.glassfish.grizzly.memory.jmx.PooledMemoryManager", v, class "Lorg/glassfish/grizzly/memory/PooledMemoryManager;");
return v;
}
org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] getPools()
{
java.lang.Object[] v;
org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] v, v;
int v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools>;
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools>;
v = lengthof v;
v = staticinvoke <java.util.Arrays: java.lang.Object[] copyOf(java.lang.Object[],int)>(v, v);
return v;
}
private org.glassfish.grizzly.memory.PooledMemoryManager$Pool getPoolFor(int)
{
java.lang.IllegalStateException v;
org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] v, v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
org.glassfish.grizzly.memory.PooledMemoryManager$Pool v;
int v, v, v, v;
java.lang.String v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: int;
v = 0;
label:
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools>;
v = lengthof v;
if v >= v goto label;
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools>;
v = v[v];
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager$Pool: int bufferSize>;
if v < v goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("There is no pool big enough to allocate \u bytes");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
}
private org.glassfish.grizzly.memory.CompositeBuffer allocateToCompositeBuffer(org.glassfish.grizzly.memory.CompositeBuffer, int)
{
org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] v, v, v, v;
org.glassfish.grizzly.memory.CompositeBuffer v;
java.lang.AssertionError v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
int v, v, v, v, v, v, v, v, v;
boolean v;
org.glassfish.grizzly.Buffer v, v, v;
org.glassfish.grizzly.memory.PooledMemoryManager$Pool v, v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v := @parameter: org.glassfish.grizzly.memory.CompositeBuffer;
v := @parameter: int;
v = <org.glassfish.grizzly.memory.PooledMemoryManager: boolean $assertionsDisabled>;
if v != 0 goto label;
if v >= 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: int maxPooledBufferSize>;
if v < v goto label;
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools>;
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools>;
v = lengthof v;
v = v - 1;
v = v[v];
label:
v = virtualinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$Pool: org.glassfish.grizzly.Buffer allocate()>();
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: org.glassfish.grizzly.memory.CompositeBuffer append(org.glassfish.grizzly.Buffer)>(v);
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: int maxPooledBufferSize>;
v = v - v;
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: int maxPooledBufferSize>;
if v >= v goto label;
label:
v = 0;
label:
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools>;
v = lengthof v;
if v >= v goto label;
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager: org.glassfish.grizzly.memory.PooledMemoryManager$Pool[] pools>;
v = v[v];
v = v.<org.glassfish.grizzly.memory.PooledMemoryManager$Pool: int bufferSize>;
if v < v goto label;
v = virtualinvoke v.<org.glassfish.grizzly.memory.PooledMemoryManager$Pool: org.glassfish.grizzly.Buffer allocate()>();
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer limit(int)>(v);
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: org.glassfish.grizzly.memory.CompositeBuffer append(org.glassfish.grizzly.Buffer)>(v);
goto label;
label:
v = v + 1;
goto label;
label:
return v;
}
private org.glassfish.grizzly.memory.CompositeBuffer newCompositeBuffer()
{
org.glassfish.grizzly.memory.CompositeBuffer v;
org.glassfish.grizzly.memory.PooledMemoryManager v;
v := @this: org.glassfish.grizzly.memory.PooledMemoryManager;
v = staticinvoke <org.glassfish.grizzly.memory.CompositeBuffer: org.glassfish.grizzly.memory.CompositeBuffer newBuffer(org.glassfish.grizzly.memory.MemoryManager)>(v);
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: void allowInternalBuffersDispose(boolean)>(1);
virtualinvoke v.<org.glassfish.grizzly.memory.CompositeBuffer: void allowBufferDispose(boolean)>(1);
return v;
}
private static boolean isPowerOfTwo(int)
{
int v, v, v;
boolean v;
v := @parameter: int;
v = v - 1;
v = v & v;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static int fillHighestOneBitRight(int)
{
int v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: int;
v = v >> 1;
v = v | v;
v = v >> 2;
v = v | v;
v = v >> 4;
v = v | v;
v = v >> 8;
v = v | v;
v = v >> 16;
v = v | v;
return v;
}
static void <clinit>()
{
long v;
java.lang.Long v;
java.lang.Class v;
java.lang.String v, v;
boolean v, v, v;
v = class "Lorg/glassfish/grizzly/memory/PooledMemoryManager;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.glassfish.grizzly.memory.PooledMemoryManager: boolean $assertionsDisabled> = v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Class)>(class "Lorg/glassfish/grizzly/memory/PooledMemoryManager;") <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[])>("\u.force-byte-buffer-based-buffers");
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>(v);
<org.glassfish.grizzly.memory.PooledMemoryManager: boolean FORCE_BYTE_BUFFER_BASED_BUFFERS> = v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Class)>(class "Lorg/glassfish/grizzly/memory/PooledMemoryManager;") <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[])>("\u.back-off-delay");
v = staticinvoke <java.lang.Long: java.lang.Long getLong(java.lang.String,long)>(v, 0L);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
<org.glassfish.grizzly.memory.PooledMemoryManager: long BACK_OFF_DELAY> = v;
return;
}
}