chromium/native_client_sdk/src/doc/migration/irt.html

<table>
</table>
<h3>nacl_irt_basic</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">exit </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">gettod </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">new Date().getTime() </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">clock </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">new Date().getTime() </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">nanosleep </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Simulate with Atomics.wait </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">sched_yield </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Simulate with Atomics.wait </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">sysconf </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, internal detail </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_fdio</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">close </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">dup </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">dup2 </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">read </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">write </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">seek </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">fstat </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">getdents </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_filename</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">open </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">stat </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Not relevant to Wasm, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_memory</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">sysbrk </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">builtin </td>
    <td style="font-size: 11px; padding: 5px;">Deprecated. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">mmap </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No mmap type support. Future multiple memories or mmap support may provide this.</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">munmap </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No mmap type support. Future multiple memories or mmap support may provide this.</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">mprotect </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No mmap type support. Future multiple memories or mmap support may provide this.</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_dyncode</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">dyncode_create </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">SIDE_MODULE=1 </td>
    <td style="font-size: 11px; padding: 5px;">WebAssembly.compile + Tables </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">dyncode_modify </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No equivalent.</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">dyncode_destroy </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">SIDE_MODULE=1 </td>
    <td style="font-size: 11px; padding: 5px;">WebAssembly.compile + Tables </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_thread</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">thread_create </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">new Worker() </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">thread_nice </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No equivalent.</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">thread_exit </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">exit the worker </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_futex</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">futex_wait_abs </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Atomics.wait </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">futex_wake </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Atomics.wake </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

</table>
<h3>nacl_irt_mutex</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">mutex_create </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">mutex_destroy </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">mutex_lock </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">mutex_unlock </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">mutex_trylock </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

</table>
<h3>nacl_irt_cond</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">cond_create </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">cond_destroy </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">cond_signal </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">cond_broadcast </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">cond_wait </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">cond_timed_wait_abs </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

</table>
<h3>nacl_irt_sem</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">sem_create </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">sem_destroy </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">sem_post </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">sem_wait </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Implement on top of Atomics + futex. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

</table>
<h3>nacl_irt_tls</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">tls_init </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Simulate with Worker global variables. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">tls_get </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td style="font-size: 11px; padding: 5px;">PTHREADS=1 </td>
    <td style="font-size: 11px; padding: 5px;">Simulate with Worker global variables. </td>
    <td style="font-size: 11px; padding: 5px;">Forthcoming WebAssembly threads support will likely expose this directly. </td>
  </tr>

</table>
<h3>nacl_irt_blockhook</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">register_block_hooks </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">N/A </td>
    <td style="font-size: 11px; padding: 5px;">Moot, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_resource_open</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">open_resource </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">N/A </td>
    <td style="font-size: 11px; padding: 5px;">Moot, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_random</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">get_random_bytes </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">FS (partial) - Doesn't use crypto </td>
    <td style="font-size: 11px; padding: 5px;">crypto.getRandomValues </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_clock</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">clock_getres </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No equivalent.</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">clock_gettime </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">utime </td>
    <td style="font-size: 11px; padding: 5px;">Performance.now() </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_exception_handling</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">exception_handler </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No equivalent.</td>
    <td style="font-size: 11px; padding: 5px;">Wasm / Asm don't provide enough introspection of the stack to produce a full crash report. </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">exception_stack </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No equivalent.</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">exception_clear_flag </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No equivalent.</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>nacl_irt_code_data_alloc</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">IRT Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">allocate_code_data </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;"> </td>
    <td style="font-size: 11px; padding: 5px;">N/A </td>
    <td style="font-size: 11px; padding: 5px;">Moot, implementation detail. </td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>