public class sun.rmi.server.Activation implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.rmi.server.Activation
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2921265612698155191
private static final byte MAJOR_VERSION;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final byte MINOR_VERSION;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static java.lang.Object execPolicy;
descriptor: Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.reflect.Method execPolicyMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean debugExec;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private java.util.Map<java.rmi.activation.ActivationID, java.rmi.activation.ActivationGroupID> idTable;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/rmi/activation/ActivationID;Ljava/rmi/activation/ActivationGroupID;>;
private java.util.Map<java.rmi.activation.ActivationGroupID, sun.rmi.server.Activation$GroupEntry> groupTable;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/rmi/activation/ActivationGroupID;Lsun/rmi/server/Activation$GroupEntry;>;
private byte majorVersion;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private byte minorVersion;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private transient int groupSemaphore;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient int groupCounter;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient sun.rmi.log.ReliableLog log;
descriptor: Lsun/rmi/log/ReliableLog;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient int numUpdates;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.lang.String[] command;
descriptor: [Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static final long groupTimeout;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int snapshotInterval;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long execTimeout;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object initLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static boolean initDone;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private transient java.rmi.activation.Activator activator;
descriptor: Ljava/rmi/activation/Activator;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.rmi.activation.Activator activatorStub;
descriptor: Ljava/rmi/activation/Activator;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.rmi.activation.ActivationSystem system;
descriptor: Ljava/rmi/activation/ActivationSystem;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.rmi.activation.ActivationSystem systemStub;
descriptor: Ljava/rmi/activation/ActivationSystem;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.rmi.activation.ActivationMonitor monitor;
descriptor: Ljava/rmi/activation/ActivationMonitor;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.rmi.registry.Registry registry;
descriptor: Ljava/rmi/registry/Registry;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private volatile transient boolean shuttingDown;
descriptor: Z
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
private volatile transient java.lang.Object startupLock;
descriptor: Ljava/lang/Object;
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
private transient java.lang.Thread shutdownHook;
descriptor: Ljava/lang/Thread;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static java.util.ResourceBundle resources;
descriptor: Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "sun.rmi.activation.groupTimeout"
ldc 60000
invokestatic sun.rmi.server.Activation.getInt:(Ljava/lang/String;I)I
i2l
1: putstatic sun.rmi.server.Activation.groupTimeout:J
2: ldc "sun.rmi.activation.snapshotInterval"
sipush 200
invokestatic sun.rmi.server.Activation.getInt:(Ljava/lang/String;I)I
3: putstatic sun.rmi.server.Activation.snapshotInterval:I
4: ldc "sun.rmi.activation.execTimeout"
sipush 30000
invokestatic sun.rmi.server.Activation.getInt:(Ljava/lang/String;I)I
i2l
5: putstatic sun.rmi.server.Activation.execTimeout:J
6: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic sun.rmi.server.Activation.initLock:Ljava/lang/Object;
7: iconst_0
putstatic sun.rmi.server.Activation.initDone:Z
8: aconst_null
putstatic sun.rmi.server.Activation.resources:Ljava/util/ResourceBundle;
return
LocalVariableTable:
Start End Slot Name Signature
private static int getInt(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new sun.security.action.GetIntegerAction
dup
aload 0
iload 1
invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;I)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
0 1 1 def I
MethodParameters:
Name Flags
name
def
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.rmi.server.Activation.idTable:Ljava/util/Map;
3: aload 0
4: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.rmi.server.Activation.groupTable:Ljava/util/Map;
5: aload 0
iconst_1
putfield sun.rmi.server.Activation.majorVersion:B
6: aload 0
iconst_0
putfield sun.rmi.server.Activation.minorVersion:B
7: aload 0
iconst_0
putfield sun.rmi.server.Activation.shuttingDown:Z
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/rmi/server/Activation;
private static void startActivation(int, java.rmi.server.RMIServerSocketFactory, java.lang.String, java.lang.String[]);
descriptor: (ILjava/rmi/server/RMIServerSocketFactory;Ljava/lang/String;[Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new sun.rmi.log.ReliableLog
dup
aload 2
new sun.rmi.server.Activation$ActLogHandler
dup
invokespecial sun.rmi.server.Activation$ActLogHandler.<init>:()V
invokespecial sun.rmi.log.ReliableLog.<init>:(Ljava/lang/String;Lsun/rmi/log/LogHandler;)V
astore 4
start local 4 1: aload 4
invokevirtual sun.rmi.log.ReliableLog.recover:()Ljava/lang/Object;
checkcast sun.rmi.server.Activation
astore 5
start local 5 2: aload 5
iload 0
aload 1
aload 4
aload 3
invokevirtual sun.rmi.server.Activation.init:(ILjava/rmi/server/RMIServerSocketFactory;Lsun/rmi/log/ReliableLog;[Ljava/lang/String;)V
3: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 port I
0 4 1 ssf Ljava/rmi/server/RMIServerSocketFactory;
0 4 2 logName Ljava/lang/String;
0 4 3 childArgs [Ljava/lang/String;
1 4 4 log Lsun/rmi/log/ReliableLog;
2 4 5 state Lsun/rmi/server/Activation;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
port
ssf
logName
childArgs
private void init(int, java.rmi.server.RMIServerSocketFactory, sun.rmi.log.ReliableLog, java.lang.String[]);
descriptor: (ILjava/rmi/server/RMIServerSocketFactory;Lsun/rmi/log/ReliableLog;[Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 3
putfield sun.rmi.server.Activation.log:Lsun/rmi/log/ReliableLog;
1: aload 0
iconst_0
putfield sun.rmi.server.Activation.numUpdates:I
2: aload 0
new sun.rmi.server.Activation$ShutdownHook
dup
aload 0
invokespecial sun.rmi.server.Activation$ShutdownHook.<init>:(Lsun/rmi/server/Activation;)V
putfield sun.rmi.server.Activation.shutdownHook:Ljava/lang/Thread;
3: aload 0
ldc "sun.rmi.activation.groupThrottle"
iconst_3
invokestatic sun.rmi.server.Activation.getInt:(Ljava/lang/String;I)I
putfield sun.rmi.server.Activation.groupSemaphore:I
4: aload 0
iconst_0
putfield sun.rmi.server.Activation.groupCounter:I
5: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
aload 0
getfield sun.rmi.server.Activation.shutdownHook:Ljava/lang/Thread;
invokevirtual java.lang.Runtime.addShutdownHook:(Ljava/lang/Thread;)V
6: aload 0
getfield sun.rmi.server.Activation.groupTable:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
iconst_0
anewarray java.rmi.activation.ActivationGroupID
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.rmi.activation.ActivationGroupID[]
7: astore 5
start local 5 8: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
dup_x1
putfield sun.rmi.server.Activation.startupLock:Ljava/lang/Object;
dup
astore 6
monitorenter
9: aload 0
new sun.rmi.server.Activation$ActivatorImpl
dup
aload 0
iload 1
aload 2
invokespecial sun.rmi.server.Activation$ActivatorImpl.<init>:(Lsun/rmi/server/Activation;ILjava/rmi/server/RMIServerSocketFactory;)V
putfield sun.rmi.server.Activation.activator:Ljava/rmi/activation/Activator;
10: aload 0
aload 0
getfield sun.rmi.server.Activation.activator:Ljava/rmi/activation/Activator;
invokestatic java.rmi.server.RemoteObject.toStub:(Ljava/rmi/Remote;)Ljava/rmi/Remote;
checkcast java.rmi.activation.Activator
putfield sun.rmi.server.Activation.activatorStub:Ljava/rmi/activation/Activator;
11: aload 0
new sun.rmi.server.Activation$ActivationSystemImpl
dup
aload 0
iload 1
aload 2
invokespecial sun.rmi.server.Activation$ActivationSystemImpl.<init>:(Lsun/rmi/server/Activation;ILjava/rmi/server/RMIServerSocketFactory;)V
putfield sun.rmi.server.Activation.system:Ljava/rmi/activation/ActivationSystem;
12: aload 0
aload 0
getfield sun.rmi.server.Activation.system:Ljava/rmi/activation/ActivationSystem;
invokestatic java.rmi.server.RemoteObject.toStub:(Ljava/rmi/Remote;)Ljava/rmi/Remote;
checkcast java.rmi.activation.ActivationSystem
putfield sun.rmi.server.Activation.systemStub:Ljava/rmi/activation/ActivationSystem;
13: aload 0
new sun.rmi.server.Activation$ActivationMonitorImpl
dup
aload 0
iload 1
aload 2
invokespecial sun.rmi.server.Activation$ActivationMonitorImpl.<init>:(Lsun/rmi/server/Activation;ILjava/rmi/server/RMIServerSocketFactory;)V
putfield sun.rmi.server.Activation.monitor:Ljava/rmi/activation/ActivationMonitor;
14: aload 0
aload 4
invokevirtual sun.rmi.server.Activation.initCommand:([Ljava/lang/String;)V
15: aload 0
new sun.rmi.server.Activation$SystemRegistryImpl
dup
iload 1
aconst_null
aload 2
aload 0
getfield sun.rmi.server.Activation.systemStub:Ljava/rmi/activation/ActivationSystem;
invokespecial sun.rmi.server.Activation$SystemRegistryImpl.<init>:(ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Ljava/rmi/activation/ActivationSystem;)V
putfield sun.rmi.server.Activation.registry:Ljava/rmi/registry/Registry;
16: aload 2
ifnull 24
17: getstatic sun.rmi.server.Activation.initLock:Ljava/lang/Object;
dup
astore 7
monitorenter
18: iconst_1
putstatic sun.rmi.server.Activation.initDone:Z
19: getstatic sun.rmi.server.Activation.initLock:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
20: aload 7
monitorexit
21: goto 24
StackMap locals: sun.rmi.server.Activation int java.rmi.server.RMIServerSocketFactory sun.rmi.log.ReliableLog java.lang.String[] java.rmi.activation.ActivationGroupID[] java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
22: aload 7
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
aload 6
monitorexit
25: goto 28
StackMap locals:
StackMap stack: java.lang.Throwable
26: aload 6
monitorexit
27: athrow
28: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.rmi.server.Activation.startupLock:Ljava/lang/Object;
29: aload 5
arraylength
istore 6
start local 6 30: goto 38
31: StackMap locals: int
StackMap stack:
aload 0
aload 5
iload 6
aaload
invokevirtual sun.rmi.server.Activation.getGroupEntry:(Ljava/rmi/activation/ActivationGroupID;)Lsun/rmi/server/Activation$GroupEntry;
invokevirtual sun.rmi.server.Activation$GroupEntry.restartServices:()V
32: goto 38
StackMap locals:
StackMap stack: java.rmi.activation.UnknownGroupException
33: astore 7
start local 7 34: getstatic java.lang.System.err:Ljava/io/PrintStream;
35: ldc "rmid.restart.group.warning"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
36: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
37: aload 7
invokevirtual java.rmi.activation.UnknownGroupException.printStackTrace:()V
end local 7 38: StackMap locals:
StackMap stack:
iinc 6 -1
iload 6
ifge 31
end local 6 39: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/rmi/server/Activation;
0 40 1 port I
0 40 2 ssf Ljava/rmi/server/RMIServerSocketFactory;
0 40 3 log Lsun/rmi/log/ReliableLog;
0 40 4 childArgs [Ljava/lang/String;
8 40 5 gids [Ljava/rmi/activation/ActivationGroupID;
30 39 6 i I
34 38 7 e Ljava/rmi/activation/UnknownGroupException;
Exception table:
from to target type
18 21 22 any
22 23 22 any
9 25 26 any
26 27 26 any
31 32 33 Class java.rmi.activation.UnknownGroupException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
port
ssf
log
childArgs
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
getfield sun.rmi.server.Activation.groupTable:Ljava/util/Map;
instanceof java.util.concurrent.ConcurrentHashMap
ifne 3
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
aload 0
getfield sun.rmi.server.Activation.groupTable:Ljava/util/Map;
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(Ljava/util/Map;)V
putfield sun.rmi.server.Activation.groupTable:Ljava/util/Map;
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.server.Activation.idTable:Ljava/util/Map;
instanceof java.util.concurrent.ConcurrentHashMap
ifne 5
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
aload 0
getfield sun.rmi.server.Activation.idTable:Ljava/util/Map;
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(Ljava/util/Map;)V
putfield sun.rmi.server.Activation.idTable:Ljava/util/Map;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/rmi/server/Activation;
0 6 1 ois Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
ois
private void checkShutdown();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.rmi.server.Activation.startupLock:Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
dup
monitorenter
monitorexit
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.rmi.server.Activation.shuttingDown:Z
ifeq 7
4: new java.rmi.activation.ActivationException
dup
5: ldc "activation system shutting down"
6: invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/rmi/server/Activation;
1 8 1 lock Ljava/lang/Object;
Exceptions:
throws java.rmi.activation.ActivationException
private static void unexport(java.rmi.Remote);
descriptor: (Ljava/rmi/Remote;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokestatic java.rmi.server.UnicastRemoteObject.unexportObject:(Ljava/rmi/Remote;Z)Z
ifeq 2
1: goto 6
2: StackMap locals:
StackMap stack:
ldc 100
invokestatic java.lang.Thread.sleep:(J)V
3: goto 0
StackMap locals:
StackMap stack: java.lang.Exception
4: pop
5: goto 0
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 obj Ljava/rmi/Remote;
Exception table:
from to target type
0 1 4 Class java.lang.Exception
2 3 4 Class java.lang.Exception
MethodParameters:
Name Flags
obj
private java.rmi.activation.ActivationGroupID getGroupID(java.rmi.activation.ActivationID);
descriptor: (Ljava/rmi/activation/ActivationID;)Ljava/rmi/activation/ActivationGroupID;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.rmi.server.Activation.idTable:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.rmi.activation.ActivationGroupID
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: java.rmi.activation.ActivationGroupID
StackMap stack:
new java.rmi.activation.UnknownObjectException
dup
new java.lang.StringBuilder
dup
ldc "unknown object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.rmi.activation.UnknownObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/rmi/server/Activation;
0 4 1 id Ljava/rmi/activation/ActivationID;
1 4 2 groupID Ljava/rmi/activation/ActivationGroupID;
Exceptions:
throws java.rmi.activation.UnknownObjectException
MethodParameters:
Name Flags
id
private sun.rmi.server.Activation$GroupEntry getGroupEntry(java.rmi.activation.ActivationGroupID, boolean);
descriptor: (Ljava/rmi/activation/ActivationGroupID;Z)Lsun/rmi/server/Activation$GroupEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/rmi/activation/ActivationGroupID;
if_acmpne 7
1: iload 2
ifeq 4
2: aload 0
getfield sun.rmi.server.Activation.groupTable:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.server.Activation$GroupEntry
astore 3
start local 3 3: goto 5
end local 3 4: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.server.Activation.groupTable:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.server.Activation$GroupEntry
astore 3
start local 3 5: StackMap locals: sun.rmi.server.Activation$GroupEntry
StackMap stack:
aload 3
ifnull 7
aload 3
getfield sun.rmi.server.Activation$GroupEntry.removed:Z
ifne 7
6: aload 3
areturn
end local 3 7: StackMap locals:
StackMap stack:
new java.rmi.activation.UnknownGroupException
dup
ldc "group unknown"
invokespecial java.rmi.activation.UnknownGroupException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/rmi/server/Activation;
0 8 1 id Ljava/rmi/activation/ActivationGroupID;
0 8 2 rm Z
3 4 3 entry Lsun/rmi/server/Activation$GroupEntry;
5 7 3 entry Lsun/rmi/server/Activation$GroupEntry;
Exceptions:
throws java.rmi.activation.UnknownGroupException
MethodParameters:
Name Flags
id
rm
private sun.rmi.server.Activation$GroupEntry getGroupEntry(java.rmi.activation.ActivationGroupID);
descriptor: (Ljava/rmi/activation/ActivationGroupID;)Lsun/rmi/server/Activation$GroupEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual sun.rmi.server.Activation.getGroupEntry:(Ljava/rmi/activation/ActivationGroupID;Z)Lsun/rmi/server/Activation$GroupEntry;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/server/Activation;
0 1 1 id Ljava/rmi/activation/ActivationGroupID;
Exceptions:
throws java.rmi.activation.UnknownGroupException
MethodParameters:
Name Flags
id
private sun.rmi.server.Activation$GroupEntry removeGroupEntry(java.rmi.activation.ActivationGroupID);
descriptor: (Ljava/rmi/activation/ActivationGroupID;)Lsun/rmi/server/Activation$GroupEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual sun.rmi.server.Activation.getGroupEntry:(Ljava/rmi/activation/ActivationGroupID;Z)Lsun/rmi/server/Activation$GroupEntry;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/server/Activation;
0 1 1 id Ljava/rmi/activation/ActivationGroupID;
Exceptions:
throws java.rmi.activation.UnknownGroupException
MethodParameters:
Name Flags
id
private sun.rmi.server.Activation$GroupEntry getGroupEntry(java.rmi.activation.ActivationID);
descriptor: (Ljava/rmi/activation/ActivationID;)Lsun/rmi/server/Activation$GroupEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.rmi.server.Activation.getGroupID:(Ljava/rmi/activation/ActivationID;)Ljava/rmi/activation/ActivationGroupID;
astore 2
start local 2 1: aload 0
getfield sun.rmi.server.Activation.groupTable:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.server.Activation$GroupEntry
astore 3
start local 3 2: aload 3
ifnull 4
aload 3
getfield sun.rmi.server.Activation$GroupEntry.removed:Z
ifne 4
3: aload 3
areturn
4: StackMap locals: java.rmi.activation.ActivationGroupID sun.rmi.server.Activation$GroupEntry
StackMap stack:
new java.rmi.activation.UnknownObjectException
dup
ldc "object's group removed"
invokespecial java.rmi.activation.UnknownObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/rmi/server/Activation;
0 5 1 id Ljava/rmi/activation/ActivationID;
1 5 2 gid Ljava/rmi/activation/ActivationGroupID;
2 5 3 entry Lsun/rmi/server/Activation$GroupEntry;
Exceptions:
throws java.rmi.activation.UnknownObjectException
MethodParameters:
Name Flags
id
private java.lang.String[] activationArgs(java.rmi.activation.ActivationGroupDesc);
descriptor: (Ljava/rmi/activation/ActivationGroupDesc;)[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.rmi.activation.ActivationGroupDesc.getCommandEnvironment:()Ljava/rmi/activation/ActivationGroupDesc$CommandEnvironment;
astore 2
start local 2 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: aload 3
aload 2
ifnull 4
aload 2
invokevirtual java.rmi.activation.ActivationGroupDesc$CommandEnvironment.getCommandPath:()Ljava/lang/String;
ifnull 4
3: aload 2
invokevirtual java.rmi.activation.ActivationGroupDesc$CommandEnvironment.getCommandPath:()Ljava/lang/String;
goto 5
4: StackMap locals: sun.rmi.server.Activation java.rmi.activation.ActivationGroupDesc java.rmi.activation.ActivationGroupDesc$CommandEnvironment java.util.List
StackMap stack: java.util.List
aload 0
getfield sun.rmi.server.Activation.command:[Ljava/lang/String;
iconst_0
aaload
5: StackMap locals: sun.rmi.server.Activation java.rmi.activation.ActivationGroupDesc java.rmi.activation.ActivationGroupDesc$CommandEnvironment java.util.List
StackMap stack: java.util.List java.lang.String
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 2
ifnull 8
aload 2
invokevirtual java.rmi.activation.ActivationGroupDesc$CommandEnvironment.getCommandOptions:()[Ljava/lang/String;
ifnull 8
7: aload 3
aload 2
invokevirtual java.rmi.activation.ActivationGroupDesc$CommandEnvironment.getCommandOptions:()[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.rmi.activation.ActivationGroupDesc.getPropertyOverrides:()Ljava/util/Properties;
astore 4
start local 4 9: aload 4
ifnull 15
10: aload 4
invokevirtual java.util.Properties.propertyNames:()Ljava/util/Enumeration;
astore 5
start local 5 11: goto 14
12: StackMap locals: java.util.Properties java.util.Enumeration
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 13: aload 3
new java.lang.StringBuilder
dup
ldc "-D"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
aload 6
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 14: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 12
end local 5 15: StackMap locals:
StackMap stack:
iconst_1
istore 5
start local 5 16: goto 19
17: StackMap locals: int
StackMap stack:
aload 3
aload 0
getfield sun.rmi.server.Activation.command:[Ljava/lang/String;
iload 5
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: iinc 5 1
StackMap locals:
StackMap stack:
19: iload 5
aload 0
getfield sun.rmi.server.Activation.command:[Ljava/lang/String;
arraylength
if_icmplt 17
end local 5 20: aload 3
invokeinterface java.util.List.size:()I
anewarray java.lang.String
astore 5
start local 5 21: aload 3
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
iconst_0
aload 5
iconst_0
aload 5
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/rmi/server/Activation;
0 23 1 desc Ljava/rmi/activation/ActivationGroupDesc;
1 23 2 cmdenv Ljava/rmi/activation/ActivationGroupDesc$CommandEnvironment;
2 23 3 argv Ljava/util/List<Ljava/lang/String;>;
9 23 4 props Ljava/util/Properties;
11 15 5 p Ljava/util/Enumeration<*>;
13 14 6 name Ljava/lang/String;
16 20 5 i I
21 23 5 realArgv [Ljava/lang/String;
MethodParameters:
Name Flags
desc
private void checkArgs(java.rmi.activation.ActivationGroupDesc, java.lang.String[]);
descriptor: (Ljava/rmi/activation/ActivationGroupDesc;[Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.rmi.server.Activation.execPolicyMethod:Ljava/lang/reflect/Method;
ifnull 17
1: aload 2
ifnonnull 3
2: aload 0
aload 1
invokevirtual sun.rmi.server.Activation.activationArgs:(Ljava/rmi/activation/ActivationGroupDesc;)[Ljava/lang/String;
astore 2
3: StackMap locals:
StackMap stack:
getstatic sun.rmi.server.Activation.execPolicyMethod:Ljava/lang/reflect/Method;
getstatic sun.rmi.server.Activation.execPolicy:Ljava/lang/Object;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
4: goto 17
StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
5: astore 3
start local 3 6: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
astore 4
start local 4 7: aload 4
instanceof java.lang.SecurityException
ifeq 9
8: aload 4
checkcast java.lang.SecurityException
athrow
9: StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
StackMap stack:
new java.rmi.activation.ActivationException
dup
10: new java.lang.StringBuilder
dup
getstatic sun.rmi.server.Activation.execPolicyMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": unexpected exception"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: aload 3
12: invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 13: StackMap locals: sun.rmi.server.Activation java.rmi.activation.ActivationGroupDesc java.lang.String[]
StackMap stack: java.lang.Exception
astore 3
start local 3 14: new java.rmi.activation.ActivationException
dup
15: new java.lang.StringBuilder
dup
getstatic sun.rmi.server.Activation.execPolicyMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": unexpected exception"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
16: invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/rmi/server/Activation;
0 18 1 desc Ljava/rmi/activation/ActivationGroupDesc;
0 18 2 cmd [Ljava/lang/String;
6 13 3 e Ljava/lang/reflect/InvocationTargetException;
7 13 4 targetException Ljava/lang/Throwable;
14 17 3 e Ljava/lang/Exception;
Exception table:
from to target type
3 4 5 Class java.lang.reflect.InvocationTargetException
3 4 13 Class java.lang.Exception
Exceptions:
throws java.lang.SecurityException, java.rmi.activation.ActivationException
MethodParameters:
Name Flags
desc
cmd
private void addLogRecord(sun.rmi.server.Activation$LogRecord);
descriptor: (Lsun/rmi/server/Activation$LogRecord;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.rmi.server.Activation.log:Lsun/rmi/log/ReliableLog;
dup
astore 2
monitorenter
1: aload 0
invokevirtual sun.rmi.server.Activation.checkShutdown:()V
2: aload 0
getfield sun.rmi.server.Activation.log:Lsun/rmi/log/ReliableLog;
aload 1
iconst_1
invokevirtual sun.rmi.log.ReliableLog.update:(Ljava/lang/Object;Z)V
3: goto 8
StackMap locals: sun.rmi.server.Activation sun.rmi.server.Activation$LogRecord sun.rmi.log.ReliableLog
StackMap stack: java.lang.Exception
4: astore 3
start local 3 5: aload 0
getstatic sun.rmi.server.Activation.snapshotInterval:I
putfield sun.rmi.server.Activation.numUpdates:I
6: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "rmid.log.update.warning"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
end local 3 8: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.rmi.server.Activation.numUpdates:I
iconst_1
iadd
dup_x1
putfield sun.rmi.server.Activation.numUpdates:I
getstatic sun.rmi.server.Activation.snapshotInterval:I
if_icmpge 11
9: aload 2
monitorexit
10: return
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.server.Activation.log:Lsun/rmi/log/ReliableLog;
aload 0
invokevirtual sun.rmi.log.ReliableLog.snapshot:(Ljava/lang/Object;)V
12: aload 0
iconst_0
putfield sun.rmi.server.Activation.numUpdates:I
13: goto 23
StackMap locals:
StackMap stack: java.lang.Exception
14: astore 3
start local 3 15: getstatic java.lang.System.err:Ljava/io/PrintStream;
16: ldc "rmid.log.snapshot.warning"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
17: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
18: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
19: aload 0
getfield sun.rmi.server.Activation.system:Ljava/rmi/activation/ActivationSystem;
invokeinterface java.rmi.activation.ActivationSystem.shutdown:()V
20: goto 22
StackMap locals: sun.rmi.server.Activation sun.rmi.server.Activation$LogRecord sun.rmi.log.ReliableLog java.lang.Exception
StackMap stack: java.rmi.RemoteException
21: pop
22: StackMap locals:
StackMap stack:
new java.rmi.activation.ActivationException
dup
ldc "log snapshot failed"
aload 3
invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 23: StackMap locals:
StackMap stack:
aload 2
monitorexit
24: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
25: aload 2
monitorexit
26: athrow
27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/rmi/server/Activation;
0 28 1 rec Lsun/rmi/server/Activation$LogRecord;
5 8 3 e Ljava/lang/Exception;
15 23 3 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.lang.Exception
11 13 14 Class java.lang.Exception
19 20 21 Class java.rmi.RemoteException
1 10 25 any
11 24 25 any
25 26 25 any
Exceptions:
throws java.rmi.activation.ActivationException
MethodParameters:
Name Flags
rec
private void initCommand(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
arraylength
iconst_2
iadd
anewarray java.lang.String
putfield sun.rmi.server.Activation.command:[Ljava/lang/String;
1: new sun.rmi.server.Activation$1
dup
aload 0
invokespecial sun.rmi.server.Activation$1.<init>:(Lsun/rmi/server/Activation;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: aload 1
iconst_0
aload 0
getfield sun.rmi.server.Activation.command:[Ljava/lang/String;
iconst_1
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 0
getfield sun.rmi.server.Activation.command:[Ljava/lang/String;
aload 0
getfield sun.rmi.server.Activation.command:[Ljava/lang/String;
arraylength
iconst_1
isub
ldc "sun.rmi.server.ActivationGroupInit"
aastore
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/rmi/server/Activation;
0 5 1 childArgs [Ljava/lang/String;
MethodParameters:
Name Flags
childArgs
private static void bomb(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "rmid: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "rmid.usage"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
2: ldc "rmid"
aastore
3: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: iconst_1
invokestatic java.lang.System.exit:(I)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 error Ljava/lang/String;
MethodParameters:
Name Flags
error
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 3
2: new java.lang.SecurityManager
dup
invokespecial java.lang.SecurityManager.<init>:()V
invokestatic java.lang.System.setSecurityManager:(Ljava/lang/SecurityManager;)V
3: StackMap locals: int
StackMap stack:
sipush 1098
istore 2
start local 2 4: aconst_null
astore 3
start local 3 5: new sun.rmi.server.Activation$2
dup
invokespecial sun.rmi.server.Activation$2.<init>:()V
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.nio.channels.Channel
astore 4
start local 4 7: aload 4
ifnull 21
8: aload 4
instanceof java.nio.channels.ServerSocketChannel
ifeq 21
9: new sun.rmi.server.Activation$3
dup
invokespecial sun.rmi.server.Activation$3.<init>:()V
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
11: aload 4
checkcast java.nio.channels.ServerSocketChannel
invokevirtual java.nio.channels.ServerSocketChannel.socket:()Ljava/net/ServerSocket;
12: astore 5
start local 5 13: aload 5
invokevirtual java.net.ServerSocket.getLocalPort:()I
istore 2
14: new sun.rmi.server.Activation$ActivationServerSocketFactory
dup
aload 5
invokespecial sun.rmi.server.Activation$ActivationServerSocketFactory.<init>:(Ljava/net/ServerSocket;)V
astore 3
15: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
16: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
17: ldc "rmid.inherited.channel.info"
18: invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 21: StackMap locals: int java.rmi.server.RMIServerSocketFactory java.nio.channels.Channel
StackMap stack:
aconst_null
astore 5
start local 5 22: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 23: iconst_0
istore 7
start local 7 24: goto 52
25: StackMap locals: java.lang.String java.util.List int
StackMap stack:
aload 0
iload 7
aaload
ldc "-port"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
26: aload 3
ifnull 28
27: ldc "rmid.syntax.port.badarg"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
invokestatic sun.rmi.server.Activation.bomb:(Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
iload 7
iconst_1
iadd
aload 0
arraylength
if_icmpge 34
29: aload 0
iinc 7 1
iload 7
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 2
30: goto 51
StackMap locals:
StackMap stack: java.lang.NumberFormatException
31: pop
32: ldc "rmid.syntax.port.badnumber"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
invokestatic sun.rmi.server.Activation.bomb:(Ljava/lang/String;)V
33: goto 51
34: StackMap locals:
StackMap stack:
ldc "rmid.syntax.port.missing"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
invokestatic sun.rmi.server.Activation.bomb:(Ljava/lang/String;)V
35: goto 51
StackMap locals:
StackMap stack:
36: aload 0
iload 7
aaload
ldc "-log"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 42
37: iload 7
iconst_1
iadd
aload 0
arraylength
if_icmpge 40
38: aload 0
iinc 7 1
iload 7
aaload
astore 5
39: goto 51
40: StackMap locals:
StackMap stack:
ldc "rmid.syntax.log.missing"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
invokestatic sun.rmi.server.Activation.bomb:(Ljava/lang/String;)V
41: goto 51
StackMap locals:
StackMap stack:
42: aload 0
iload 7
aaload
ldc "-stop"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 45
43: iconst_1
istore 1
44: goto 51
StackMap locals:
StackMap stack:
45: aload 0
iload 7
aaload
ldc "-C"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 48
46: aload 6
aload 0
iload 7
aaload
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
47: goto 51
48: StackMap locals:
StackMap stack:
ldc "rmid.syntax.illegal.option"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
49: aload 0
iload 7
aaload
aastore
50: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic sun.rmi.server.Activation.bomb:(Ljava/lang/String;)V
51: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
52: iload 7
aload 0
arraylength
if_icmplt 25
end local 7 53: aload 5
ifnonnull 58
54: aload 3
ifnull 57
55: ldc "rmid.syntax.log.required"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
invokestatic sun.rmi.server.Activation.bomb:(Ljava/lang/String;)V
56: goto 58
57: StackMap locals:
StackMap stack:
ldc "log"
astore 5
58: StackMap locals:
StackMap stack:
new sun.security.action.GetBooleanAction
dup
ldc "sun.rmi.server.activation.debugExec"
invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
59: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
putstatic sun.rmi.server.Activation.debugExec:Z
60: new sun.security.action.GetPropertyAction
dup
ldc "sun.rmi.activation.execPolicy"
aconst_null
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;Ljava/lang/String;)V
61: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 62: aload 7
ifnonnull 66
63: iload 1
ifne 65
64: invokestatic sun.rmi.server.Activation$DefaultExecPolicy.checkConfiguration:()V
65: StackMap locals: java.lang.String
StackMap stack:
ldc "default"
astore 7
66: StackMap locals:
StackMap stack:
aload 7
ldc "none"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 85
67: aload 7
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 69
68: aload 7
ldc "default"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 70
69: StackMap locals:
StackMap stack:
ldc Lsun/rmi/server/Activation$DefaultExecPolicy;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 7
70: StackMap locals:
StackMap stack:
aload 7
invokestatic sun.rmi.server.Activation.getRMIClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 8
start local 8 71: aload 8
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
putstatic sun.rmi.server.Activation.execPolicy:Ljava/lang/Object;
72: aload 8
ldc "checkExecCommand"
iconst_2
anewarray java.lang.Class
dup
iconst_0
73: ldc Ljava/rmi/activation/ActivationGroupDesc;
aastore
dup
iconst_1
74: ldc [Ljava/lang/String;
aastore
75: invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
76: putstatic sun.rmi.server.Activation.execPolicyMethod:Ljava/lang/reflect/Method;
end local 8 77: goto 85
StackMap locals:
StackMap stack: java.lang.Exception
78: astore 8
start local 8 79: getstatic sun.rmi.server.Activation.debugExec:Z
ifeq 84
80: getstatic java.lang.System.err:Ljava/io/PrintStream;
81: ldc "rmid.exec.policy.exception"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
82: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
83: aload 8
invokevirtual java.lang.Exception.printStackTrace:()V
84: StackMap locals: java.lang.Exception
StackMap stack:
ldc "rmid.exec.policy.invalid"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
invokestatic sun.rmi.server.Activation.bomb:(Ljava/lang/String;)V
end local 8 85: StackMap locals:
StackMap stack:
iload 1
ifeq 91
86: iload 2
istore 8
start local 8 87: new sun.rmi.server.Activation$4
dup
iload 8
invokespecial sun.rmi.server.Activation$4.<init>:(I)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
88: invokestatic java.rmi.activation.ActivationGroup.getSystem:()Ljava/rmi/activation/ActivationSystem;
astore 9
start local 9 89: aload 9
invokeinterface java.rmi.activation.ActivationSystem.shutdown:()V
90: iconst_0
invokestatic java.lang.System.exit:(I)V
end local 9 end local 8 91: StackMap locals:
StackMap stack:
iload 2
aload 3
aload 5
92: aload 6
aload 6
invokeinterface java.util.List.size:()I
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
93: invokestatic sun.rmi.server.Activation.startActivation:(ILjava/rmi/server/RMIServerSocketFactory;Ljava/lang/String;[Ljava/lang/String;)V
94: StackMap locals:
StackMap stack:
ldc 9223372036854775807
invokestatic java.lang.Thread.sleep:(J)V
95: goto 94
StackMap locals:
StackMap stack: java.lang.InterruptedException
96: pop
97: goto 94
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 98: StackMap locals: java.lang.String[] int
StackMap stack: java.lang.Exception
astore 2
start local 2 99: getstatic java.lang.System.err:Ljava/io/PrintStream;
100: ldc "rmid.unexpected.exception"
invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
101: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
102: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
103: aload 2
invokevirtual java.lang.Exception.printStackTrace:()V
end local 2 104: iconst_1
invokestatic java.lang.System.exit:(I)V
105: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 106 0 args [Ljava/lang/String;
1 106 1 stop Z
4 98 2 port I
5 98 3 ssf Ljava/rmi/server/RMIServerSocketFactory;
7 98 4 inheritedChannel Ljava/nio/channels/Channel;
13 21 5 serverSocket Ljava/net/ServerSocket;
22 98 5 log Ljava/lang/String;
23 98 6 childArgs Ljava/util/List<Ljava/lang/String;>;
24 53 7 i I
62 98 7 execPolicyClassName Ljava/lang/String;
71 77 8 execPolicyClass Ljava/lang/Class<*>;
79 85 8 e Ljava/lang/Exception;
87 91 8 finalPort I
89 91 9 system Ljava/rmi/activation/ActivationSystem;
99 104 2 e Ljava/lang/Exception;
Exception table:
from to target type
29 30 31 Class java.lang.NumberFormatException
70 77 78 Class java.lang.Exception
94 95 96 Class java.lang.InterruptedException
3 98 98 Class java.lang.Exception
MethodParameters:
Name Flags
args
private static java.lang.String getTextResource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic sun.rmi.server.Activation.resources:Ljava/util/ResourceBundle;
ifnonnull 7
1: ldc "sun.rmi.server.resources.rmid"
2: invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
putstatic sun.rmi.server.Activation.resources:Ljava/util/ResourceBundle;
3: goto 5
StackMap locals:
StackMap stack: java.util.MissingResourceException
4: pop
5: StackMap locals:
StackMap stack:
getstatic sun.rmi.server.Activation.resources:Ljava/util/ResourceBundle;
ifnonnull 7
6: new java.lang.StringBuilder
dup
ldc "[missing resource file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 8: getstatic sun.rmi.server.Activation.resources:Ljava/util/ResourceBundle;
aload 0
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 1
9: goto 11
StackMap locals: java.lang.String java.lang.String
StackMap stack: java.util.MissingResourceException
10: pop
11: StackMap locals:
StackMap stack:
aload 1
ifnonnull 13
12: new java.lang.StringBuilder
dup
ldc "[missing resource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
13: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 key Ljava/lang/String;
8 14 1 val Ljava/lang/String;
Exception table:
from to target type
1 3 4 Class java.util.MissingResourceException
8 9 10 Class java.util.MissingResourceException
MethodParameters:
Name Flags
key
private static java.lang.Class<?> getRMIClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.rmi.server.RMIClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 execPolicyClassName Ljava/lang/String;
Exceptions:
throws java.lang.Exception
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
execPolicyClassName
private synchronized java.lang.String Pstartgroup();
descriptor: ()Ljava/lang/String;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=1, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.rmi.server.Activation.checkShutdown:()V
1: aload 0
getfield sun.rmi.server.Activation.groupSemaphore:I
ifle 4
2: aload 0
dup
getfield sun.rmi.server.Activation.groupSemaphore:I
iconst_1
isub
putfield sun.rmi.server.Activation.groupSemaphore:I
3: new java.lang.StringBuilder
dup
ldc "Group-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
dup
getfield sun.rmi.server.Activation.groupCounter:I
dup_x1
iconst_1
iadd
putfield sun.rmi.server.Activation.groupCounter:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
5: goto 0
StackMap locals:
StackMap stack: java.lang.InterruptedException
6: pop
7: goto 0
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/rmi/server/Activation;
Exception table:
from to target type
4 5 6 Class java.lang.InterruptedException
Exceptions:
throws java.rmi.activation.ActivationException
private synchronized void Vstartgroup();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield sun.rmi.server.Activation.groupSemaphore:I
iconst_1
iadd
putfield sun.rmi.server.Activation.groupSemaphore:I
1: aload 0
invokevirtual java.lang.Object.notifyAll:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/server/Activation;
}
SourceFile: "Activation.java"
NestMembers:
sun.rmi.server.Activation$1 sun.rmi.server.Activation$2 sun.rmi.server.Activation$3 sun.rmi.server.Activation$4 sun.rmi.server.Activation$ActLogHandler sun.rmi.server.Activation$ActivationMonitorImpl sun.rmi.server.Activation$ActivationServerSocketFactory sun.rmi.server.Activation$ActivationSystemImpl sun.rmi.server.Activation$ActivatorImpl sun.rmi.server.Activation$DefaultExecPolicy sun.rmi.server.Activation$DefaultExecPolicy$1 sun.rmi.server.Activation$DefaultExecPolicy$2 sun.rmi.server.Activation$DelayedAcceptServerSocket sun.rmi.server.Activation$DelayedAcceptServerSocket$1 sun.rmi.server.Activation$DelayedAcceptServerSocket$2 sun.rmi.server.Activation$GroupEntry sun.rmi.server.Activation$GroupEntry$Watchdog sun.rmi.server.Activation$LogGroupIncarnation sun.rmi.server.Activation$LogRecord sun.rmi.server.Activation$LogRegisterGroup sun.rmi.server.Activation$LogRegisterObject sun.rmi.server.Activation$LogUnregisterGroup sun.rmi.server.Activation$LogUnregisterObject sun.rmi.server.Activation$LogUpdateDesc sun.rmi.server.Activation$LogUpdateGroupDesc sun.rmi.server.Activation$ObjectEntry sun.rmi.server.Activation$SameHostOnlyServerRef sun.rmi.server.Activation$Shutdown sun.rmi.server.Activation$ShutdownHook sun.rmi.server.Activation$SystemRegistryImpl
InnerClasses:
public CommandEnvironment = java.rmi.activation.ActivationGroupDesc$CommandEnvironment of java.rmi.activation.ActivationGroupDesc
sun.rmi.server.Activation$1
sun.rmi.server.Activation$2
sun.rmi.server.Activation$3
sun.rmi.server.Activation$4
private ActLogHandler = sun.rmi.server.Activation$ActLogHandler of sun.rmi.server.Activation
ActivationMonitorImpl = sun.rmi.server.Activation$ActivationMonitorImpl of sun.rmi.server.Activation
private ActivationServerSocketFactory = sun.rmi.server.Activation$ActivationServerSocketFactory of sun.rmi.server.Activation
ActivationSystemImpl = sun.rmi.server.Activation$ActivationSystemImpl of sun.rmi.server.Activation
ActivatorImpl = sun.rmi.server.Activation$ActivatorImpl of sun.rmi.server.Activation
public DefaultExecPolicy = sun.rmi.server.Activation$DefaultExecPolicy of sun.rmi.server.Activation
private DelayedAcceptServerSocket = sun.rmi.server.Activation$DelayedAcceptServerSocket of sun.rmi.server.Activation
private GroupEntry = sun.rmi.server.Activation$GroupEntry of sun.rmi.server.Activation
private LogGroupIncarnation = sun.rmi.server.Activation$LogGroupIncarnation of sun.rmi.server.Activation
private abstract LogRecord = sun.rmi.server.Activation$LogRecord of sun.rmi.server.Activation
private LogRegisterGroup = sun.rmi.server.Activation$LogRegisterGroup of sun.rmi.server.Activation
private LogRegisterObject = sun.rmi.server.Activation$LogRegisterObject of sun.rmi.server.Activation
private LogUnregisterGroup = sun.rmi.server.Activation$LogUnregisterGroup of sun.rmi.server.Activation
private LogUnregisterObject = sun.rmi.server.Activation$LogUnregisterObject of sun.rmi.server.Activation
private LogUpdateDesc = sun.rmi.server.Activation$LogUpdateDesc of sun.rmi.server.Activation
private LogUpdateGroupDesc = sun.rmi.server.Activation$LogUpdateGroupDesc of sun.rmi.server.Activation
private ObjectEntry = sun.rmi.server.Activation$ObjectEntry of sun.rmi.server.Activation
SameHostOnlyServerRef = sun.rmi.server.Activation$SameHostOnlyServerRef of sun.rmi.server.Activation
private Shutdown = sun.rmi.server.Activation$Shutdown of sun.rmi.server.Activation
private ShutdownHook = sun.rmi.server.Activation$ShutdownHook of sun.rmi.server.Activation
private SystemRegistryImpl = sun.rmi.server.Activation$SystemRegistryImpl of sun.rmi.server.Activation