summaryrefslogtreecommitdiff
path: root/src/wasm.h
Commit message (Collapse)AuthorAgeFilesLines
...
* update spec tests and support eqzAlon Zakai2016-03-191-1/+1
|
* todoAlon Zakai2016-03-161-1/+1
|
* add explicit memory export supportAlon Zakai2016-03-151-0/+1
|
* de-recurse operations on nested blocksAlon Zakai2016-03-101-1/+31
|
* Move rol/ror to src/support/bits.hDerek Schuff2016-03-091-17/+4
|
* Implement rotatesDerek Schuff2016-03-091-1/+28
|
* Make initial and max memory sizes be in pages instead of bytesDerek Schuff2016-03-091-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 casesAlon Zakai2016-03-071-15/+7
|
* add a finalize() method for blocksAlon Zakai2016-03-071-0/+6
|
* grow memory returns a value now, and we can update the spec tests after ↵Alon Zakai2016-02-231-1/+1
| | | | doing that
* debugging tweaksAlon Zakai2016-02-211-7/+2
|
* Reorder locals.Michael2016-02-191-0/+1
|
* move printing to a passAlon Zakai2016-02-171-510/+1
|
* memory max is optional, don't emit it when not necessaryAlon Zakai2016-02-171-1/+1
|
* refactor operations into LiteralAlon Zakai2016-02-121-11/+400
|
* fix store printingAlon Zakai2016-02-101-1/+3
|
* Update binaryen and several tests for the new br_if operand order.Dan Gohman2016-02-081-2/+2
|
* update spec tests and shift to putting the br_if condition at the end, as ↵Alon Zakai2016-02-081-3/+4
| | | | was just changed to in the spec
* Fix selectJF Bastien2016-02-051-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 startJF Bastien2016-02-051-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 typeAlon Zakai2016-02-031-2/+10
|
* fix nan comparisonsAlon Zakai2016-02-021-4/+4
|
* convert Abs to use int bitsAlon Zakai2016-02-021-0/+13
|
* save int bits in Literals, only bitcast to float/double on explicit requestAlon Zakai2016-02-021-20/+25
|
* Make Literal's ctors explicitJF Bastien2016-02-021-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 numbersJF Bastien2016-02-021-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 nodeAlon Zakai2016-02-011-0/+27
|
* use getReachableWasmType in if_else and selectAlon Zakai2016-02-011-2/+7
|
* 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-011-0/+4
|
* print named types of functionsAlon Zakai2016-01-291-0/+3
|
* fix float payloads based on #152Alon Zakai2016-01-291-2/+2
|
* clarify Export fieldsAlon Zakai2016-01-291-2/+2
|
* fix printing of i64 loads of 4 bytesAlon Zakai2016-01-291-1/+3
|
* Factor out bit_cast.JF Bastien2016-01-281-14/+3
|
* Don't emit NaN payload when zero.JF Bastien2016-01-281-7/+11
|
* Output NaN payloads onlyJF Bastien2016-01-281-6/+12
| | | | As discussed with @binji and @sunfish in https://github.com/WebAssembly/sexpr-wasm-prototype/issues/28
* Write each memory segment on its own lineJF Bastien2016-01-271-2/+2
| | | | 30k+ column files are silly.
* Adds a --metrics command line argument to print metrics about .wast files ↵Michael2016-01-271-0/+26
| | | | between optimization passes.
* Parenthesize macro arguments.Dan Gohman2016-01-271-2/+2
|
* fix select typeAlon Zakai2016-01-271-0/+5
|
* improve assertAlon Zakai2016-01-271-1/+7
|
* avoid emitting a block in a loop when the .wast format allows doing so #139Alon Zakai2016-01-231-1/+10
|
* only the IString constructor for Name can avoid memory copyingAlon Zakai2016-01-201-1/+1
|
* Don't allow re-using memoryJF Bastien2016-01-201-1/+1
|
* Name: support std::string ctorJF Bastien2016-01-201-0/+1
| | | This makes other code less verbose
* Merge pull request #103 from mbebenita/static-polyAlon Zakai2016-01-191-195/+215
|\ | | | | Use LLVM style static polymorphism for AST Visitors
| * Add unreachable macro for the default case.Michael Bebenita2016-01-151-4/+1
| |
| * Add default case so that GCC doesn't complain.Michael Bebenita2016-01-141-0/+4
| |
| * Some cleanup.Michael Bebenita2016-01-141-31/+39
| |