Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #677 from sethsamuel/patch-1 | Alon Zakai | 2016-08-18 | 1 | -0/+4 |
|\ | | | | | Update README.md with full hello_world.asm.js source | ||||
| * | Update README.md with full hello_world.asm.js source | Seth Samuel | 2016-08-18 | 1 | -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. | ||||
* | Merge pull request #668 from WebAssembly/tables_n_memories | Alon Zakai | 2016-08-16 | 112 | -5485/+6389 |
|\ | | | | | Tables and memories | ||||
| * | update wasm.js | Alon Zakai | 2016-08-15 | 1 | -4150/+4710 |
| | | |||||
| * | offset support in table | Alon Zakai | 2016-08-15 | 45 | -102/+240 |
| | | |||||
| * | update wasm.js | Alon Zakai | 2016-08-12 | 1 | -4270/+4441 |
| | | |||||
| * | support function table initial and max sizes, and new printing format | Alon Zakai | 2016-08-12 | 40 | -37/+114 |
| | | |||||
| * | support expressions in segment offsets | Alon Zakai | 2016-08-12 | 84 | -278/+236 |
| | | |||||
* | | interpreter debugging fixes (#672) | Alon Zakai | 2016-08-15 | 1 | -11/+13 |
|/ | |||||
* | parsing fix in compiled-to-js parser (#669) | Alon Zakai | 2016-08-12 | 2 | -51380/+54615 |
| | |||||
* | Implement asm.js style exception handling for Wasm (#664) | Heejin Ahn | 2016-08-11 | 7 | -9/+269 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement asm.js style exception handling for Wasm Converts invoke wrapper names generated by LLVM backend to real invoke wrapper names that are expected by JavaScript glue code. This is required to support wasm exception handling (asm.js style). LLVM backend lowers invoke @func(arg1, arg2) to label %invoke.cont unwind label %lpad into ... (some code) call @invoke_SIG(func, arg1, arg2) ... (some code) SIG is a mangled string generated based on the LLVM IR-level function signature. In LLVM IR, types are not lowered yet, so this mangling scheme simply takes LLVM's string representtion of parameter types and concatenate them with '_'. For example, the name of an invoke wrapper for function void foo(struct mystruct*, int) will be "__invoke_void_%struct.mystruct*_int". This function converts the names of invoke wrappers based on their lowered argument types and a return type. In the example above, the resulting new wrapper name becomes "invoke_vii". * Address comments Change variable names to camelcase Add a small (semi-)handwritten test case * Export malloc and free from wasm when available * Add a test case for exporting malloc/free feature + cosmetic 'file' name change in text_before_type.s * fixInvokeWrapper -> fixEmExceptionInvoke * Add a TODO | ||||
* | in DemoteFloat64, if the truncated value is exactly at the limit, return it ↵ | Alon Zakai | 2016-08-08 | 2 | -0/+6 |
| | | | | | (#665) and update spec tests | ||||
* | Fix a parsing bug introduced by #615 (#661) | Heejin Ahn | 2016-08-05 | 3 | -0/+35 |
| | | | | | | | | | | | | | | | Name lhs = getStrToSep(); if (!skipEqual()){ s = strchr(s, '\n'); if (!s) break; continue; } The above code snippet introduced by #615 has a bug when there is only one word (e.g. ".text") in a line. If there is only one word in a line, skipEqual() also skips the newline character at the end of the line, and strchr(s, '\n') moves the cursor to the end of the next line, effectively skipping the whole next line. | ||||
* | Update waterfall build revision to 9397 (#662) | Derek Schuff | 2016-08-04 | 52 | -3722/+3604 |
| | | | Includes torture tests and new expected passes | ||||
* | Create a dummy function to prevent NULL miscomparisons, if necessary (#658) | Dominic Chen | 2016-08-03 | 10 | -44/+98 |
| | | | Resolves WebAssembly/spec#312 | ||||
* | support pre-assigning indexes for functions that are called indirectly (#616) | Dominic Chen | 2016-08-02 | 5 | -2/+188 |
| | | | This patch adds support for an ".indidx" primitive that pre-assigns table indexes for functions that are called indirectly. It is used by the upstream LLVM WebAssembly backend to support fine-grained control-flow integrity for indirect function calls by emitting instrumentation at each indirect call site to check that the destination index is within certain ranges that correspond to disjoint equivalence classes of indirect call targets. The reason that this primitive is necessary is because the layout of the table section isn't determined until the WebAssembly linker is executed, but indirect function to table index mappings need to be known when opt is executed to generate the correct range checking in the LLVM IR. | ||||
* | update gitignore for autogenerated test files (#657) | Dominic Chen | 2016-08-01 | 1 | -3/+12 |
| | |||||
* | wast function type name desugaring is changing in spec:301 (#654) | Alon Zakai | 2016-07-28 | 29 | -328/+495 |
| | |||||
* | Fix trailing whitespace, single-character strings, checking map element ↵ | Dominic Chen | 2016-07-22 | 5 | -64/+55 |
| | | | | presence, and eliminate explicit index counter (#633) | ||||
* | binary support for wasm globals (#652) | Alon Zakai | 2016-07-22 | 2 | -13/+71 |
| | |||||
* | support wasm globals (#650) | Alon Zakai | 2016-07-21 | 9 | -9/+256 |
| | |||||
* | Merge pull request #648 from WebAssembly/relooper-opts | Alon Zakai | 2016-07-20 | 22 | -6902/+9105 |
|\ | | | | | Relooper improvements | ||||
| * | more RemoveUnusedName opts: merge names when possible, and do block/loop ↵ | Alon Zakai | 2016-07-20 | 9 | -5412/+5445 |
| | | | | | | | | merging based on their names | ||||
| * | remove unused labels from loops too, and general clean ups for RemoveUnusedNames | Alon Zakai | 2016-07-20 | 11 | -5527/+5588 |
| | | |||||
| * | avoid label variable usage in relooper for forward branches, just use a ↵ | Alon Zakai | 2016-07-20 | 6 | -1031/+962 |
| | | | | | | | | stack of blocks for them. after this change, only irreducible control flow should cause label variable usage | ||||
| * | add more relooper testing and improve existing | Alon Zakai | 2016-07-20 | 7 | -342/+2562 |
| | | |||||
| * | improve a validation error | Alon Zakai | 2016-07-20 | 1 | -1/+6 |
| | | |||||
| * | refactor calling of MakeMultiple in relooper | Alon Zakai | 2016-07-18 | 1 | -5/+4 |
| | | |||||
| * | remove an unneeded param in the relooper | Alon Zakai | 2016-07-18 | 1 | -4/+5 |
| | | |||||
| * | remove some old code in relooper | Alon Zakai | 2016-07-18 | 2 | -52/+5 |
| | | |||||
| * | update relooper fuzzer | Alon Zakai | 2016-07-18 | 1 | -1/+1 |
| | | |||||
* | | Update waterfall to build 8774 (#649) | Derek Schuff | 2016-07-20 | 1236 | -6147/+6342 |
| | | | | | | Also update torture test .s files | ||||
* | | Update .gitignore and README.md from wasm-shell/wasm-opt split (#647) | Derek Schuff | 2016-07-19 | 2 | -11/+13 |
|/ | |||||
* | Merge pull request #645 from WebAssembly/coalesce-copies | Alon Zakai | 2016-07-17 | 9 | -8651/+7895 |
|\ | | | | | Optimize to remove as many copies as possible in coalesce-locals, and other opts | ||||
| * | optimize updating of interference and copy table in CoalesceLocals | Alon Zakai | 2016-07-17 | 1 | -2/+3 |
| | | |||||
| * | optimize types in CoalesceLocals | Alon Zakai | 2016-07-17 | 1 | -19/+20 |
| | | |||||
| * | try natural and reverse order in coalese-locals | Alon Zakai | 2016-07-17 | 3 | -2870/+2958 |
| | | |||||
| * | optimize to remove as many copies as possible in coalesce-locals | Alon Zakai | 2016-07-16 | 9 | -6964/+6118 |
|/ | |||||
* | Merge pull request #644 from WebAssembly/fix-debug | Alon Zakai | 2016-07-16 | 5 | -2/+30 |
|\ | | | | | Fix dce bug in non-parallel mode, which happens in debug mode | ||||
| * | make sure to create instances of function-parallel functions, even in debug mode | Alon Zakai | 2016-07-16 | 1 | -1/+8 |
| | | |||||
| * | fix dce bug in non-parallel mode, which happens in debug mode, and add debug ↵ | Alon Zakai | 2016-07-16 | 4 | -1/+22 |
|/ | | | | testing | ||||
* | fix unreachable constructor without allocator (#643) | Alon Zakai | 2016-07-16 | 1 | -2/+2 |
| | |||||
* | eq/ne are ok to optimize even if they are nans (#640) | Alon Zakai | 2016-07-15 | 6 | -34/+79 |
| | |||||
* | don't simplify using de-morgan's rules on floats, because of nans (#638) | Alon Zakai | 2016-07-15 | 6 | -90/+91 |
| | |||||
* | emit safe calls for i32 div/rem when in precise mode in asm2wasm, as they ↵ | Alon Zakai | 2016-07-14 | 12 | -53/+129 |
| | | | | can trap (#637) | ||||
* | Fix waterfall submodule (#634) | Dominic Chen | 2016-07-14 | 1 | -0/+0 |
| | | | This brings in the updates for the renaming of the binaries from 5936f05 | ||||
* | Merge pull request #632 from WebAssembly/too | Alon Zakai | 2016-07-13 | 8 | -145/+233 |
|\ | | | | | Tool renaming and refactoring | ||||
| * | validate properly in wasm-opt | Alon Zakai | 2016-07-13 | 1 | -1/+4 |
| | | |||||
| * | use with-open | Alon Zakai | 2016-07-13 | 2 | -14/+14 |
| | | |||||
| * | separate wasm-opt out from wasm-shell: opt optimizes, shell runs wast shell ↵ | Alon Zakai | 2016-07-13 | 8 | -115/+200 |
| | | | | | | | | tests |