| unreadWindows(ThreadContext) |  | 0% |  | 0% | 19 | 19 | 39 | 39 | 1 | 1 |
| getc(ThreadContext, Encoding) |   | 57% |   | 52% | 20 | 28 | 27 | 73 | 0 | 1 |
| finishWriteconv(ThreadContext, boolean) |   | 50% |   | 27% | 30 | 34 | 11 | 40 | 0 | 1 |
| binwrite(ThreadContext, IRubyObject, byte[], int, int, boolean) |   | 68% |   | 63% | 16 | 28 | 15 | 53 | 0 | 1 |
| waitReadable(ThreadContext, ChannelFD) |   | 27% |   | 17% | 12 | 13 | 10 | 18 | 0 | 1 |
| finalize(ThreadContext, boolean) |   | 58% |   | 50% | 17 | 25 | 8 | 32 | 0 | 1 |
| swallow(ThreadContext, int) |   | 70% |   | 52% | 16 | 25 | 6 | 40 | 0 | 1 |
| getFModeFromString(String) |  | 0% |  | 0% | 10 | 10 | 23 | 23 | 1 | 1 |
| fillbuf(ThreadContext) |   | 54% |   | 50% | 7 | 11 | 4 | 20 | 0 | 1 |
| ready(Ruby, RubyThread, int, long) |   | 31% |   | 17% | 9 | 10 | 7 | 11 | 0 | 1 |
| fillCbuf(ThreadContext, int) |   | 83% |   | 62% | 12 | 21 | 4 | 48 | 0 | 1 |
| waitWritable(ThreadContext, long) |   | 31% |   | 24% | 9 | 10 | 4 | 10 | 0 | 1 |
| makeWriteConversion(ThreadContext) |   | 70% |   | 59% | 7 | 12 | 9 | 33 | 0 | 1 |
| ioModestrFmode(Ruby, String) |   | 76% |   | 84% | 4 | 16 | 3 | 30 | 0 | 1 |
| waitReadable(ThreadContext, long) |   | 50% |   | 29% | 9 | 10 | 3 | 10 | 0 | 1 |
| ioOflagsModestr(Ruby, int) |   | 55% |   | 30% | 5 | 7 | 6 | 11 | 0 | 1 |
| getModeFlagsAsIntFrom(int) |   | 53% |   | 44% | 8 | 9 | 3 | 13 | 0 | 1 |
| unreadUnix(ThreadContext) |   | 60% |   | 33% | 8 | 10 | 3 | 14 | 0 | 1 |
| doWriteconv(ThreadContext, IRubyObject) |   | 75% |   | 59% | 7 | 12 | 2 | 23 | 0 | 1 |
| setBOM(boolean) |  | 0% |  | 0% | 4 | 4 | 6 | 6 | 1 | 1 |
| getStringFromMode(int) |  | 0% |  | 0% | 7 | 7 | 11 | 11 | 1 | 1 |
| checkCharReadable(ThreadContext) |   | 41% |   | 40% | 4 | 6 | 5 | 11 | 0 | 1 |
| shiftCbuf(ThreadContext, int, IRubyObject) |   | 76% |   | 67% | 3 | 7 | 2 | 18 | 0 | 1 |
| readPending() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getModeAsString(Ruby) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| flushBuffer() |   | 23% |   | 50% | 1 | 2 | 3 | 5 | 0 | 1 |
| binwriteString(ThreadContext, OpenFile.BinwriteArg) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| needsWriteConversion(ThreadContext) |   | 60% |   | 44% | 6 | 9 | 0 | 3 | 0 | 1 |
| flushBufferSync() |   | 69% |   | 75% | 1 | 3 | 3 | 11 | 0 | 1 |
| setBlocking(Ruby, boolean) |   | 61% |   | 50% | 3 | 6 | 3 | 11 | 0 | 1 |
| flushBeforeSeek(ThreadContext) |   | 49% |   | 33% | 3 | 4 | 1 | 7 | 0 | 1 |
| io_fflush(ThreadContext) |   | 69% |   | 56% | 6 | 9 | 1 | 10 | 0 | 1 |
| appendline(ThreadContext, int, ByteList[], int[]) |   | 94% |   | 94% | 2 | 18 | 3 | 60 | 0 | 1 |
| ioBufread(ThreadContext, byte[], int, int) |   | 86% |   | 68% | 8 | 15 | 1 | 24 | 0 | 1 |
| needsReadConversion() |   | 48% |   | 50% | 3 | 6 | 0 | 2 | 0 | 1 |
| NEED_NEWLINE_DECORATOR_ON_READ_CHECK() |   | 22% |   | 17% | 3 | 4 | 3 | 5 | 0 | 1 |
| getlineFast(ThreadContext, Encoding, RubyIO) |   | 93% |   | 75% | 4 | 11 | 0 | 33 | 0 | 1 |
| interruptBlockingThreads() |   | 77% |   | 60% | 3 | 6 | 0 | 8 | 0 | 1 |
| removeBlockingThread(RubyThread) |   | 73% |   | 50% | 4 | 7 | 1 | 8 | 0 | 1 |
| cleanup(Ruby, boolean) |   | 61% |   | 50% | 3 | 4 | 1 | 6 | 0 | 1 |
| readBufferedData(byte[], int, int) |   | 83% |   | 60% | 3 | 6 | 0 | 9 | 0 | 1 |
| incrementLineno(Ruby) |   | 68% |   | 25% | 2 | 3 | 0 | 6 | 0 | 1 |
| checkReopenSeek(ThreadContext, Ruby, long) |   | 47% |   | 25% | 2 | 3 | 1 | 3 | 0 | 1 |
| writeInternal2(ChannelFD, byte[], int, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| ioFmodeOflags(int) |   | 86% |   | 71% | 3 | 9 | 2 | 17 | 0 | 1 |
| fread(ThreadContext, IRubyObject, int, int) |   | 83% |   | 50% | 1 | 2 | 0 | 11 | 0 | 1 |
| seek(ThreadContext, long, int) |   | 67% |   | 25% | 2 | 3 | 0 | 4 | 0 | 1 |
| wsplit() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| isSync() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| checkWritable(ThreadContext) |   | 77% |   | 62% | 3 | 5 | 1 | 8 | 0 | 1 |
| unlock() |   | 43% |   | 25% | 2 | 3 | 0 | 3 | 0 | 1 |
| setSync(boolean) |   | 77% |   | 50% | 2 | 4 | 0 | 6 | 0 | 1 |
| setAutoclose(boolean) |   | 77% |   | 50% | 2 | 4 | 0 | 6 | 0 | 1 |
| addBlockingThread(RubyThread) |   | 77% |   | 67% | 1 | 4 | 0 | 6 | 0 | 1 |
| checkTTY() |   | 72% |   | 50% | 2 | 4 | 0 | 5 | 0 | 1 |
| MODE_BINARY(int, String, String) |   | 42% |   | 25% | 2 | 3 | 1 | 3 | 0 | 1 |
| setTextMode() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isOpen() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| isBlocking() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| makeReadConversion(ThreadContext, int) |   | 92% |   | 88% | 1 | 5 | 1 | 16 | 0 | 1 |
| readInternal(ThreadContext, OpenFile, ChannelFD, byte[], int, int) |   | 88% |  | 100% | 0 | 3 | 2 | 9 | 0 | 1 |
| ascii8bitBinmode(Ruby) |   | 87% |   | 75% | 1 | 3 | 2 | 15 | 0 | 1 |
| writeInternal(ThreadContext, OpenFile, ChannelFD, byte[], int, int) |   | 75% | | n/a | 0 | 1 | 2 | 4 | 0 | 1 |
| readAll(ThreadContext, int, IRubyObject) |   | 97% |   | 82% | 5 | 15 | 0 | 42 | 0 | 1 |
| ungetbyte(ThreadContext, IRubyObject) |   | 96% |   | 83% | 2 | 7 | 0 | 21 | 0 | 1 |
| cloexecDup2(PosixShim, ChannelFD, ChannelFD) |   | 72% |   | 50% | 2 | 3 | 1 | 5 | 0 | 1 |
| checkByteReadable(ThreadContext) |   | 58% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| getFileno() |   | 69% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| getPid() |   | 67% |   | 50% | 1 | 2 | 1 | 2 | 0 | 1 |
| unread(ThreadContext) |   | 60% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| READ_DATA_PENDING_START() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| READ_CHAR_PENDING_START() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| seekChannel() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| selectChannel() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lockedByMe() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| PREP_STDIO_NAME() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isReadBuffered() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| ioEncnameBomP(String, long) |  | 94% |   | 75% | 2 | 5 | 0 | 6 | 0 | 1 |
| isBinmode() |  | 78% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| isBOM() |  | 78% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| isWriteBuffered() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 96% |   | 50% | 1 | 2 | 0 | 5 | 0 | 1 |
| threadFlock(ThreadContext, int) |  | 95% | | n/a | 0 | 1 | 1 | 5 | 0 | 1 |
| SET_TEXT_MODE() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| OpenFile(IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 13 | 0 | 1 |
| moreChar(ThreadContext) |  | 100% |   | 83% | 1 | 4 | 0 | 5 | 0 | 1 |
| fwrite(ThreadContext, IRubyObject, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| memchr(byte[], int, int, int) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| bufreadCall(ThreadContext, OpenFile.BufreadArg) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setChannel(Channel) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| inputEncoding(Ruby) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| readEncoding(Ruby) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| tell(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lock() |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| IS_PREP_STDIO() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| finalize() |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| checkClosed() |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| isTextMode() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| isReadable() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| isWritable() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| isAutoclose() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| READ_DATA_PENDING() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| READ_CHAR_PENDING() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| clearTextMode() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setBinmode() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| clearCodeConversion() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| IO_RBUF_CAPA_FOR() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| isStdio() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| READ_CHECK(ThreadContext) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| remainSize() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| ioModestrOflags(Ruby, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| waitWritable(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| waitReadable(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| flushBufferSync2() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| makeReadConversion(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setNonblock(Ruby) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setBlock(Ruby) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| errno(Errno) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| clearStdio() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| READ_DATA_PENDING_COUNT() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| READ_DATA_PENDING_PTR() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| READ_DATA_PENDING_OFF() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| READ_CHAR_PENDING_COUNT() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| READ_CHAR_PENDING_PTR() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| READ_CHAR_PENDING_OFF() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setFD(ChannelFD) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| checkReadable(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setMode(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setProcess(Process) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setPid(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setLineNumber(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setPath(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setFinalizer(OpenFile.Finalizer) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| clearReadConversion() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| channel() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| readChannel() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| writeChannel() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| fileChannel() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| socketChannel() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| errno() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| READ_DATA_BUFFERED() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMode() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| flushBufferAsync2() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getProcess() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLineNumber() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPath() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getFinalizer() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| NEED_NEWLINE_DECORATOR_ON_READ() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| NEED_NEWLINE_DECORATOR_ON_WRITE() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| fd() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| writableLength(int) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| SET_BINARY_MODE() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |