public class sun.rmi.server.UnicastServerRef extends sun.rmi.server.UnicastRef implements java.rmi.server.ServerRef, sun.rmi.server.Dispatcher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.rmi.server.UnicastServerRef
super_class: sun.rmi.server.UnicastRef
{
public static final boolean logCalls;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.rmi.runtime.Log callLog;
descriptor: Lsun/rmi/runtime/Log;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -7384275867073752268
private static final boolean wantExceptionLog;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private boolean forceStubUse;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final boolean suppressStackTraces;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private transient java.rmi.server.Skeleton skel;
descriptor: Ljava/rmi/server/Skeleton;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private final transient sun.misc.ObjectInputFilter filter;
descriptor: Lsun/misc/ObjectInputFilter;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private transient java.util.Map<java.lang.Long, java.lang.reflect.Method> hashToMethod_Map;
descriptor: Ljava/util/Map;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Ljava/util/Map<Ljava/lang/Long;Ljava/lang/reflect/Method;>;
private static final sun.rmi.server.WeakClassHashMap<java.util.Map<java.lang.Long, java.lang.reflect.Method>> hashToMethod_Maps;
descriptor: Lsun/rmi/server/WeakClassHashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lsun/rmi/server/WeakClassHashMap<Ljava/util/Map<Ljava/lang/Long;Ljava/lang/reflect/Method;>;>;
private static final java.util.Map<java.lang.Class<?>, ?> withoutSkeletons;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<*>;*>;
private final java.util.concurrent.atomic.AtomicInteger methodCallIDCount;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.security.action.GetBooleanAction
dup
ldc "java.rmi.server.logCalls"
invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
1: 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.UnicastServerRef.logCalls:Z
2: ldc "sun.rmi.server.call"
ldc "RMI"
getstatic sun.rmi.server.UnicastServerRef.logCalls:Z
invokestatic sun.rmi.runtime.Log.getLog:(Ljava/lang/String;Ljava/lang/String;Z)Lsun/rmi/runtime/Log;
3: putstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
4: new sun.security.action.GetBooleanAction
dup
ldc "sun.rmi.server.exceptionTrace"
invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
6: putstatic sun.rmi.server.UnicastServerRef.wantExceptionLog:Z
7: new sun.security.action.GetBooleanAction
dup
8: ldc "sun.rmi.server.suppressStackTraces"
9: invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
11: putstatic sun.rmi.server.UnicastServerRef.suppressStackTraces:Z
12: new sun.rmi.server.UnicastServerRef$HashToMethod_Maps
dup
invokespecial sun.rmi.server.UnicastServerRef$HashToMethod_Maps.<init>:()V
13: putstatic sun.rmi.server.UnicastServerRef.hashToMethod_Maps:Lsun/rmi/server/WeakClassHashMap;
14: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
15: putstatic sun.rmi.server.UnicastServerRef.withoutSkeletons:Ljava/util/Map;
16: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.rmi.server.UnicastRef.<init>:()V
1: aload 0
iconst_0
putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
2: aload 0
aconst_null
putfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
3: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield sun.rmi.server.UnicastServerRef.methodCallIDCount:Ljava/util/concurrent/atomic/AtomicInteger;
4: aload 0
aconst_null
putfield sun.rmi.server.UnicastServerRef.filter:Lsun/misc/ObjectInputFilter;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/rmi/server/UnicastServerRef;
public void <init>(sun.rmi.transport.LiveRef);
descriptor: (Lsun/rmi/transport/LiveRef;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.rmi.server.UnicastRef.<init>:(Lsun/rmi/transport/LiveRef;)V
1: aload 0
iconst_0
putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
2: aload 0
aconst_null
putfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
3: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield sun.rmi.server.UnicastServerRef.methodCallIDCount:Ljava/util/concurrent/atomic/AtomicInteger;
4: aload 0
aconst_null
putfield sun.rmi.server.UnicastServerRef.filter:Lsun/misc/ObjectInputFilter;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/rmi/server/UnicastServerRef;
0 6 1 ref Lsun/rmi/transport/LiveRef;
MethodParameters:
Name Flags
ref
public void <init>(sun.rmi.transport.LiveRef, sun.misc.ObjectInputFilter);
descriptor: (Lsun/rmi/transport/LiveRef;Lsun/misc/ObjectInputFilter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial sun.rmi.server.UnicastRef.<init>:(Lsun/rmi/transport/LiveRef;)V
1: aload 0
iconst_0
putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
2: aload 0
aconst_null
putfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
3: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield sun.rmi.server.UnicastServerRef.methodCallIDCount:Ljava/util/concurrent/atomic/AtomicInteger;
4: aload 0
aload 2
putfield sun.rmi.server.UnicastServerRef.filter:Lsun/misc/ObjectInputFilter;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/rmi/server/UnicastServerRef;
0 6 1 ref Lsun/rmi/transport/LiveRef;
0 6 2 filter Lsun/misc/ObjectInputFilter;
MethodParameters:
Name Flags
ref
filter
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new sun.rmi.transport.LiveRef
dup
iload 1
invokespecial sun.rmi.transport.LiveRef.<init>:(I)V
invokespecial sun.rmi.server.UnicastRef.<init>:(Lsun/rmi/transport/LiveRef;)V
1: aload 0
iconst_0
putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
2: aload 0
aconst_null
putfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
3: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield sun.rmi.server.UnicastServerRef.methodCallIDCount:Ljava/util/concurrent/atomic/AtomicInteger;
4: aload 0
aconst_null
putfield sun.rmi.server.UnicastServerRef.filter:Lsun/misc/ObjectInputFilter;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/rmi/server/UnicastServerRef;
0 6 1 port I
MethodParameters:
Name Flags
port
public void <init>(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokespecial sun.rmi.server.UnicastServerRef.<init>:(I)V
1: aload 0
iload 1
putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/server/UnicastServerRef;
0 3 1 forceStubUse Z
MethodParameters:
Name Flags
forceStubUse
public java.rmi.server.RemoteStub exportObject(java.rmi.Remote, java.lang.Object);
descriptor: (Ljava/rmi/Remote;Ljava/lang/Object;)Ljava/rmi/server/RemoteStub;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
putfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
1: aload 0
aload 1
aload 2
iconst_0
invokevirtual sun.rmi.server.UnicastServerRef.exportObject:(Ljava/rmi/Remote;Ljava/lang/Object;Z)Ljava/rmi/Remote;
checkcast java.rmi.server.RemoteStub
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/rmi/server/UnicastServerRef;
0 2 1 impl Ljava/rmi/Remote;
0 2 2 data Ljava/lang/Object;
Exceptions:
throws java.rmi.RemoteException
MethodParameters:
Name Flags
impl
data
public java.rmi.Remote exportObject(java.rmi.Remote, java.lang.Object, boolean);
descriptor: (Ljava/rmi/Remote;Ljava/lang/Object;Z)Ljava/rmi/Remote;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 4
start local 4 1: aload 4
aload 0
invokevirtual sun.rmi.server.UnicastServerRef.getClientRef:()Ljava/rmi/server/RemoteRef;
aload 0
getfield sun.rmi.server.UnicastServerRef.forceStubUse:Z
invokestatic sun.rmi.server.Util.createProxy:(Ljava/lang/Class;Ljava/rmi/server/RemoteRef;Z)Ljava/rmi/Remote;
astore 5
start local 5 2: goto 7
end local 5 StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.lang.Object int java.lang.Class
StackMap stack: java.lang.IllegalArgumentException
3: astore 6
start local 6 4: new java.rmi.server.ExportException
dup
5: ldc "remote object implements illegal remote interface"
aload 6
6: invokespecial java.rmi.server.ExportException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 6 start local 5 7: StackMap locals: java.rmi.Remote
StackMap stack:
aload 5
instanceof java.rmi.server.RemoteStub
ifeq 9
8: aload 0
aload 1
invokevirtual sun.rmi.server.UnicastServerRef.setSkeleton:(Ljava/rmi/Remote;)V
9: StackMap locals:
StackMap stack:
new sun.rmi.transport.Target
dup
aload 1
aload 0
aload 5
aload 0
getfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
invokevirtual sun.rmi.transport.LiveRef.getObjID:()Ljava/rmi/server/ObjID;
iload 3
invokespecial sun.rmi.transport.Target.<init>:(Ljava/rmi/Remote;Lsun/rmi/server/Dispatcher;Ljava/rmi/Remote;Ljava/rmi/server/ObjID;Z)V
10: astore 6
start local 6 11: aload 0
getfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
aload 6
invokevirtual sun.rmi.transport.LiveRef.exportObject:(Lsun/rmi/transport/Target;)V
12: aload 0
getstatic sun.rmi.server.UnicastServerRef.hashToMethod_Maps:Lsun/rmi/server/WeakClassHashMap;
aload 4
invokevirtual sun.rmi.server.WeakClassHashMap.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.Map
putfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
13: aload 5
areturn
end local 6 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 14 0 this Lsun/rmi/server/UnicastServerRef;
0 14 1 impl Ljava/rmi/Remote;
0 14 2 data Ljava/lang/Object;
0 14 3 permanent Z
1 14 4 implClass Ljava/lang/Class<*>;
2 3 5 stub Ljava/rmi/Remote;
7 14 5 stub Ljava/rmi/Remote;
4 7 6 e Ljava/lang/IllegalArgumentException;
11 14 6 target Lsun/rmi/transport/Target;
Exception table:
from to target type
1 2 3 Class java.lang.IllegalArgumentException
Exceptions:
throws java.rmi.RemoteException
MethodParameters:
Name Flags
impl
data
permanent
public java.lang.String getClientHost();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic sun.rmi.transport.tcp.TCPTransport.getClientHost:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/server/UnicastServerRef;
Exceptions:
throws java.rmi.server.ServerNotActiveException
public void setSkeleton(java.rmi.Remote);
descriptor: (Ljava/rmi/Remote;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.rmi.server.UnicastServerRef.withoutSkeletons:Ljava/util/Map;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 5
1: aload 0
aload 1
invokestatic sun.rmi.server.Util.createSkeleton:(Ljava/rmi/Remote;)Ljava/rmi/server/Skeleton;
putfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
2: goto 5
StackMap locals:
StackMap stack: java.rmi.server.SkeletonNotFoundException
3: pop
4: getstatic sun.rmi.server.UnicastServerRef.withoutSkeletons:Ljava/util/Map;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aconst_null
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
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/UnicastServerRef;
0 6 1 impl Ljava/rmi/Remote;
Exception table:
from to target type
1 2 3 Class java.rmi.server.SkeletonNotFoundException
Exceptions:
throws java.rmi.RemoteException
MethodParameters:
Name Flags
impl
public void dispatch(java.rmi.Remote, java.rmi.server.RemoteCall);
descriptor: (Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface java.rmi.server.RemoteCall.getInputStream:()Ljava/io/ObjectInput;
astore 6
start local 6 1: aload 6
invokeinterface java.io.ObjectInput.readInt:()I
istore 3
start local 3 2: goto 7
end local 6 end local 3 StackMap locals:
StackMap stack: java.lang.Exception
3: astore 7
start local 7 4: new java.rmi.UnmarshalException
dup
ldc "error unmarshalling call header"
5: aload 7
6: invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 7 start local 3 start local 6 7: StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int top top java.io.ObjectInput
StackMap stack:
aload 0
getfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
ifnull 12
8: aload 0
aload 1
aload 2
iload 3
invokevirtual sun.rmi.server.UnicastServerRef.oldDispatch:(Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;I)V
9: aload 2
invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
10: aload 2
invokeinterface java.rmi.server.RemoteCall.releaseOutputStream:()V
11: return
12: StackMap locals:
StackMap stack:
iload 3
iflt 16
13: new java.rmi.UnmarshalException
dup
14: ldc "skeleton class not found but required for client version"
15: invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.io.ObjectInput.readLong:()J
lstore 4
start local 4 17: goto 22
end local 4 StackMap locals:
StackMap stack: java.lang.Exception
18: astore 7
start local 7 19: new java.rmi.UnmarshalException
dup
ldc "error unmarshalling call header"
20: aload 7
21: invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 7 start local 4 22: StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int long java.io.ObjectInput
StackMap stack:
aload 6
checkcast sun.rmi.server.MarshalInputStream
astore 7
start local 7 23: aload 7
invokevirtual sun.rmi.server.MarshalInputStream.skipDefaultResolveClass:()V
24: aload 0
getfield sun.rmi.server.UnicastServerRef.hashToMethod_Map:Ljava/util/Map;
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 8
start local 8 25: aload 8
ifnonnull 27
26: new java.rmi.UnmarshalException
dup
ldc "unrecognized method hash: method not supported by remote object"
invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals: sun.rmi.server.MarshalInputStream java.lang.reflect.Method
StackMap stack:
aload 0
aload 1
aload 8
invokevirtual sun.rmi.server.UnicastServerRef.logCall:(Ljava/rmi/Remote;Ljava/lang/Object;)V
28: aconst_null
astore 9
start local 9 29: aload 0
aload 6
invokevirtual sun.rmi.server.UnicastServerRef.unmarshalCustomCallData:(Ljava/io/ObjectInput;)V
30: aload 0
aload 1
aload 8
aload 7
invokevirtual sun.rmi.server.UnicastServerRef.unmarshalParameters:(Ljava/lang/Object;Ljava/lang/reflect/Method;Lsun/rmi/server/MarshalInputStream;)[Ljava/lang/Object;
astore 9
31: goto 43
StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int long java.io.ObjectInput sun.rmi.server.MarshalInputStream java.lang.reflect.Method java.lang.Object[]
StackMap stack: java.rmi.AccessException
32: astore 10
start local 10 33: aload 2
checkcast sun.rmi.transport.StreamRemoteCall
invokevirtual sun.rmi.transport.StreamRemoteCall.discardPendingRefs:()V
34: aload 10
athrow
end local 10 35: StackMap locals:
StackMap stack: java.lang.Exception
astore 10
start local 10 36: aload 2
checkcast sun.rmi.transport.StreamRemoteCall
invokevirtual sun.rmi.transport.StreamRemoteCall.discardPendingRefs:()V
37: new java.rmi.UnmarshalException
dup
38: ldc "error unmarshalling arguments"
aload 10
39: invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 10 40: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
41: aload 2
invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
42: aload 11
athrow
43: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
44: aload 8
aload 1
aload 9
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 45: goto 48
end local 10 StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
46: astore 11
start local 11 47: aload 11
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
athrow
end local 11 start local 10 48: StackMap locals: java.lang.Object
StackMap stack:
aload 2
iconst_1
invokeinterface java.rmi.server.RemoteCall.getResultStream:(Z)Ljava/io/ObjectOutput;
astore 11
start local 11 49: aload 8
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
astore 12
start local 12 50: aload 12
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 80
51: aload 12
aload 10
aload 11
invokestatic sun.rmi.server.UnicastServerRef.marshalValue:(Ljava/lang/Class;Ljava/lang/Object;Ljava/io/ObjectOutput;)V
end local 12 end local 11 52: goto 80
StackMap locals:
StackMap stack: java.io.IOException
53: astore 11
start local 11 54: new java.rmi.MarshalException
dup
ldc "error marshalling return"
aload 11
invokespecial java.rmi.MarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 55: StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall
StackMap stack: java.lang.Throwable
astore 6
start local 6 56: aload 6
astore 7
start local 7 57: aload 0
aload 6
invokevirtual sun.rmi.server.UnicastServerRef.logCallException:(Ljava/lang/Throwable;)V
58: aload 2
iconst_0
invokeinterface java.rmi.server.RemoteCall.getResultStream:(Z)Ljava/io/ObjectOutput;
astore 8
start local 8 59: aload 6
instanceof java.lang.Error
ifeq 64
60: new java.rmi.ServerError
dup
61: ldc "Error occurred in server thread"
aload 6
checkcast java.lang.Error
62: invokespecial java.rmi.ServerError.<init>:(Ljava/lang/String;Ljava/lang/Error;)V
astore 6
63: goto 69
StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall top top top java.lang.Throwable java.lang.Throwable java.io.ObjectOutput
StackMap stack:
64: aload 6
instanceof java.rmi.RemoteException
ifeq 69
65: new java.rmi.ServerException
dup
66: ldc "RemoteException occurred in server thread"
67: aload 6
checkcast java.lang.Exception
68: invokespecial java.rmi.ServerException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
astore 6
69: StackMap locals:
StackMap stack:
getstatic sun.rmi.server.UnicastServerRef.suppressStackTraces:Z
ifeq 71
70: aload 6
invokestatic sun.rmi.server.UnicastServerRef.clearStackTraces:(Ljava/lang/Throwable;)V
71: StackMap locals:
StackMap stack:
aload 8
aload 6
invokeinterface java.io.ObjectOutput.writeObject:(Ljava/lang/Object;)V
72: aload 7
instanceof java.rmi.AccessException
ifeq 74
73: new java.io.IOException
dup
ldc "Connection is not reusable"
aload 7
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 end local 7 end local 6 74: StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall
StackMap stack:
aload 2
invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
75: aload 2
invokeinterface java.rmi.server.RemoteCall.releaseOutputStream:()V
goto 82
76: StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
77: aload 2
invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
78: aload 2
invokeinterface java.rmi.server.RemoteCall.releaseOutputStream:()V
79: aload 13
athrow
80: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.rmi.server.RemoteCall.releaseInputStream:()V
81: aload 2
invokeinterface java.rmi.server.RemoteCall.releaseOutputStream:()V
82: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 83 0 this Lsun/rmi/server/UnicastServerRef;
0 83 1 obj Ljava/rmi/Remote;
0 83 2 call Ljava/rmi/server/RemoteCall;
2 3 3 num I
7 55 3 num I
17 18 4 op J
22 55 4 op J
1 3 6 in Ljava/io/ObjectInput;
7 55 6 in Ljava/io/ObjectInput;
4 7 7 readEx Ljava/lang/Exception;
19 22 7 readEx Ljava/lang/Exception;
23 55 7 marshalStream Lsun/rmi/server/MarshalInputStream;
25 55 8 method Ljava/lang/reflect/Method;
29 55 9 params [Ljava/lang/Object;
33 35 10 aex Ljava/rmi/AccessException;
36 40 10 e Ljava/lang/Exception;
45 46 10 result Ljava/lang/Object;
48 55 10 result Ljava/lang/Object;
47 48 11 e Ljava/lang/reflect/InvocationTargetException;
49 52 11 out Ljava/io/ObjectOutput;
50 52 12 rtype Ljava/lang/Class<*>;
54 55 11 ex Ljava/io/IOException;
56 74 6 e Ljava/lang/Throwable;
57 74 7 origEx Ljava/lang/Throwable;
59 74 8 out Ljava/io/ObjectOutput;
Exception table:
from to target type
0 2 3 Class java.lang.Exception
16 17 18 Class java.lang.Exception
29 31 32 Class java.rmi.AccessException
29 31 35 Class java.io.IOException
29 31 35 Class java.lang.ClassNotFoundException
29 40 40 any
44 45 46 Class java.lang.reflect.InvocationTargetException
48 52 53 Class java.io.IOException
0 9 55 Class java.lang.Throwable
12 55 55 Class java.lang.Throwable
0 9 76 any
12 74 76 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
call
protected void unmarshalCustomCallData(java.io.ObjectInput);
descriptor: (Ljava/io/ObjectInput;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.rmi.server.UnicastServerRef.filter:Lsun/misc/ObjectInputFilter;
ifnull 4
1: aload 1
instanceof java.io.ObjectInputStream
ifeq 4
2: aload 1
checkcast java.io.ObjectInputStream
astore 2
start local 2 3: new sun.rmi.server.UnicastServerRef$1
dup
aload 0
aload 2
invokespecial sun.rmi.server.UnicastServerRef$1.<init>:(Lsun/rmi/server/UnicastServerRef;Ljava/io/ObjectInputStream;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/rmi/server/UnicastServerRef;
0 5 1 in Ljava/io/ObjectInput;
3 4 2 ois Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
in
private void oldDispatch(java.rmi.Remote, java.rmi.server.RemoteCall, int);
descriptor: (Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface java.rmi.server.RemoteCall.getInputStream:()Ljava/io/ObjectInput;
astore 6
start local 6 1: ldc "sun.rmi.transport.DGCImpl_Skel"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 7
start local 7 2: aload 7
aload 0
getfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
3: aload 6
checkcast sun.rmi.server.MarshalInputStream
invokevirtual sun.rmi.server.MarshalInputStream.useCodebaseOnly:()V
end local 7 4: goto 6
StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int top top java.io.ObjectInput
StackMap stack: java.lang.ClassNotFoundException
5: pop
6: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.io.ObjectInput.readLong:()J
lstore 4
start local 4 7: goto 10
end local 4 StackMap locals:
StackMap stack: java.lang.Exception
8: astore 7
start local 7 9: new java.rmi.UnmarshalException
dup
ldc "error unmarshalling call header"
aload 7
invokespecial java.rmi.UnmarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 7 start local 4 10: StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int long java.io.ObjectInput
StackMap stack:
aload 0
getfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
invokeinterface java.rmi.server.Skeleton.getOperations:()[Ljava/rmi/server/Operation;
astore 7
start local 7 11: aload 0
aload 1
iload 3
iflt 12
iload 3
aload 7
arraylength
if_icmpge 12
aload 7
iload 3
aaload
goto 13
StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int long java.io.ObjectInput java.rmi.server.Operation[]
StackMap stack: sun.rmi.server.UnicastServerRef java.rmi.Remote
12: new java.lang.StringBuilder
dup
ldc "op: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: sun.rmi.server.UnicastServerRef java.rmi.Remote java.rmi.server.RemoteCall int long java.io.ObjectInput java.rmi.server.Operation[]
StackMap stack: sun.rmi.server.UnicastServerRef java.rmi.Remote java.lang.Object
13: invokevirtual sun.rmi.server.UnicastServerRef.logCall:(Ljava/rmi/Remote;Ljava/lang/Object;)V
14: aload 0
aload 6
invokevirtual sun.rmi.server.UnicastServerRef.unmarshalCustomCallData:(Ljava/io/ObjectInput;)V
15: aload 0
getfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
aload 1
aload 2
iload 3
lload 4
invokeinterface java.rmi.server.Skeleton.dispatch:(Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;IJ)V
16: return
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/rmi/server/UnicastServerRef;
0 17 1 obj Ljava/rmi/Remote;
0 17 2 call Ljava/rmi/server/RemoteCall;
0 17 3 op I
7 8 4 hash J
10 17 4 hash J
1 17 6 in Ljava/io/ObjectInput;
2 4 7 clazz Ljava/lang/Class<*>;
9 10 7 ioe Ljava/lang/Exception;
11 17 7 operations [Ljava/rmi/server/Operation;
Exception table:
from to target type
1 4 5 Class java.lang.ClassNotFoundException
6 7 8 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
obj
call
op
public static void clearStackTraces(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
anewarray java.lang.StackTraceElement
astore 1
start local 1 1: goto 4
2: StackMap locals: java.lang.StackTraceElement[]
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Throwable.setStackTrace:([Ljava/lang/StackTraceElement;)V
3: aload 0
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 0
4: StackMap locals:
StackMap stack:
aload 0
ifnonnull 2
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 t Ljava/lang/Throwable;
1 6 1 empty [Ljava/lang/StackTraceElement;
MethodParameters:
Name Flags
t
private void logCall(java.rmi.Remote, java.lang.Object);
descriptor: (Ljava/rmi/Remote;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 10
1: aload 0
invokevirtual sun.rmi.server.UnicastServerRef.getClientHost:()Ljava/lang/String;
astore 3
start local 3 2: goto 5
end local 3 StackMap locals:
StackMap stack: java.rmi.server.ServerNotActiveException
3: pop
4: ldc "(local)"
astore 3
start local 3 5: StackMap locals: java.lang.String
StackMap stack:
getstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 0
getfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
invokevirtual sun.rmi.transport.LiveRef.getObjID:()Ljava/rmi/server/ObjID;
invokevirtual java.rmi.server.ObjID.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
end local 3 10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/rmi/server/UnicastServerRef;
0 11 1 obj Ljava/rmi/Remote;
0 11 2 method Ljava/lang/Object;
2 3 3 clientHost Ljava/lang/String;
5 10 3 clientHost Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.rmi.server.ServerNotActiveException
MethodParameters:
Name Flags
obj
method
private void logCallException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 6
1: ldc ""
astore 2
start local 2 2: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.rmi.server.UnicastServerRef.getClientHost:()Ljava/lang/String;
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;
astore 2
3: goto 5
StackMap locals: sun.rmi.server.UnicastServerRef java.lang.Throwable java.lang.String
StackMap stack: java.rmi.server.ServerNotActiveException
4: pop
5: StackMap locals:
StackMap stack:
getstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "exception: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 6: StackMap locals:
StackMap stack:
getstatic sun.rmi.server.UnicastServerRef.wantExceptionLog:Z
ifeq 20
7: getstatic java.lang.System.err:Ljava/io/PrintStream;
astore 2
start local 2 8: aload 2
dup
astore 3
monitorenter
9: aload 2
invokevirtual java.io.PrintStream.println:()V
10: aload 2
new java.lang.StringBuilder
dup
ldc "Exception dispatching call to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 0
getfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
invokevirtual sun.rmi.transport.LiveRef.getObjID:()Ljava/rmi/server/ObjID;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " in thread \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc "\" at "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: aload 1
aload 2
invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintStream;)V
16: aload 3
monitorexit
17: goto 20
StackMap locals: sun.rmi.server.UnicastServerRef java.lang.Throwable java.io.PrintStream java.io.PrintStream
StackMap stack: java.lang.Throwable
18: aload 3
monitorexit
19: athrow
end local 2 20: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/rmi/server/UnicastServerRef;
0 21 1 e Ljava/lang/Throwable;
2 6 2 clientHost Ljava/lang/String;
8 20 2 log Ljava/io/PrintStream;
Exception table:
from to target type
2 3 4 Class java.rmi.server.ServerNotActiveException
9 17 18 any
18 19 18 any
MethodParameters:
Name Flags
e
public java.lang.String getRefClass(java.io.ObjectOutput);
descriptor: (Ljava/io/ObjectOutput;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "UnicastServerRef"
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/server/UnicastServerRef;
0 1 1 out Ljava/io/ObjectOutput;
MethodParameters:
Name Flags
out
protected java.rmi.server.RemoteRef getClientRef();
descriptor: ()Ljava/rmi/server/RemoteRef;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.rmi.server.UnicastRef
dup
aload 0
getfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
invokespecial sun.rmi.server.UnicastRef.<init>:(Lsun/rmi/transport/LiveRef;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/server/UnicastServerRef;
public void writeExternal(java.io.ObjectOutput);
descriptor: (Ljava/io/ObjectOutput;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/server/UnicastServerRef;
0 1 1 out Ljava/io/ObjectOutput;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public void readExternal(java.io.ObjectInput);
descriptor: (Ljava/io/ObjectInput;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
putfield sun.rmi.server.UnicastServerRef.ref:Lsun/rmi/transport/LiveRef;
1: aload 0
aconst_null
putfield sun.rmi.server.UnicastServerRef.skel:Ljava/rmi/server/Skeleton;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/server/UnicastServerRef;
0 3 1 in Ljava/io/ObjectInput;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
in
private java.lang.Object[] unmarshalParameters(java.lang.Object, java.lang.reflect.Method, sun.rmi.server.MarshalInputStream);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;Lsun/rmi/server/MarshalInputStream;)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof sun.rmi.server.DeserializationChecker
ifeq 2
1: aload 0
aload 1
checkcast sun.rmi.server.DeserializationChecker
aload 2
aload 3
invokevirtual sun.rmi.server.UnicastServerRef.unmarshalParametersChecked:(Lsun/rmi/server/DeserializationChecker;Ljava/lang/reflect/Method;Lsun/rmi/server/MarshalInputStream;)[Ljava/lang/Object;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual sun.rmi.server.UnicastServerRef.unmarshalParametersUnchecked:(Ljava/lang/reflect/Method;Ljava/io/ObjectInput;)[Ljava/lang/Object;
3: StackMap locals:
StackMap stack: java.lang.Object[]
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/rmi/server/UnicastServerRef;
0 4 1 obj Ljava/lang/Object;
0 4 2 method Ljava/lang/reflect/Method;
0 4 3 in Lsun/rmi/server/MarshalInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
obj
method
in
private java.lang.Object[] unmarshalParametersUnchecked(java.lang.reflect.Method, java.io.ObjectInput);
descriptor: (Ljava/lang/reflect/Method;Ljava/io/ObjectInput;)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 3
start local 3 1: aload 3
arraylength
anewarray java.lang.Object
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 6
4: StackMap locals: java.lang.Class[] java.lang.Object[] int
StackMap stack:
aload 4
iload 5
aload 3
iload 5
aaload
aload 2
invokestatic sun.rmi.server.UnicastServerRef.unmarshalValue:(Ljava/lang/Class;Ljava/io/ObjectInput;)Ljava/lang/Object;
aastore
5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
aload 3
arraylength
if_icmplt 4
end local 5 7: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/rmi/server/UnicastServerRef;
0 8 1 method Ljava/lang/reflect/Method;
0 8 2 in Ljava/io/ObjectInput;
1 8 3 types [Ljava/lang/Class;
2 8 4 params [Ljava/lang/Object;
3 7 5 i I
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
method
in
private java.lang.Object[] unmarshalParametersChecked(sun.rmi.server.DeserializationChecker, java.lang.reflect.Method, sun.rmi.server.MarshalInputStream);
descriptor: (Lsun/rmi/server/DeserializationChecker;Ljava/lang/reflect/Method;Lsun/rmi/server/MarshalInputStream;)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.rmi.server.UnicastServerRef.methodCallIDCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
istore 4
start local 4 1: new sun.rmi.server.UnicastServerRef$MyChecker
dup
aload 1
aload 2
iload 4
invokespecial sun.rmi.server.UnicastServerRef$MyChecker.<init>:(Lsun/rmi/server/DeserializationChecker;Ljava/lang/reflect/Method;I)V
astore 5
start local 5 2: aload 3
aload 5
invokevirtual sun.rmi.server.MarshalInputStream.setStreamChecker:(Lsun/rmi/server/MarshalInputStream$StreamChecker;)V
3: aload 2
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 6
start local 6 4: aload 6
arraylength
anewarray java.lang.Object
astore 7
start local 7 5: iconst_0
istore 8
start local 8 6: goto 10
7: StackMap locals: sun.rmi.server.UnicastServerRef sun.rmi.server.DeserializationChecker java.lang.reflect.Method sun.rmi.server.MarshalInputStream int sun.rmi.server.UnicastServerRef$MyChecker java.lang.Class[] java.lang.Object[] int
StackMap stack:
aload 5
iload 8
invokevirtual sun.rmi.server.UnicastServerRef$MyChecker.setIndex:(I)V
8: aload 7
iload 8
aload 6
iload 8
aaload
aload 3
invokestatic sun.rmi.server.UnicastServerRef.unmarshalValue:(Ljava/lang/Class;Ljava/io/ObjectInput;)Ljava/lang/Object;
aastore
9: iinc 8 1
StackMap locals:
StackMap stack:
10: iload 8
aload 6
arraylength
if_icmplt 7
end local 8 11: aload 5
iload 4
invokevirtual sun.rmi.server.UnicastServerRef$MyChecker.end:(I)V
12: aload 7
astore 10
13: aload 3
aconst_null
invokevirtual sun.rmi.server.MarshalInputStream.setStreamChecker:(Lsun/rmi/server/MarshalInputStream$StreamChecker;)V
14: aload 10
areturn
end local 7 end local 6 15: StackMap locals: sun.rmi.server.UnicastServerRef sun.rmi.server.DeserializationChecker java.lang.reflect.Method sun.rmi.server.MarshalInputStream int sun.rmi.server.UnicastServerRef$MyChecker
StackMap stack: java.lang.Throwable
astore 9
16: aload 3
aconst_null
invokevirtual sun.rmi.server.MarshalInputStream.setStreamChecker:(Lsun/rmi/server/MarshalInputStream$StreamChecker;)V
17: aload 9
athrow
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 18 0 this Lsun/rmi/server/UnicastServerRef;
0 18 1 checker Lsun/rmi/server/DeserializationChecker;
0 18 2 method Ljava/lang/reflect/Method;
0 18 3 in Lsun/rmi/server/MarshalInputStream;
1 18 4 callID I
2 18 5 myChecker Lsun/rmi/server/UnicastServerRef$MyChecker;
4 15 6 types [Ljava/lang/Class;
5 15 7 values [Ljava/lang/Object;
6 11 8 i I
Exception table:
from to target type
3 13 15 any
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
checker
method
in
}
SourceFile: "UnicastServerRef.java"
NestMembers:
sun.rmi.server.UnicastServerRef$1 sun.rmi.server.UnicastServerRef$HashToMethod_Maps sun.rmi.server.UnicastServerRef$HashToMethod_Maps$1 sun.rmi.server.UnicastServerRef$MyChecker
InnerClasses:
abstract StreamChecker = sun.rmi.server.MarshalInputStream$StreamChecker of sun.rmi.server.MarshalInputStream
sun.rmi.server.UnicastServerRef$1
private HashToMethod_Maps = sun.rmi.server.UnicastServerRef$HashToMethod_Maps of sun.rmi.server.UnicastServerRef
private MyChecker = sun.rmi.server.UnicastServerRef$MyChecker of sun.rmi.server.UnicastServerRef