public class org.glassfish.grizzly.http.server.filecache.FileCache extends java.lang.Object implements org.glassfish.grizzly.monitoring.MonitoringAware
{
private static final java.io.File TMP_DIR;
static final java.lang.String[] COMPRESSION_ALIASES;
private static final java.util.logging.Logger LOGGER;
private final java.util.concurrent.atomic.AtomicInteger cacheSize;
private final java.util.concurrent.ConcurrentMap fileCacheMap;
private final org.glassfish.grizzly.http.server.filecache.FileCacheEntry NULL_CACHE_ENTRY;
private int secondsMaxAge;
private volatile int maxCacheEntries;
private long minEntrySize;
private long maxEntrySize;
private volatile long maxLargeFileCacheSize;
private volatile long maxSmallFileCacheSize;
private final java.util.concurrent.atomic.AtomicLong mappedMemorySize;
private final java.util.concurrent.atomic.AtomicLong heapSize;
private boolean enabled;
private org.glassfish.grizzly.utils.DelayedExecutor$DelayQueue delayQueue;
private volatile java.io.File compressedFilesFolder;
private final org.glassfish.grizzly.http.CompressionConfig compressionConfig;
private boolean fileSendEnabled;
protected final org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig;
public void <init>()
{
java.util.concurrent.ConcurrentHashMap v;
org.glassfish.grizzly.http.CompressionConfig v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
java.io.File v;
java.util.concurrent.atomic.AtomicLong v, v;
org.glassfish.grizzly.http.server.filecache.FileCache$1 v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicInteger cacheSize> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.ConcurrentMap fileCacheMap> = v;
v = new org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: void <init>(org.glassfish.grizzly.http.server.filecache.FileCache)>(v);
v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.server.filecache.FileCacheEntry NULL_CACHE_ENTRY> = v;
v = (int) -1;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: int secondsMaxAge> = v;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: int maxCacheEntries> = 1024;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: long minEntrySize> = -9223372036854775808L;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: long maxEntrySize> = 9223372036854775807L;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: long maxLargeFileCacheSize> = 9223372036854775807L;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: long maxSmallFileCacheSize> = 1048576L;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>()>();
v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicLong mappedMemorySize> = v;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>()>();
v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicLong heapSize> = v;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: boolean enabled> = 1;
v = <org.glassfish.grizzly.http.server.filecache.FileCache: java.io.File TMP_DIR>;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.io.File compressedFilesFolder> = v;
v = new org.glassfish.grizzly.http.CompressionConfig;
specialinvoke v.<org.glassfish.grizzly.http.CompressionConfig: void <init>()>();
v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.CompressionConfig compressionConfig> = v;
v = new org.glassfish.grizzly.http.server.filecache.FileCache$1;
specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache$1: void <init>(org.glassfish.grizzly.http.server.filecache.FileCache,java.lang.Class)>(v, class "Lorg/glassfish/grizzly/http/server/filecache/FileCacheProbe;");
v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig> = v;
return;
}
public void initialize(org.glassfish.grizzly.utils.DelayedExecutor)
{
org.glassfish.grizzly.utils.DelayedExecutor$DelayQueue v;
org.glassfish.grizzly.utils.DelayedExecutor v;
org.glassfish.grizzly.http.server.filecache.FileCache$EntryWorker v;
org.glassfish.grizzly.http.server.filecache.FileCache$EntryResolver v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.utils.DelayedExecutor;
v = new org.glassfish.grizzly.http.server.filecache.FileCache$EntryWorker;
specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache$EntryWorker: void <init>()>();
v = new org.glassfish.grizzly.http.server.filecache.FileCache$EntryResolver;
specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache$EntryResolver: void <init>()>();
v = virtualinvoke v.<org.glassfish.grizzly.utils.DelayedExecutor: org.glassfish.grizzly.utils.DelayedExecutor$DelayQueue createDelayQueue(org.glassfish.grizzly.utils.DelayedExecutor$Worker,org.glassfish.grizzly.utils.DelayedExecutor$Resolver)>(v, v);
v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.utils.DelayedExecutor$DelayQueue delayQueue> = v;
return;
}
public org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult add(org.glassfish.grizzly.http.HttpRequestPacket, long)
{
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult v;
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v := @parameter: long;
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult add(org.glassfish.grizzly.http.HttpRequestPacket,java.io.File,long)>(v, null, v);
return v;
}
public org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult add(org.glassfish.grizzly.http.HttpRequestPacket, java.io.File)
{
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult v;
long v;
java.io.File v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult add(org.glassfish.grizzly.http.HttpRequestPacket,java.io.File,long)>(v, v, v);
return v;
}
protected org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult add(org.glassfish.grizzly.http.HttpRequestPacket, java.io.File, long)
{
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult v, v, v, v;
java.util.concurrent.atomic.AtomicInteger v, v;
boolean v;
org.glassfish.grizzly.http.server.filecache.FileCacheKey v;
org.glassfish.grizzly.http.util.ContentType v;
org.glassfish.grizzly.utils.DelayedExecutor$DelayQueue v;
org.glassfish.grizzly.http.server.filecache.FileCache$CacheType v, v, v;
long v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v, v, v;
java.util.concurrent.ConcurrentMap v, v, v;
org.glassfish.grizzly.http.HttpResponsePacket v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
org.glassfish.grizzly.http.util.MimeHeaders v;
java.io.File v;
java.util.concurrent.TimeUnit v;
org.glassfish.grizzly.http.util.Header v, v, v, v, v, v;
java.lang.Object v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v := @parameter: java.io.File;
v := @parameter: long;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: java.lang.String getRequestURI()>();
if v != null goto label;
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult: org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult FAILED>;
return v;
label:
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header Host>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
v = new org.glassfish.grizzly.http.server.filecache.FileCacheKey;
specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheKey: void <init>(java.lang.String,java.lang.String)>(v, v);
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.ConcurrentMap fileCacheMap>;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.server.filecache.FileCacheEntry NULL_CACHE_ENTRY>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheKey: void recycle()>();
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult: org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult FAILED_ENTRY_EXISTS>;
return v;
label:
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicInteger cacheSize>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: int getMaxCacheEntries()>();
if v <= v goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicInteger cacheSize>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int decrementAndGet()>();
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.ConcurrentMap fileCacheMap>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheKey: void recycle()>();
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult: org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult FAILED_CACHE_FULL>;
return v;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: org.glassfish.grizzly.http.HttpResponsePacket getResponse()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpResponsePacket: org.glassfish.grizzly.http.util.MimeHeaders getHeaders()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpResponsePacket: java.lang.String getContentType()>();
if v == null goto label;
v = specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.server.filecache.FileCacheEntry createEntry(java.io.File)>(v);
v = specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: boolean canBeCompressed(java.io.File,java.lang.String)>(v, v);
virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: void setCanBeCompressed(boolean)>(v);
goto label;
label:
v = new org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: void <init>(org.glassfish.grizzly.http.server.filecache.FileCache)>(v);
v = v;
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType TIMESTAMP>;
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType type> = v;
label:
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCacheKey key> = v;
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String requestURI> = v;
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: long lastModified> = v;
v = staticinvoke <org.glassfish.grizzly.http.util.ContentType: org.glassfish.grizzly.http.util.ContentType newContentType(java.lang.String)>(v);
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.util.ContentType contentType> = v;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header XPoweredBy>;
v = virtualinvoke v.<org.glassfish.grizzly.http.util.MimeHeaders: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String xPoweredBy> = v;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header Date>;
v = virtualinvoke v.<org.glassfish.grizzly.http.util.MimeHeaders: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String date> = v;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header LastModified>;
v = virtualinvoke v.<org.glassfish.grizzly.http.util.MimeHeaders: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String lastModifiedHeader> = v;
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String host> = v;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header ETag>;
v = virtualinvoke v.<org.glassfish.grizzly.http.util.MimeHeaders: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String Etag> = v;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header Server>;
v = virtualinvoke v.<org.glassfish.grizzly.http.util.MimeHeaders: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String server> = v;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.ConcurrentMap fileCacheMap>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
staticinvoke <org.glassfish.grizzly.http.server.filecache.FileCache: void notifyProbesEntryAdded(org.glassfish.grizzly.http.server.filecache.FileCache,org.glassfish.grizzly.http.server.filecache.FileCacheEntry)>(v, v);
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: int getSecondsMaxAge()>();
if v <= 0 goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.utils.DelayedExecutor$DelayQueue delayQueue>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
virtualinvoke v.<org.glassfish.grizzly.utils.DelayedExecutor$DelayQueue: void add(java.lang.Object,long,java.util.concurrent.TimeUnit)>(v, v, v);
label:
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType type>;
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType TIMESTAMP>;
if v != v goto label;
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult: org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult OK_CACHED_TIMESTAMP>;
goto label;
label:
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult: org.glassfish.grizzly.http.server.filecache.FileCache$CacheResult OK_CACHED>;
label:
return v;
}
public org.glassfish.grizzly.http.server.filecache.FileCacheEntry get(org.glassfish.grizzly.http.HttpRequestPacket)
{
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.http.server.filecache.FileCache$CacheType v, v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
java.util.concurrent.ConcurrentMap v;
java.util.logging.Level v;
java.util.concurrent.atomic.AtomicInteger v;
org.glassfish.grizzly.http.HttpResponsePacket v;
org.glassfish.grizzly.http.server.filecache.LazyFileCacheKey v;
int v;
java.lang.String v;
org.glassfish.grizzly.http.util.HttpStatus v, v;
boolean v;
java.util.logging.Logger v;
java.lang.Exception v;
java.lang.Object v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicInteger cacheSize>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v != 0 goto label;
return null;
label:
v = staticinvoke <org.glassfish.grizzly.http.server.filecache.LazyFileCacheKey: org.glassfish.grizzly.http.server.filecache.LazyFileCacheKey create(org.glassfish.grizzly.http.HttpRequestPacket)>(v);
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.ConcurrentMap fileCacheMap>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.LazyFileCacheKey: void recycle()>();
label:
if v == null goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.server.filecache.FileCacheEntry NULL_CACHE_ENTRY>;
if v == v goto label;
v = specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.util.HttpStatus checkIfHeaders(org.glassfish.grizzly.http.server.filecache.FileCacheEntry,org.glassfish.grizzly.http.HttpRequestPacket)>(v, v);
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType type>;
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType TIMESTAMP>;
if v != v goto label;
label:
return null;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: org.glassfish.grizzly.http.HttpResponsePacket getResponse()>();
if v == null goto label;
v = v;
goto label;
label:
v = <org.glassfish.grizzly.http.util.HttpStatus: org.glassfish.grizzly.http.util.HttpStatus OK_200>;
label:
virtualinvoke v.<org.glassfish.grizzly.http.HttpResponsePacket: void setStatus(org.glassfish.grizzly.http.util.HttpStatus)>(v);
staticinvoke <org.glassfish.grizzly.http.server.filecache.FileCache: void notifyProbesEntryHit(org.glassfish.grizzly.http.server.filecache.FileCache,org.glassfish.grizzly.http.server.filecache.FileCacheEntry)>(v, v);
label:
return v;
label:
staticinvoke <org.glassfish.grizzly.http.server.filecache.FileCache: void notifyProbesEntryMissed(org.glassfish.grizzly.http.server.filecache.FileCache,org.glassfish.grizzly.http.HttpRequestPacket)>(v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.glassfish.grizzly.http.server.filecache.FileCache: void notifyProbesError(org.glassfish.grizzly.http.server.filecache.FileCache,java.lang.Throwable)>(v, v);
v = <org.glassfish.grizzly.http.server.filecache.FileCache: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = staticinvoke <org.glassfish.grizzly.localization.LogMessages: java.lang.String WARNING_GRIZZLY_HTTP_SERVER_FILECACHE_GENERAL_ERROR()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, v, v);
label:
return null;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected void remove(org.glassfish.grizzly.http.server.filecache.FileCacheEntry)
{
org.glassfish.grizzly.http.server.filecache.FileCache$CacheType v, v, v, v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
org.glassfish.grizzly.http.server.filecache.FileCacheKey v;
java.nio.ByteBuffer v, v;
java.util.concurrent.ConcurrentMap v;
java.util.concurrent.atomic.AtomicInteger v;
int v, v;
java.lang.Object v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.ConcurrentMap fileCacheMap>;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCacheKey key>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicInteger cacheSize>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int decrementAndGet()>();
label:
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType type>;
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType MAPPED>;
if v != v goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: long subMappedMemorySize(long)>(v);
goto label;
label:
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType type>;
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType HEAP>;
if v != v goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: long subHeapSize(long)>(v);
label:
staticinvoke <org.glassfish.grizzly.http.server.filecache.FileCache: void notifyProbesEntryRemoved(org.glassfish.grizzly.http.server.filecache.FileCache,org.glassfish.grizzly.http.server.filecache.FileCacheEntry)>(v, v);
return;
}
protected java.lang.Object createJmxManagementObject()
{
java.lang.Object v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = staticinvoke <org.glassfish.grizzly.monitoring.MonitoringUtils: java.lang.Object loadJmxObject(java.lang.String,java.lang.Object,java.lang.Class)>("org.glassfish.grizzly.http.server.filecache.jmx.FileCache", v, class "Lorg/glassfish/grizzly/http/server/filecache/FileCache;");
return v;
}
private org.glassfish.grizzly.http.server.filecache.FileCacheEntry createEntry(java.io.File)
{
org.glassfish.grizzly.http.server.filecache.FileCache$CacheType v;
long v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v, v;
java.io.File v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: java.io.File;
v = specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.server.filecache.FileCacheEntry tryMapFileToBuffer(java.io.File)>(v);
if v != null goto label;
v = new org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: void <init>(org.glassfish.grizzly.http.server.filecache.FileCache)>(v);
v = v;
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType FILE>;
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType type> = v;
label:
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.io.File plainFile> = v;
v = virtualinvoke v.<java.io.File: long length()>();
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: long plainFileSize> = v;
return v;
}
private org.glassfish.grizzly.http.server.filecache.FileCacheEntry tryMapFileToBuffer(java.io.File)
{
java.lang.Throwable v;
org.glassfish.grizzly.http.server.filecache.FileCache$CacheType v, v;
long v, v, v, v, v, v, v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
java.nio.channels.FileChannel$MapMode v;
byte v, v, v, v;
java.io.FileInputStream v, v;
java.io.File v;
java.lang.Exception v;
java.nio.channels.FileChannel v;
java.nio.MappedByteBuffer v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: long length()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: long getMaxEntrySize()>();
v = v cmp v;
if v <= 0 goto label;
return null;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: long getMinEntrySize()>();
v = v cmp v;
if v <= 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: long addMappedMemorySize(long)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: long getMaxLargeFileCacheSize()>();
v = v cmp v;
if v <= 0 goto label;
virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: long subMappedMemorySize(long)>(v);
label:
return null;
label:
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType MAPPED>;
goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: long addHeapSize(long)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: long getMaxSmallFileCacheSize()>();
v = v cmp v;
if v <= 0 goto label;
virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: long subHeapSize(long)>(v);
label:
return null;
label:
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType HEAP>;
label:
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
v = virtualinvoke v.<java.io.FileInputStream: java.nio.channels.FileChannel getChannel()>();
v = <java.nio.channels.FileChannel$MapMode: java.nio.channels.FileChannel$MapMode READ_ONLY>;
v = virtualinvoke v.<java.nio.channels.FileChannel: java.nio.MappedByteBuffer map(java.nio.channels.FileChannel$MapMode,long,long)>(v, 0L, v);
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType HEAP>;
if v != v goto label;
virtualinvoke v.<java.nio.MappedByteBuffer: java.nio.MappedByteBuffer load()>();
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.glassfish.grizzly.http.server.filecache.FileCache: void notifyProbesError(org.glassfish.grizzly.http.server.filecache.FileCache,java.lang.Throwable)>(v, v);
label:
return null;
label:
v := @caughtexception;
throw v;
label:
v = new org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: void <init>(org.glassfish.grizzly.http.server.filecache.FileCache)>(v);
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType type> = v;
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: long plainFileSize> = v;
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.nio.ByteBuffer bb> = v;
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception 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;
catch java.lang.Throwable from label to label with label;
}
private boolean canBeCompressed(java.io.File, java.lang.String)
{
java.lang.IllegalStateException v;
org.glassfish.grizzly.http.CompressionConfig$CompressionMode v;
org.glassfish.grizzly.http.CompressionConfig v, v, v;
long v;
java.io.File v;
byte v;
int[] v;
int v, v, v;
java.lang.String v;
boolean v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: java.io.File;
v := @parameter: java.lang.String;
v = <org.glassfish.grizzly.http.server.filecache.FileCache$2: int[] $SwitchMap$org$glassfish$grizzly$http$CompressionConfig$CompressionMode>;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.CompressionConfig compressionConfig>;
v = virtualinvoke v.<org.glassfish.grizzly.http.CompressionConfig: org.glassfish.grizzly.http.CompressionConfig$CompressionMode getCompressionMode()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.CompressionConfig$CompressionMode: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
return 1;
label:
return 0;
label:
v = virtualinvoke v.<java.io.File: long length()>();
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.CompressionConfig compressionConfig>;
v = virtualinvoke v.<org.glassfish.grizzly.http.CompressionConfig: int getCompressionMinSize()>();
v = v cmp v;
if v >= 0 goto label;
return 0;
label:
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.CompressionConfig compressionConfig>;
v = virtualinvoke v.<org.glassfish.grizzly.http.CompressionConfig: boolean checkMimeType(java.lang.String)>(v);
return v;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Unknown mode");
throw v;
}
public int getSecondsMaxAge()
{
int v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: int secondsMaxAge>;
return v;
}
public void setSecondsMaxAge(int)
{
int v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: int;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: int secondsMaxAge> = v;
return;
}
public int getMaxCacheEntries()
{
int v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: int maxCacheEntries>;
return v;
}
public void setMaxCacheEntries(int)
{
int v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: int;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: int maxCacheEntries> = v;
return;
}
public long getMinEntrySize()
{
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: long minEntrySize>;
return v;
}
public void setMinEntrySize(long)
{
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: long;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: long minEntrySize> = v;
return;
}
public long getMaxEntrySize()
{
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: long maxEntrySize>;
return v;
}
public void setMaxEntrySize(long)
{
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: long;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: long maxEntrySize> = v;
return;
}
public long getMaxLargeFileCacheSize()
{
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: long maxLargeFileCacheSize>;
return v;
}
public void setMaxLargeFileCacheSize(long)
{
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: long;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: long maxLargeFileCacheSize> = v;
return;
}
public long getMaxSmallFileCacheSize()
{
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: long maxSmallFileCacheSize>;
return v;
}
public void setMaxSmallFileCacheSize(long)
{
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: long;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: long maxSmallFileCacheSize> = v;
return;
}
public boolean isEnabled()
{
boolean v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: boolean enabled>;
return v;
}
public void setEnabled(boolean)
{
boolean v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: boolean;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: boolean enabled> = v;
return;
}
public org.glassfish.grizzly.http.CompressionConfig getCompressionConfig()
{
org.glassfish.grizzly.http.CompressionConfig v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.CompressionConfig compressionConfig>;
return v;
}
public java.io.File getCompressedFilesFolder()
{
java.io.File v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.io.File compressedFilesFolder>;
return v;
}
public void setCompressedFilesFolder(java.io.File)
{
java.io.File v, v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: java.io.File;
if v == null goto label;
v = v;
goto label;
label:
v = <org.glassfish.grizzly.http.server.filecache.FileCache: java.io.File TMP_DIR>;
label:
v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.io.File compressedFilesFolder> = v;
return;
}
public boolean isFileSendEnabled()
{
boolean v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: boolean fileSendEnabled>;
return v;
}
public void setFileSendEnabled(boolean)
{
boolean v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: boolean;
v.<org.glassfish.grizzly.http.server.filecache.FileCache: boolean fileSendEnabled> = v;
return;
}
protected void compressFile(org.glassfish.grizzly.http.server.filecache.FileCacheEntry)
{
byte[] v;
java.lang.IllegalStateException v;
java.nio.channels.FileChannel$MapMode v;
int[] v;
java.util.logging.Logger v;
java.util.zip.GZIPOutputStream v, v;
java.lang.Throwable v, v;
org.glassfish.grizzly.http.server.filecache.FileCache$CacheType v, v, v, v;
long v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
java.util.logging.Level v;
int v, v, v, v, v;
java.lang.String v, v, v;
java.io.FileOutputStream v;
java.io.IOException v;
java.io.FileInputStream v, v, v;
java.io.File v, v, v, v, v;
java.nio.channels.FileChannel v;
java.nio.MappedByteBuffer v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
label:
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.io.File plainFile>;
v = virtualinvoke v.<java.io.File: int hashCode()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.io.File compressedFilesFolder>;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>(v, ".tmpzip", v);
virtualinvoke v.<java.io.File: void deleteOnExit()>();
label:
v = new java.io.FileInputStream;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.io.File plainFile>;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
v = new java.util.zip.GZIPOutputStream;
v = new java.io.FileOutputStream;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.io.File)>(v);
specialinvoke v.<java.util.zip.GZIPOutputStream: void <init>(java.io.OutputStream)>(v);
v = newarray (byte)[1024];
label:
v = virtualinvoke v.<java.io.InputStream: int read(byte[])>(v);
v = (int) -1;
if v == v goto label;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, 0, v);
goto label;
label:
goto label;
label:
v := @caughtexception;
throw v;
label:
v = virtualinvoke v.<java.io.File: long length()>();
v = <org.glassfish.grizzly.http.server.filecache.FileCache$2: int[] $SwitchMap$org$glassfish$grizzly$http$server$filecache$FileCache$CacheType>;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType type>;
v = virtualinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
label:
v = virtualinvoke v.<java.io.FileInputStream: java.nio.channels.FileChannel getChannel()>();
v = <java.nio.channels.FileChannel$MapMode: java.nio.channels.FileChannel$MapMode READ_ONLY>;
v = virtualinvoke v.<java.nio.channels.FileChannel: java.nio.MappedByteBuffer map(java.nio.channels.FileChannel$MapMode,long,long)>(v, 0L, v);
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType type>;
v = <org.glassfish.grizzly.http.server.filecache.FileCache$CacheType: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType HEAP>;
if v != v goto label;
virtualinvoke v.<java.nio.MappedByteBuffer: java.nio.MappedByteBuffer load()>();
label:
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.nio.ByteBuffer compressedBb> = v;
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.io.FileInputStream: void close()>();
throw v;
label:
v = new java.lang.IllegalStateException;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: org.glassfish.grizzly.http.server.filecache.FileCache$CacheType type>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.glassfish.grizzly.http.server.filecache.FileCache$CacheType)>(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[])>("The type is not supported: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: long compressedFileSize> = v;
v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.io.File compressedFile> = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.grizzly.http.server.filecache.FileCache: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.io.File plainFile>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.File)>(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[])>("Can not compress file: \u0001");
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
}
protected final long addHeapSize(long)
{
java.util.concurrent.atomic.AtomicLong v;
long v, v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: long;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicLong heapSize>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long addAndGet(long)>(v);
return v;
}
protected final long subHeapSize(long)
{
java.util.concurrent.atomic.AtomicLong v;
long v, v, v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: long;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicLong heapSize>;
v = neg v;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long addAndGet(long)>(v);
return v;
}
public long getHeapCacheSize()
{
java.util.concurrent.atomic.AtomicLong v;
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicLong heapSize>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
return v;
}
protected final long addMappedMemorySize(long)
{
java.util.concurrent.atomic.AtomicLong v;
long v, v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: long;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicLong mappedMemorySize>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long addAndGet(long)>(v);
return v;
}
protected final long subMappedMemorySize(long)
{
java.util.concurrent.atomic.AtomicLong v;
long v, v, v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: long;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicLong mappedMemorySize>;
v = neg v;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long addAndGet(long)>(v);
return v;
}
public long getMappedCacheSize()
{
java.util.concurrent.atomic.AtomicLong v;
long v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.concurrent.atomic.AtomicLong mappedMemorySize>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
return v;
}
private org.glassfish.grizzly.http.util.HttpStatus checkIfHeaders(org.glassfish.grizzly.http.server.filecache.FileCacheEntry, org.glassfish.grizzly.http.HttpRequestPacket) throws java.io.IOException
{
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
org.glassfish.grizzly.http.util.HttpStatus v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v = specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.util.HttpStatus checkIfMatch(org.glassfish.grizzly.http.server.filecache.FileCacheEntry,org.glassfish.grizzly.http.HttpRequestPacket)>(v, v);
if v != null goto label;
v = specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.util.HttpStatus checkIfModifiedSince(org.glassfish.grizzly.http.server.filecache.FileCacheEntry,org.glassfish.grizzly.http.HttpRequestPacket)>(v, v);
if v != null goto label;
v = specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.util.HttpStatus checkIfNoneMatch(org.glassfish.grizzly.http.server.filecache.FileCacheEntry,org.glassfish.grizzly.http.HttpRequestPacket)>(v, v);
if v != null goto label;
v = specialinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.http.util.HttpStatus checkIfUnmodifiedSince(org.glassfish.grizzly.http.server.filecache.FileCacheEntry,org.glassfish.grizzly.http.HttpRequestPacket)>(v, v);
label:
return v;
}
private org.glassfish.grizzly.http.util.HttpStatus checkIfModifiedSince(org.glassfish.grizzly.http.server.filecache.FileCacheEntry, org.glassfish.grizzly.http.HttpRequestPacket) throws java.io.IOException
{
org.glassfish.grizzly.http.HttpRequestPacket v;
long v, v, v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
byte v, v;
java.lang.String v, v, v;
org.glassfish.grizzly.http.util.HttpStatus v, v;
boolean v;
java.lang.IllegalArgumentException v;
org.glassfish.grizzly.http.util.Header v, v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
label:
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header IfModifiedSince>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
if v == null goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String lastModifiedHeader>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.glassfish.grizzly.http.util.HttpStatus: org.glassfish.grizzly.http.util.HttpStatus NOT_MODIFIED_304>;
label:
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.server.filecache.FileCache: long convertToLong(java.lang.String)>(v);
v = v cmp -1L;
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: long lastModified>;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header IfNoneMatch>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
if v != null goto label;
v = v - v;
v = v cmp 1000L;
if v > 0 goto label;
v = <org.glassfish.grizzly.http.util.HttpStatus: org.glassfish.grizzly.http.util.HttpStatus NOT_MODIFIED_304>;
label:
return v;
label:
v := @caughtexception;
staticinvoke <org.glassfish.grizzly.http.server.filecache.FileCache: void notifyProbesError(org.glassfish.grizzly.http.server.filecache.FileCache,java.lang.Throwable)>(v, v);
label:
return null;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
}
private org.glassfish.grizzly.http.util.HttpStatus checkIfNoneMatch(org.glassfish.grizzly.http.server.filecache.FileCacheEntry, org.glassfish.grizzly.http.HttpRequestPacket) throws java.io.IOException
{
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.http.Method v, v, v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
java.util.StringTokenizer v;
java.lang.String v, v, v, v;
org.glassfish.grizzly.http.util.HttpStatus v, v;
boolean v, v, v, v, v, v;
org.glassfish.grizzly.http.util.Header v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header IfNoneMatch>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
if v == null goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String Etag>;
v = 0;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("*");
if v != 0 goto label;
v = new java.util.StringTokenizer;
specialinvoke v.<java.util.StringTokenizer: void <init>(java.lang.String,java.lang.String)>(v, ",");
label:
if v != 0 goto label;
v = virtualinvoke v.<java.util.StringTokenizer: boolean hasMoreTokens()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 1;
label:
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: org.glassfish.grizzly.http.Method getMethod()>();
v = <org.glassfish.grizzly.http.Method: org.glassfish.grizzly.http.Method GET>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.glassfish.grizzly.http.Method: org.glassfish.grizzly.http.Method HEAD>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = <org.glassfish.grizzly.http.util.HttpStatus: org.glassfish.grizzly.http.util.HttpStatus NOT_MODIFIED_304>;
return v;
label:
v = <org.glassfish.grizzly.http.util.HttpStatus: org.glassfish.grizzly.http.util.HttpStatus PRECONDITION_FAILED_412>;
return v;
label:
return null;
}
private org.glassfish.grizzly.http.util.HttpStatus checkIfUnmodifiedSince(org.glassfish.grizzly.http.server.filecache.FileCacheEntry, org.glassfish.grizzly.http.HttpRequestPacket) throws java.io.IOException
{
org.glassfish.grizzly.http.HttpRequestPacket v;
long v, v, v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
java.lang.IllegalArgumentException v;
byte v, v;
org.glassfish.grizzly.http.util.Header v;
java.lang.String v, v;
org.glassfish.grizzly.http.util.HttpStatus v, v;
boolean v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
label:
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: long lastModified>;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header IfUnmodifiedSince>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
if v == null goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String lastModifiedHeader>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.glassfish.grizzly.http.util.HttpStatus: org.glassfish.grizzly.http.util.HttpStatus PRECONDITION_FAILED_412>;
label:
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.server.filecache.FileCache: long convertToLong(java.lang.String)>(v);
v = v cmp -1L;
if v == 0 goto label;
v = v - v;
v = v cmp 1000L;
if v > 0 goto label;
v = <org.glassfish.grizzly.http.util.HttpStatus: org.glassfish.grizzly.http.util.HttpStatus PRECONDITION_FAILED_412>;
label:
return v;
label:
v := @caughtexception;
staticinvoke <org.glassfish.grizzly.http.server.filecache.FileCache: void notifyProbesError(org.glassfish.grizzly.http.server.filecache.FileCache,java.lang.Throwable)>(v, v);
label:
return null;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
}
private org.glassfish.grizzly.http.util.HttpStatus checkIfMatch(org.glassfish.grizzly.http.server.filecache.FileCacheEntry, org.glassfish.grizzly.http.HttpRequestPacket) throws java.io.IOException
{
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
java.util.StringTokenizer v;
org.glassfish.grizzly.http.util.Header v;
int v, v;
java.lang.String v, v, v, v;
org.glassfish.grizzly.http.util.HttpStatus v;
boolean v, v, v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header IfMatch>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(42);
v = (int) -1;
if v != v goto label;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCacheEntry: java.lang.String Etag>;
v = new java.util.StringTokenizer;
specialinvoke v.<java.util.StringTokenizer: void <init>(java.lang.String,java.lang.String)>(v, ",");
v = 0;
label:
if v != 0 goto label;
v = virtualinvoke v.<java.util.StringTokenizer: boolean hasMoreTokens()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
if v != 0 goto label;
v = <org.glassfish.grizzly.http.util.HttpStatus: org.glassfish.grizzly.http.util.HttpStatus PRECONDITION_FAILED_412>;
return v;
label:
return null;
}
public org.glassfish.grizzly.monitoring.MonitoringConfig getMonitoringConfig()
{
org.glassfish.grizzly.monitoring.DefaultMonitoringConfig v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @this: org.glassfish.grizzly.http.server.filecache.FileCache;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig>;
return v;
}
protected static void notifyProbesEntryAdded(org.glassfish.grizzly.http.server.filecache.FileCache, org.glassfish.grizzly.http.server.filecache.FileCacheEntry)
{
org.glassfish.grizzly.monitoring.DefaultMonitoringConfig v;
java.lang.Object[] v;
org.glassfish.grizzly.http.server.filecache.FileCacheProbe v;
int v, v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig>;
v = virtualinvoke v.<org.glassfish.grizzly.monitoring.DefaultMonitoringConfig: java.lang.Object[] getProbesUnsafe()>();
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
interfaceinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheProbe: void onEntryAddedEvent(org.glassfish.grizzly.http.server.filecache.FileCache,org.glassfish.grizzly.http.server.filecache.FileCacheEntry)>(v, v);
v = v + 1;
goto label;
label:
return;
}
protected static void notifyProbesEntryRemoved(org.glassfish.grizzly.http.server.filecache.FileCache, org.glassfish.grizzly.http.server.filecache.FileCacheEntry)
{
org.glassfish.grizzly.monitoring.DefaultMonitoringConfig v;
java.lang.Object[] v;
org.glassfish.grizzly.http.server.filecache.FileCacheProbe v;
int v, v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig>;
v = virtualinvoke v.<org.glassfish.grizzly.monitoring.DefaultMonitoringConfig: java.lang.Object[] getProbesUnsafe()>();
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
interfaceinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheProbe: void onEntryRemovedEvent(org.glassfish.grizzly.http.server.filecache.FileCache,org.glassfish.grizzly.http.server.filecache.FileCacheEntry)>(v, v);
v = v + 1;
goto label;
label:
return;
}
protected static void notifyProbesEntryHit(org.glassfish.grizzly.http.server.filecache.FileCache, org.glassfish.grizzly.http.server.filecache.FileCacheEntry)
{
org.glassfish.grizzly.monitoring.DefaultMonitoringConfig v;
java.lang.Object[] v;
org.glassfish.grizzly.http.server.filecache.FileCacheProbe v;
int v, v;
org.glassfish.grizzly.http.server.filecache.FileCacheEntry v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCacheEntry;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig>;
v = virtualinvoke v.<org.glassfish.grizzly.monitoring.DefaultMonitoringConfig: java.lang.Object[] getProbesUnsafe()>();
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
interfaceinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheProbe: void onEntryHitEvent(org.glassfish.grizzly.http.server.filecache.FileCache,org.glassfish.grizzly.http.server.filecache.FileCacheEntry)>(v, v);
v = v + 1;
goto label;
label:
return;
}
protected static void notifyProbesEntryMissed(org.glassfish.grizzly.http.server.filecache.FileCache, org.glassfish.grizzly.http.HttpRequestPacket)
{
org.glassfish.grizzly.http.HttpRequestPacket v;
java.lang.Object[] v;
org.glassfish.grizzly.monitoring.DefaultMonitoringConfig v;
org.glassfish.grizzly.http.server.filecache.FileCacheProbe v;
org.glassfish.grizzly.http.util.Header v;
int v, v, v;
java.lang.String v, v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig>;
v = virtualinvoke v.<org.glassfish.grizzly.monitoring.DefaultMonitoringConfig: java.lang.Object[] getProbesUnsafe()>();
if v == null goto label;
v = lengthof v;
if v <= 0 goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = <org.glassfish.grizzly.http.util.Header: org.glassfish.grizzly.http.util.Header Host>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: java.lang.String getHeader(org.glassfish.grizzly.http.util.Header)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: java.lang.String getRequestURI()>();
interfaceinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheProbe: void onEntryMissedEvent(org.glassfish.grizzly.http.server.filecache.FileCache,java.lang.String,java.lang.String)>(v, v, v);
v = v + 1;
goto label;
label:
return;
}
protected static void notifyProbesError(org.glassfish.grizzly.http.server.filecache.FileCache, java.lang.Throwable)
{
java.lang.Throwable v;
org.glassfish.grizzly.monitoring.DefaultMonitoringConfig v;
java.lang.Object[] v;
org.glassfish.grizzly.http.server.filecache.FileCacheProbe v;
int v, v;
org.glassfish.grizzly.http.server.filecache.FileCache v;
v := @parameter: org.glassfish.grizzly.http.server.filecache.FileCache;
v := @parameter: java.lang.Throwable;
v = v.<org.glassfish.grizzly.http.server.filecache.FileCache: org.glassfish.grizzly.monitoring.DefaultMonitoringConfig monitoringConfig>;
v = virtualinvoke v.<org.glassfish.grizzly.monitoring.DefaultMonitoringConfig: java.lang.Object[] getProbesUnsafe()>();
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
interfaceinvoke v.<org.glassfish.grizzly.http.server.filecache.FileCacheProbe: void onErrorEvent(org.glassfish.grizzly.http.server.filecache.FileCache,java.lang.Throwable)>(v, v);
v = v + 1;
goto label;
label:
return;
}
protected static long convertToLong(java.lang.String)
{
java.lang.Throwable v;
byte v;
long v;
java.lang.String v;
java.lang.IllegalArgumentException v;
org.glassfish.grizzly.http.server.util.SimpleDateFormats v;
java.text.SimpleDateFormat[] v;
v := @parameter: java.lang.String;
if v != null goto label;
return -1L;
label:
v = staticinvoke <org.glassfish.grizzly.http.server.util.SimpleDateFormats: org.glassfish.grizzly.http.server.util.SimpleDateFormats create()>();
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.server.util.SimpleDateFormats: java.text.SimpleDateFormat[] getFormats()>();
v = staticinvoke <org.glassfish.grizzly.http.util.FastHttpDateFormat: long parseDate(java.lang.String,java.text.DateFormat[])>(v, v);
v = v cmp -1L;
if v == 0 goto label;
label:
virtualinvoke v.<org.glassfish.grizzly.http.server.util.SimpleDateFormats: void recycle()>();
return v;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<org.glassfish.grizzly.http.server.util.SimpleDateFormats: void recycle()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
java.lang.String[] v;
java.lang.String v;
java.util.logging.Logger v;
java.io.File v;
v = new java.io.File;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.io.tmpdir");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
<org.glassfish.grizzly.http.server.filecache.FileCache: java.io.File TMP_DIR> = v;
v = newarray (java.lang.String)[1];
v[0] = "gzip";
<org.glassfish.grizzly.http.server.filecache.FileCache: java.lang.String[] COMPRESSION_ALIASES> = v;
v = staticinvoke <org.glassfish.grizzly.Grizzly: java.util.logging.Logger logger(java.lang.Class)>(class "Lorg/glassfish/grizzly/http/server/filecache/FileCache;");
<org.glassfish.grizzly.http.server.filecache.FileCache: java.util.logging.Logger LOGGER> = v;
return;
}
}