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 |
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. |
IRT Method | Assumes Threads | Emscripten | Web API | Limitations |
open | builtin | Not relevant to Wasm, implementation detail. | ||
stat | builtin | Not relevant to Wasm, implementation detail. |
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. |
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 |
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 |
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. |
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. |
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. |
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. |
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. |
IRT Method | Assumes Threads | Emscripten | Web API | Limitations |
register_block_hooks | N/A | Moot, implementation detail. |
IRT Method | Assumes Threads | Emscripten | Web API | Limitations |
open_resource | N/A | Moot, implementation detail. |
IRT Method | Assumes Threads | Emscripten | Web API | Limitations |
get_random_bytes | FS (partial) - Doesn't use crypto | crypto.getRandomValues |
IRT Method | Assumes Threads | Emscripten | Web API | Limitations |
clock_getres | GAP | GAP - No equivalent. | ||
clock_gettime | utime | Performance.now() |
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. |
IRT Method | Assumes Threads | Emscripten | Web API | Limitations |
allocate_code_data | N/A | Moot, implementation detail. |