summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* update testsAlon Zakai2016-09-071-4/+4
|
* grow_memory no longer trapsAlon Zakai2016-09-071-3/+4
|
* interpreter debug and asserts fixingAlon Zakai2016-09-071-29/+5
|
* globals printing fix, handle the case with no moduleAlon Zakai2016-09-071-1/+2
|
* SetGlobal should not return a valueAlon Zakai2016-09-075-8/+1
|
* some additional validationsAlon Zakai2016-09-072-0/+16
|
* support (memory (data ..)) notationAlon Zakai2016-09-071-2/+15
|
* a table is needed if there is a call_indirectAlon Zakai2016-09-071-0/+1
|
* call_indirect is now structural, so no need to pass the type name aroundAlon Zakai2016-09-073-7/+5
|
* check store value type, and validation printing improvementsAlon Zakai2016-09-072-4/+10
|
* print wasm types in full modeAlon Zakai2016-09-072-16/+17
|
* parse s-expression quoted strings more carefullyAlon Zakai2016-09-071-6/+12
|
* WIP get spec tests to pass by ignoring stacky stuffAlon Zakai2016-09-071-2/+22
|
* ignore unused return values in functionsAlon Zakai2016-09-071-2/+4
|
* tolerate returning a nopAlon Zakai2016-09-071-1/+0
|
* throw a parse error on bad result aritiesAlon Zakai2016-09-071-1/+4
|
* wasm-shell improvements: print out which module is built, add option to skip ↵Alon Zakai2016-09-071-2/+27
| | | | lines
* update binary version to 0x0cAlon Zakai2016-09-071-1/+1
|
* TEMP no wasm backend tests for nowAlon Zakai2016-09-071-1/+1
|
* TEMP no torture tests for nowAlon Zakai2016-09-071-1/+1
|
* don't depend on order of operations in calls, it varies by compilerAlon Zakai2016-09-0713-1417/+1419
|
* fix compilation error on recent clangAlon Zakai2016-09-071-2/+2
|
* select values must be validAlon Zakai2016-09-073-17/+21
|
* move drop into blocks, dropping all the breaks as well, when possibleAlon Zakai2016-09-073-282/+344
|
* loops no longer have an out label and other upstream loop updatesAlon Zakai2016-09-0756-40636/+41705
|
* call_indirect now has the target at the endAlon Zakai2016-09-0727-331/+333
|
* it is not cool to return a nopAlon Zakai2016-09-072-1/+2
|
* add drop and tee expressionsAlon Zakai2016-09-07106-11169/+16826
|
* remove wasm2asm tests, temporarily disable .s testsAlon Zakai2016-09-071-104/+70
|
* remove lower-if-else, as it's no longer neededAlon Zakai2016-09-075-140/+0
|
* remove drop-return-values passAlon Zakai2016-09-074-86/+0
|
* fix parsing in split_wastAlon Zakai2016-09-071-1/+6
|
* make sure to create unique implicit block names in s-parserAlon Zakai2016-09-071-1/+5
|
* debugging in printAlon Zakai2016-09-071-0/+2
|
* better printing when assert_invalids failAlon Zakai2016-09-071-1/+7
|
* Color support for Windows (#693)Loo Rong Jie2016-09-072-8/+34
|
* Improvements to build-js.sh and JS API (#679)Rasmus2016-09-0210-182162/+828
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Adds command-line argument to build-js.sh for specifying the location of Emscripten. Also spreads out program arguments on separate lines * Exposes WasmBinaryWriter and BufferWithRandomAccess in the JS API to allow writing WASM modules and access the produced bytes via the JS API * Updates bin/binaryen.js and bin/wasm.js from changes to build-js.sh * Adds exclude patterns to .gitignore for some files generated by build-js.sh and .DS_Store for macOS * Changes build-js.sh to use EMSCRIPTEN env var instead of a command-line argument to provide the path to emscripten * Improvements to JS builds - Adds -g flag to build-js.sh that will build unoptimized and unmangled versions of binaryen.js and wasm.js (output has a "-g.js" suffix to allow co-existence with regular optimized builds). - Enables closure compiler for non-debug builds - Adds browser test for s-expression parser + WASM code gen (requires wasm to be enabled in the browser.) - Adds iterator interface to BufferWithRandomAccess (when Symbol.iterator is available) - Adds toArrayBuffer to BufferWithRandomAccess (when TypedArray is available) - Adds compileWast(sourceText :string) :ArrayBuffer to the module, parsing & compiling s-expression code to a WASM module - Changes the way binaryen.js is exported to allow usage in CommonJS, AMD and UMD envionments. * Expose "Binaryen" global in a better way to work with a.js generated by check.py * Fix to binaryen.js to only export a global variable when running the test (a.js) while inside a module (avoids polluting global in e.g. nodejs). Also fixes a spelling mistake. * Better "no WASM detected" message in test/binaryen.js/browser.html * Small change to error message in build-js.sh where $EMSCRIPTEN does not point to a directory * Changes emcc args in build-js.sh after investingating a large number of argument combinations. Also adds a browser benchmark. The result of emcc arguments and the effect on performance is summarized in this doc: https://gist.github.com/rsms/e33c61a25a31c08260161a087be03169 * Enable inferring emscripten path by looking in PATH when EMSCRIPTEN is not set in env
* Update readme for stack machine plans (#690)Alon Zakai2016-09-011-13/+31
| | | Update readme for stack machine plans, see #663.
* Update waterfall build to 10372 (#689)Derek Schuff2016-08-31464-38736/+41076
| | | | | | | This brings in LLVM changes up to r28025, which includes a fix for PR29127 and includes disabling the store-result optimization. * remove extraneous wasm-interpreter.h change
* asm.js-style setjmp/longjmp handling for wasm (#687)Derek Schuff2016-08-303-21/+74
|\ | | | | Change calls to emscripten_longjmp_jmpbuf to emscripten_longjmp (imported from JS).
| * Method name fixaheejin2016-08-301-2/+2
| |
| * asm.js-style setjmp/longjmp handling for wasm: add handling foraheejin2016-08-303-21/+74
|/ | | | emscripten_longjmp_jmpbuf name
* Asm.js-style setjmp/longjmp support for wasm (#681)Heejin Ahn2016-08-263-6/+23
| | | | | | | This needs to export realloc as well, in addition to malloc and free handled in #4469. To support asm.js style setjmp/longjmp, wasm needs to export realloc as well, in addition to malloc and free handled in #4469. saveSetjmp() uses realloc within it, and realloc is not implemented in JS glue code.
* Merge pull request #682 from loganchien/fix-empty-deadlockAlon Zakai2016-08-2611-11/+39
|\ | | | | Fix asm2wasm dead lock caused by empty module
| * Fix asm2wasm dead lock caused by empty modules.Logan Chien2016-08-266-1/+29
| | | | | | | | | | | | | | | | | | This commit fixes an asm2wasm dead lock when asm2wasm is compiling an empty module, i.e. a module without any functions. Without this commit, worker threads are likely to leave `workerMain()` and decrease `liveWorkers` early. Consequently, `waitUntilAllReady()` will never observe `liveWorkers == numWorkers`.
| * Remove unnecessary type cast.Logan Chien2016-08-261-2/+1
| | | | | | | | | | std::thread can forward the arguments to main function properly. We don't have to cast them from/to void*.
| * Replace std::unique<T>(new T()) with make_unique<T>().Logan Chien2016-08-266-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit modernize the code base by replacing: std::unique_ptr<T>(new T(...)) with: make_unique<T>(...) or: wasm::make_unique<T>(...) This is a step closer to adopt C++14 std::make_unique<T>(...).
* | Fix alignment bug in .lcomm (#680)Heejin Ahn2016-08-263-2/+43
|/ | | | | | | | | | | | When parsing .lcomm directives, s2wasm does not parse the alignment number and skip it. This causes alignment bugs in some cases. (In the test case attached, 'buf' should be 4 bytes aligned, but it does not align it properly, so this code was generated: ``` (call $foo (i32.const 13) ) ``` 13 is not 4-bytes aligned. This patch fixes this bug.
* Merge pull request #677 from sethsamuel/patch-1Alon Zakai2016-08-181-0/+4
|\ | | | | Update README.md with full hello_world.asm.js source
| * Update README.md with full hello_world.asm.js sourceSeth Samuel2016-08-181-0/+4
|/ | | This tripped me up as a complete beginner, since I had copied out the example code from the README rather than the test file.