Commit Graph

2007 Commits

Author SHA1 Message Date
Dan Gohman
3ce2127bfa Eliminate the intermediate "base" global variables. 2019-01-03 12:03:33 -08:00
Dan Gohman
3431122440 Update to bindgen 0.46. 2019-01-03 12:03:22 -08:00
Dan Gohman
1ae5c13b8c Signature ID loads are readonly. 2019-01-03 12:03:14 -08:00
Dan Gohman
8939d1252a Document that wasmtime-runtime is meant to be compiled for the target. 2019-01-03 12:02:57 -08:00
Dan Gohman
3270369a69 Restructure VMContext to eliminate a level of indirection. 2019-01-03 12:02:35 -08:00
Dan Gohman
ff6776fe10 Refactor instance accessor routines.
This helps localize the unsafe code needed to access these fields.
2019-01-03 11:49:25 -08:00
Dan Gohman
482a054c75 Move the signature_ids field first. 2019-01-03 11:49:15 -08:00
Dan Gohman
e8e8f453a4 Refactor out the code for creating the signature_ids base global value. 2019-01-03 11:49:04 -08:00
Dan Gohman
087b5b4dff Implement cross-instance indirect calls. 2019-01-03 11:48:53 -08:00
Dan Gohman
b646f9b4e0 Clarify a comment. 2019-01-03 11:48:43 -08:00
Dan Gohman
9d73123e3e Reformat a comment to fit within 100 columns. 2019-01-03 11:48:34 -08:00
Dan Gohman
bec724b501 Whitespace tidying. 2019-01-03 11:48:26 -08:00
Dan Gohman
b704f5ad30 Update to wasmparser 0.23.0. 2019-01-03 11:48:13 -08:00
Dan Gohman
63c9143e87 Update to bindgen 0.45. 2019-01-03 11:48:05 -08:00
Dan Gohman
7592c99f3b Refactor the compilation and instantiation pipeline.
wasmtime-execute is now wasmtime-jit. Move `JITCode` and the TargetIsa
into a new `Compiler` type. `InstancePlus` is no more, with trampoline
functionality now handled by `Compiler`.
2019-01-03 11:47:55 -08:00
Dan Gohman
450a279e18 Rename wasmtime's logfile names. 2019-01-03 11:47:40 -08:00
Dan Gohman
f997cde2db Don't create Static memories larger than the Tunables' static bound size. 2018-12-24 22:08:36 -08:00
Dan Gohman
57a1618742 Catch EXCEPTION_INT_OVERFLOW exceptions too. 2018-12-24 22:08:36 -08:00
Dan Gohman
a5a23d8c4a Factor WasmNamespace out of lib/wast and into lib/execute as Namespace.
This makes it usable for things other than just wast tests.
2018-12-24 22:08:36 -08:00
Dan Gohman
71c0142cd4 Rename the address field of Table/Memory/Global exports to definition.
For functions, `address` makes sense because it's the address of the
function. Bt for Table/Memory/Global, it points to a `VM*Definition` field.
2018-12-24 18:20:15 -08:00
Dan Gohman
8f74c7f3d5 Add derive(Debug) to Export. 2018-12-24 18:14:00 -08:00
Dan Gohman
c4e10227de Tidy up trap-handling code. 2018-12-19 15:14:30 -08:00
Jef
5eee15ab02 Remove outdated comment 2018-12-19 20:27:16 +00:00
Jef
522818e7d8 Fix compiler bomb 2018-12-19 17:52:26 +00:00
Jef
9decdca525 Add Return 2018-12-19 16:39:20 +00:00
Jef
c52cf1493a Reformat a comment 2018-12-19 14:46:32 +01:00
Jef
f91b9072de Fix some issues with the use of stack depth 2018-12-19 14:42:00 +01:00
Jef
3b5c11a92a Test comparison operators 2018-12-19 12:58:08 +01:00
Jef
2173f4bcca Add other comparison operators, fix materialising locals, add more TODO comments (v. important) 2018-12-19 12:42:35 +01:00
Jef
cbf34a455b Add factorial tests from spec (after fixing them slightly) 2018-12-19 10:40:31 +01:00
Jef
72855e48c7 Improve behaviour when adding literal to non-literal, materialise local if its value will be changed
Currently the implementation of materializing locals causes compilation to be non-linear in degenerate cases
2018-12-18 19:15:29 +01:00
Jef
5418241dc6 Allow blocks to return values in any register 2018-12-18 17:16:38 +01:00
Jef
74ffb8560c Fix use of locals 2018-12-18 12:12:17 +01:00
Jef
0d1c4f3290 Allow calling functions with any signature 2018-12-17 21:55:03 -08:00
Dan Gohman
4d4ecfd812 Bump version to 0.1.0 2018-12-17 13:45:12 -08:00
Jef
53841cdb07 Add loops 2018-12-17 12:50:29 +01:00
Jef
23b5a56a7d Fix locals not being restored properly (which may cause us to read garbage values from the stack) 2018-12-17 12:16:40 +01:00
Dan Gohman
48f86bde82 Make appveyor.yml more verbose, and other misc fixes. 2018-12-16 15:29:17 -08:00
Dan Gohman
81bbf8f057 Disable the x86-32 build in appveyor, as it isn't supported yet. 2018-12-16 14:28:40 -08:00
Jef
bd2ee53c89 Optimize pop_i32_into, check more fib values 2018-12-15 16:39:38 +01:00
Sergey Pepyakin
5511f92088 Add call alignment requirement. 2018-12-14 12:07:50 -05:00
Sergey Pepyakin
23476e82ff Fix typo. 2018-12-14 12:07:50 -05:00
Sergey Pepyakin
aab191b460 Comment FuncDef. 2018-12-14 12:07:50 -05:00
Sergey Pepyakin
94e2f0c2a5 Add the fib test. 2018-12-14 12:07:50 -05:00
Sergey Pepyakin
d6b300c87f Implement returns. 2018-12-14 12:07:50 -05:00
Sergey Pepyakin
38590cbcb9 Add i32 literals support. 2018-12-14 12:07:50 -05:00
Sergey Pepyakin
a3719e08e5 Pass arguments. 2018-12-14 12:07:50 -05:00
Sergey Pepyakin
eb60c2587a Basic form of a function call 2018-12-14 12:07:50 -05:00
Sergey Pepyakin
635ccc6916 Introduce TranslationContext 2018-12-14 12:07:50 -05:00
Sergey Pepyakin
f22b9903b6 Pass function sig in function_body::translate 2018-12-14 12:07:50 -05:00