summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Create a dummy function to prevent NULL miscomparisons, if necessary (#658)Dominic Chen2016-08-032-16/+49
| | | Resolves WebAssembly/spec#312
* support pre-assigning indexes for functions that are called indirectly (#616)Dominic Chen2016-08-023-2/+38
| | | 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.
* wast function type name desugaring is changing in spec:301 (#654)Alon Zakai2016-07-282-12/+49
|
* Fix trailing whitespace, single-character strings, checking map element ↵Dominic Chen2016-07-225-64/+55
| | | | presence, and eliminate explicit index counter (#633)
* binary support for wasm globals (#652)Alon Zakai2016-07-222-13/+71
|
* support wasm globals (#650)Alon Zakai2016-07-219-9/+256
|
* more RemoveUnusedName opts: merge names when possible, and do block/loop ↵Alon Zakai2016-07-201-5/+42
| | | | merging based on their names
* remove unused labels from loops too, and general clean ups for RemoveUnusedNamesAlon Zakai2016-07-201-7/+28
|
* avoid label variable usage in relooper for forward branches, just use a ↵Alon Zakai2016-07-202-54/+121
| | | | stack of blocks for them. after this change, only irreducible control flow should cause label variable usage
* improve a validation errorAlon Zakai2016-07-201-1/+6
|
* refactor calling of MakeMultiple in relooperAlon Zakai2016-07-181-5/+4
|
* remove an unneeded param in the relooperAlon Zakai2016-07-181-4/+5
|
* remove some old code in relooperAlon Zakai2016-07-182-52/+5
|
* optimize updating of interference and copy table in CoalesceLocalsAlon Zakai2016-07-171-2/+3
|
* optimize types in CoalesceLocalsAlon Zakai2016-07-171-19/+20
|
* try natural and reverse order in coalese-localsAlon Zakai2016-07-171-2/+20
|
* optimize to remove as many copies as possible in coalesce-localsAlon Zakai2016-07-161-4/+32
|
* make sure to create instances of function-parallel functions, even in debug modeAlon Zakai2016-07-161-1/+8
|
* fix dce bug in non-parallel mode, which happens in debug mode, and add debug ↵Alon Zakai2016-07-161-1/+6
| | | | testing
* fix unreachable constructor without allocator (#643)Alon Zakai2016-07-161-2/+2
|
* eq/ne are ok to optimize even if they are nans (#640)Alon Zakai2016-07-152-0/+32
|
* don't simplify using de-morgan's rules on floats, because of nans (#638)Alon Zakai2016-07-152-64/+0
|
* emit safe calls for i32 div/rem when in precise mode in asm2wasm, as they ↵Alon Zakai2016-07-144-0/+45
| | | | can trap (#637)
* Merge pull request #632 from WebAssembly/tooAlon Zakai2016-07-133-47/+107
|\ | | | | Tool renaming and refactoring
| * validate properly in wasm-optAlon Zakai2016-07-131-1/+4
| |
| * separate wasm-opt out from wasm-shell: opt optimizes, shell runs wast shell ↵Alon Zakai2016-07-133-46/+103
| | | | | | | | tests
| * rename binaryen-shell to wasm-shellAlon Zakai2016-07-131-1/+1
| |
* | Don't emit empty array literals in trace output (#631)Alon Zakai2016-07-132-7/+19
|/ | | | * don't emit empty array literals in trace output
* Handle aliases without size (e.g. weak symbol), add redefinition warnings (#630)Dominic Chen2016-07-132-12/+8
|
* handle param overloading in asm2wasm ffis (#629)Alon Zakai2016-07-121-6/+21
|
* commentAlon Zakai2016-07-121-0/+3
|
* relooper tracing + fixesAlon Zakai2016-07-121-49/+40
|
* allow multiple tracesAlon Zakai2016-07-121-15/+24
|
* add a tracing option to the c api, which logs out a runnable program from c ↵Alon Zakai2016-07-122-14/+439
| | | | api calls
* fix relooper leakAlon Zakai2016-07-121-0/+3
|
* add support for symbol assignments, closes #4422 (#615)Dominic Chen2016-07-115-32/+122
| | | Adds support for aliases to objects, to go along with the existing support for aliases to functions.
* clarify the local/var/param distinctionAlon Zakai2016-07-072-4/+15
|
* update spec tests, and handle some flux in call_indirect in upstreamAlon Zakai2016-07-062-0/+9
|
* fix parsing of large intsAlon Zakai2016-07-061-2/+2
|
* print line numbers when running tests in shellAlon Zakai2016-07-061-1/+4
|
* validate set_local types against the function #618 (#620)Alon Zakai2016-07-061-0/+2
|
* quote names in s-format that need itAlon Zakai2016-07-051-9/+27
|
* add parse error on array misindexingAlon Zakai2016-07-051-0/+1
|
* Relooper switch support (#617)Alon Zakai2016-07-024-83/+162
| | | | | | * support switches in relooper and c api * update relooper fuzzer for switches
* parallelize asm2wasm fixups (#614)Alon Zakai2016-06-301-4/+5
|
* asm2wasm optimizes functions before they are all built, so we cannot rely on ↵Alon Zakai2016-06-291-29/+31
| | | | nodes staying the same for fixups. Do a proper fixup at the end (#612)
* update wasm.js, and stop optimizing in asm2wasm in wasm.jsAlon Zakai2016-06-291-6/+3
|
* improve validator errorsAlon Zakai2016-06-291-3/+9
|
* fix wasm interpreter bug on checking indirect call paramsAlon Zakai2016-06-291-2/+4
|
* avoid exceptions in Precompute pass (#606)Alon Zakai2016-06-271-10/+12
|