Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | just use a simple vector in data segments | Alon Zakai | 2016-04-27 | 1 | -3/+8 | |
| | ||||||
* | use an arena vector for switch targets | Alon Zakai | 2016-04-27 | 1 | -3/+2 | |
| | ||||||
* | allocate only expressions in arenas - functions, imports, exports, function ↵ | Alon Zakai | 2016-04-27 | 1 | -18/+16 | |
| | | | | types, can more simply be held by unique_ptrs on the owning module. this avoids need to coordinate arena allocation for their elements, and only the far more plentiful expression nodes are a perf factor anyhow | |||||
* | add an ArenaVector for internal array allocations in expression nodes | Alon Zakai | 2016-04-26 | 1 | -66/+89 | |
| | ||||||
* | update MemorySize => CurrentMemory | Alon Zakai | 2016-04-18 | 1 | -2/+2 | |
| | ||||||
* | remove the AllocatingModule class, and just make Module have allocations. ↵ | Alon Zakai | 2016-04-18 | 1 | -5/+2 | |
| | | | | the distinction is not really that useful, and passes do need to allocate, so we would need to pass around AllocatingModules all around anyhow. (#361) | |||||
* | index locals, so that get_local and set_local have just an index, and local ↵ | Alon Zakai | 2016-04-18 | 1 | -12/+62 | |
| | | | | names are kept on the Function object (#354) | |||||
* | rename function locals, to params and vars, which together are all the ↵ | Alon Zakai | 2016-04-14 | 1 | -2/+2 | |
| | | | | locals. preparation for #336 (#349) | |||||
* | dyn_cast => dynCast | Alon Zakai | 2016-04-11 | 1 | -1/+1 | |
| | ||||||
* | add counter for expression ids | Alon Zakai | 2016-04-09 | 1 | -1/+2 | |
| | ||||||
* | AST Builder class, and use it to optimzie umoddi4 in asm2wasm | Alon Zakai | 2016-04-08 | 1 | -3/+2 | |
| | ||||||
* | fix bug in If.finalize | Alon Zakai | 2016-04-08 | 1 | -1/+1 | |
| | ||||||
* | refactor wasm traversal code into separate file | Alon Zakai | 2016-04-06 | 1 | -295/+0 | |
| | ||||||
* | add apis for accessing module elements | Alon Zakai | 2016-04-04 | 1 | -5/+23 | |
| | ||||||
* | Fix the build with GCC 5.3.1 and Clang 3.8.0. | Csaba Osztrogonác | 2016-03-31 | 1 | -10/+10 | |
| | | | | Fixes #299 | |||||
* | Make type of EqZ unary operators always i32 | Derek Schuff | 2016-03-21 | 1 | -1/+8 | |
| | | | | | This makes them symmetric to binary relational operators. Also support eqz in the s2wasm parser. | |||||
* | update spec tests and support eqz | Alon Zakai | 2016-03-19 | 1 | -1/+1 | |
| | ||||||
* | todo | Alon Zakai | 2016-03-16 | 1 | -1/+1 | |
| | ||||||
* | add explicit memory export support | Alon Zakai | 2016-03-15 | 1 | -0/+1 | |
| | ||||||
* | de-recurse operations on nested blocks | Alon Zakai | 2016-03-10 | 1 | -1/+31 | |
| | ||||||
* | Move rol/ror to src/support/bits.h | Derek Schuff | 2016-03-09 | 1 | -17/+4 | |
| | ||||||
* | Implement rotates | Derek Schuff | 2016-03-09 | 1 | -1/+28 | |
| | ||||||
* | Make initial and max memory sizes be in pages instead of bytes | Derek Schuff | 2016-03-09 | 1 | -1/+3 | |
| | | | | | | | The AST and everything that uses it treats the values as pages. Javascript continues to use bytes. This matches v8 and sexpr-wasm, and the consensus from live discussion and PR209 in the spec. | |||||
* | br_table, no more cases | Alon Zakai | 2016-03-07 | 1 | -15/+7 | |
| | ||||||
* | add a finalize() method for blocks | Alon Zakai | 2016-03-07 | 1 | -0/+6 | |
| | ||||||
* | grow memory returns a value now, and we can update the spec tests after ↵ | Alon Zakai | 2016-02-23 | 1 | -1/+1 | |
| | | | | doing that | |||||
* | debugging tweaks | Alon Zakai | 2016-02-21 | 1 | -7/+2 | |
| | ||||||
* | Reorder locals. | Michael | 2016-02-19 | 1 | -0/+1 | |
| | ||||||
* | move printing to a pass | Alon Zakai | 2016-02-17 | 1 | -510/+1 | |
| | ||||||
* | memory max is optional, don't emit it when not necessary | Alon Zakai | 2016-02-17 | 1 | -1/+1 | |
| | ||||||
* | refactor operations into Literal | Alon Zakai | 2016-02-12 | 1 | -11/+400 | |
| | ||||||
* | fix store printing | Alon Zakai | 2016-02-10 | 1 | -1/+3 | |
| | ||||||
* | Update binaryen and several tests for the new br_if operand order. | Dan Gohman | 2016-02-08 | 1 | -2/+2 | |
| | ||||||
* | update spec tests and shift to putting the br_if condition at the end, as ↵ | Alon Zakai | 2016-02-08 | 1 | -3/+4 | |
| | | | | was just changed to in the spec | |||||
* | Fix select | JF Bastien | 2016-02-05 | 1 | -3/+3 | |
| | | | | | | | | | 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. | |||||
* | Support start | JF Bastien | 2016-02-05 | 1 | -0/+8 | |
| | | | | | | | | | | | | | | 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. | |||||
* | Break and Return have unreachable type | Alon Zakai | 2016-02-03 | 1 | -2/+10 | |
| | ||||||
* | fix nan comparisons | Alon Zakai | 2016-02-02 | 1 | -4/+4 | |
| | ||||||
* | convert Abs to use int bits | Alon Zakai | 2016-02-02 | 1 | -0/+13 | |
| | ||||||
* | save int bits in Literals, only bitcast to float/double on explicit request | Alon Zakai | 2016-02-02 | 1 | -20/+25 | |
| | ||||||
* | Make Literal's ctors explicit | JF Bastien | 2016-02-02 | 1 | -6/+6 | |
| | | | | 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 numbers | JF Bastien | 2016-02-02 | 1 | -1/+2 | |
| | | | | 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. | |||||
* | add return node | Alon Zakai | 2016-02-01 | 1 | -0/+27 | |
| | ||||||
* | use getReachableWasmType in if_else and select | Alon Zakai | 2016-02-01 | 1 | -2/+7 | |
| | ||||||
* | add an unreachable type, so we can properly type check binaries with an ↵ | Alon Zakai | 2016-02-01 | 1 | -4/+14 | |
| | | | | unreachable side (which we then ignore) #160 | |||||
* | set type for loop #161 | Alon Zakai | 2016-02-01 | 1 | -0/+4 | |
| | ||||||
* | print named types of functions | Alon Zakai | 2016-01-29 | 1 | -0/+3 | |
| | ||||||
* | fix float payloads based on #152 | Alon Zakai | 2016-01-29 | 1 | -2/+2 | |
| | ||||||
* | clarify Export fields | Alon Zakai | 2016-01-29 | 1 | -2/+2 | |
| | ||||||
* | fix printing of i64 loads of 4 bytes | Alon Zakai | 2016-01-29 | 1 | -1/+3 | |
| |