summaryrefslogtreecommitdiff
path: root/src/wasm.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Use typedef instead of explicit type (#503)JF Bastien2016-05-141-1/+1
|
* Fix the maximum memory size to be valid. (#492)Dan Gohman2016-05-131-1/+2
|
* Use a class with implicit overflow checks for Address (#486)Derek Schuff2016-05-121-4/+26
| | | | It includes implicit conversion from u64 and implicit conversion to address_t. This makes it easier to use without ugly casting and but still gets the overflow checks.
* Introduce a separate type for linear memory addresses (#477)Derek Schuff2016-05-111-14/+16
| | | | | | | We've been using size_t (and other things) for addresses, which is generally wrong because it depends on the host, when it should in fact depend on the target. This is a partial fix for #278 (i.e. it's the right fix, I don't think it's applied quite everywhere yet).
* fix block finalize(type) (#457)Alon Zakai2016-05-071-1/+1
|
* add a return type parameter to call and call_import in the C API. we need it ↵Alon Zakai2016-05-061-0/+4
| | | | since we don't know the type while building functions
* Merge pull request #439 from WebAssembly/c-api-moreAlon Zakai2016-05-051-0/+4
|\ | | | | Validation in C API
| * fix set_local finalize()Alon Zakai2016-05-051-0/+4
| |
* | Fix NaN / 0 (#442)JF Bastien2016-05-051-4/+30
|/ | | As discussed in: https://github.com/WebAssembly/spec/pull/282#issuecomment-217280544
* Nicer shift masks (#431)JF Bastien2016-05-041-7/+13
| | | | | | | | * Nicer shift masks * Yet nicer shift mask. * Fix typo.
* Harmonize the internal opcodes with the binary format (#433)Alon Zakai2016-05-031-2/+8
| | | | | | * harmonize the internal opcodes with the binary format, so they clearly parallel, and also this helps us avoid needing the type to disambiguate * comment on GetLocal in C API
* Merge pull request #427 from WebAssembly/c-api-niceAlon Zakai2016-05-031-1/+9
|\ | | | | C API
| * kitchen sink test for c apiAlon Zakai2016-05-031-0/+6
| |
| * add a default finalize() so it is valid to call on any nodeAlon Zakai2016-05-021-1/+3
| |
* | Fix signed integer overflow UB (#430)JF Bastien2016-05-031-6/+6
| | | | | | This puts us back where #404 wanted to be: all UB that ubsan knows about now causes an abort. This ins't to say that it's all gone, merely that our tests don't trigger any more UB which ubsan knows how to find :-)
* | Fix shift UB (#429)JF Bastien2016-05-031-6/+6
| | | | | | Getting close to finishing #404.
* | Fix UB with FP divide by zero (#424)JF Bastien2016-05-021-2/+40
| | | | | | Another fix for #404.
* | Fix memcpy UB (#422)JF Bastien2016-05-021-1/+1
|/ | | Can't call memcpy with size of 0 and nullptr init.
* add wasm.cpp which does full type detection for blocks, and prepare for full ↵Alon Zakai2016-04-291-5/+12
| | | | type checking everywhere
* just use a simple vector in data segmentsAlon Zakai2016-04-271-3/+8
|
* use an arena vector for switch targetsAlon Zakai2016-04-271-3/+2
|
* allocate only expressions in arenas - functions, imports, exports, function ↵Alon Zakai2016-04-271-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 nodesAlon Zakai2016-04-261-66/+89
|
* update MemorySize => CurrentMemoryAlon Zakai2016-04-181-2/+2
|
* remove the AllocatingModule class, and just make Module have allocations. ↵Alon Zakai2016-04-181-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 Zakai2016-04-181-12/+62
| | | | names are kept on the Function object (#354)
* rename function locals, to params and vars, which together are all the ↵Alon Zakai2016-04-141-2/+2
| | | | locals. preparation for #336 (#349)
* dyn_cast => dynCastAlon Zakai2016-04-111-1/+1
|
* add counter for expression idsAlon Zakai2016-04-091-1/+2
|
* AST Builder class, and use it to optimzie umoddi4 in asm2wasmAlon Zakai2016-04-081-3/+2
|
* fix bug in If.finalizeAlon Zakai2016-04-081-1/+1
|
* refactor wasm traversal code into separate fileAlon Zakai2016-04-061-295/+0
|
* add apis for accessing module elementsAlon Zakai2016-04-041-5/+23
|
* Fix the build with GCC 5.3.1 and Clang 3.8.0.Csaba Osztrogonác2016-03-311-10/+10
| | | | Fixes #299
* Make type of EqZ unary operators always i32Derek Schuff2016-03-211-1/+8
| | | | | This makes them symmetric to binary relational operators. Also support eqz in the s2wasm parser.
* 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
|