Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(740)

Unified Diff: native_client_sdk/src/doc/migration/irt.html

Issue 2875303003: Add migration to WebAssembly information to PNaCl / NaCl docs. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698