summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* update spec tests and shift to putting the br_if condition at the end, as ↵Alon Zakai2016-02-083-13/+17
| | | | was just changed to in the spec
* Fix .s parser to accept new order of select operandsDerek Schuff2016-02-051-3/+3
| | | | Also update waterfall revision and LLVM-generated tests.
* fix import parsingAlon Zakai2016-02-051-1/+1
|
* Fix selectJF Bastien2016-02-056-22/+23
| | | | | | | | | The ordering changed in: https://github.com/WebAssembly/spec/pull/221 Which changed the spec tests, breaking sexpr-wasm because it pulls in the spec tests. This was then fixed: https://github.com/WebAssembly/sexpr-wasm-prototype/commit/23dc368148fc7827a603e3853f5a40287eb9effe Which in turn breaks when binaryen feeds sexpr-wasm .wast files with the old select operand ordering. Note that this PR has new failures when running the torture tests in binaryen-shell: the order of evaluation is correct in binaryen-shell but isn't emitted properly by LLVM in the .s files. This will require another patch to fix LLVM.
* Review comments.JF Bastien2016-02-051-8/+8
|
* Support startJF Bastien2016-02-056-9/+68
| | | | | | | | | | | | | | As spec'd in: https://github.com/WebAssembly/design/pull/495 And discussed in: https://github.com/WebAssembly/spec/issues/231 This will make it simpler and more uniform to add a start entry point. s2wasm is the right place to add start because it'll eventually need to do other basic setup, e.g. put code in start to setup the stack, as dschuff is doing in: https://github.com/WebAssembly/binaryen/pull/179 Or rather, the linker is the right place and s2wasm happens to act as our linker right now.
* Merge pull request #174 from mbebenita/fix-importAlon Zakai2016-02-041-9/+16
|\ | | | | Fix import parsing.
| * Formatting.Michael2016-02-041-3/+1
| |
| * Remove assert.Michael2016-02-031-1/+3
| |
| * Fix import parsing.Michael2016-02-031-8/+15
| |
* | commentAlon Zakai2016-02-041-0/+3
| |
* | Add an option to allocate space for user stack at link timeDerek Schuff2016-02-042-5/+40
| | | | | | | | | | | | | | | | | | Currently s2wasm pre-allocates space for the special __stack_pointer variable but not for the actual stack, and __stack_pointer is null. On real systems the stack is allocated by the dynamic linker, thread runtime, or other toolchain/system-provided startup code. Since we don't have any of that in wasm yet, just add an option to allocate the stack in the linker for now, so we can continue to run single-file libc-free tests.
* | NFC: improve minSize rationaleJF Bastien2016-02-041-2/+4
| | | | | | | | As discussed in https://github.com/WebAssembly/binaryen/pull/167#issuecomment-179496231
* | Merge pull request #180 from WebAssembly/unsigned_binaryJF Bastien2016-02-041-40/+42
|\ \ | | | | | | Use unsigned types to evaluate i32 and i64 binary operators
| * | Use unsigned types to evaluate i32 and i64 binary operatorsDerek Schuff2016-02-041-40/+42
| | | | | | | | | | | | | | | | | | | | | Instead of defaulting to signed types and casting as necessary, use unsigned types. Explicitly make signed copies of them and us them where appropriate, avoiding lots of casting and improving readability. Avoids undefined behavior of signed overflow.
* | | De-inline signed wrapper templates for bit manipulation functionsDerek Schuff2016-02-031-3/+3
|/ / | | | | | | This fixes the clang build.
* | Fix ambiguous constructor call with explicit castDerek Schuff2016-02-031-2/+2
| | | | | | | | Should fix the Travis build.
* | Break and Return have unreachable typeAlon Zakai2016-02-033-6/+14
| |
* | Merge remote-tracking branch 'origin/improve-memory-trap'Alon Zakai2016-02-031-6/+14
|\ \
| * | Shell: improve memory trapJF Bastien2016-02-031-6/+14
| |/ | | | | | | | | This makes it easier to debug, the message looks like: [trap final > memory: 1 > 0]
* | fix gcc 4.8.2 breakage due to 66da1ee9cc70e3848c45745c21a244e54512fa9cAlon Zakai2016-02-031-9/+13
| |
* | Merge pull request #152 from WebAssembly/float-refactorAlon Zakai2016-02-038-91/+111
|\ \ | |/ |/| Float refactoring and nan comparison change
| * fix type of large constsAlon Zakai2016-02-031-2/+2
| |
| * fix nan comparisonsAlon Zakai2016-02-021-4/+4
| |
| * in assert tests, verify nans are identicalAlon Zakai2016-02-021-2/+15
| |
| * simplify interpreter int reinterpretingAlon Zakai2016-02-021-10/+2
| |
| * parse nans with all due careAlon Zakai2016-02-021-2/+2
| |
| * convert CopySign to use int bitsAlon Zakai2016-02-021-8/+4
| |
| * convert Neg to use int bitsAlon Zakai2016-02-021-4/+6
| |
| * convert Abs to use int bitsAlon Zakai2016-02-022-2/+15
| |
| * save int bits in Literals, only bitcast to float/double on explicit requestAlon Zakai2016-02-026-69/+73
| |
* | Merge pull request #170 from WebAssembly/bits-supportJF Bastien2016-02-034-132/+169
|\ \ | | | | | | Move bits.h to support/
| * | Move bits.h to support/JF Bastien2016-02-034-132/+169
| |/ | | | | | | Faster compiles.
* | Merge pull request #167 from WebAssembly/unalignedJF Bastien2016-02-031-27/+76
|\ \ | |/ |/| Shell: don't use unaligned memory
| * Shell: don't use unaligned memoryJF Bastien2016-02-031-27/+76
| |
* | don't accept -+ #163Alon Zakai2016-02-021-1/+5
|/
* Make Literal's ctors explicitJF Bastien2016-02-024-18/+18
| | | | This tends to avoid silly mistakes, which I'm worried about after adding an explicit ctor with the enum WasmType parameter. See 'C++ Coding Standards: 101 Rules, Guidelines, and Best Practices' rule #40 'avoid providing implicit conversion'.
* Shell: fix --entry parameter numbersJF Bastien2016-02-023-9/+30
| | | | When running the shell with --entry it was assumed that the signature had zero parameters. This isn't true for main, so look at the function's parameter list and construct a zero-initialized arguments vector of the right types. This fixes a few failures, some of which were hiding other failures.
* use Return in s2wasmAlon Zakai2016-02-011-10/+1
|
* use Return in asm2wasmAlon Zakai2016-02-011-14/+1
|
* add return nodeAlon Zakai2016-02-014-22/+56
|
* relax wasm.js assertions on alignment, and update wasm.js buildAlon Zakai2016-02-011-2/+2
|
* use getReachableWasmType in if_else and selectAlon Zakai2016-02-013-4/+9
|
* add an unreachable type, so we can properly type check binaries with an ↵Alon Zakai2016-02-011-4/+14
| | | | unreachable side (which we then ignore) #160
* set type for loop #161Alon Zakai2016-02-013-0/+6
|
* fix call_indirect s2wasm parsing order #162Alon Zakai2016-02-011-9/+5
|
* clean up refactored call processing codeAlon Zakai2016-02-011-15/+12
|
* refactor call processing code in s2wasm to not share as much between ↵Alon Zakai2016-02-011-31/+43
| | | | call_indirect and the others, as we need to rewrite the call_indirect code
* optimize store offsets from emscripten outputAlon Zakai2016-01-311-2/+12
|
* optimize load offsets from emscripten outputAlon Zakai2016-01-312-0/+71
|