public class jtermios.windows.JTermiosImpl implements jtermios.JTermios$JTermiosInterface
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jtermios.windows.JTermiosImpl
super_class: java.lang.Object
{
private volatile int m_ErrNo;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean[] m_PortFDs;
descriptor: [Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.util.Hashtable<java.lang.Integer, jtermios.windows.JTermiosImpl$Port> m_OpenPorts;
descriptor: Ljava/util/Hashtable;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Hashtable<Ljava/lang/Integer;Ljtermios/windows/JTermiosImpl$Port;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
2: aload 0
sipush 256
newarray 4
putfield jtermios.windows.JTermiosImpl.m_PortFDs:[Z
3: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield jtermios.windows.JTermiosImpl.m_OpenPorts:Ljava/util/Hashtable;
4: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 5
iconst_1
ldc "instantiating %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 5
iconst_1
goto 6
StackMap locals: jtermios.windows.JTermiosImpl
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: putstatic jtermios.JTermios$JTermiosLogging.log:Z
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljtermios/windows/JTermiosImpl;
public int errno();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jtermios.windows.JTermiosImpl.m_ErrNo:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/windows/JTermiosImpl;
public void cfmakeraw(jtermios.Termios);
descriptor: (Ljtermios/Termios;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
dup
getfield jtermios.Termios.c_iflag:I
getstatic jtermios.JTermios.IGNBRK:I
getstatic jtermios.JTermios.BRKINT:I
ior
getstatic jtermios.JTermios.PARMRK:I
ior
getstatic jtermios.JTermios.ISTRIP:I
ior
getstatic jtermios.JTermios.INLCR:I
ior
getstatic jtermios.JTermios.IGNCR:I
ior
getstatic jtermios.JTermios.ICRNL:I
ior
getstatic jtermios.JTermios.IXON:I
ior
iconst_m1
ixor
iand
putfield jtermios.Termios.c_iflag:I
1: aload 1
dup
getfield jtermios.Termios.c_oflag:I
getstatic jtermios.JTermios.OPOST:I
iconst_m1
ixor
iand
putfield jtermios.Termios.c_oflag:I
2: aload 1
dup
getfield jtermios.Termios.c_lflag:I
getstatic jtermios.JTermios.ECHO:I
getstatic jtermios.JTermios.ECHONL:I
ior
getstatic jtermios.JTermios.ICANON:I
ior
getstatic jtermios.JTermios.ISIG:I
ior
getstatic jtermios.JTermios.IEXTEN:I
ior
iconst_m1
ixor
iand
putfield jtermios.Termios.c_lflag:I
3: aload 1
dup
getfield jtermios.Termios.c_cflag:I
getstatic jtermios.JTermios.CSIZE:I
getstatic jtermios.JTermios.PARENB:I
ior
iconst_m1
ixor
iand
putfield jtermios.Termios.c_cflag:I
4: aload 1
dup
getfield jtermios.Termios.c_cflag:I
getstatic jtermios.JTermios.CS8:I
ior
putfield jtermios.Termios.c_cflag:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljtermios/windows/JTermiosImpl;
0 6 1 termios Ljtermios/Termios;
MethodParameters:
Name Flags
termios
public int fcntl(int, int, int);
descriptor: (III)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
getstatic jtermios.JTermios.F_SETFL:I
iload 2
if_icmpne 5
4: aload 4
iload 3
putfield jtermios.windows.JTermiosImpl$Port.m_OpenFlags:I
goto 9
5: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.F_GETFL:I
iload 2
if_icmpne 7
6: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_OpenFlags:I
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getstatic jtermios.JTermios.ENOTSUP:I
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
8: iconst_m1
ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljtermios/windows/JTermiosImpl;
0 10 1 fd I
0 10 2 cmd I
0 10 3 arg I
1 10 4 port Ljtermios/windows/JTermiosImpl$Port;
MethodParameters:
Name Flags
fd
cmd
arg
public int tcdrain(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
aload 2
getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
dup
astore 3
monitorenter
4: aload 2
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
invokestatic jtermios.windows.WinAPI.FlushFileBuffers:(Ljtermios/windows/WinAPI$HANDLE;)Z
ifne 6
5: aload 2
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
6: StackMap locals: com.sun.jna.Memory
StackMap stack:
aload 3
monitorexit
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack: java.lang.Throwable
aload 3
monitorexit
9: athrow
10: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.windows.JTermiosImpl$Port
StackMap stack: jtermios.windows.JTermiosImpl$Fail
pop
11: iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljtermios/windows/JTermiosImpl;
0 12 1 fd I
1 12 2 port Ljtermios/windows/JTermiosImpl$Port;
Exception table:
from to target type
4 7 8 any
8 9 8 any
3 7 10 Class jtermios.windows.JTermiosImpl$Fail
8 10 10 Class jtermios.windows.JTermiosImpl$Fail
MethodParameters:
Name Flags
fd
public int cfgetispeed(jtermios.Termios);
descriptor: (Ljtermios/Termios;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield jtermios.Termios.c_ispeed:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/windows/JTermiosImpl;
0 1 1 termios Ljtermios/Termios;
MethodParameters:
Name Flags
termios
public int cfgetospeed(jtermios.Termios);
descriptor: (Ljtermios/Termios;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield jtermios.Termios.c_ospeed:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/windows/JTermiosImpl;
0 1 1 termios Ljtermios/Termios;
MethodParameters:
Name Flags
termios
public int cfsetispeed(jtermios.Termios, int);
descriptor: (Ljtermios/Termios;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
putfield jtermios.Termios.c_ispeed:I
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljtermios/windows/JTermiosImpl;
0 2 1 termios Ljtermios/Termios;
0 2 2 speed I
MethodParameters:
Name Flags
termios
speed
public int cfsetospeed(jtermios.Termios, int);
descriptor: (Ljtermios/Termios;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
putfield jtermios.Termios.c_ospeed:I
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljtermios/windows/JTermiosImpl;
0 2 1 termios Ljtermios/Termios;
0 2 2 speed I
MethodParameters:
Name Flags
termios
speed
public int open(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new jtermios.windows.JTermiosImpl$Port
dup
aload 0
invokespecial jtermios.windows.JTermiosImpl$Port.<init>:(Ljtermios/windows/JTermiosImpl;)V
astore 3
start local 3 1: aload 3
aload 1
iload 2
invokevirtual jtermios.windows.JTermiosImpl$Port.open:(Ljava/lang/String;I)V
2: aload 3
getfield jtermios.windows.JTermiosImpl$Port.m_FD:I
3: ireturn
4: StackMap locals: jtermios.windows.JTermiosImpl java.lang.String int jtermios.windows.JTermiosImpl$Port
StackMap stack: jtermios.windows.JTermiosImpl$Fail
pop
5: aload 3
invokevirtual jtermios.windows.JTermiosImpl$Port.close:()V
6: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljtermios/windows/JTermiosImpl;
0 7 1 filename Ljava/lang/String;
0 7 2 flags I
1 7 3 port Ljtermios/windows/JTermiosImpl$Port;
Exception table:
from to target type
1 3 4 Class jtermios.windows.JTermiosImpl$Fail
MethodParameters:
Name Flags
filename
flags
private static void nanoSleep(long);
descriptor: (J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: lload 0
ldc 1000000
ldiv
l2i
i2l
lload 0
ldc 1000000
lrem
l2i
invokestatic java.lang.Thread.sleep:(JI)V
1: goto 4
StackMap locals:
StackMap stack: java.lang.InterruptedException
2: pop
3: new jtermios.windows.JTermiosImpl$Fail
dup
invokespecial jtermios.windows.JTermiosImpl$Fail.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 nsec J
Exception table:
from to target type
0 1 2 Class java.lang.InterruptedException
Exceptions:
throws jtermios.windows.JTermiosImpl$Fail
MethodParameters:
Name Flags
nsec
private int getCharBits(jtermios.Termios);
descriptor: (Ljtermios/Termios;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: bipush 8
istore 2
start local 2 1: aload 1
getfield jtermios.Termios.c_cflag:I
getstatic jtermios.JTermios.CSIZE:I
iand
getstatic jtermios.JTermios.CS5:I
if_icmpne 3
2: iconst_5
istore 2
3: StackMap locals: int
StackMap stack:
aload 1
getfield jtermios.Termios.c_cflag:I
getstatic jtermios.JTermios.CSIZE:I
iand
getstatic jtermios.JTermios.CS6:I
if_icmpne 5
4: bipush 6
istore 2
5: StackMap locals:
StackMap stack:
aload 1
getfield jtermios.Termios.c_cflag:I
getstatic jtermios.JTermios.CSIZE:I
iand
getstatic jtermios.JTermios.CS7:I
if_icmpne 7
6: bipush 7
istore 2
7: StackMap locals:
StackMap stack:
aload 1
getfield jtermios.Termios.c_cflag:I
getstatic jtermios.JTermios.CSIZE:I
iand
getstatic jtermios.JTermios.CS8:I
if_icmpne 9
8: bipush 8
istore 2
9: StackMap locals:
StackMap stack:
aload 1
getfield jtermios.Termios.c_cflag:I
getstatic jtermios.JTermios.CSTOPB:I
iand
ifeq 11
10: iinc 2 1
11: StackMap locals:
StackMap stack:
aload 1
getfield jtermios.Termios.c_cflag:I
getstatic jtermios.JTermios.PARENB:I
iand
ifeq 13
12: iinc 2 1
13: StackMap locals:
StackMap stack:
iinc 2 2
14: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljtermios/windows/JTermiosImpl;
0 15 1 tios Ljtermios/Termios;
1 15 2 cs I
MethodParameters:
Name Flags
tios
private static int min(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
if_icmpge 1
iload 0
goto 2
StackMap locals:
StackMap stack:
1: iload 1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a I
0 3 1 b I
MethodParameters:
Name Flags
a
b
private static int max(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
if_icmple 1
iload 0
goto 2
StackMap locals:
StackMap stack:
1: iload 1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a I
0 3 1 b I
MethodParameters:
Name Flags
a
b
public int read(int, byte[], int);
descriptor: (I[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdBuffer:Lcom/sun/jna/Memory;
dup
astore 5
monitorenter
4: iload 3
i2l
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdBuffer:Lcom/sun/jna/Memory;
invokevirtual com.sun.jna.Memory.size:()J
lcmp
ifle 6
5: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdBuffer:Lcom/sun/jna/Memory;
invokevirtual com.sun.jna.Memory.size:()J
l2i
istore 3
6: StackMap locals: com.sun.jna.Memory
StackMap stack:
iload 3
ifne 9
7: aload 5
monitorexit
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_OpenFlags:I
getstatic jtermios.JTermios.O_NONBLOCK:I
iand
ifeq 18
10: aload 0
aload 4
invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
11: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
istore 6
start local 6 12: iload 6
ifne 16
13: aload 0
getstatic jtermios.JTermios.EAGAIN:I
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
14: aload 5
monitorexit
15: iconst_m1
ireturn
16: StackMap locals: int
StackMap stack:
iload 3
iload 6
invokestatic jtermios.windows.JTermiosImpl.min:(II)I
istore 3
end local 6 17: goto 32
18: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
19: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
istore 6
start local 6 20: sipush 255
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
getfield jtermios.Termios.c_cc:[B
getstatic jtermios.JTermios.VTIME:I
baload
iand
istore 7
start local 7 21: sipush 255
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
getfield jtermios.Termios.c_cc:[B
getstatic jtermios.JTermios.VMIN:I
baload
iand
istore 8
start local 8 22: iload 8
ifne 27
iload 7
ifne 27
23: iload 6
ifne 26
24: aload 5
monitorexit
25: iconst_0
ireturn
26: StackMap locals: int int int
StackMap stack:
iload 3
iload 6
invokestatic jtermios.windows.JTermiosImpl.min:(II)I
istore 3
27: StackMap locals:
StackMap stack:
iload 8
ifne 28
28: StackMap locals:
StackMap stack:
iload 8
ifle 30
iload 7
ifle 30
29: iload 8
iload 6
invokestatic jtermios.windows.JTermiosImpl.max:(II)I
iload 3
invokestatic jtermios.windows.JTermiosImpl.min:(II)I
istore 3
30: StackMap locals:
StackMap stack:
iload 8
ifle 32
iload 7
ifne 32
31: iload 8
iload 6
invokestatic jtermios.windows.JTermiosImpl.max:(II)I
iload 3
invokestatic jtermios.windows.JTermiosImpl.min:(II)I
istore 3
end local 8 end local 7 end local 6 32: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
invokestatic jtermios.windows.WinAPI.ResetEvent:(Ljtermios/windows/WinAPI$HANDLE;)Z
ifne 34
33: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
34: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdBuffer:Lcom/sun/jna/Memory;
iload 3
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdN:[I
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
invokestatic jtermios.windows.WinAPI.ReadFile:(Ljtermios/windows/WinAPI$HANDLE;Lcom/sun/jna/Pointer;I[ILjtermios/windows/WinAPI$OVERLAPPED;)Z
ifne 42
35: invokestatic jtermios.windows.WinAPI.GetLastError:()I
sipush 997
if_icmpeq 37
36: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
37: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_ReadWaitObjects:[Ljtermios/windows/WinAPI$HANDLE;
iconst_0
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
aastore
38: iconst_2
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_ReadWaitObjects:[Ljtermios/windows/WinAPI$HANDLE;
iconst_0
iconst_m1
invokestatic jtermios.windows.WinAPI.WaitForMultipleObjects:(I[Ljtermios/windows/WinAPI$HANDLE;ZI)I
ifeq 40
39: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
40: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdN:[I
iconst_1
invokestatic jtermios.windows.WinAPI.GetOverlappedResult:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$OVERLAPPED;[IZ)Z
ifne 42
41: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
42: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdBuffer:Lcom/sun/jna/Memory;
lconst_0
aload 2
iconst_0
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdN:[I
iconst_0
iaload
invokevirtual com.sun.jna.Memory.read:(J[BII)V
43: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_RdN:[I
iconst_0
iaload
44: aload 5
monitorexit
45: ireturn
46: StackMap locals:
StackMap stack: jtermios.windows.JTermiosImpl$Fail
pop
47: aload 5
monitorexit
48: iconst_m1
ireturn
49: StackMap locals:
StackMap stack: java.lang.Throwable
aload 5
monitorexit
50: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Ljtermios/windows/JTermiosImpl;
0 51 1 fd I
0 51 2 buffer [B
0 51 3 length I
1 51 4 port Ljtermios/windows/JTermiosImpl$Port;
12 17 6 available I
20 32 6 available I
21 32 7 vtime I
22 32 8 vmin I
Exception table:
from to target type
4 7 46 Class jtermios.windows.JTermiosImpl$Fail
9 14 46 Class jtermios.windows.JTermiosImpl$Fail
16 24 46 Class jtermios.windows.JTermiosImpl$Fail
26 44 46 Class jtermios.windows.JTermiosImpl$Fail
4 8 49 any
9 15 49 any
16 25 49 any
26 45 49 any
46 48 49 any
49 50 49 any
MethodParameters:
Name Flags
fd
buffer
length
public int write(int, byte[], int);
descriptor: (I[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
dup
astore 5
monitorenter
4: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WritePending:I
ifle 18
5: StackMap locals: com.sun.jna.Memory
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WriteWaitObjects:[Ljtermios/windows/WinAPI$HANDLE;
iconst_0
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
aastore
6: iconst_2
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WriteWaitObjects:[Ljtermios/windows/WinAPI$HANDLE;
iconst_0
iconst_m1
invokestatic jtermios.windows.WinAPI.WaitForMultipleObjects:(I[Ljtermios/windows/WinAPI$HANDLE;ZI)I
istore 6
start local 6 7: iload 6
sipush 258
if_icmpne 13
8: aload 0
aload 4
invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
9: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 10
iconst_1
ldc "write pending, cbInQue %d cbOutQue %d\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbOutQue:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 10
iconst_1
goto 11
StackMap locals: int
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: putstatic jtermios.JTermios$JTermiosLogging.log:Z
12: goto 5
13: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrN:[I
iconst_0
invokestatic jtermios.windows.WinAPI.GetOverlappedResult:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$OVERLAPPED;[IZ)Z
ifne 15
14: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
15: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrN:[I
iconst_0
iaload
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WritePending:I
if_icmpeq 17
16: new java.lang.RuntimeException
new java.lang.StringBuilder
dup
ldc "Windows OVERLAPPED WriteFile failed to write all, tried to write "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WritePending:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " but got "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrN:[I
iconst_0
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
end local 6 17: StackMap locals:
StackMap stack:
aload 4
iconst_0
putfield jtermios.windows.JTermiosImpl$Port.m_WritePending:I
18: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_OpenFlags:I
getstatic jtermios.JTermios.O_NONBLOCK:I
iand
ifeq 24
19: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrErr:[I
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrStat:Ljtermios/windows/WinAPI$COMSTAT;
invokestatic jtermios.windows.WinAPI.ClearCommError:(Ljtermios/windows/WinAPI$HANDLE;[ILjtermios/windows/WinAPI$COMSTAT;)Z
ifne 21
20: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
21: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
invokevirtual com.sun.jna.Memory.size:()J
l2i
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrStat:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbOutQue:I
isub
istore 6
start local 6 22: iload 3
iload 6
if_icmple 24
23: iload 6
istore 3
end local 6 24: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
invokestatic jtermios.windows.WinAPI.ResetEvent:(Ljtermios/windows/WinAPI$HANDLE;)Z
ifne 26
25: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
26: StackMap locals:
StackMap stack:
iload 3
i2l
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
invokevirtual com.sun.jna.Memory.size:()J
lcmp
ifle 28
27: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
invokevirtual com.sun.jna.Memory.size:()J
l2i
istore 3
28: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
lconst_0
aload 2
iconst_0
iload 3
invokevirtual com.sun.jna.Memory.write:(J[BII)V
29: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
iload 3
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrN:[I
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_WrOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
invokestatic jtermios.windows.WinAPI.WriteFile:(Ljtermios/windows/WinAPI$HANDLE;Lcom/sun/jna/Pointer;I[ILjtermios/windows/WinAPI$OVERLAPPED;)Z
istore 6
start local 6 30: iload 6
ifne 34
31: invokestatic jtermios.windows.WinAPI.GetLastError:()I
sipush 997
if_icmpeq 33
32: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
33: StackMap locals: int
StackMap stack:
aload 4
iload 3
putfield jtermios.windows.JTermiosImpl$Port.m_WritePending:I
34: StackMap locals:
StackMap stack:
iload 3
35: aload 5
monitorexit
36: ireturn
end local 6 37: StackMap locals: jtermios.windows.JTermiosImpl int byte[] int jtermios.windows.JTermiosImpl$Port com.sun.jna.Memory
StackMap stack: jtermios.windows.JTermiosImpl$Fail
pop
38: aload 5
monitorexit
39: iconst_m1
ireturn
40: StackMap locals:
StackMap stack: java.lang.Throwable
aload 5
monitorexit
41: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Ljtermios/windows/JTermiosImpl;
0 42 1 fd I
0 42 2 buffer [B
0 42 3 length I
1 42 4 port Ljtermios/windows/JTermiosImpl$Port;
7 17 6 res I
22 24 6 room I
30 37 6 ok Z
Exception table:
from to target type
4 35 37 Class jtermios.windows.JTermiosImpl$Fail
4 36 40 any
37 39 40 any
40 41 40 any
MethodParameters:
Name Flags
fd
buffer
length
public int close(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
aload 2
invokevirtual jtermios.windows.JTermiosImpl$Port.close:()V
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljtermios/windows/JTermiosImpl;
0 5 1 fd I
1 5 2 port Ljtermios/windows/JTermiosImpl$Port;
MethodParameters:
Name Flags
fd
public int tcflush(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
iload 2
getstatic jtermios.JTermios.TCIFLUSH:I
if_icmpne 7
4: aload 3
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
iconst_2
invokestatic jtermios.windows.WinAPI.PurgeComm:(Ljtermios/windows/WinAPI$HANDLE;I)Z
ifne 19
5: aload 3
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
6: goto 19
StackMap locals:
StackMap stack:
7: iload 2
getstatic jtermios.JTermios.TCOFLUSH:I
if_icmpne 11
8: aload 3
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
iconst_1
invokestatic jtermios.windows.WinAPI.PurgeComm:(Ljtermios/windows/WinAPI$HANDLE;I)Z
ifne 19
9: aload 3
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
10: goto 19
StackMap locals:
StackMap stack:
11: iload 2
getstatic jtermios.JTermios.TCIOFLUSH:I
if_icmpne 17
12: aload 3
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
iconst_1
invokestatic jtermios.windows.WinAPI.PurgeComm:(Ljtermios/windows/WinAPI$HANDLE;I)Z
ifne 14
13: aload 3
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
14: StackMap locals:
StackMap stack:
aload 3
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
iconst_2
invokestatic jtermios.windows.WinAPI.PurgeComm:(Ljtermios/windows/WinAPI$HANDLE;I)Z
ifne 19
15: aload 3
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
16: goto 19
17: StackMap locals:
StackMap stack:
aload 0
getstatic jtermios.JTermios.ENOTSUP:I
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
18: iconst_m1
ireturn
19: StackMap locals:
StackMap stack:
iconst_0
ireturn
20: StackMap locals:
StackMap stack: jtermios.windows.JTermiosImpl$Fail
pop
21: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljtermios/windows/JTermiosImpl;
0 22 1 fd I
0 22 2 queue I
1 22 3 port Ljtermios/windows/JTermiosImpl$Port;
Exception table:
from to target type
3 18 20 Class jtermios.windows.JTermiosImpl$Fail
MethodParameters:
Name Flags
fd
queue
public int tcgetattr(int, jtermios.Termios);
descriptor: (ILjtermios/Termios;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
aload 2
aload 3
getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
invokevirtual jtermios.Termios.set:(Ljtermios/Termios;)V
4: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljtermios/windows/JTermiosImpl;
0 5 1 fd I
0 5 2 termios Ljtermios/Termios;
1 5 3 port Ljtermios/windows/JTermiosImpl$Port;
MethodParameters:
Name Flags
fd
termios
public int tcsendbreak(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
aload 3
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
invokestatic jtermios.windows.WinAPI.SetCommBreak:(Ljtermios/windows/WinAPI$HANDLE;)Z
ifne 5
4: aload 3
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
5: StackMap locals:
StackMap stack:
iload 2
i2l
ldc 250000000
lmul
invokestatic jtermios.windows.JTermiosImpl.nanoSleep:(J)V
6: aload 3
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
invokestatic jtermios.windows.WinAPI.ClearCommBreak:(Ljtermios/windows/WinAPI$HANDLE;)Z
ifne 8
7: aload 3
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
9: StackMap locals:
StackMap stack: jtermios.windows.JTermiosImpl$Fail
pop
10: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljtermios/windows/JTermiosImpl;
0 11 1 fd I
0 11 2 duration I
1 11 3 port Ljtermios/windows/JTermiosImpl$Port;
Exception table:
from to target type
3 8 9 Class jtermios.windows.JTermiosImpl$Fail
MethodParameters:
Name Flags
fd
duration
public int tcsetattr(int, int, jtermios.Termios);
descriptor: (IILjtermios/Termios;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
getstatic jtermios.JTermios.TCSANOW:I
if_icmpeq 2
1: iconst_0
ldc "tcsetattr only supports TCSANOW\n"
iconst_0
anewarray java.lang.Object
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: iconst_m1
ireturn
5: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
dup
astore 5
monitorenter
6: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
aload 3
invokevirtual jtermios.Termios.set:(Ljtermios/Termios;)V
7: aload 0
aload 4
invokevirtual jtermios.windows.JTermiosImpl.updateFromTermios:(Ljtermios/windows/JTermiosImpl$Port;)I
pop
8: aload 5
monitorexit
9: iconst_0
ireturn
10: StackMap locals: jtermios.windows.JTermiosImpl int int jtermios.Termios jtermios.windows.JTermiosImpl$Port jtermios.Termios
StackMap stack: jtermios.windows.JTermiosImpl$Fail
pop
11: aload 5
monitorexit
12: iconst_m1
ireturn
13: StackMap locals:
StackMap stack: java.lang.Throwable
aload 5
monitorexit
14: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljtermios/windows/JTermiosImpl;
0 15 1 fd I
0 15 2 cmd I
0 15 3 termios Ljtermios/Termios;
3 15 4 port Ljtermios/windows/JTermiosImpl$Port;
Exception table:
from to target type
6 8 10 Class jtermios.windows.JTermiosImpl$Fail
6 9 13 any
10 12 13 any
13 14 13 any
MethodParameters:
Name Flags
fd
cmd
termios
public int updateFromTermios(jtermios.windows.JTermiosImpl$Port);
descriptor: (Ljtermios/windows/JTermiosImpl$Port;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
astore 2
start local 2 1: aload 2
getfield jtermios.Termios.c_ospeed:I
istore 3
start local 3 2: aload 2
getfield jtermios.Termios.c_cflag:I
istore 4
start local 4 3: aload 2
getfield jtermios.Termios.c_iflag:I
istore 5
start local 5 4: aload 2
getfield jtermios.Termios.c_oflag:I
istore 6
start local 6 5: iload 3
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_c_speed:I
if_icmpne 6
iload 4
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_c_cflag:I
if_icmpne 6
iload 5
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_c_iflag:I
if_icmpne 6
iload 6
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_c_oflag:I
if_icmpeq 63
6: StackMap locals: jtermios.windows.JTermiosImpl jtermios.windows.JTermiosImpl$Port jtermios.Termios int int int int
StackMap stack:
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_DCB:Ljtermios/windows/WinAPI$DCB;
astore 7
start local 7 7: aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 7
invokestatic jtermios.windows.WinAPI.GetCommState:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$DCB;)Z
ifne 9
8: aload 1
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
9: StackMap locals: jtermios.windows.WinAPI$DCB
StackMap stack:
aload 7
aload 7
invokevirtual jtermios.windows.WinAPI$DCB.size:()I
putfield jtermios.windows.WinAPI$DCB.DCBlength:I
10: aload 7
iload 3
putfield jtermios.windows.WinAPI$DCB.BaudRate:I
11: aload 2
getfield jtermios.Termios.c_ospeed:I
aload 2
getfield jtermios.Termios.c_ispeed:I
if_icmpeq 13
12: iconst_0
ldc "c_ospeed (%d) != c_ispeed (%d)\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
getfield jtermios.Termios.c_ospeed:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
getfield jtermios.Termios.c_ispeed:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
pop
13: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 14: iload 8
iconst_1
ior
istore 8
15: iload 4
getstatic jtermios.JTermios.PARENB:I
iand
ifeq 17
16: iload 8
iconst_2
ior
istore 8
17: StackMap locals: int
StackMap stack:
iload 5
getstatic jtermios.JTermios.IXON:I
iand
ifeq 19
18: iload 8
sipush 256
ior
istore 8
19: StackMap locals:
StackMap stack:
iload 5
getstatic jtermios.JTermios.IXOFF:I
iand
ifeq 21
20: iload 8
sipush 512
ior
istore 8
21: StackMap locals:
StackMap stack:
iload 5
getstatic jtermios.JTermios.IXANY:I
iand
ifeq 23
22: iload 8
sipush 128
ior
istore 8
23: StackMap locals:
StackMap stack:
iload 5
getstatic jtermios.JTermios.CRTSCTS:I
iand
ifeq 26
24: iload 8
sipush 12288
ior
istore 8
25: iload 8
iconst_4
ior
istore 8
26: StackMap locals:
StackMap stack:
aload 7
iload 8
putfield jtermios.windows.WinAPI$DCB.fFlags:I
27: bipush 8
istore 9
start local 9 28: iload 4
getstatic jtermios.JTermios.CSIZE:I
iand
istore 10
start local 10 29: iload 10
getstatic jtermios.JTermios.CS5:I
if_icmpne 31
30: iconst_5
istore 9
31: StackMap locals: int int
StackMap stack:
iload 10
getstatic jtermios.JTermios.CS6:I
if_icmpne 33
32: bipush 6
istore 9
33: StackMap locals:
StackMap stack:
iload 10
getstatic jtermios.JTermios.CS7:I
if_icmpne 35
34: bipush 7
istore 9
35: StackMap locals:
StackMap stack:
iload 10
getstatic jtermios.JTermios.CS8:I
if_icmpne 37
36: bipush 8
istore 9
37: StackMap locals:
StackMap stack:
aload 7
iload 9
putfield jtermios.windows.WinAPI$DCB.ByteSize:B
38: iload 4
getstatic jtermios.JTermios.PARENB:I
iand
ifeq 47
39: iload 4
getstatic jtermios.JTermios.PARODD:I
iand
ifeq 41
iload 4
getstatic jtermios.JTermios.CMSPAR:I
iand
ifeq 41
40: aload 7
iconst_3
putfield jtermios.windows.WinAPI$DCB.Parity:B
goto 48
41: StackMap locals:
StackMap stack:
iload 4
getstatic jtermios.JTermios.PARODD:I
iand
ifeq 43
42: aload 7
iconst_1
putfield jtermios.windows.WinAPI$DCB.Parity:B
goto 48
43: StackMap locals:
StackMap stack:
iload 4
getstatic jtermios.JTermios.CMSPAR:I
iand
ifeq 45
44: aload 7
iconst_4
putfield jtermios.windows.WinAPI$DCB.Parity:B
goto 48
45: StackMap locals:
StackMap stack:
aload 7
iconst_2
putfield jtermios.windows.WinAPI$DCB.Parity:B
46: goto 48
47: StackMap locals:
StackMap stack:
aload 7
iconst_0
putfield jtermios.windows.WinAPI$DCB.Parity:B
48: StackMap locals:
StackMap stack:
aload 7
iload 4
getstatic jtermios.JTermios.CSTOPB:I
iand
ifeq 50
iload 10
getstatic jtermios.JTermios.CS5:I
if_icmpne 49
iconst_1
goto 51
StackMap locals:
StackMap stack: jtermios.windows.WinAPI$DCB
49: iconst_2
goto 51
StackMap locals:
StackMap stack: jtermios.windows.WinAPI$DCB
50: iconst_0
StackMap locals: jtermios.windows.JTermiosImpl jtermios.windows.JTermiosImpl$Port jtermios.Termios int int int int jtermios.windows.WinAPI$DCB int int int
StackMap stack: jtermios.windows.WinAPI$DCB int
51: putfield jtermios.windows.WinAPI$DCB.StopBits:B
52: aload 7
aload 2
getfield jtermios.Termios.c_cc:[B
getstatic jtermios.JTermios.VSTART:I
baload
putfield jtermios.windows.WinAPI$DCB.XonChar:B
53: aload 7
aload 2
getfield jtermios.Termios.c_cc:[B
getstatic jtermios.JTermios.VSTOP:I
baload
putfield jtermios.windows.WinAPI$DCB.XoffChar:B
54: aload 7
iconst_0
putfield jtermios.windows.WinAPI$DCB.ErrorChar:B
55: aload 7
bipush 10
putfield jtermios.windows.WinAPI$DCB.EvtChar:B
56: aload 7
aload 2
getfield jtermios.Termios.c_cc:[B
getstatic jtermios.JTermios.VEOF:I
baload
putfield jtermios.windows.WinAPI$DCB.EofChar:B
57: aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 7
invokestatic jtermios.windows.WinAPI.SetCommState:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$DCB;)Z
ifne 59
58: aload 1
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
59: StackMap locals:
StackMap stack:
aload 1
iload 3
putfield jtermios.windows.JTermiosImpl$Port.m_c_speed:I
60: aload 1
iload 4
putfield jtermios.windows.JTermiosImpl$Port.m_c_cflag:I
61: aload 1
iload 5
putfield jtermios.windows.JTermiosImpl$Port.m_c_iflag:I
62: aload 1
iload 6
putfield jtermios.windows.JTermiosImpl$Port.m_c_oflag:I
end local 10 end local 9 end local 8 end local 7 63: StackMap locals: jtermios.windows.JTermiosImpl jtermios.windows.JTermiosImpl$Port jtermios.Termios int int int int
StackMap stack:
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
getfield jtermios.Termios.c_cc:[B
getstatic jtermios.JTermios.VMIN:I
baload
sipush 255
iand
istore 7
start local 7 64: aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
getfield jtermios.Termios.c_cc:[B
getstatic jtermios.JTermios.VTIME:I
baload
sipush 255
iand
bipush 100
imul
istore 8
start local 8 65: iload 7
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_VMIN:I
if_icmpne 66
iload 8
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_VTIME:I
if_icmpeq 92
66: StackMap locals: int int
StackMap stack:
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_Timeouts:Ljtermios/windows/WinAPI$COMMTIMEOUTS;
astore 9
start local 9 67: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.WriteTotalTimeoutConstant:I
68: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.WriteTotalTimeoutMultiplier:I
69: iload 7
ifne 73
iload 8
ifne 73
70: aload 9
iconst_m1
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadIntervalTimeout:I
71: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutConstant:I
72: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutMultiplier:I
73: StackMap locals: jtermios.windows.WinAPI$COMMTIMEOUTS
StackMap stack:
iload 7
ifne 77
iload 8
ifle 77
74: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadIntervalTimeout:I
75: aload 9
iload 8
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutConstant:I
76: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutMultiplier:I
77: StackMap locals:
StackMap stack:
iload 7
ifle 81
iload 8
ifle 81
78: aload 9
iload 8
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadIntervalTimeout:I
79: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutConstant:I
80: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutMultiplier:I
81: StackMap locals:
StackMap stack:
iload 7
ifle 85
iload 8
ifne 85
82: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadIntervalTimeout:I
83: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutConstant:I
84: aload 9
iconst_0
putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutMultiplier:I
85: StackMap locals:
StackMap stack:
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_Timeouts:Ljtermios/windows/WinAPI$COMMTIMEOUTS;
invokestatic jtermios.windows.WinAPI.SetCommTimeouts:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$COMMTIMEOUTS;)Z
ifne 87
86: aload 1
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
87: StackMap locals:
StackMap stack:
aload 1
iload 7
putfield jtermios.windows.JTermiosImpl$Port.m_VMIN:I
88: aload 1
iload 8
putfield jtermios.windows.JTermiosImpl$Port.m_VTIME:I
89: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 90
iconst_2
ldc "vmin %d vtime %d ReadIntervalTimeout %d ReadTotalTimeoutConstant %d ReadTotalTimeoutMultiplier %d\n"
iconst_5
anewarray java.lang.Object
dup
iconst_0
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 8
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 9
getfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadIntervalTimeout:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
aload 9
getfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutConstant:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
aload 9
getfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutMultiplier:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 90
iconst_1
goto 91
StackMap locals:
StackMap stack:
90: iconst_0
StackMap locals:
StackMap stack: int
91: putstatic jtermios.JTermios$JTermiosLogging.log:Z
end local 9 92: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 8 end local 7 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 93 0 this Ljtermios/windows/JTermiosImpl;
0 93 1 port Ljtermios/windows/JTermiosImpl$Port;
1 93 2 tios Ljtermios/Termios;
2 93 3 c_speed I
3 93 4 c_cflag I
4 93 5 c_iflag I
5 93 6 c_oflag I
7 63 7 dcb Ljtermios/windows/WinAPI$DCB;
14 63 8 flags I
28 63 9 cs B
29 63 10 csize I
64 93 7 vmin I
65 93 8 vtime I
67 92 9 touts Ljtermios/windows/WinAPI$COMMTIMEOUTS;
Exceptions:
throws jtermios.windows.JTermiosImpl$Fail
MethodParameters:
Name Flags
port
private int maskToFDSets(jtermios.windows.JTermiosImpl$Port, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, int);
descriptor: (Ljtermios/windows/JTermiosImpl$Port;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
1: aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_EventFlags:Lcom/sun/jna/ptr/IntByReference;
invokevirtual com.sun.jna.ptr.IntByReference.getValue:()I
istore 6
start local 6 2: aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_FD:I
istore 7
start local 7 3: iload 6
iconst_1
iand
ifeq 6
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
ifle 6
4: aload 0
iload 7
aload 2
invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
5: iinc 5 1
6: StackMap locals: int int
StackMap stack:
iload 6
iconst_4
iand
ifeq 9
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbOutQue:I
ifne 9
7: aload 0
iload 7
aload 3
invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
8: iinc 5 1
9: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 7 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 10 0 this Ljtermios/windows/JTermiosImpl;
0 10 1 port Ljtermios/windows/JTermiosImpl$Port;
0 10 2 readfds Ljtermios/JTermios$FDSet;
0 10 3 writefds Ljtermios/JTermios$FDSet;
0 10 4 exceptfds Ljtermios/JTermios$FDSet;
0 10 5 ready I
2 10 6 emask I
3 10 7 fd I
Exceptions:
throws jtermios.windows.JTermiosImpl$Fail
MethodParameters:
Name Flags
port
readfds
writefds
exceptfds
ready
private void clearCommErrors(jtermios.windows.JTermiosImpl$Port);
descriptor: (Ljtermios/windows/JTermiosImpl$Port;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
dup
astore 2
monitorenter
1: aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_ClearErr:[I
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
invokestatic jtermios.windows.WinAPI.ClearCommError:(Ljtermios/windows/WinAPI$HANDLE;[ILjtermios/windows/WinAPI$COMSTAT;)Z
ifne 3
2: aload 1
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
3: StackMap locals: jtermios.windows.WinAPI$COMSTAT
StackMap stack:
aload 2
monitorexit
4: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljtermios/windows/JTermiosImpl;
0 8 1 port Ljtermios/windows/JTermiosImpl$Port;
Exception table:
from to target type
1 4 5 any
5 6 5 any
Exceptions:
throws jtermios.windows.JTermiosImpl$Fail
MethodParameters:
Name Flags
port
public int select(int, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, jtermios.TimeVal);
descriptor: (ILjtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/TimeVal;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=20, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_0
istore 6
start local 6 1: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 7
start local 7 2: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 8
start local 8 3: iconst_0
istore 9
start local 9 4: goto 60
5: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int
StackMap stack:
aload 0
iload 9
aload 2
invokevirtual jtermios.windows.JTermiosImpl.FD_ISSET:(ILjtermios/JTermios$FDSet;)Z
istore 10
start local 10 6: aload 0
iload 9
aload 3
invokevirtual jtermios.windows.JTermiosImpl.FD_ISSET:(ILjtermios/JTermios$FDSet;)Z
istore 11
start local 11 7: aload 0
iload 9
aload 2
invokevirtual jtermios.windows.JTermiosImpl.FD_CLR:(ILjtermios/JTermios$FDSet;)V
8: aload 0
iload 9
aload 3
invokevirtual jtermios.windows.JTermiosImpl.FD_CLR:(ILjtermios/JTermios$FDSet;)V
9: iload 10
ifne 10
iload 11
ifeq 59
10: StackMap locals: int int
StackMap stack:
aload 0
iload 9
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 12
start local 12 11: aload 12
ifnonnull 17
12: aload 7
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 19
goto 15
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int int int jtermios.windows.JTermiosImpl$Port top top top top top top java.util.Iterator
StackMap stack:
13: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 18
start local 18 14: aload 18
invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
end local 18 15: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: iconst_m1
ireturn
17: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int int int jtermios.windows.JTermiosImpl$Port
StackMap stack:
aload 12
invokevirtual jtermios.windows.JTermiosImpl$Port.lock:()V
18: aload 7
aload 12
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
19: aload 0
aload 12
invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
20: iload 10
ifeq 23
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
ifle 23
21: aload 0
iload 9
aload 2
invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
22: iinc 6 1
23: StackMap locals:
StackMap stack:
iload 11
ifeq 26
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbOutQue:I
ifne 26
24: aload 0
iload 9
aload 3
invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
25: iinc 6 1
26: StackMap locals:
StackMap stack:
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_WaitPending:Z
ifeq 33
27: aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
iconst_0
invokestatic jtermios.windows.WinAPI.SetCommMask:(Ljtermios/windows/WinAPI$HANDLE;I)Z
ifne 29
28: aload 12
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
29: StackMap locals:
StackMap stack:
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_SelN:[I
iconst_0
invokestatic jtermios.windows.WinAPI.GetOverlappedResult:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$OVERLAPPED;[IZ)Z
ifne 32
30: invokestatic jtermios.windows.WinAPI.GetLastError:()I
sipush 996
if_icmpeq 32
31: aload 12
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
32: StackMap locals:
StackMap stack:
aload 12
iconst_0
putfield jtermios.windows.JTermiosImpl$Port.m_WaitPending:Z
33: StackMap locals:
StackMap stack:
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
invokestatic jtermios.windows.WinAPI.ResetEvent:(Ljtermios/windows/WinAPI$HANDLE;)Z
ifne 35
34: aload 12
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
35: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 36: iload 10
ifeq 38
37: iload 13
iconst_1
ior
istore 13
38: StackMap locals: int
StackMap stack:
iload 11
ifeq 40
39: iload 13
iconst_4
ior
istore 13
40: StackMap locals:
StackMap stack:
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
iload 13
invokestatic jtermios.windows.WinAPI.SetCommMask:(Ljtermios/windows/WinAPI$HANDLE;I)Z
ifne 42
41: aload 12
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
42: StackMap locals:
StackMap stack:
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_EventFlags:Lcom/sun/jna/ptr/IntByReference;
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
invokestatic jtermios.windows.WinAPI.WaitCommEvent:(Ljtermios/windows/WinAPI$HANDLE;Lcom/sun/jna/ptr/IntByReference;Ljtermios/windows/WinAPI$OVERLAPPED;)Z
ifeq 47
43: aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_SelN:[I
iconst_0
invokestatic jtermios.windows.WinAPI.GetOverlappedResult:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$OVERLAPPED;[IZ)Z
ifne 45
44: aload 12
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
45: StackMap locals:
StackMap stack:
aload 0
aload 12
aload 2
aload 3
aload 4
iload 6
invokevirtual jtermios.windows.JTermiosImpl.maskToFDSets:(Ljtermios/windows/JTermiosImpl$Port;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;I)I
istore 6
46: goto 59
47: StackMap locals:
StackMap stack:
invokestatic jtermios.windows.WinAPI.GetLastError:()I
sipush 997
if_icmpeq 49
invokestatic jtermios.windows.WinAPI.GetLastError:()I
bipush 87
if_icmpeq 49
48: aload 12
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
49: StackMap locals:
StackMap stack:
aload 8
aload 12
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
50: aload 12
iconst_1
putfield jtermios.windows.JTermiosImpl$Port.m_WaitPending:Z
end local 13 51: goto 59
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int int int jtermios.windows.JTermiosImpl$Port
StackMap stack: java.lang.InterruptedException
52: pop
53: aload 0
getstatic jtermios.JTermios.EINTR:I
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
54: aload 7
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 19
goto 57
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int int int jtermios.windows.JTermiosImpl$Port top top top top top top java.util.Iterator
StackMap stack:
55: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 18
start local 18 56: aload 18
invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
end local 18 57: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 55
58: iconst_m1
ireturn
end local 12 end local 11 end local 10 59: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
60: iload 9
iload 1
if_icmplt 5
end local 9 61: iload 6
ifne 145
62: aload 8
invokevirtual java.util.LinkedList.size:()I
istore 9
start local 9 63: iload 9
ifle 119
64: aload 8
invokevirtual java.util.LinkedList.size:()I
iconst_2
imul
anewarray jtermios.windows.WinAPI$HANDLE
astore 10
start local 10 65: iconst_0
istore 11
start local 11 66: aload 8
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 13
goto 70
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int top java.util.Iterator
StackMap stack:
67: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 12
start local 12 68: aload 10
iload 11
iinc 11 1
aload 12
getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
aastore
69: aload 10
iload 11
iinc 11 1
aload 12
getfield jtermios.windows.JTermiosImpl$Port.WaitCommEventCancelObject:Ljtermios/windows/WinAPI$HANDLE;
aastore
end local 12 70: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 67
71: aload 5
ifnull 72
aload 5
getfield jtermios.TimeVal.tv_sec:J
ldc 1000
lmul
aload 5
getfield jtermios.TimeVal.tv_usec:J
ldc 1000
ldiv
ladd
l2i
goto 73
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int
StackMap stack:
72: iconst_m1
StackMap locals:
StackMap stack: int
73: istore 12
start local 12 74: iload 9
iconst_2
imul
aload 10
iconst_0
iload 12
invokestatic jtermios.windows.WinAPI.WaitForMultipleObjects:(I[Ljtermios/windows/WinAPI$HANDLE;ZI)I
istore 13
start local 13 75: iload 13
sipush 258
if_icmpne 103
76: aload 8
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 15
goto 102
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int top java.util.Iterator
StackMap stack:
77: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 14
start local 14 78: aload 0
aload 14
invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
79: iconst_1
newarray 10
astore 16
start local 16 80: aload 14
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 16
invokestatic jtermios.windows.WinAPI.GetCommMask:(Ljtermios/windows/WinAPI$HANDLE;[I)Z
ifne 82
81: aload 14
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
82: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int jtermios.windows.JTermiosImpl$Port java.util.Iterator int[]
StackMap stack:
aload 14
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
ifle 92
aload 16
iconst_0
iaload
iconst_1
iand
ifeq 92
83: aload 0
aload 14
getfield jtermios.windows.JTermiosImpl$Port.m_FD:I
aload 2
invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
84: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 85
iconst_1
ldc "missed EV_RXCHAR event\n"
iconst_0
anewarray java.lang.Object
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 85
iconst_1
goto 86
StackMap locals:
StackMap stack:
85: iconst_0
StackMap locals:
StackMap stack: int
86: putstatic jtermios.JTermios$JTermiosLogging.log:Z
87: aload 7
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 19
goto 90
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int jtermios.windows.JTermiosImpl$Port java.util.Iterator int[] top top java.util.Iterator
StackMap stack:
88: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 18
start local 18 89: aload 18
invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
end local 18 90: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 88
91: iconst_1
ireturn
92: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int jtermios.windows.JTermiosImpl$Port java.util.Iterator int[]
StackMap stack:
aload 14
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbOutQue:I
ifne 102
aload 16
iconst_0
iaload
iconst_4
iand
ifeq 102
93: aload 0
aload 14
getfield jtermios.windows.JTermiosImpl$Port.m_FD:I
aload 3
invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
94: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 95
iconst_1
ldc "missed EV_TXEMPTY event\n"
iconst_0
anewarray java.lang.Object
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 95
iconst_1
goto 96
StackMap locals:
StackMap stack:
95: iconst_0
StackMap locals:
StackMap stack: int
96: putstatic jtermios.JTermios$JTermiosLogging.log:Z
97: aload 7
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 19
goto 100
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int jtermios.windows.JTermiosImpl$Port java.util.Iterator int[] top top java.util.Iterator
StackMap stack:
98: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 18
start local 18 99: aload 18
invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
end local 18 100: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 98
101: iconst_1
ireturn
end local 16 end local 14 102: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 77
103: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int
StackMap stack:
iload 13
sipush 258
if_icmpeq 145
104: iload 13
iconst_0
isub
iconst_2
idiv
istore 11
105: iload 11
iflt 106
iload 11
iload 9
if_icmplt 107
106: StackMap locals:
StackMap stack:
new jtermios.windows.JTermiosImpl$Fail
dup
invokespecial jtermios.windows.JTermiosImpl$Fail.<init>:()V
athrow
107: StackMap locals:
StackMap stack:
iload 13
iconst_0
isub
iconst_1
iand
iconst_1
if_icmpne 113
108: aload 7
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 19
goto 111
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int top top top top top java.util.Iterator
StackMap stack:
109: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 18
start local 18 110: aload 18
invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
end local 18 111: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 109
112: iconst_0
ireturn
113: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int
StackMap stack:
aload 8
iload 11
invokevirtual java.util.LinkedList.get:(I)Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 14
start local 14 114: aload 14
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 14
getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
aload 14
getfield jtermios.windows.JTermiosImpl$Port.m_SelN:[I
iconst_0
invokestatic jtermios.windows.WinAPI.GetOverlappedResult:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$OVERLAPPED;[IZ)Z
ifne 116
115: aload 14
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
116: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
aload 0
aload 14
aload 2
aload 3
aload 4
iload 6
invokevirtual jtermios.windows.JTermiosImpl.maskToFDSets:(Ljtermios/windows/JTermiosImpl$Port;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;I)I
istore 6
117: aload 14
iconst_0
putfield jtermios.windows.JTermiosImpl$Port.m_WaitPending:Z
end local 14 end local 13 end local 12 end local 11 end local 10 118: goto 145
119: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int
StackMap stack:
aload 5
ifnull 121
120: aload 5
getfield jtermios.TimeVal.tv_sec:J
ldc 1000000000
lmul
aload 5
getfield jtermios.TimeVal.tv_usec:J
ldc 1000
lmul
ladd
invokestatic jtermios.windows.JTermiosImpl.nanoSleep:(J)V
goto 127
121: StackMap locals:
StackMap stack:
aload 0
getstatic jtermios.JTermios.EINVAL:I
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
122: aload 7
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 19
goto 125
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int top top top top top top top top top java.util.Iterator
StackMap stack:
123: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 18
start local 18 124: aload 18
invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
end local 18 125: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 123
126: iconst_m1
ireturn
127: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int
StackMap stack:
aload 7
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 19
goto 130
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int top top top top top top top top top java.util.Iterator
StackMap stack:
128: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 18
start local 18 129: aload 18
invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
end local 18 130: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 128
131: iconst_0
ireturn
end local 9 end local 8 132: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList
StackMap stack: jtermios.windows.JTermiosImpl$Fail
astore 8
start local 8 133: aload 8
invokevirtual jtermios.windows.JTermiosImpl$Fail.printStackTrace:()V
134: aload 7
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 19
goto 137
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList jtermios.windows.JTermiosImpl$Fail top top top top top top top top top top java.util.Iterator
StackMap stack:
135: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 18
start local 18 136: aload 18
invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
end local 18 137: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 135
138: iconst_m1
ireturn
end local 8 139: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList
StackMap stack: java.lang.Throwable
astore 17
140: aload 7
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 19
goto 143
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList top top top top top top top top top java.lang.Throwable top java.util.Iterator
StackMap stack:
141: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 18
start local 18 142: aload 18
invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
end local 18 143: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 141
144: aload 17
athrow
145: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList
StackMap stack:
aload 7
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 19
goto 148
StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList top top top top top top top top top top top java.util.Iterator
StackMap stack:
146: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 18
start local 18 147: aload 18
invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
end local 18 148: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 146
149: iload 6
ireturn
end local 7 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 150 0 this Ljtermios/windows/JTermiosImpl;
0 150 1 n I
0 150 2 readfds Ljtermios/JTermios$FDSet;
0 150 3 writefds Ljtermios/JTermios$FDSet;
0 150 4 exceptfds Ljtermios/JTermios$FDSet;
0 150 5 timeout Ljtermios/TimeVal;
1 150 6 ready I
2 150 7 locked Ljava/util/LinkedList<Ljtermios/windows/JTermiosImpl$Port;>;
3 132 8 waiting Ljava/util/LinkedList<Ljtermios/windows/JTermiosImpl$Port;>;
4 61 9 fd I
6 59 10 rd Z
7 59 11 wr Z
11 59 12 port Ljtermios/windows/JTermiosImpl$Port;
36 51 13 flags I
63 132 9 waitn I
65 118 10 wobj [Ljtermios/windows/WinAPI$HANDLE;
66 118 11 i I
68 70 12 port Ljtermios/windows/JTermiosImpl$Port;
74 118 12 tout I
75 118 13 res I
78 102 14 port Ljtermios/windows/JTermiosImpl$Port;
80 102 16 mask [I
114 118 14 port Ljtermios/windows/JTermiosImpl$Port;
133 139 8 f Ljtermios/windows/JTermiosImpl$Fail;
14 15 18 port Ljtermios/windows/JTermiosImpl$Port;
56 57 18 port Ljtermios/windows/JTermiosImpl$Port;
89 90 18 port Ljtermios/windows/JTermiosImpl$Port;
99 100 18 port Ljtermios/windows/JTermiosImpl$Port;
110 111 18 port Ljtermios/windows/JTermiosImpl$Port;
124 125 18 port Ljtermios/windows/JTermiosImpl$Port;
129 130 18 port Ljtermios/windows/JTermiosImpl$Port;
136 137 18 port Ljtermios/windows/JTermiosImpl$Port;
142 143 18 port Ljtermios/windows/JTermiosImpl$Port;
147 148 18 port Ljtermios/windows/JTermiosImpl$Port;
Exception table:
from to target type
17 51 52 Class java.lang.InterruptedException
2 12 132 Class jtermios.windows.JTermiosImpl$Fail
17 54 132 Class jtermios.windows.JTermiosImpl$Fail
59 87 132 Class jtermios.windows.JTermiosImpl$Fail
92 97 132 Class jtermios.windows.JTermiosImpl$Fail
102 108 132 Class jtermios.windows.JTermiosImpl$Fail
113 122 132 Class jtermios.windows.JTermiosImpl$Fail
2 12 139 any
17 54 139 any
59 87 139 any
92 97 139 any
102 108 139 any
113 122 139 any
132 134 139 any
MethodParameters:
Name Flags
n
readfds
writefds
exceptfds
timeout
public int poll(jtermios.Pollfd[], int, int);
descriptor: ([Ljtermios/Pollfd;II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic jtermios.JTermios.EINVAL:I
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
1: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljtermios/windows/JTermiosImpl;
0 2 1 fds [Ljtermios/Pollfd;
0 2 2 nfds I
0 2 3 timeout I
MethodParameters:
Name Flags
fds
nfds
timeout
public int poll(int[], int, int);
descriptor: ([III)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic jtermios.JTermios.EINVAL:I
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
1: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljtermios/windows/JTermiosImpl;
0 2 1 fds [I
0 2 2 nfds I
0 2 3 timeout I
MethodParameters:
Name Flags
fds
nfds
timeout
public boolean canPoll();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/windows/JTermiosImpl;
public void perror(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
invokevirtual java.lang.String.length:()I
ifle 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%d\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jtermios.windows.JTermiosImpl.m_ErrNo:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljtermios/windows/JTermiosImpl;
0 4 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private static int baudToDCB(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
lookupswitch { // 14
110: 1
300: 2
600: 3
1200: 4
2400: 5
4800: 6
9600: 7
14400: 8
19200: 9
38400: 10
57600: 11
115200: 12
128000: 13
256000: 14
default: 15
}
1: StackMap locals:
StackMap stack:
bipush 110
ireturn
2: StackMap locals:
StackMap stack:
sipush 300
ireturn
3: StackMap locals:
StackMap stack:
sipush 600
ireturn
4: StackMap locals:
StackMap stack:
sipush 1200
ireturn
5: StackMap locals:
StackMap stack:
sipush 2400
ireturn
6: StackMap locals:
StackMap stack:
sipush 4800
ireturn
7: StackMap locals:
StackMap stack:
sipush 9600
ireturn
8: StackMap locals:
StackMap stack:
sipush 14400
ireturn
9: StackMap locals:
StackMap stack:
sipush 19200
ireturn
10: StackMap locals:
StackMap stack:
ldc 38400
ireturn
11: StackMap locals:
StackMap stack:
ldc 57600
ireturn
12: StackMap locals:
StackMap stack:
ldc 115200
ireturn
13: StackMap locals:
StackMap stack:
ldc 128000
ireturn
14: StackMap locals:
StackMap stack:
ldc 256000
ireturn
15: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 baud I
MethodParameters:
Name Flags
baud
public jtermios.JTermios$FDSet newFDSet();
descriptor: ()Ljtermios/JTermios$FDSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new jtermios.windows.JTermiosImpl$FDSetImpl
dup
invokespecial jtermios.windows.JTermiosImpl$FDSetImpl.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/windows/JTermiosImpl;
public void FD_CLR(int, jtermios.JTermios$FDSet);
descriptor: (ILjtermios/JTermios$FDSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
checkcast jtermios.windows.JTermiosImpl$FDSetImpl
astore 3
start local 3 3: aload 3
getfield jtermios.windows.JTermiosImpl$FDSetImpl.bits:[I
iload 1
bipush 32
idiv
dup2
iaload
iconst_1
iload 1
bipush 32
irem
ishl
iconst_m1
ixor
iand
iastore
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljtermios/windows/JTermiosImpl;
0 5 1 fd I
0 5 2 set Ljtermios/JTermios$FDSet;
3 5 3 p Ljtermios/windows/JTermiosImpl$FDSetImpl;
MethodParameters:
Name Flags
fd
set
public boolean FD_ISSET(int, jtermios.JTermios$FDSet);
descriptor: (ILjtermios/JTermios$FDSet;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
checkcast jtermios.windows.JTermiosImpl$FDSetImpl
astore 3
start local 3 3: aload 3
getfield jtermios.windows.JTermiosImpl$FDSetImpl.bits:[I
iload 1
bipush 32
idiv
iaload
iconst_1
iload 1
bipush 32
irem
ishl
iand
ifeq 4
iconst_1
ireturn
StackMap locals: jtermios.windows.JTermiosImpl$FDSetImpl
StackMap stack:
4: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljtermios/windows/JTermiosImpl;
0 5 1 fd I
0 5 2 set Ljtermios/JTermios$FDSet;
3 5 3 p Ljtermios/windows/JTermiosImpl$FDSetImpl;
MethodParameters:
Name Flags
fd
set
public void FD_SET(int, jtermios.JTermios$FDSet);
descriptor: (ILjtermios/JTermios$FDSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
checkcast jtermios.windows.JTermiosImpl$FDSetImpl
astore 3
start local 3 3: aload 3
getfield jtermios.windows.JTermiosImpl$FDSetImpl.bits:[I
iload 1
bipush 32
idiv
dup2
iaload
iconst_1
iload 1
bipush 32
irem
ishl
ior
iastore
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljtermios/windows/JTermiosImpl;
0 5 1 fd I
0 5 2 set Ljtermios/JTermios$FDSet;
3 5 3 p Ljtermios/windows/JTermiosImpl$FDSetImpl;
MethodParameters:
Name Flags
fd
set
public void FD_ZERO(jtermios.JTermios$FDSet);
descriptor: (Ljtermios/JTermios$FDSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
checkcast jtermios.windows.JTermiosImpl$FDSetImpl
astore 2
start local 2 3: aload 2
getfield jtermios.windows.JTermiosImpl$FDSetImpl.bits:[I
iconst_0
invokestatic java.util.Arrays.fill:([II)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljtermios/windows/JTermiosImpl;
0 5 1 set Ljtermios/JTermios$FDSet;
3 5 2 p Ljtermios/windows/JTermiosImpl$FDSetImpl;
MethodParameters:
Name Flags
set
public int ioctl(int, int, int[]);
descriptor: (II[I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: jtermios.windows.JTermiosImpl$Port
StackMap stack:
iload 2
getstatic jtermios.JTermios.FIONREAD:I
if_icmpne 7
4: aload 0
aload 4
invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
5: aload 3
iconst_0
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
iastore
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iload 2
getstatic jtermios.JTermios.TIOCMSET:I
if_icmpne 24
8: aload 3
iconst_0
iaload
istore 5
start local 5 9: iload 5
getstatic jtermios.JTermios.TIOCM_DTR:I
iand
ifeq 11
10: aload 4
dup
getfield jtermios.windows.JTermiosImpl$Port.MSR:I
getstatic jtermios.JTermios.TIOCM_DTR:I
ior
putfield jtermios.windows.JTermiosImpl$Port.MSR:I
goto 12
11: StackMap locals: int
StackMap stack:
aload 4
dup
getfield jtermios.windows.JTermiosImpl$Port.MSR:I
getstatic jtermios.JTermios.TIOCM_DTR:I
iconst_m1
ixor
iand
putfield jtermios.windows.JTermiosImpl$Port.MSR:I
12: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
iload 5
getstatic jtermios.JTermios.TIOCM_DTR:I
iand
ifeq 13
iconst_5
goto 14
StackMap locals:
StackMap stack: jtermios.windows.WinAPI$HANDLE
13: bipush 6
StackMap locals: jtermios.windows.JTermiosImpl int int int[] jtermios.windows.JTermiosImpl$Port int
StackMap stack: jtermios.windows.WinAPI$HANDLE int
14: invokestatic jtermios.windows.WinAPI.EscapeCommFunction:(Ljtermios/windows/WinAPI$HANDLE;I)Z
ifne 16
15: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
16: StackMap locals:
StackMap stack:
iload 5
getstatic jtermios.JTermios.TIOCM_RTS:I
iand
ifeq 18
17: aload 4
dup
getfield jtermios.windows.JTermiosImpl$Port.MSR:I
getstatic jtermios.JTermios.TIOCM_RTS:I
ior
putfield jtermios.windows.JTermiosImpl$Port.MSR:I
goto 19
18: StackMap locals:
StackMap stack:
aload 4
dup
getfield jtermios.windows.JTermiosImpl$Port.MSR:I
getstatic jtermios.JTermios.TIOCM_RTS:I
iconst_m1
ixor
iand
putfield jtermios.windows.JTermiosImpl$Port.MSR:I
19: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
iload 5
getstatic jtermios.JTermios.TIOCM_RTS:I
iand
ifeq 20
iconst_3
goto 21
StackMap locals:
StackMap stack: jtermios.windows.WinAPI$HANDLE
20: iconst_4
StackMap locals: jtermios.windows.JTermiosImpl int int int[] jtermios.windows.JTermiosImpl$Port int
StackMap stack: jtermios.windows.WinAPI$HANDLE int
21: invokestatic jtermios.windows.WinAPI.EscapeCommFunction:(Ljtermios/windows/WinAPI$HANDLE;I)Z
ifne 23
22: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
23: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 24: StackMap locals:
StackMap stack:
iload 2
getstatic jtermios.JTermios.TIOCMGET:I
if_icmpne 50
25: iconst_1
newarray 10
astore 5
start local 5 26: aload 4
getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
aload 5
invokestatic jtermios.windows.WinAPI.GetCommModemStatus:(Ljtermios/windows/WinAPI$HANDLE;[I)Z
ifne 28
27: aload 4
invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
28: StackMap locals: int[]
StackMap stack:
aload 5
iconst_0
iaload
istore 6
start local 6 29: aload 3
iconst_0
iaload
istore 7
start local 7 30: iload 6
sipush 128
iand
ifeq 32
31: iload 7
getstatic jtermios.JTermios.TIOCM_CAR:I
ior
istore 7
goto 33
32: StackMap locals: int int
StackMap stack:
iload 7
getstatic jtermios.JTermios.TIOCM_CAR:I
iconst_m1
ixor
iand
istore 7
33: StackMap locals:
StackMap stack:
iload 6
bipush 64
iand
ifeq 35
34: iload 7
getstatic jtermios.JTermios.TIOCM_RNG:I
ior
istore 7
goto 36
35: StackMap locals:
StackMap stack:
iload 7
getstatic jtermios.JTermios.TIOCM_RNG:I
iconst_m1
ixor
iand
istore 7
36: StackMap locals:
StackMap stack:
iload 6
bipush 32
iand
ifeq 38
37: iload 7
getstatic jtermios.JTermios.TIOCM_DSR:I
ior
istore 7
goto 39
38: StackMap locals:
StackMap stack:
iload 7
getstatic jtermios.JTermios.TIOCM_DSR:I
iconst_m1
ixor
iand
istore 7
39: StackMap locals:
StackMap stack:
iload 6
bipush 16
iand
ifeq 41
40: iload 7
getstatic jtermios.JTermios.TIOCM_CTS:I
ior
istore 7
goto 42
41: StackMap locals:
StackMap stack:
iload 7
getstatic jtermios.JTermios.TIOCM_CTS:I
iconst_m1
ixor
iand
istore 7
42: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.MSR:I
getstatic jtermios.JTermios.TIOCM_DTR:I
iand
ifeq 44
43: iload 7
getstatic jtermios.JTermios.TIOCM_DTR:I
ior
istore 7
goto 45
44: StackMap locals:
StackMap stack:
iload 7
getstatic jtermios.JTermios.TIOCM_DTR:I
iconst_m1
ixor
iand
istore 7
45: StackMap locals:
StackMap stack:
aload 4
getfield jtermios.windows.JTermiosImpl$Port.MSR:I
getstatic jtermios.JTermios.TIOCM_RTS:I
iand
ifeq 47
46: iload 7
getstatic jtermios.JTermios.TIOCM_RTS:I
ior
istore 7
goto 48
47: StackMap locals:
StackMap stack:
iload 7
getstatic jtermios.JTermios.TIOCM_RTS:I
iconst_m1
ixor
iand
istore 7
48: StackMap locals:
StackMap stack:
aload 3
iconst_0
iload 7
iastore
49: iconst_0
ireturn
end local 7 end local 6 end local 5 50: StackMap locals:
StackMap stack:
aload 0
getstatic jtermios.JTermios.ENOTSUP:I
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
51: iconst_m1
ireturn
52: StackMap locals:
StackMap stack: jtermios.windows.JTermiosImpl$Fail
pop
53: iconst_m1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Ljtermios/windows/JTermiosImpl;
0 54 1 fd I
0 54 2 cmd I
0 54 3 arg [I
1 54 4 port Ljtermios/windows/JTermiosImpl$Port;
9 24 5 a I
26 50 5 stat [I
29 50 6 s I
30 50 7 a I
Exception table:
from to target type
3 6 52 Class jtermios.windows.JTermiosImpl$Fail
7 23 52 Class jtermios.windows.JTermiosImpl$Fail
24 49 52 Class jtermios.windows.JTermiosImpl$Fail
50 51 52 Class jtermios.windows.JTermiosImpl$Fail
MethodParameters:
Name Flags
fd
cmd
arg
private void set_errno(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljtermios/windows/JTermiosImpl;
0 2 1 x I
MethodParameters:
Name Flags
x
private void report(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 1
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljtermios/windows/JTermiosImpl;
0 2 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private jtermios.windows.JTermiosImpl$Port getPort(int);
descriptor: (I)Ljtermios/windows/JTermiosImpl$Port;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield jtermios.windows.JTermiosImpl.m_OpenPorts:Ljava/util/Hashtable;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 3
start local 3 2: aload 3
ifnonnull 4
3: aload 0
getstatic jtermios.JTermios.EBADF:I
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
4: StackMap locals: jtermios.windows.JTermiosImpl jtermios.windows.JTermiosImpl$Port
StackMap stack:
aload 3
aload 2
monitorexit
5: areturn
end local 3 6: StackMap locals: jtermios.windows.JTermiosImpl int jtermios.windows.JTermiosImpl
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 Ljtermios/windows/JTermiosImpl;
0 8 1 fd I
2 6 3 port Ljtermios/windows/JTermiosImpl$Port;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
fd
private static java.lang.String getString(byte[], int);
descriptor: ([BI)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 1: goto 3
start local 3 2: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 2
iload 3
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 3 3: StackMap locals:
StackMap stack:
aload 0
iload 1
iinc 1 1
baload
dup
istore 3
start local 3 4: ifne 2
5: aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 buffer [B
0 6 1 offset I
1 6 2 s Ljava/lang/StringBuffer;
2 3 3 c B
4 6 3 c B
MethodParameters:
Name Flags
buffer
offset
public java.lang.String getPortNamePattern();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "^COM.*"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/windows/JTermiosImpl;
public java.util.List<java.lang.String> getPortList();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=1
start local 0 0: aload 0
invokestatic jtermios.JTermios.getPortNamePattern:(Ljtermios/JTermios$JTermiosInterface;)Ljava/util/regex/Pattern;
astore 1
start local 1 1: iconst_0
istore 3
start local 3 2: sipush 16384
istore 3
goto 22
3: StackMap locals: jtermios.windows.JTermiosImpl java.util.regex.Pattern top int
StackMap stack:
iload 3
newarray 8
astore 2
start local 2 4: aconst_null
aload 2
aload 2
arraylength
invokestatic jtermios.windows.WinAPI.QueryDosDevice:(Ljava/lang/String;[BI)I
istore 4
start local 4 5: iload 4
ifle 15
6: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 12
start local 7 9: StackMap locals: jtermios.windows.JTermiosImpl java.util.regex.Pattern byte[] int int java.util.LinkedList int java.lang.String
StackMap stack:
aload 1
aload 7
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 11
10: aload 5
aload 7
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
11: StackMap locals:
StackMap stack:
iload 6
aload 7
invokevirtual java.lang.String.length:()I
iconst_1
iadd
iadd
istore 6
end local 7 12: StackMap locals:
StackMap stack:
aload 2
iload 6
invokestatic jtermios.windows.JTermiosImpl.getString:([BI)Ljava/lang/String;
dup
astore 7
start local 7 13: invokevirtual java.lang.String.length:()I
ifgt 9
14: aload 5
areturn
end local 7 end local 6 end local 5 15: StackMap locals:
StackMap stack:
invokestatic jtermios.windows.WinAPI.GetLastError:()I
istore 5
start local 5 16: iload 5
bipush 122
if_icmpeq 21
17: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 18
iconst_1
ldc "QueryDosDeviceW() failed with GetLastError() = %d\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 18
iconst_1
goto 19
StackMap locals: int
StackMap stack:
18: iconst_0
StackMap locals:
StackMap stack: int
19: putstatic jtermios.JTermios$JTermiosLogging.log:Z
20: aconst_null
areturn
end local 5 end local 4 21: StackMap locals:
StackMap stack:
iload 3
iconst_2
imul
istore 3
end local 2 StackMap locals: jtermios.windows.JTermiosImpl java.util.regex.Pattern top int
StackMap stack:
22: iload 3
ldc 1048576
if_icmplt 3
23: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 24
iconst_1
ldc "Repeated QueryDosDeviceW() calls failed up to buffer size %d\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 24
iconst_1
goto 25
StackMap locals:
StackMap stack:
24: iconst_0
StackMap locals:
StackMap stack: int
25: putstatic jtermios.JTermios$JTermiosLogging.log:Z
26: aconst_null
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljtermios/windows/JTermiosImpl;
1 27 1 p Ljava/util/regex/Pattern;
4 22 2 buffer [B
2 27 3 size I
5 21 4 res I
7 15 5 list Ljava/util/LinkedList<Ljava/lang/String;>;
8 15 6 offset I
9 12 7 port Ljava/lang/String;
13 15 7 port Ljava/lang/String;
16 21 5 err I
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public void shutDown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield jtermios.windows.JTermiosImpl.m_OpenPorts:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 9
StackMap locals: jtermios.windows.JTermiosImpl top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jtermios.windows.JTermiosImpl$Port
astore 1
start local 1 2: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 3
iconst_1
ldc "shutDown() closing port %d\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
getfield jtermios.windows.JTermiosImpl$Port.m_FD:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 3
iconst_1
goto 4
StackMap locals: jtermios.windows.JTermiosImpl jtermios.windows.JTermiosImpl$Port java.util.Iterator
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: putstatic jtermios.JTermios$JTermiosLogging.log:Z
5: aload 1
invokevirtual jtermios.windows.JTermiosImpl$Port.close:()V
6: goto 9
StackMap locals:
StackMap stack: java.lang.Exception
7: astore 3
start local 3 8: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
end local 3 end local 1 9: StackMap locals: jtermios.windows.JTermiosImpl top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljtermios/windows/JTermiosImpl;
2 9 1 port Ljtermios/windows/JTermiosImpl$Port;
8 9 3 e Ljava/lang/Exception;
Exception table:
from to target type
2 6 7 Class java.lang.Exception
public int setspeed(int, jtermios.Termios, int);
descriptor: (ILjtermios/Termios;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
istore 4
start local 4 1: iload 3
lookupswitch { // 22
50: 2
75: 4
110: 6
134: 8
150: 10
200: 12
300: 14
600: 16
1200: 18
1800: 20
2400: 22
4800: 24
7200: 32
9600: 26
14400: 34
19200: 28
28800: 36
38400: 30
57600: 38
76800: 40
115200: 42
230400: 44
default: 45
}
2: StackMap locals: int
StackMap stack:
getstatic jtermios.JTermios.B50:I
istore 4
3: goto 45
4: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B75:I
istore 4
5: goto 45
6: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B110:I
istore 4
7: goto 45
8: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B134:I
istore 4
9: goto 45
10: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B150:I
istore 4
11: goto 45
12: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B200:I
istore 4
13: goto 45
14: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B300:I
istore 4
15: goto 45
16: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B600:I
istore 4
17: goto 45
18: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B1200:I
istore 4
19: goto 45
20: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B1800:I
istore 4
21: goto 45
22: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B2400:I
istore 4
23: goto 45
24: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B4800:I
istore 4
25: goto 45
26: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B9600:I
istore 4
27: goto 45
28: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B19200:I
istore 4
29: goto 45
30: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B38400:I
istore 4
31: goto 45
32: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B7200:I
istore 4
33: goto 45
34: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B14400:I
istore 4
35: goto 45
36: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B28800:I
istore 4
37: goto 45
38: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B57600:I
istore 4
39: goto 45
40: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B76800:I
istore 4
41: goto 45
42: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B115200:I
istore 4
43: goto 45
44: StackMap locals:
StackMap stack:
getstatic jtermios.JTermios.B230400:I
istore 4
45: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 4
invokevirtual jtermios.windows.JTermiosImpl.cfsetispeed:(Ljtermios/Termios;I)I
dup
istore 5
start local 5 46: ifeq 48
47: iload 5
ireturn
48: StackMap locals: int
StackMap stack:
aload 0
aload 2
iload 4
invokevirtual jtermios.windows.JTermiosImpl.cfsetospeed:(Ljtermios/Termios;I)I
dup
istore 5
ifeq 50
49: iload 5
ireturn
50: StackMap locals:
StackMap stack:
aload 0
iload 1
getstatic jtermios.JTermios.TCSANOW:I
aload 2
invokevirtual jtermios.windows.JTermiosImpl.tcsetattr:(IILjtermios/Termios;)I
dup
istore 5
ifeq 52
51: iload 5
ireturn
52: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 53 0 this Ljtermios/windows/JTermiosImpl;
0 53 1 fd I
0 53 2 termios Ljtermios/Termios;
0 53 3 speed I
1 53 4 br I
46 53 5 r I
MethodParameters:
Name Flags
fd
termios
speed
public int pipe(int[]);
descriptor: ([I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic jtermios.JTermios.EMFILE:I
putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
1: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljtermios/windows/JTermiosImpl;
0 2 1 fds [I
MethodParameters:
Name Flags
fds
}
SourceFile: "JTermiosImpl.java"
NestMembers:
jtermios.windows.JTermiosImpl$FDSetImpl jtermios.windows.JTermiosImpl$Fail jtermios.windows.JTermiosImpl$Port
InnerClasses:
public abstract FDSet = jtermios.JTermios$FDSet of jtermios.JTermios
public abstract JTermiosInterface = jtermios.JTermios$JTermiosInterface of jtermios.JTermios
public JTermiosLogging = jtermios.JTermios$JTermiosLogging of jtermios.JTermios
private FDSetImpl = jtermios.windows.JTermiosImpl$FDSetImpl of jtermios.windows.JTermiosImpl
Fail = jtermios.windows.JTermiosImpl$Fail of jtermios.windows.JTermiosImpl
private Port = jtermios.windows.JTermiosImpl$Port of jtermios.windows.JTermiosImpl
public COMMTIMEOUTS = jtermios.windows.WinAPI$COMMTIMEOUTS of jtermios.windows.WinAPI
public COMSTAT = jtermios.windows.WinAPI$COMSTAT of jtermios.windows.WinAPI
public DCB = jtermios.windows.WinAPI$DCB of jtermios.windows.WinAPI
public HANDLE = jtermios.windows.WinAPI$HANDLE of jtermios.windows.WinAPI
public OVERLAPPED = jtermios.windows.WinAPI$OVERLAPPED of jtermios.windows.WinAPI