Skip to content

Conversation

@kripken
Copy link
Member

@kripken kripken commented Feb 5, 2019

We should emit a file with only the data segments, starting from the global base, and not starting from zero (the data before is unneeded, and the emscripten loading code assumes it isn't there).

Also fix the auto updater to work properly on .mem test updating.

…ith only the data segments, starting from the global base
@kripken kripken merged commit ab35a43 into master Feb 7, 2019
@kripken kripken deleted the wb-layout branch February 7, 2019 00:10
kripken added a commit to emscripten-core/emscripten that referenced this pull request Feb 7, 2019
* Fix emcc.py setting of memoryInitializer URL - we just need to set the url there (while the asm2wasm path also fetches the binary data out of the js).
* Make `pthread_exit` throw, to halt execution - the wasm backend optimizes based on it being `noReturn`.
* Implement some basic JS support, `establishStackSpace` and some `Atomics_*` aliases.
* If wasm backend, avoid the `also_asmjs` path in the test runner, which would check asm.js in addition to wasm.
* Implement `system/lib/pthread/library_pthread_wasm.c`, which provides the `emscripten_atomic_*` APIs, which I believe represent the original SIMD.js spec reflected into JS. Perhaps we don't really need this in the long term, but there are tests for it, and I think maybe the pthreads runtime uses it. Note: I didn't check this very carefully, and haven't run the tests on it yet.

With this PR + [WebAssembly/binaryen#1897](WebAssembly/binaryen#1897) we get hello world printing properly in a pthreads build, and also some pthreads tests pass, like e.g. `browser.test_pthread_join`, but others do not, so this does not yet enable any tests on CI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants