423 Commits (622285790ce33211a8eca5ec6d9b944ef530d345)

Author SHA1 Message Date
Dan Gohman 72ee874986 Factor out a function for reading a wasm file. 6 years ago
Dan Gohman 8b140cc748 Create a `Context` class to group together various state objects. 6 years ago
Jef 2fad984a0d Shift and rotate 6 years ago
Dan Gohman 00a4e93bcd Add a concept of "global exports". 6 years ago
Jef 26cb8de303 Only generate a single `trap` to reduce code size and complexity in `call_indirect` 6 years ago
Jef 2c8efa32b8 Unnecessarily optimise asm_println 6 years ago
Jef c7956dbdb2 Fail if we try to call past the end of the table 6 years ago
Jef b6e29a899e Add todo comments 6 years ago
Jef b23e00893c Fix saving volatile registers now that we use unused args as scratch 6 years ago
Jef e57cec3b3f Do `call_indirect` properly, by accessing the table section 6 years ago
Jef d06be92a4e Don't allocate context if it's unused 6 years ago
Jef e0f032a0e5 clz/ctz/popcnt 6 years ago
Jef 74d168ec4b Merge `end`s, store locals in registers where possible 6 years ago
Jef a7fa7da7d4 Support a proper vmctx that contains more than just memory offset 6 years ago
Jef d7434fe5d2 Have `vmctx` be the first argument so we (almost) never have to shuffle it around 6 years ago
Jef b86d11e4ad Avoid unnecessary work when passing arguments on 6 years ago
Jef 62fe065e85 Fix miscompilation for maliciously-crafted use of locals 6 years ago
Jef 1b6952bb99 Implement vmctx as a hidden argument for cranelift compat 6 years ago
Jef 8312730377 Make calling functions safe 6 years ago
Jef 1eebc65c9e First baby steps to supporting memory accesses 6 years ago
Jef ddb4c0fd19 x64 sign-extends imm32 arguments, so don't truncate them in an unsigned way 6 years ago
Jef 010f2d8569 Fix comparisons, add more tests for binops 6 years ago
Jef fcd18746a7 Add 64-bit operations 6 years ago
Dan Gohman 35d7f78a11 Handle errors cleanly in the wast runner. 6 years ago
Dan Gohman f6c2fe7d2d Update to Rust 2018 Edition. 6 years ago
Dan Gohman 529de7ca60 Tidy up unneeded '&'s. 6 years ago
Dan Gohman 7592c99f3b Refactor the compilation and instantiation pipeline. 6 years ago
Dan Gohman 450a279e18 Rename wasmtime's logfile names. 6 years ago
Dan Gohman a5a23d8c4a Factor WasmNamespace out of lib/wast and into lib/execute as Namespace. 6 years ago
Jef 5eee15ab02 Remove outdated comment 6 years ago
Jef 522818e7d8 Fix compiler bomb 6 years ago
Jef 9decdca525 Add `Return` 6 years ago
Jef c52cf1493a Reformat a comment 6 years ago
Jef f91b9072de Fix some issues with the use of stack depth 6 years ago
Jef 3b5c11a92a Test comparison operators 6 years ago
Jef 2173f4bcca Add other comparison operators, fix materialising locals, add more TODO comments (v. important) 6 years ago
Jef cbf34a455b Add factorial tests from spec (after fixing them slightly) 6 years ago
Jef 72855e48c7 Improve behaviour when adding literal to non-literal, materialise local if its value will be changed 6 years ago
Jef 5418241dc6 Allow blocks to return values in any register 6 years ago
Jef 74ffb8560c Fix use of locals 6 years ago
Jef 0d1c4f3290 Allow calling functions with any signature 6 years ago
Jef 53841cdb07 Add loops 6 years ago
Jef 23b5a56a7d Fix locals not being restored properly (which may cause us to read garbage values from the stack) 6 years ago
Jef bd2ee53c89 Optimize `pop_i32_into`, check more fib values 6 years ago
Sergey Pepyakin 5511f92088 Add call alignment requirement. 6 years ago
Sergey Pepyakin 23476e82ff Fix typo. 6 years ago
Sergey Pepyakin aab191b460 Comment FuncDef. 6 years ago
Sergey Pepyakin 94e2f0c2a5 Add the fib test. 6 years ago
Sergey Pepyakin d6b300c87f Implement returns. 6 years ago
Sergey Pepyakin 38590cbcb9 Add i32 literals support. 6 years ago