public abstract class sun.rmi.transport.Transport
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.rmi.transport.Transport
super_class: java.lang.Object
{
static final int logLevel;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final sun.rmi.runtime.Log transportLog;
descriptor: Lsun/rmi/runtime/Log;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final java.lang.ThreadLocal<sun.rmi.transport.Transport> currentTransport;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Lsun/rmi/transport/Transport;>;
private static final java.rmi.server.ObjID dgcID;
descriptor: Ljava/rmi/server/ObjID;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.security.AccessControlContext SETCCL_ACC;
descriptor: Ljava/security/AccessControlContext;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=2, args_size=0
0: invokestatic sun.rmi.transport.Transport.getLogLevel:()Ljava/lang/String;
invokestatic java.rmi.server.LogStream.parseLevel:(Ljava/lang/String;)I
putstatic sun.rmi.transport.Transport.logLevel:I
1: ldc "sun.rmi.transport.misc"
ldc "transport"
getstatic sun.rmi.transport.Transport.logLevel:I
invokestatic sun.rmi.runtime.Log.getLog:(Ljava/lang/String;Ljava/lang/String;I)Lsun/rmi/runtime/Log;
2: putstatic sun.rmi.transport.Transport.transportLog:Lsun/rmi/runtime/Log;
3: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putstatic sun.rmi.transport.Transport.currentTransport:Ljava/lang/ThreadLocal;
4: new java.rmi.server.ObjID
dup
iconst_2
invokespecial java.rmi.server.ObjID.<init>:(I)V
putstatic sun.rmi.transport.Transport.dgcID:Ljava/rmi/server/ObjID;
5: new java.security.Permissions
dup
invokespecial java.security.Permissions.<init>:()V
astore 0
start local 0 6: aload 0
new java.lang.RuntimePermission
dup
ldc "setContextClassLoader"
invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
7: iconst_1
anewarray java.security.ProtectionDomain
dup
iconst_0
new java.security.ProtectionDomain
dup
aconst_null
aload 0
invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V
aastore
astore 1
start local 1 8: new java.security.AccessControlContext
dup
aload 1
invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
putstatic sun.rmi.transport.Transport.SETCCL_ACC:Ljava/security/AccessControlContext;
end local 1 end local 0 9: return
LocalVariableTable:
Start End Slot Name Signature
6 9 0 perms Ljava/security/Permissions;
8 9 1 pd [Ljava/security/ProtectionDomain;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/transport/Transport;
private static java.lang.String getLogLevel();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.security.action.GetPropertyAction
dup
ldc "sun.rmi.transport.logLevel"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
areturn
LocalVariableTable:
Start End Slot Name Signature
public abstract sun.rmi.transport.Channel getChannel(sun.rmi.transport.Endpoint);
descriptor: (Lsun/rmi/transport/Endpoint;)Lsun/rmi/transport/Channel;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
ep
public abstract void free(sun.rmi.transport.Endpoint);
descriptor: (Lsun/rmi/transport/Endpoint;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
ep
public void exportObject(sun.rmi.transport.Target);
descriptor: (Lsun/rmi/transport/Target;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual sun.rmi.transport.Target.setExportedTransport:(Lsun/rmi/transport/Transport;)V
1: aload 1
invokestatic sun.rmi.transport.ObjectTable.putTarget:(Lsun/rmi/transport/Target;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/transport/Transport;
0 3 1 target Lsun/rmi/transport/Target;
Exceptions:
throws java.rmi.RemoteException
MethodParameters:
Name Flags
target
protected void targetUnexported();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/transport/Transport;
static sun.rmi.transport.Transport currentTransport();
descriptor: ()Lsun/rmi/transport/Transport;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.rmi.transport.Transport.currentTransport:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast sun.rmi.transport.Transport
areturn
LocalVariableTable:
Start End Slot Name Signature
protected abstract void checkAcceptPermission(java.security.AccessControlContext);
descriptor: (Ljava/security/AccessControlContext;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
acc
private static void setContextClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.rmi.transport.Transport$1
dup
aload 0
invokespecial sun.rmi.transport.Transport$1.<init>:(Ljava/lang/ClassLoader;)V
1: getstatic sun.rmi.transport.Transport.SETCCL_ACC:Ljava/security/AccessControlContext;
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 ccl Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
ccl final
public boolean serviceCall(java.rmi.server.RemoteCall);
descriptor: (Ljava/rmi/server/RemoteCall;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.rmi.server.RemoteCall.getInputStream:()Ljava/io/ObjectInput;
invokestatic java.rmi.server.ObjID.read:(Ljava/io/ObjectInput;)Ljava/rmi/server/ObjID;
astore 3
start local 3 1: goto 4
end local 3 StackMap locals:
StackMap stack: java.io.IOException
2: astore 4
start local 4 3: new java.rmi.MarshalException
dup
ldc "unable to read objID"
aload 4
invokespecial java.rmi.MarshalException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 4 start local 3 4: StackMap locals: sun.rmi.transport.Transport java.rmi.server.RemoteCall top java.rmi.server.ObjID
StackMap stack:
aload 3
getstatic sun.rmi.transport.Transport.dgcID:Ljava/rmi/server/ObjID;
invokevirtual java.rmi.server.ObjID.equals:(Ljava/lang/Object;)Z
ifeq 5
aconst_null
goto 6
StackMap locals:
StackMap stack:
5: aload 0
StackMap locals:
StackMap stack: sun.rmi.transport.Transport
6: astore 4
start local 4 7: new sun.rmi.transport.ObjectEndpoint
dup
aload 3
aload 4
invokespecial sun.rmi.transport.ObjectEndpoint.<init>:(Ljava/rmi/server/ObjID;Lsun/rmi/transport/Transport;)V
invokestatic sun.rmi.transport.ObjectTable.getTarget:(Lsun/rmi/transport/ObjectEndpoint;)Lsun/rmi/transport/Target;
8: astore 5
start local 5 9: aload 5
ifnull 11
aload 5
invokevirtual sun.rmi.transport.Target.getImpl:()Ljava/rmi/Remote;
dup
astore 2
start local 2 10: ifnonnull 12
end local 2 11: StackMap locals: sun.rmi.transport.Transport sun.rmi.transport.Target
StackMap stack:
new java.rmi.NoSuchObjectException
dup
ldc "no such object in table"
invokespecial java.rmi.NoSuchObjectException.<init>:(Ljava/lang/String;)V
athrow
start local 2 12: StackMap locals: sun.rmi.transport.Transport java.rmi.server.RemoteCall java.rmi.Remote java.rmi.server.ObjID sun.rmi.transport.Transport sun.rmi.transport.Target
StackMap stack:
aload 5
invokevirtual sun.rmi.transport.Target.getDispatcher:()Lsun/rmi/server/Dispatcher;
astore 6
start local 6 13: aload 5
invokevirtual sun.rmi.transport.Target.incrementCallCount:()V
14: getstatic sun.rmi.transport.Transport.transportLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
ldc "call dispatcher"
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
15: aload 5
invokevirtual sun.rmi.transport.Target.getAccessControlContext:()Ljava/security/AccessControlContext;
16: astore 7
start local 7 17: aload 5
invokevirtual sun.rmi.transport.Target.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 8
start local 8 18: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 9
start local 9 19: aload 8
invokestatic sun.rmi.transport.Transport.setContextClassLoader:(Ljava/lang/ClassLoader;)V
20: getstatic sun.rmi.transport.Transport.currentTransport:Ljava/lang/ThreadLocal;
aload 0
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
21: new sun.rmi.transport.Transport$2
dup
aload 0
aload 7
aload 6
aload 2
aload 1
invokespecial sun.rmi.transport.Transport$2.<init>:(Lsun/rmi/transport/Transport;Ljava/security/AccessControlContext;Lsun/rmi/server/Dispatcher;Ljava/rmi/Remote;Ljava/rmi/server/RemoteCall;)V
22: aload 7
23: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
24: goto 31
StackMap locals: sun.rmi.transport.Transport java.rmi.server.RemoteCall java.rmi.Remote java.rmi.server.ObjID sun.rmi.transport.Transport sun.rmi.transport.Target sun.rmi.server.Dispatcher java.security.AccessControlContext java.lang.ClassLoader java.lang.ClassLoader
StackMap stack: java.security.PrivilegedActionException
25: astore 10
start local 10 26: aload 10
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.io.IOException
athrow
end local 10 27: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
28: aload 9
invokestatic sun.rmi.transport.Transport.setContextClassLoader:(Ljava/lang/ClassLoader;)V
29: getstatic sun.rmi.transport.Transport.currentTransport:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
30: aload 11
athrow
31: StackMap locals:
StackMap stack:
aload 9
invokestatic sun.rmi.transport.Transport.setContextClassLoader:(Ljava/lang/ClassLoader;)V
32: getstatic sun.rmi.transport.Transport.currentTransport:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
end local 9 end local 8 end local 7 33: goto 43
StackMap locals: sun.rmi.transport.Transport java.rmi.server.RemoteCall java.rmi.Remote java.rmi.server.ObjID sun.rmi.transport.Transport sun.rmi.transport.Target sun.rmi.server.Dispatcher
StackMap stack: java.io.IOException
34: astore 7
start local 7 35: getstatic sun.rmi.transport.Transport.transportLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
36: ldc "exception thrown by dispatcher: "
aload 7
37: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
38: aload 5
invokevirtual sun.rmi.transport.Target.decrementCallCount:()V
39: iconst_0
ireturn
end local 7 40: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
41: aload 5
invokevirtual sun.rmi.transport.Target.decrementCallCount:()V
42: aload 12
athrow
43: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.rmi.transport.Target.decrementCallCount:()V
end local 6 end local 5 end local 4 end local 3 end local 2 44: goto 65
StackMap locals: sun.rmi.transport.Transport java.rmi.server.RemoteCall
StackMap stack: java.rmi.RemoteException
45: astore 2
start local 2 46: 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 55
47: ldc ""
astore 3
start local 3 48: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
49: invokestatic java.rmi.server.RemoteServer.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;
50: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
51: goto 53
StackMap locals: sun.rmi.transport.Transport java.rmi.server.RemoteCall java.rmi.RemoteException java.lang.String
StackMap stack: java.rmi.server.ServerNotActiveException
52: pop
53: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 3
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;
astore 4
start local 4 54: getstatic sun.rmi.server.UnicastServerRef.callLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
aload 4
aload 2
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 end local 3 55: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokeinterface java.rmi.server.RemoteCall.getResultStream:(Z)Ljava/io/ObjectOutput;
astore 3
start local 3 56: aload 2
invokestatic sun.rmi.server.UnicastServerRef.clearStackTraces:(Ljava/lang/Throwable;)V
57: aload 3
aload 2
invokeinterface java.io.ObjectOutput.writeObject:(Ljava/lang/Object;)V
58: aload 1
invokeinterface java.rmi.server.RemoteCall.releaseOutputStream:()V
end local 3 59: goto 65
StackMap locals:
StackMap stack: java.io.IOException
60: astore 3
start local 3 61: getstatic sun.rmi.transport.Transport.transportLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
62: ldc "exception thrown marshalling exception: "
aload 3
63: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
64: iconst_0
ireturn
end local 3 end local 2 65: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 this Lsun/rmi/transport/Transport;
0 66 1 call Ljava/rmi/server/RemoteCall;
10 11 2 impl Ljava/rmi/Remote;
12 44 2 impl Ljava/rmi/Remote;
1 2 3 id Ljava/rmi/server/ObjID;
4 44 3 id Ljava/rmi/server/ObjID;
3 4 4 e Ljava/io/IOException;
7 44 4 transport Lsun/rmi/transport/Transport;
9 44 5 target Lsun/rmi/transport/Target;
13 44 6 disp Lsun/rmi/server/Dispatcher;
17 33 7 acc Ljava/security/AccessControlContext;
18 33 8 ccl Ljava/lang/ClassLoader;
19 33 9 savedCcl Ljava/lang/ClassLoader;
26 27 10 pae Ljava/security/PrivilegedActionException;
35 40 7 ex Ljava/io/IOException;
46 65 2 e Ljava/rmi/RemoteException;
48 55 3 clientHost Ljava/lang/String;
54 55 4 message Ljava/lang/String;
56 59 3 out Ljava/io/ObjectOutput;
61 65 3 ie Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
21 24 25 Class java.security.PrivilegedActionException
19 27 27 any
14 33 34 Class java.io.IOException
14 38 40 any
0 39 45 Class java.rmi.RemoteException
40 44 45 Class java.rmi.RemoteException
48 51 52 Class java.rmi.server.ServerNotActiveException
55 59 60 Class java.io.IOException
MethodParameters:
Name Flags
call final
}
SourceFile: "Transport.java"
NestMembers:
sun.rmi.transport.Transport$1 sun.rmi.transport.Transport$2
InnerClasses:
sun.rmi.transport.Transport$1
sun.rmi.transport.Transport$2