public class sun.rmi.registry.RegistryImpl extends java.rmi.server.RemoteServer implements java.rmi.registry.Registry
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.rmi.registry.RegistryImpl
super_class: java.rmi.server.RemoteServer
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4666870661827494597
private java.util.Hashtable<java.lang.String, java.rmi.Remote> bindings;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/rmi/Remote;>;
private static java.util.Hashtable<java.net.InetAddress, java.net.InetAddress> allowedAccessCache;
descriptor: Ljava/util/Hashtable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Hashtable<Ljava/net/InetAddress;Ljava/net/InetAddress;>;
private static sun.rmi.registry.RegistryImpl registry;
descriptor: Lsun/rmi/registry/RegistryImpl;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.rmi.server.ObjID id;
descriptor: Ljava/rmi/server/ObjID;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.ResourceBundle resources;
descriptor: Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.String REGISTRY_FILTER_PROPNAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sun.rmi.registry.registryFilter"
private static final int REGISTRY_MAX_DEPTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final int REGISTRY_MAX_ARRAY_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10000
private static final sun.misc.ObjectInputFilter registryFilter;
descriptor: Lsun/misc/ObjectInputFilter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.misc.ObjectInputFilter defaultFilter;
descriptor: Lsun/misc/ObjectInputFilter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.Hashtable
dup
iconst_3
invokespecial java.util.Hashtable.<init>:(I)V
1: putstatic sun.rmi.registry.RegistryImpl.allowedAccessCache:Ljava/util/Hashtable;
2: new java.rmi.server.ObjID
dup
iconst_0
invokespecial java.rmi.server.ObjID.<init>:(I)V
putstatic sun.rmi.registry.RegistryImpl.id:Ljava/rmi/server/ObjID;
3: aconst_null
putstatic sun.rmi.registry.RegistryImpl.resources:Ljava/util/ResourceBundle;
4: new sun.rmi.registry.RegistryImpl$1
dup
invokespecial sun.rmi.registry.RegistryImpl$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast sun.misc.ObjectInputFilter
5: putstatic sun.rmi.registry.RegistryImpl.registryFilter:Lsun/misc/ObjectInputFilter;
6: new sun.rmi.registry.RegistryImpl$2
dup
invokespecial sun.rmi.registry.RegistryImpl$2.<init>:()V
putstatic sun.rmi.registry.RegistryImpl.defaultFilter:Lsun/misc/ObjectInputFilter;
7: return
LocalVariableTable:
Start End Slot Name Signature
private static sun.misc.ObjectInputFilter initRegistryFilter();
descriptor: ()Lsun/misc/ObjectInputFilter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: aconst_null
astore 0
start local 0 1: ldc "sun.rmi.registry.registryFilter"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: ldc "sun.rmi.registry.registryFilter"
invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
4: StackMap locals: sun.misc.ObjectInputFilter java.lang.String
StackMap stack:
aload 1
ifnull 9
5: aload 1
invokestatic sun.misc.ObjectInputFilter$Config.createFilter:(Ljava/lang/String;)Lsun/misc/ObjectInputFilter;
astore 0
6: ldc "sun.rmi.registry"
ldc "registry"
iconst_m1
invokestatic sun.rmi.runtime.Log.getLog:(Ljava/lang/String;Ljava/lang/String;I)Lsun/rmi/runtime/Log;
astore 2
start local 2 7: aload 2
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 9
8: aload 2
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "registryFilter = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
end local 2 9: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 10 0 filter Lsun/misc/ObjectInputFilter;
2 10 1 props Ljava/lang/String;
7 9 2 regLog Lsun/rmi/runtime/Log;
public void <init>(int, java.rmi.server.RMIClientSocketFactory, java.rmi.server.RMIServerSocketFactory);
descriptor: (ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
aload 3
getstatic sun.rmi.registry.RegistryImpl.defaultFilter:Lsun/misc/ObjectInputFilter;
invokespecial sun.rmi.registry.RegistryImpl.<init>:(ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Lsun/misc/ObjectInputFilter;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/rmi/registry/RegistryImpl;
0 2 1 port I
0 2 2 csf Ljava/rmi/server/RMIClientSocketFactory;
0 2 3 ssf Ljava/rmi/server/RMIServerSocketFactory;
Exceptions:
throws java.rmi.RemoteException
MethodParameters:
Name Flags
port
csf
ssf
public void <init>(int, java.rmi.server.RMIClientSocketFactory, java.rmi.server.RMIServerSocketFactory, sun.misc.ObjectInputFilter);
descriptor: (ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Lsun/misc/ObjectInputFilter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.rmi.server.RemoteServer.<init>:()V
1: aload 0
2: new java.util.Hashtable
dup
bipush 101
invokespecial java.util.Hashtable.<init>:(I)V
putfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
3: new sun.rmi.transport.LiveRef
dup
getstatic sun.rmi.registry.RegistryImpl.id:Ljava/rmi/server/ObjID;
iload 1
aload 2
aload 3
invokespecial sun.rmi.transport.LiveRef.<init>:(Ljava/rmi/server/ObjID;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)V
astore 5
start local 5 4: aload 0
new sun.rmi.server.UnicastServerRef2
dup
aload 5
aload 4
invokespecial sun.rmi.server.UnicastServerRef2.<init>:(Lsun/rmi/transport/LiveRef;Lsun/misc/ObjectInputFilter;)V
invokevirtual sun.rmi.registry.RegistryImpl.setup:(Lsun/rmi/server/UnicastServerRef;)V
5: 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 6 0 this Lsun/rmi/registry/RegistryImpl;
0 6 1 port I
0 6 2 csf Ljava/rmi/server/RMIClientSocketFactory;
0 6 3 ssf Ljava/rmi/server/RMIServerSocketFactory;
0 6 4 serialFilter Lsun/misc/ObjectInputFilter;
4 6 5 lref Lsun/rmi/transport/LiveRef;
Exceptions:
throws java.rmi.RemoteException
MethodParameters:
Name Flags
port
csf
ssf
serialFilter
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.rmi.server.RemoteServer.<init>:()V
1: aload 0
2: new java.util.Hashtable
dup
bipush 101
invokespecial java.util.Hashtable.<init>:(I)V
putfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
3: new sun.rmi.transport.LiveRef
dup
getstatic sun.rmi.registry.RegistryImpl.id:Ljava/rmi/server/ObjID;
iload 1
invokespecial sun.rmi.transport.LiveRef.<init>:(Ljava/rmi/server/ObjID;I)V
astore 2
start local 2 4: aload 0
new sun.rmi.server.UnicastServerRef
dup
aload 2
getstatic sun.rmi.registry.RegistryImpl.defaultFilter:Lsun/misc/ObjectInputFilter;
invokespecial sun.rmi.server.UnicastServerRef.<init>:(Lsun/rmi/transport/LiveRef;Lsun/misc/ObjectInputFilter;)V
invokevirtual sun.rmi.registry.RegistryImpl.setup:(Lsun/rmi/server/UnicastServerRef;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/rmi/registry/RegistryImpl;
0 6 1 port I
4 6 2 lref Lsun/rmi/transport/LiveRef;
Exceptions:
throws java.rmi.RemoteException
MethodParameters:
Name Flags
port
private void setup(sun.rmi.server.UnicastServerRef);
descriptor: (Lsun/rmi/server/UnicastServerRef;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.rmi.registry.RegistryImpl.ref:Ljava/rmi/server/RemoteRef;
1: aload 1
aload 0
aconst_null
iconst_1
invokevirtual sun.rmi.server.UnicastServerRef.exportObject:(Ljava/rmi/Remote;Ljava/lang/Object;Z)Ljava/rmi/Remote;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/registry/RegistryImpl;
0 3 1 uref Lsun/rmi/server/UnicastServerRef;
Exceptions:
throws java.rmi.RemoteException
MethodParameters:
Name Flags
uref
public java.rmi.Remote lookup(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/rmi/Remote;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
dup
astore 2
monitorenter
1: aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.rmi.Remote
astore 3
start local 3 2: aload 3
ifnonnull 4
3: new java.rmi.NotBoundException
dup
aload 1
invokespecial java.rmi.NotBoundException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.util.Hashtable java.rmi.Remote
StackMap stack:
aload 3
aload 2
monitorexit
5: areturn
end local 3 6: StackMap locals: sun.rmi.registry.RegistryImpl java.lang.String java.util.Hashtable
StackMap stack: java.lang.Throwable
aload 2
monitorexit
7: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/rmi/registry/RegistryImpl;
0 8 1 name Ljava/lang/String;
2 6 3 obj Ljava/rmi/Remote;
Exception table:
from to target type
1 5 6 any
6 7 6 any
Exceptions:
throws java.rmi.RemoteException, java.rmi.NotBoundException
MethodParameters:
Name Flags
name
public void bind(java.lang.String, java.rmi.Remote);
descriptor: (Ljava/lang/String;Ljava/rmi/Remote;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
dup
astore 3
monitorenter
1: aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.rmi.Remote
astore 4
start local 4 2: aload 4
ifnull 4
3: new java.rmi.AlreadyBoundException
dup
aload 1
invokespecial java.rmi.AlreadyBoundException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.util.Hashtable java.rmi.Remote
StackMap stack:
aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
aload 1
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 5: aload 3
monitorexit
6: goto 9
StackMap locals: sun.rmi.registry.RegistryImpl java.lang.String java.rmi.Remote java.util.Hashtable
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/rmi/registry/RegistryImpl;
0 10 1 name Ljava/lang/String;
0 10 2 obj Ljava/rmi/Remote;
2 5 4 curr Ljava/rmi/Remote;
Exception table:
from to target type
1 6 7 any
7 8 7 any
Exceptions:
throws java.rmi.RemoteException, java.rmi.AlreadyBoundException, java.rmi.AccessException
MethodParameters:
Name Flags
name
obj
public void unbind(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
dup
astore 2
monitorenter
1: aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.rmi.Remote
astore 3
start local 3 2: aload 3
ifnonnull 4
3: new java.rmi.NotBoundException
dup
aload 1
invokespecial java.rmi.NotBoundException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.util.Hashtable java.rmi.Remote
StackMap stack:
aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 5: aload 2
monitorexit
6: goto 9
StackMap locals: sun.rmi.registry.RegistryImpl java.lang.String java.util.Hashtable
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/rmi/registry/RegistryImpl;
0 10 1 name Ljava/lang/String;
2 5 3 obj Ljava/rmi/Remote;
Exception table:
from to target type
1 6 7 any
7 8 7 any
Exceptions:
throws java.rmi.RemoteException, java.rmi.NotBoundException, java.rmi.AccessException
MethodParameters:
Name Flags
name
public void rebind(java.lang.String, java.rmi.Remote);
descriptor: (Ljava/lang/String;Ljava/rmi/Remote;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
aload 1
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/rmi/registry/RegistryImpl;
0 2 1 name Ljava/lang/String;
0 2 2 obj Ljava/rmi/Remote;
Exceptions:
throws java.rmi.RemoteException, java.rmi.AccessException
MethodParameters:
Name Flags
name
obj
public java.lang.String[] list();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
dup
astore 2
monitorenter
1: aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.size:()I
istore 3
start local 3 2: iload 3
anewarray java.lang.String
astore 1
start local 1 3: aload 0
getfield sun.rmi.registry.RegistryImpl.bindings:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 4
start local 4 4: goto 6
5: StackMap locals: sun.rmi.registry.RegistryImpl java.lang.String[] java.util.Hashtable int java.util.Enumeration
StackMap stack:
aload 1
iload 3
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
aastore
6: StackMap locals:
StackMap stack:
iinc 3 -1
iload 3
ifge 5
end local 4 end local 3 7: aload 2
monitorexit
8: goto 11
end local 1 StackMap locals: sun.rmi.registry.RegistryImpl top java.util.Hashtable
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
start local 1 11: StackMap locals: sun.rmi.registry.RegistryImpl java.lang.String[]
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/rmi/registry/RegistryImpl;
3 9 1 names [Ljava/lang/String;
11 12 1 names [Ljava/lang/String;
2 7 3 i I
4 7 4 enum_ Ljava/util/Enumeration<Ljava/lang/String;>;
Exception table:
from to target type
1 8 9 any
9 10 9 any
Exceptions:
throws java.rmi.RemoteException
public static void checkAccess(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: invokestatic sun.rmi.registry.RegistryImpl.getClientHost:()Ljava/lang/String;
astore 1
start local 1 1: new sun.rmi.registry.RegistryImpl$3
dup
aload 1
invokespecial sun.rmi.registry.RegistryImpl$3.<init>:(Ljava/lang/String;)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.net.InetAddress
astore 2
start local 2 3: goto 6
end local 2 StackMap locals: java.lang.String java.lang.String
StackMap stack: java.security.PrivilegedActionException
4: astore 3
start local 3 5: aload 3
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.net.UnknownHostException
athrow
end local 3 start local 2 6: StackMap locals: java.net.InetAddress
StackMap stack:
getstatic sun.rmi.registry.RegistryImpl.allowedAccessCache:Ljava/util/Hashtable;
aload 2
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 24
7: aload 2
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 11
8: new java.rmi.AccessException
dup
9: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " disallowed; origin unknown"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial java.rmi.AccessException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 2
astore 3
start local 3 12: new sun.rmi.registry.RegistryImpl$4
dup
aload 3
invokespecial sun.rmi.registry.RegistryImpl$4.<init>:(Ljava/net/InetAddress;)V
13: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
end local 3 14: goto 24
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
15: pop
16: new java.rmi.AccessException
dup
17: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " disallowed; origin "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is non-local host"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokespecial java.rmi.AccessException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 21: StackMap locals: java.lang.String
StackMap stack: java.rmi.server.ServerNotActiveException
pop
goto 24
22: StackMap locals:
StackMap stack: java.net.UnknownHostException
pop
23: new java.rmi.AccessException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " disallowed; origin is unknown host"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.rmi.AccessException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 op Ljava/lang/String;
1 21 1 clientHostName Ljava/lang/String;
3 4 2 clientHost Ljava/net/InetAddress;
6 21 2 clientHost Ljava/net/InetAddress;
5 6 3 pae Ljava/security/PrivilegedActionException;
12 14 3 finalClientHost Ljava/net/InetAddress;
Exception table:
from to target type
1 3 4 Class java.security.PrivilegedActionException
11 14 15 Class java.security.PrivilegedActionException
0 21 21 Class java.rmi.server.ServerNotActiveException
0 21 22 Class java.net.UnknownHostException
Exceptions:
throws java.rmi.AccessException
MethodParameters:
Name Flags
op
public static java.rmi.server.ObjID getID();
descriptor: ()Ljava/rmi/server/ObjID;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.rmi.registry.RegistryImpl.id:Ljava/rmi/server/ObjID;
areturn
LocalVariableTable:
Start End Slot Name Signature
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.registry.RegistryImpl.resources:Ljava/util/ResourceBundle;
ifnonnull 7
1: ldc "sun.rmi.registry.resources.rmiregistry"
2: invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
putstatic sun.rmi.registry.RegistryImpl.resources:Ljava/util/ResourceBundle;
3: goto 5
StackMap locals:
StackMap stack: java.util.MissingResourceException
4: pop
5: StackMap locals:
StackMap stack:
getstatic sun.rmi.registry.RegistryImpl.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.registry.RegistryImpl.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 sun.misc.ObjectInputFilter$Status registryFilter(sun.misc.ObjectInputFilter$FilterInfo);
descriptor: (Lsun/misc/ObjectInputFilter$FilterInfo;)Lsun/misc/ObjectInputFilter$Status;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic sun.rmi.registry.RegistryImpl.registryFilter:Lsun/misc/ObjectInputFilter;
ifnull 4
1: getstatic sun.rmi.registry.RegistryImpl.registryFilter:Lsun/misc/ObjectInputFilter;
aload 0
invokeinterface sun.misc.ObjectInputFilter.checkInput:(Lsun/misc/ObjectInputFilter$FilterInfo;)Lsun/misc/ObjectInputFilter$Status;
astore 1
start local 1 2: aload 1
getstatic sun.misc.ObjectInputFilter$Status.UNDECIDED:Lsun/misc/ObjectInputFilter$Status;
if_acmpeq 4
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokeinterface sun.misc.ObjectInputFilter$FilterInfo.depth:()J
ldc 20
lcmp
ifle 6
5: getstatic sun.misc.ObjectInputFilter$Status.REJECTED:Lsun/misc/ObjectInputFilter$Status;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokeinterface sun.misc.ObjectInputFilter$FilterInfo.serialClass:()Ljava/lang/Class;
astore 1
start local 1 7: aload 1
ifnull 26
8: aload 1
invokevirtual java.lang.Class.isArray:()Z
ifeq 13
9: aload 0
invokeinterface sun.misc.ObjectInputFilter$FilterInfo.arrayLength:()J
lconst_0
lcmp
iflt 11
aload 0
invokeinterface sun.misc.ObjectInputFilter$FilterInfo.arrayLength:()J
ldc 10000
lcmp
ifle 11
10: getstatic sun.misc.ObjectInputFilter$Status.REJECTED:Lsun/misc/ObjectInputFilter$Status;
areturn
11: StackMap locals: java.lang.Class
StackMap stack:
aload 1
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 1
12: aload 1
invokevirtual java.lang.Class.isArray:()Z
ifne 11
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 15
14: getstatic sun.misc.ObjectInputFilter$Status.ALLOWED:Lsun/misc/ObjectInputFilter$Status;
areturn
15: StackMap locals:
StackMap stack:
ldc Ljava/lang/String;
aload 1
if_acmpeq 24
16: ldc Ljava/lang/Number;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 24
17: ldc Ljava/rmi/Remote;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 24
18: ldc Ljava/lang/reflect/Proxy;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 24
19: ldc Lsun/rmi/server/UnicastRef;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 24
20: ldc Ljava/rmi/server/RMIClientSocketFactory;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 24
21: ldc Ljava/rmi/server/RMIServerSocketFactory;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 24
22: ldc Ljava/rmi/activation/ActivationID;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 24
23: ldc Ljava/rmi/server/UID;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 25
24: StackMap locals:
StackMap stack:
getstatic sun.misc.ObjectInputFilter$Status.ALLOWED:Lsun/misc/ObjectInputFilter$Status;
areturn
25: StackMap locals:
StackMap stack:
getstatic sun.misc.ObjectInputFilter$Status.REJECTED:Lsun/misc/ObjectInputFilter$Status;
areturn
26: StackMap locals:
StackMap stack:
getstatic sun.misc.ObjectInputFilter$Status.UNDECIDED:Lsun/misc/ObjectInputFilter$Status;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 filterInfo Lsun/misc/ObjectInputFilter$FilterInfo;
2 4 1 status Lsun/misc/ObjectInputFilter$Status;
7 27 1 clazz Ljava/lang/Class<*>;
MethodParameters:
Name Flags
filterInfo
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 2
1: new java.rmi.RMISecurityManager
dup
invokespecial java.rmi.RMISecurityManager.<init>:()V
invokestatic java.lang.System.setSecurityManager:(Ljava/lang/SecurityManager;)V
2: StackMap locals:
StackMap stack:
ldc "env.class.path"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: ldc "."
astore 1
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokestatic sun.misc.URLClassPath.pathToURLs:(Ljava/lang/String;)[Ljava/net/URL;
astore 2
start local 2 6: new java.net.URLClassLoader
dup
aload 2
invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
astore 3
start local 3 7: aload 3
invokestatic sun.rmi.server.LoaderHandler.registerCodebaseLoader:(Ljava/lang/ClassLoader;)V
8: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 3
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
9: aload 0
arraylength
iconst_1
if_icmplt 10
aload 0
iconst_0
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
goto 11
10: StackMap locals: java.net.URL[] java.lang.ClassLoader
StackMap stack:
sipush 1099
11: StackMap locals:
StackMap stack: int
istore 4
start local 4 12: new sun.rmi.registry.RegistryImpl$5
dup
iload 4
invokespecial sun.rmi.registry.RegistryImpl$5.<init>:(I)V
13: iload 4
invokestatic sun.rmi.registry.RegistryImpl.getAccessControlContext:(I)Ljava/security/AccessControlContext;
14: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
checkcast sun.rmi.registry.RegistryImpl
putstatic sun.rmi.registry.RegistryImpl.registry:Lsun/rmi/registry/RegistryImpl;
15: goto 18
StackMap locals: java.lang.String[] java.lang.String java.net.URL[] java.lang.ClassLoader int
StackMap stack: java.security.PrivilegedActionException
16: astore 5
start local 5 17: aload 5
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.rmi.RemoteException
athrow
end local 5 18: StackMap locals:
StackMap stack:
ldc 9223372036854775807
invokestatic java.lang.Thread.sleep:(J)V
19: goto 18
StackMap locals:
StackMap stack: java.lang.InterruptedException
20: pop
21: goto 18
end local 4 end local 3 end local 2 end local 1 22: StackMap locals: java.lang.String[]
StackMap stack: java.lang.NumberFormatException
pop
23: getstatic java.lang.System.err:Ljava/io/PrintStream;
24: ldc "rmiregistry.port.badnumber"
invokestatic sun.rmi.registry.RegistryImpl.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
25: aload 0
iconst_0
aaload
aastore
26: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
27: getstatic java.lang.System.err:Ljava/io/PrintStream;
28: ldc "rmiregistry.usage"
invokestatic sun.rmi.registry.RegistryImpl.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
29: ldc "rmiregistry"
aastore
30: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
goto 33
31: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 32: aload 1
invokevirtual java.lang.Exception.printStackTrace:()V
end local 1 33: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.lang.System.exit:(I)V
34: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 args [Ljava/lang/String;
3 22 1 envcp Ljava/lang/String;
6 22 2 urls [Ljava/net/URL;
7 22 3 cl Ljava/lang/ClassLoader;
12 22 4 regPort I
17 18 5 ex Ljava/security/PrivilegedActionException;
32 33 1 e Ljava/lang/Exception;
Exception table:
from to target type
12 15 16 Class java.security.PrivilegedActionException
18 19 20 Class java.lang.InterruptedException
2 22 22 Class java.lang.NumberFormatException
2 22 31 Class java.lang.Exception
MethodParameters:
Name Flags
args
private static java.security.AccessControlContext getAccessControlContext(int);
descriptor: (I)Ljava/security/AccessControlContext;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: new sun.rmi.registry.RegistryImpl$6
dup
invokespecial sun.rmi.registry.RegistryImpl$6.<init>:()V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.security.PermissionCollection
astore 1
start local 1 2: aload 1
new java.net.SocketPermission
dup
ldc "*"
ldc "connect,accept"
invokespecial java.net.SocketPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual java.security.PermissionCollection.add:(Ljava/security/Permission;)V
3: aload 1
new java.net.SocketPermission
dup
new java.lang.StringBuilder
dup
ldc "localhost:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "listen,accept"
invokespecial java.net.SocketPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual java.security.PermissionCollection.add:(Ljava/security/Permission;)V
4: aload 1
new java.lang.RuntimePermission
dup
ldc "accessClassInPackage.sun.jvmstat.*"
invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
invokevirtual java.security.PermissionCollection.add:(Ljava/security/Permission;)V
5: aload 1
new java.lang.RuntimePermission
dup
ldc "accessClassInPackage.sun.jvm.hotspot.*"
invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
invokevirtual java.security.PermissionCollection.add:(Ljava/security/Permission;)V
6: aload 1
new java.io.FilePermission
dup
ldc "<<ALL FILES>>"
ldc "read"
invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual java.security.PermissionCollection.add:(Ljava/security/Permission;)V
7: new java.security.ProtectionDomain
dup
8: new java.security.CodeSource
dup
aconst_null
9: aconst_null
10: invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
11: aload 1
12: invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V
astore 2
start local 2 13: new java.security.AccessControlContext
dup
iconst_1
anewarray java.security.ProtectionDomain
dup
iconst_0
aload 2
aastore
invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 port I
2 14 1 perms Ljava/security/PermissionCollection;
13 14 2 pd Ljava/security/ProtectionDomain;
MethodParameters:
Name Flags
port
}
SourceFile: "RegistryImpl.java"
NestMembers:
sun.rmi.registry.RegistryImpl$1 sun.rmi.registry.RegistryImpl$2 sun.rmi.registry.RegistryImpl$3 sun.rmi.registry.RegistryImpl$4 sun.rmi.registry.RegistryImpl$5 sun.rmi.registry.RegistryImpl$6
InnerClasses:
public final Config = sun.misc.ObjectInputFilter$Config of sun.misc.ObjectInputFilter
public abstract FilterInfo = sun.misc.ObjectInputFilter$FilterInfo of sun.misc.ObjectInputFilter
public final Status = sun.misc.ObjectInputFilter$Status of sun.misc.ObjectInputFilter
sun.rmi.registry.RegistryImpl$1
sun.rmi.registry.RegistryImpl$2
sun.rmi.registry.RegistryImpl$3
sun.rmi.registry.RegistryImpl$4
sun.rmi.registry.RegistryImpl$5
sun.rmi.registry.RegistryImpl$6