Dan Gohman
b096d0606b
Move ifcmp, icmp_imm, and ffcmp into the CPU flags doc section.
2019-01-02 11:46:15 -08:00
bjorn3
ab72eeadf9
Bump faerie to 0.7.0
2019-01-02 11:12:48 +01:00
Muhammad Mominul Huque
effe6c04e4
Update to Rust 2018 edition ( #632 )
...
* initial cargo fix run
* Upgrade cranelift-entity crate
* Upgrade bforest crate
* Upgrade the codegen crate
* Upgrade the faerie crate
* Upgrade the filetests crate
* Upgrade the codegen-meta crate
* Upgrade the frontend crate
* Upgrade the cranelift-module crate
* Upgrade the cranelift-native crate
* Upgrade the cranelift-preopt crate
* Upgrade the cranelift-reader crate
* Upgrade the cranelift-serde crate
* Upgrade the cranelift-simplejit crate
* Upgrade the cranelift or cranelift-umbrella crate
* Upgrade the cranelift-wasm crate
* Upgrade cranelift-tools crate
* Use new import style on remaining files
* run format-all.sh
* run test-all.sh, update Readme and travis ci configuration
fixed an AssertionError also
* Remove deprecated functions
2018-12-26 09:49:05 -08:00
bjorn3
e3db942b0c
Put default implementations of FuncWriter methods in a seperate method
...
This is useful when you want to write extra information
2018-12-26 09:21:32 -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
Bruce Mitchener
4f8753fa11
Fix typos.
2018-12-24 10:03:22 -08:00
Bruce Mitchener
4224a95f0d
Update wasmparser to 0.23.
2018-12-24 09:49:06 -08:00
Dan Gohman
887451a2eb
Fix formatting.
2018-12-24 09:32:50 -08:00
Dan Gohman
998a7d2b6d
Mention Wasmtime as a complete implementation of the Environment traits.
2018-12-24 09:32:20 -08:00
bjorn3
95118e7244
Nicer panic when trying to insert instruction before calling switch_to_block
2018-12-24 09:31:51 -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
Nicholas Nethercote
46d9a3cd1a
Use an FxHashMap in RegDiversions.
...
Because it's hot and the number of entries can reach the 1000s, so
linear insertion and search is bad.
This reduces runtime for `sqlite` and `UE4Game-HTML5-Shipping` by 3-4%,
and a couple of other benchmarks (`sqlite`, `godot`, `clang`) by smaller
amounts.
It also increases runtime for `mono` and `tanks` by about 1%; this seems
to be due to incidental changes in which functions are inlined more than
algorithmic changes.
2018-12-17 21:36:06 -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
Dan Gohman
66120cdede
Prune unnecessary dependencies.
2018-12-14 08:09:01 -08:00
Jef
1e04dc90b6
Make more tests quickcheck-compatible, remove unused code
2018-12-14 16:35:48 +01:00
Jef
b832832c76
Add const folding, fix returning values from blocks
2018-12-14 16:20:28 +01:00
Jef
17ecd049a1
Register allocation V2
...
This lays the groundwork for other on-the-fly optimisations,
like passing literals through in order to do const folding
in linear time, while compiling.
2018-12-14 14:16:43 +01:00
Dan Gohman
0c0ccc5d09
Add unsigned access methods to VMGlobalDefinition.
2018-12-13 15:50:58 -08:00
Dan Gohman
717f60bda1
Misc cleanups in the trap handling code.
2018-12-13 13:14:08 -08:00