Commit Graph

1453 Commits

Author SHA1 Message Date
Ralf Jung
b1ca65447a refactor memory write API to match read API 2017-08-25 19:08:04 +02:00
Ralf Jung
f036fe0d32 refactor memory read API: provide only size-based, no type-based methods 2017-08-25 16:20:13 +02:00
Ralf Jung
8539728607 memory: make sure we check non-NULL/undef even fore 0-sized accesses 2017-08-25 14:41:59 +02:00
Oliver Schneider
4e3c502c53 Merge pull request #309 from oli-obk/libstd
Refactoring: Couple values and types into an object when passed around together
2017-08-24 23:50:47 +02:00
Oliver Schneider
110d50e7f9 Merge branch 'master' into libstd 2017-08-24 15:30:35 +02:00
Oliver Schneider
f860ad8d2e Merge pull request #306 from RalfJung/closures
Handle closures in get_field_ty
2017-08-24 15:30:23 +02:00
Oliver Schneider
9ede346ee2
Refactoring: Couple values and types into an object when passed around together 2017-08-24 14:42:42 +02:00
Ralf Jung
e332ab9b13 Handle closures in get_field_ty
Fixes #304
2017-08-24 13:34:05 +02:00
Ralf Jung
3f3fadae6f Merge pull request #301 from RalfJung/mir-validate
More validation tests
2017-08-24 09:14:36 +02:00
Ralf Jung
ae10b23a7c Merge branch 'master' into mir-validate 2017-08-23 18:09:13 +02:00
Ralf Jung
66108be99d Merge pull request #308 from oli-obk/libstd
rustup
2017-08-23 18:08:53 +02:00
Oliver Schneider
f75dd90961 Also reuse function pointer shims and drop glue from rustc 2017-08-23 17:46:36 +02:00
Oliver Schneider
7b8e2c772d
Rustup (Clone is now a builtin trait) 2017-08-23 17:24:38 +02:00
Ralf Jung
4cfda6ae96 hack to make xargo libstd build work again 2017-08-23 16:47:12 +02:00
Ralf Jung
1f20b7d774 travis: fail fast 2017-08-18 11:42:00 +02:00
Ralf Jung
2fccae8aac add another compile-fail test for validation 2017-08-18 11:30:18 +02:00
Ralf Jung
90edc03eea Add a test demonstrating the limitations of our lfietime resolution 2017-08-18 11:29:51 +02:00
Ralf Jung
5d60c614e6 Merge pull request #302 from RalfJung/mir-validate2
enable a test that waited for a rustc fix
2017-08-12 10:11:18 -07:00
Ralf Jung
7e5d971c56 fix warnings; make test suite pass again 2017-08-12 09:45:44 -07:00
Ralf Jung
2be159bacd enable a test that waited for a rustc fix 2017-08-11 09:12:46 -07:00
Oliver Schneider
dca1be68ff Merge pull request #300 from oli-obk/rustc_tests
Get the test suite working inside the rustc test suite
2017-08-11 09:39:36 +02:00
Oliver Schneider
8019deb0a9 Update compiletest.rs 2017-08-10 19:39:32 +02:00
Oliver Schneider
33ff32cac8
Get the test suite working inside the rustc test suite 2017-08-10 18:32:06 +02:00
Oliver Schneider
63c4843503 Merge pull request #299 from RalfJung/rustfmt
rustfmt
2017-08-10 18:27:57 +02:00
Ralf Jung
1326aed02c rustfmt
Except for error.rs, the result there looks rather ugly
2017-08-10 08:48:41 -07:00
Oliver Schneider
85fd3f8e43 Merge pull request #297 from RalfJung/mir-validate
Validation update
2017-08-10 10:18:54 +02:00
Ralf Jung
8e8c9c862c turns out we can enable this sanity check now 2017-08-09 22:32:13 -07:00
Ralf Jung
34685044f9 add a bunch of compile-fail tests for validation 2017-08-09 18:01:10 -07:00
Ralf Jung
5e018b1deb analyzing hashmap.rs uncovered a deeper problem; disable validation there for now 2017-08-09 15:49:47 -07:00
Ralf Jung
7b5f8a36ab try harder to preserve regions when doing inference
This is not complete yet, but it is enough to make unsized-tuple-impls work.
2017-08-09 15:49:47 -07:00
Ralf Jung
bff1ad156e integer-ops needs a rustc patch to work again 2017-08-09 15:49:47 -07:00
Ralf Jung
668491a892 Work on making validation test pass again
Turns out that tracking write locks by their lifetime is not precise enough,
but for now, we don't have an alternative.  Also, we need to force_allocate
what we acquire or else the memory will not be in the right state.
2017-08-09 15:49:47 -07:00
Ralf Jung
11f0aedc3d add some tests making sure we get the alias checking right 2017-08-09 15:49:47 -07:00
Ralf Jung
de80bcbdbf some tests for RangeMap 2017-08-09 15:49:47 -07:00
Ralf Jung
65a31317a4 Merge pull request #295 from solson/oli-obk-patch-2
Don't rebuild miri even if nothing changed
2017-08-09 12:54:07 -07:00
Oliver Schneider
e71af86259 Merge branch 'master' into oli-obk-patch-2 2017-08-09 21:35:51 +02:00
Ralf Jung
e2de0b2709 Merge pull request #294 from oli-obk/cargo_miri
Make cargo_miri a feature
2017-08-09 11:15:59 -07:00
Oliver Schneider
4ce60abd84 Update build.rs 2017-08-09 18:05:34 +02:00
Oliver Schneider
7e6c497539 Make cargo_miri a feature
1. Speeds up the common compilation path (no serde in the dependency tree)
2. Stage 1 rustc is enough (no serde -> no custom derive)
2017-08-09 16:12:27 +02:00
Oliver Schneider
a6096fbfba Merge pull request #292 from oli-obk/static_alloc_ids
Prepare for splitting off static alloc ids from local alloc ids
2017-08-09 16:06:14 +02:00
Oliver Schneider
91db25bdef Rename destructure method to into_alloc_id_kind 2017-08-09 14:54:37 +02:00
Oliver Schneider
81f5de7f05 rename memory::Kind to memory::MemoryKind 2017-08-09 14:53:22 +02:00
Oliver Schneider
bba753deac
c_int != usize 2017-08-08 17:09:26 +02:00
Oliver Schneider
9e787fbd82
Dump all allocs when dumping locals 2017-08-08 17:09:26 +02:00
Oliver Schneider
897b563e70
clarify which function is pushing a global 2017-08-08 17:09:26 +02:00
Oliver Schneider
3ce57d1225
Remove unused function 2017-08-08 17:09:26 +02:00
Oliver Schneider
8ab1eeef51
Implement packed statics 2017-08-08 17:09:26 +02:00
Oliver Schneider
181851fc6b
Always allocate for globals
statics are rare and constants are copied anyway.
Reading from a constant should then yield a `ByVal` again if possible.
2017-08-08 17:09:26 +02:00
Oliver Schneider
4ba2b82f31
Split the alloc id address space into functions and normal allocs
instead of interleaving them as before.
The next step is to also separate out static memory into its own
address space.
2017-08-08 17:09:25 +02:00
Ralf Jung
14e8f500af Merge pull request #291 from RalfJung/cross-platform
make xargo/build.sh more cross-platform
2017-08-07 14:45:29 -07:00