Dan Gohman
dfc7065252
Bump version to 0.11.0
2018-06-15 08:46:25 -07:00
Dan Gohman
c506f4cf6b
Use WasmError::Unsupported rather than panic for unsupported extensions.
2018-06-15 08:38:40 -07:00
Dan Gohman
1cab2f2d73
Remove an unneeded comment.
2018-06-13 07:41:39 -07:00
Dan Gohman
9542cab5ed
Bump version to 0.10.0
2018-06-12 12:29:59 -07:00
Sergey Pepyakin
a8923e2185
Add 64-bit versions.
2018-06-12 11:54:23 -07:00
Sergey Pepyakin
399860e2aa
Encode bnot on x86.
2018-06-12 11:54:23 -07:00
Dan Gohman
a7813c4448
Update to target-lexicon 0.0.2.
...
This fixes compilation on rust 1.22.1.
2018-06-12 06:36:07 -07:00
Dan Gohman
1b55a2d005
Rename more Error and Result types.
2018-06-12 05:02:25 -07:00
Dan Gohman
43bd3cb2a3
Introduce a ModuleResult alias for Result<T, ModuleError>.
...
This follows the pattern used by cretonne-codegen, cretonne-wasm, and
others.
2018-06-12 05:02:25 -07:00
Dan Gohman
6971ae1c26
Export CodegenError and CodegenResult at the top level.
...
Make cretonne-codegen's `result` module private, and instead just export
`CodegenError` and `CodegenResult` at the top level of the
cretonne-codegen crate. This makes them more consistent with Result and
Error types in other cretonne crates.
2018-06-12 05:02:25 -07:00
Dan Gohman
8a26a50475
Rename CtonError and CtonResult to CodegenError and CodegenResult.
2018-06-12 05:02:25 -07:00
Dan Gohman
02e34d1bf7
Make CtonError parameterized on the result type.
...
This makes it more consistent with other custom `Result` types.
2018-06-12 05:02:25 -07:00
Dan Gohman
13f22065a2
Rename verifier's Result and Error.
...
This provides consistency with similar types in other parts of
Cretonne, and avoids shadowing `Result` from the standard prelude.
2018-06-12 05:02:25 -07:00
Dan Gohman
683880bd02
Avoid uninteresting renaming of imports.
2018-06-12 05:02:25 -07:00
Dan Gohman
ffe57d9051
Fix a typo in a comment.
2018-06-12 05:02:25 -07:00
Dan Gohman
3027579cbe
Add a test for instruction shrinking.
2018-06-12 05:02:25 -07:00
Dan Gohman
de2a2fe418
Minor code cleanup.
2018-06-12 05:02:25 -07:00
Dan Gohman
967da59181
Fix shellcheck warnings in shell scripts.
2018-06-12 05:02:25 -07:00
Dan Gohman
c03d67a4ff
Update for wasm memory instruction renaming.
...
The wasm spec renamed `grow_memory` and `current_memory` to
`memory.grow` and `memory.size`, respectively. Update cretonne's names
to follow.
Also, update to wasmparser 0.17.0, which also renames its corresponding
operators.
2018-06-12 05:02:25 -07:00
Dan Gohman
0daa560368
Accept redundant alias definitions.
...
In the text format, allow aliases to be defined multiple times, as long
as they're always aliasing the same value.
write.rs is already emitting redundant aliases, because it emits them at
their uses, so this change allows the parser to be able to parse such
code.
2018-06-12 05:02:25 -07:00
Dan Gohman
00d7d3a774
Implement IntoIterator for PrimaryMap.
...
This makes iterating through a `PrimaryMap` more consistent with
iterating through a `Vec`.
2018-06-12 05:02:17 -07:00
Dan Gohman
fdf89edbfe
Fail loudly if a build.rs dependency path can't be printed.
2018-06-09 13:22:44 -07:00
Sergey Pepyakin
e4fe1db3b8
Assert that stack_limit is none.
2018-06-09 13:18:12 -07:00
Sergey Pepyakin
f10682c246
Add documentation.
2018-06-09 13:18:12 -07:00
Sergey Pepyakin
ddc8c91419
Displaying stack_limit
2018-06-09 13:18:12 -07:00
Sergey Pepyakin
73b6468d25
Parsing stack_limit
2018-06-09 13:18:12 -07:00
Sergey Pepyakin
effe770c5f
Add stack_limit global_var in Function
2018-06-09 13:18:12 -07:00
Sergey Pepyakin
e9111d1de2
Ditch stack_check instruction
2018-06-09 13:18:12 -07:00
Dan Gohman
944251260b
Bump version to 0.9.0
2018-06-07 11:46:36 -07:00
Dan Gohman
f37ebaa4ba
Bump version to 0.9.0
2018-06-07 11:42:52 -07:00
Dan Gohman
f5c1273fcf
Use cfg_attr to tidy up an extern crate declaration.
2018-06-07 11:34:55 -07:00
Dan Gohman
b2b20a95a1
Fix missing no_std support in cretonne-module.
...
And, tidy up the extern crate declarations in the std replacement modules.
2018-06-07 11:34:55 -07:00
Dan Gohman
750483b9ac
Update to hashmap_core 0.1.6.
2018-06-07 10:45:30 -07:00
Dan Gohman
6ec3a3f7a1
Pass the "std" feature through to target-lexicon.
2018-06-07 09:56:45 -07:00
Bruce Mitchener
e49e1e20c6
Update to region 0.3.
2018-06-06 10:15:09 -07:00
Bruce Mitchener
36d4e0a13c
Update to goblin 0.0.15.
2018-06-06 10:15:09 -07:00
Bruce Mitchener
5c5e66cebd
Update to capstone 0.4.
2018-06-06 10:15:09 -07:00
Dan Gohman
970045c309
Set clobbers_flags to False for urm_noflags_abcd.
...
`urm_noflags` is a variant of `urm` which doesn't clobber the flags, and
`urm_noflags_abcd` is a further variant for ABCD registers, so it also
doesn't clobber the flags.
2018-06-05 11:30:35 -07:00
Dan Gohman
eb94664285
Add assertions to check translate_call and translate_call_indirect.
...
Assert that the results produced by translate_call and
translate_call_indirect match the results of the call signatures.
2018-06-05 09:21:23 -07:00
Dan Gohman
4e64fc11c9
Rename subtest's Result to SubtestResult.
...
This avoids naming confusion with the standard `Result`, which is
included in the prelude.
2018-06-05 09:21:23 -07:00
Dan Gohman
1087ff3a01
Use to_string() instead of write!(&mut text, "{}", ....
2018-06-05 09:21:23 -07:00
Dan Gohman
4a4453dc47
Use to_string() instead of format!("{}", ...).
2018-06-05 09:21:23 -07:00
Dan Gohman
22a7c56108
Use Context::for_function to simplify the code.
2018-06-05 09:21:23 -07:00
Dan Gohman
ae8fc69406
Use &'static str rather than Cow<str> for pass names.
2018-06-05 09:20:59 -07:00
Dan Gohman
6c003d68cd
Factor out pointer_bits() and pointer_bytes() helper functions.
2018-05-31 11:21:26 -07:00
Dan Gohman
35f2cae00c
Add comments explaining the rustfmt installation dance.
2018-05-31 09:32:02 -07:00
Dan Gohman
f48c1d4f89
Update to target-lexicon 0.0.1 and faerie 0.4.1.
...
This fixes handling of custom targets.
2018-05-30 17:25:48 -07:00
Dan Gohman
4e67e08efd
Use the target-lexicon crate.
...
This switches from a custom list of architectures to use the
target-lexicon crate.
- "set is_64bit=1; isa x86" is replaced with "target x86_64", and
similar for other architectures, and the `is_64bit` flag is removed
entirely.
- The `is_compressed` flag is removed too; it's no longer being used to
control REX prefixes on x86-64, ARM and Thumb are separate
architectures in target-lexicon, and we can figure out how to
select RISC-V compressed encodings when we're ready.
2018-05-30 06:13:35 -07:00
Lachlan Sneff
2f3008aa40
Use "nightly" feature of raw-cpuid when possible.
2018-05-29 15:57:21 -07:00
Dan Gohman
a1fe0f82e1
Update to the latest stable rustfmt, 0.4.2-stable (febbb36 2018-04-12).
2018-05-29 10:37:38 -07:00