summaryrefslogtreecommitdiff
path: root/src/wasm-interpreter.h
Commit message (Collapse)AuthorAgeFilesLines
...
* De-recurse traversals (#333)Alon Zakai2016-04-111-1/+1
| | | | | | | | | | | | * refactor core walking to not recurse * add a simplify-locals test * reuse parent's non-branchey scan logic in SimpleExecutionWalker, reduce code duplication * update wasm.js * rename things following comments
* trap on bad callExport, don't assertAlon Zakai2016-04-041-1/+1
|
* clean up callExport typesAlon Zakai2016-04-041-1/+1
|
* add apis for accessing module elementsAlon Zakai2016-04-041-4/+4
|
* Fix the build with GCC 5.3.1 and Clang 3.8.0.Csaba Osztrogonác2016-03-311-2/+2
| | | | Fixes #299
* Clean up src\wasm-interpreter.h(644): warning C4244: 'initializing': ↵Jukka Jylänki2016-03-281-2/+2
| | | | conversion from 'double' to 'int64_t', possible loss of data.
* Clean up src\wasm-interpreter.h(307): warning C4244: 'argument': conversion ↵Jukka Jylänki2016-03-281-1/+1
| | | | from 'int64_t' to 'unsigned int', possible loss of data
* Clean up src\wasm-interpreter.h(286): warning C4800: 'int64_t': forcing ↵Jukka Jylänki2016-03-281-1/+1
| | | | value to bool 'true' or 'false' (performance warning)
* Fix function trapIfGt() to operate on 64-bit integers even when building a ↵Jukka Jylänki2016-03-281-1/+1
| | | | 32-bit executable.
* update spec tests, and new memory page size usageAlon Zakai2016-03-251-13/+12
|
* add function stack printing in interpreterAlon Zakai2016-03-231-0/+16
|
* fix float to int trap textAlon Zakai2016-03-201-2/+2
|
* update spec tests and support eqzAlon Zakai2016-03-191-0/+2
|
* de-recurse operations on nested blocksAlon Zakai2016-03-101-3/+24
|
* Implement rotatesDerek Schuff2016-03-091-0/+4
|
* Make initial and max memory sizes be in pages instead of bytesDerek Schuff2016-03-091-1/+1
| | | | | | | 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-28/+12
|
* fix assertion in interpreter that was too strong - we can have blocks with ↵Alon Zakai2016-03-021-3/+7
| | | | no return type, but that still end up returning a type due to a branch
* grow memory returns a value now, and we can update the spec tests after ↵Alon Zakai2016-02-231-1/+2
| | | | doing that
* Merge pull request #196 from WebAssembly/spec-startAlon Zakai2016-02-121-0/+4
|\ | | | | Fully support start in wasm modules
| * call start method in interpreterAlon Zakai2016-02-121-0/+4
| |
* | refactor operations into LiteralAlon Zakai2016-02-121-216/+107
|/
* update spec tests and shift to putting the br_if condition at the end, as ↵Alon Zakai2016-02-081-5/+5
| | | | 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.
* Use unsigned types to evaluate i32 and i64 binary operatorsDerek Schuff2016-02-041-40/+42
| | | | | | | Instead of defaulting to signed types and casting as necessary, use unsigned types. Explicitly make signed copies of them and us them where appropriate, avoiding lots of casting and improving readability. Avoids undefined behavior of signed overflow.
* Fix ambiguous constructor call with explicit castDerek Schuff2016-02-031-2/+2
| | | | Should fix the Travis build.
* Merge remote-tracking branch 'origin/improve-memory-trap'Alon Zakai2016-02-031-6/+14
|\
| * Shell: improve memory trapJF Bastien2016-02-031-6/+14
| | | | | | | | | | This makes it easier to debug, the message looks like: [trap final > memory: 1 > 0]
* | Merge pull request #152 from WebAssembly/float-refactorAlon Zakai2016-02-031-22/+12
|\ \ | |/ |/| Float refactoring and nan comparison change
| * fix type of large constsAlon Zakai2016-02-031-2/+2
| |
| * simplify interpreter int reinterpretingAlon Zakai2016-02-021-10/+2
| |
| * convert CopySign to use int bitsAlon Zakai2016-02-021-8/+4
| |
| * convert Neg to use int bitsAlon Zakai2016-02-021-4/+6
| |
| * convert Abs to use int bitsAlon Zakai2016-02-021-2/+2
| |
* | Move bits.h to support/JF Bastien2016-02-031-1/+1
|/ | | | Faster compiles.
* Shell: fix --entry parameter numbersJF Bastien2016-02-021-4/+16
| | | | 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-2/+14
|
* Use LLVM style static polymorphism for WasmVisitors.Michael Bebenita2016-01-131-20/+20
|
* fix switch parsing and semantics, for br in the tableAlon Zakai2016-01-061-2/+4
|
* Simplify the bit functions... a bit!JF Bastien2015-12-241-21/+6
|
* ensure proper literal type for popcnt resultsAlon Zakai2015-12-231-2/+2
|
* Add curly.JF Bastien2015-12-231-1/+2
|
* clz32: handle 0 as with ctzJF Bastien2015-12-231-1/+3
|
* Use the new bit functionsJF Bastien2015-12-231-41/+9
|
* fix typoAlon Zakai2015-12-231-1/+1
|
* Implement feedbackAndrew Scheidecker2015-12-231-4/+2
|
* Fix a few Windows/VS2013 compile errorsAndrew Scheidecker2015-12-231-2/+27
|
* Fix / uniformize include guardsJF Bastien2015-12-221-0/+5
|
* Fix warnings found by GCCJF Bastien2015-12-221-1/+1
| | | | | | My previous patch addressed all LLVM warnings, this one addresses all the GCC ones as well (mostly signed / unsigned mix). The patch also turns on -Wall -Werror.
* Fix the license headersJF Bastien2015-12-211-1/+15
| | | | This applies Apache 2.0 properly (as far as our lawyers have told me). We can do this early since all of the code was written by Alon Zakai.