Jakob Stoklund Olesen
19c8ba5021
Eliminate the sig argument to translate_operator.
...
The current function's return types are pushed as the first control
stack frame.
2017-09-05 11:51:32 -07:00
Jakob Stoklund Olesen
2671cbb092
Add TranslationState::in_unreachable_code().
...
Move an unreachable code test and sanity check into this method.
2017-09-05 11:46:08 -07:00
Jakob Stoklund Olesen
6f864f2926
Move translation state initialization into a method.
2017-09-05 11:00:40 -07:00
Dan Gohman
ef3ea72422
Avoid calling Vec::split_off, avoiding more heap allocations.
2017-09-05 09:23:20 -07:00
Jakob Stoklund Olesen
03939e4f9f
Move TranslationState into its own module.
...
Add some convenience methods for common state access patterns.
2017-09-01 15:55:02 -07:00
Jakob Stoklund Olesen
6762194801
Move stack and control_stack into TranslationState.
...
This reduces the number of function arguments passed around and it keeps
related information together.
2017-09-01 14:29:35 -07:00
Dan Gohman
fe12fe0e63
Avoid unneeded calls to .as_slice().
2017-09-01 12:15:14 -07:00
Dan Gohman
9d2fbdae62
Avoid cloning a jump argument vector to the heap.
2017-09-01 12:15:14 -07:00
Dan Gohman
dc79d155ff
Comment wording cleanups.
2017-08-31 12:47:05 -07:00
Dan Gohman
a7d629c368
Use the Self keyword where applicable.
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#use_self
2017-08-31 12:47:05 -07:00
Dan Gohman
da2c2151b1
Fix trivial_numeric_casts errors.
2017-08-31 12:47:05 -07:00
Dan Gohman
9726bb7367
Avoid matching with reference patterns.
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#match_ref_pats
2017-08-31 12:47:05 -07:00
Dan Gohman
5a8d1a9fda
Use if let instead of match.
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#single_match
2017-08-31 12:47:05 -07:00
Dan Gohman
574031e4d2
Avoid unneeded passing by value.
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#needless_pass_by_value
2017-08-31 12:47:05 -07:00
Dan Gohman
b6641ff443
Avoid clone() on a Copy type.
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#clone_on_copy
2017-08-31 12:47:05 -07:00
Dan Gohman
105998944e
Avoid redundant borrows.
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#needless_borrow
2017-08-31 12:47:05 -07:00
Dan Gohman
9a8f01b832
Avoid unnecessary '&' in matches.
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#match_ref_pats
2017-08-31 12:47:05 -07:00
Dan Gohman
b411d01d6d
Use [] instead of .get().unwrap().
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#get_unwrap
2017-08-31 12:47:05 -07:00
Dan Gohman
2efdc0ed37
Update rustfmt to 0.9.0.
2017-08-31 10:44:59 -07:00
Dan Gohman
a0a3401ef1
Don't special-case br_table with an empty table.
...
Empty br_table tables are very uncommon (they're easy for wasm producers to
optimize away), so we don't need to special-case them.
2017-08-30 15:05:00 -07:00
Dan Gohman
8647b10135
Loop over references to containers instead of using explicit iteration methods.
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#explicit_iter_loop
2017-08-30 14:52:17 -07:00
Dan Gohman
03698f6bc8
Use slices rather than Vec borrows.
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#ptr_arg
2017-08-30 14:48:17 -07:00
Dan Gohman
c380df1d04
Eliminate a heap allocation.
2017-08-29 05:44:40 -07:00
Dan Gohman
4afa5df3b6
Remove the last_inst_return field.
...
It's not necessary to explicitly track whether the last instruction is a
return; if the builder for the last block isn't filled by the time we reach
the end, it needs a return to fill it.
2017-08-29 05:09:25 -07:00
Dan Gohman
ea1d053831
Simplify the "am I in unreachable code" predicate.
...
The phantom unreachable stack is only used when the real unreachable stack is
active, so it's sufficient to check whether the real unreachable stack is empty.
2017-08-29 03:36:38 -07:00
Dan Gohman
c71d4fc01b
Remove a stale comment.
2017-08-29 03:30:22 -07:00
Denis Merigoux
ee9989c4b9
Dumped code from the wasm2cretonne repo.
...
Integrated wasm test suite translation as cretonne test
Fixes #146 .
Fixes #143 .
2017-08-28 15:57:43 -07:00