| Index: native_client_sdk/src/doc/migration/irt.html
|
| diff --git a/native_client_sdk/src/doc/migration/irt.html b/native_client_sdk/src/doc/migration/irt.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..311ac59f2f9c11f0d58efc000e50389d39a0b6f4
|
| --- /dev/null
|
| +++ b/native_client_sdk/src/doc/migration/irt.html
|
| @@ -0,0 +1,692 @@
|
| +<table>
|
| +</table>
|
| +<h3>nacl_irt_basic</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>exit </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>Not relevant to Wasm </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>gettod </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>new Date().getTime() </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>clock </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>new Date().getTime() </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>nanosleep </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>Simulate with Atomics.wait </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>sched_yield </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>Simulate with Atomics.wait </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>sysconf </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>Not relevant to Wasm, internal detail </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_fdio</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>close </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>To relevant to Wasm, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>dup </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>To relevant to Wasm, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>dup2 </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>To relevant to Wasm, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>read </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>To relevant to Wasm, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>write </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>To relevant to Wasm, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>seek </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>To relevant to Wasm, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>fstat </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>To relevant to Wasm, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>getdents </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>To relevant to Wasm, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_filename</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>open </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>To relevant to Wasm, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>stat </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>To relevant to Wasm, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_memory</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>sysbrk </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>builtin </td>
|
| + <td>Deprecated. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>mmap </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td bgcolor="#ffcccc">GAP</td>
|
| + <td bgcolor="#ffcccc">GAP - No mmap type support. Future multiple memories or mmap support may provide this.</td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>munmap </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td bgcolor="#ffcccc">GAP</td>
|
| + <td bgcolor="#ffcccc">GAP - No mmap type support. Future multiple memories or mmap support may provide this.</td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>mprotect </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td bgcolor="#ffcccc">GAP</td>
|
| + <td bgcolor="#ffcccc">GAP - No mmap type support. Future multiple memories or mmap support may provide this.</td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_dyncode</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>dyncode_create </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>SIDE_MODULE=1 </td>
|
| + <td>WebAssembly.compile + Tables </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>dyncode_modify </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td bgcolor="#ffcccc">GAP</td>
|
| + <td bgcolor="#ffcccc">GAP - No equivalent.</td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>dyncode_destroy </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>SIDE_MODULE=1 </td>
|
| + <td>WebAssembly.compile + Tables </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_thread</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>thread_create </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>new Worker() </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>thread_nice </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td bgcolor="#ffcccc">GAP</td>
|
| + <td bgcolor="#ffcccc">GAP - No equivalent.</td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>thread_exit </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>exit the worker </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_futex</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>futex_wait_abs </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Atomics.wait </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>futex_wake </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Atomics.wake </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_mutex</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>mutex_create </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>mutex_destroy </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>mutex_lock </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>mutex_unlock </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>mutex_trylock </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_cond</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>cond_create </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>cond_destroy </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>cond_signal </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>cond_broadcast </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>cond_wait </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>cond_timed_wait_abs </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_sem</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>sem_create </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>sem_destroy </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>sem_post </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>sem_wait </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Implement on top of Atomics + futex. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_tls</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>tls_init </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Simulate with Worker global variables. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>tls_get </td>
|
| + <td> </td>
|
| + <td>x </td>
|
| + <td>PTHREADS=1 </td>
|
| + <td>Simulate with Worker global variables. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_blockhook</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>register_block_hooks </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>N/A </td>
|
| + <td>Moot, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_resource_open</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>open_resource </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>N/A </td>
|
| + <td>Moot, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_random</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>get_random_bytes </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>FS (partial) - Doesn't use crypto </td>
|
| + <td>crypto.getRandomValues </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_clock</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>clock_getres </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td bgcolor="#ffcccc">GAP</td>
|
| + <td bgcolor="#ffcccc">GAP - No equivalent.</td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>clock_gettime </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>utime </td>
|
| + <td>Performance.now() </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_exception_handling</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>exception_handler </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td bgcolor="#ffcccc">GAP</td>
|
| + <td bgcolor="#ffcccc">GAP - No equivalent.</td>
|
| + <td>Wasm / Asm don't provide enough introspection of the stack to produce a full crash report. </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>exception_stack </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td bgcolor="#ffcccc">GAP</td>
|
| + <td bgcolor="#ffcccc">GAP - No equivalent.</td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>exception_clear_flag </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td bgcolor="#ffcccc">GAP</td>
|
| + <td bgcolor="#ffcccc">GAP - No equivalent.</td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
| +<h3>nacl_irt_code_data_alloc</h3>
|
| +<table>
|
| + <tr bgcolor="#77ccff" style="color:white; text-decoration: underline">
|
| + <td>IRT Method </td>
|
| + <td>State </td>
|
| + <td>Assumes Threads </td>
|
| + <td>Emscripten </td>
|
| + <td>Web API </td>
|
| + <td>Limitations </td>
|
| + </tr>
|
| +
|
| + <tr>
|
| + <td>allocate_code_data </td>
|
| + <td> </td>
|
| + <td> </td>
|
| + <td>N/A </td>
|
| + <td>Moot, implementation detail. </td>
|
| + <td> </td>
|
| + </tr>
|
| +
|
| +</table>
|
|
|