nacl_irt_basic

IRT Method Assumes Threads Emscripten Web API Limitations
exit builtin Not relevant to Wasm
gettod builtin new Date().getTime()
clock builtin new Date().getTime()
nanosleep builtin Simulate with Atomics.wait
sched_yield builtin Simulate with Atomics.wait
sysconf builtin Not relevant to Wasm, internal detail

nacl_irt_fdio

IRT Method Assumes Threads Emscripten Web API Limitations
close builtin Not relevant to Wasm, implementation detail.
dup builtin Not relevant to Wasm, implementation detail.
dup2 builtin Not relevant to Wasm, implementation detail.
read builtin Not relevant to Wasm, implementation detail.
write builtin Not relevant to Wasm, implementation detail.
seek builtin Not relevant to Wasm, implementation detail.
fstat builtin Not relevant to Wasm, implementation detail.
getdents builtin Not relevant to Wasm, implementation detail.

nacl_irt_filename

IRT Method Assumes Threads Emscripten Web API Limitations
open builtin Not relevant to Wasm, implementation detail.
stat builtin Not relevant to Wasm, implementation detail.

nacl_irt_memory

IRT Method Assumes Threads Emscripten Web API Limitations
sysbrk builtin Deprecated.
mmap GAP GAP - No mmap type support. Future multiple memories or mmap support may provide this.
munmap GAP GAP - No mmap type support. Future multiple memories or mmap support may provide this.
mprotect GAP GAP - No mmap type support. Future multiple memories or mmap support may provide this.

nacl_irt_dyncode

IRT Method Assumes Threads Emscripten Web API Limitations
dyncode_create SIDE_MODULE=1 WebAssembly.compile + Tables
dyncode_modify GAP GAP - No equivalent.
dyncode_destroy SIDE_MODULE=1 WebAssembly.compile + Tables

nacl_irt_thread

IRT Method Assumes Threads Emscripten Web API Limitations
thread_create x PTHREADS=1 new Worker()
thread_nice x GAP GAP - No equivalent.
thread_exit x PTHREADS=1 exit the worker

nacl_irt_futex

IRT Method Assumes Threads Emscripten Web API Limitations
futex_wait_abs x PTHREADS=1 Atomics.wait Forthcoming WebAssembly threads support will likely expose this directly.
futex_wake x PTHREADS=1 Atomics.wake Forthcoming WebAssembly threads support will likely expose this directly.

nacl_irt_mutex

IRT Method Assumes Threads Emscripten Web API Limitations
mutex_create x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
mutex_destroy x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
mutex_lock x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
mutex_unlock x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
mutex_trylock x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.

nacl_irt_cond

IRT Method Assumes Threads Emscripten Web API Limitations
cond_create x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
cond_destroy x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
cond_signal x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
cond_broadcast x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
cond_wait x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
cond_timed_wait_abs x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.

nacl_irt_sem

IRT Method Assumes Threads Emscripten Web API Limitations
sem_create x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
sem_destroy x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
sem_post x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.
sem_wait x PTHREADS=1 Implement on top of Atomics + futex. Forthcoming WebAssembly threads support will likely expose this directly.

nacl_irt_tls

IRT Method Assumes Threads Emscripten Web API Limitations
tls_init x PTHREADS=1 Simulate with Worker global variables. Forthcoming WebAssembly threads support will likely expose this directly.
tls_get x PTHREADS=1 Simulate with Worker global variables. Forthcoming WebAssembly threads support will likely expose this directly.

nacl_irt_blockhook

IRT Method Assumes Threads Emscripten Web API Limitations
register_block_hooks N/A Moot, implementation detail.

nacl_irt_resource_open

IRT Method Assumes Threads Emscripten Web API Limitations
open_resource N/A Moot, implementation detail.

nacl_irt_random

IRT Method Assumes Threads Emscripten Web API Limitations
get_random_bytes FS (partial) - Doesn't use crypto crypto.getRandomValues

nacl_irt_clock

IRT Method Assumes Threads Emscripten Web API Limitations
clock_getres GAP GAP - No equivalent.
clock_gettime utime Performance.now()

nacl_irt_exception_handling

IRT Method Assumes Threads Emscripten Web API Limitations
exception_handler GAP GAP - No equivalent. Wasm / Asm don't provide enough introspection of the stack to produce a full crash report.
exception_stack GAP GAP - No equivalent.
exception_clear_flag GAP GAP - No equivalent.

nacl_irt_code_data_alloc

IRT Method Assumes Threads Emscripten Web API Limitations
allocate_code_data N/A Moot, implementation detail.