44 Commits

Author SHA1 Message Date
Ralf Jung
da5538f0b2 use closures to ensure proper bracketing of unaligned accesses 2017-07-13 10:29:11 -07:00
Ralf Jung
287b6be5ca track alignment also for ByRef values 2017-07-12 21:06:57 -07:00
Ralf Jung
c149c3fc6a Re-do packed memory accesses
We now track in the lvalue whether what we computed is expected to be aligend or not, and then set some state in the memory system accordingly to make it (not) do alignment checks
2017-07-12 17:46:56 -07:00
Oliver Schneider
a8b957a0f8
Add a dedicated write_null method 2017-07-11 10:32:01 +02:00
Oliver Schneider
5dfaacf310 Simplify all the code 2017-06-27 13:36:41 +02:00
Oliver Schneider
75fddee700
Simplify the return lvalue 2017-06-20 14:28:18 +02:00
Oliver Schneider
a2baeb516c
Run the tls destructors in the correct order 2017-06-20 14:28:18 +02:00
Oliver Schneider
fcf495821e
Get rid of the integer allocation 2017-06-20 14:28:18 +02:00
Oliver Schneider
f5ca91e812
Update to latest nightly 2017-06-20 14:28:18 +02:00
David Renshaw
f14ebd1142 handle EndRegion as no-op 2017-06-20 19:35:46 +09:00
David Renshaw
ca8347a1ff update for upstream ParamEnv changes 2017-06-02 21:00:35 -04:00
Oliver Schneider
ec7f1d5248 Fix typo 2017-06-02 06:53:52 +02:00
Ralf Jung
dd7735b722 make StorageLive kill the current value of the local 2017-06-01 17:59:00 -07:00
Ralf Jung
e6eaf2083a interpret StorageLive & StorageDead, and check dead stack slots are not used 2017-05-31 17:41:33 -07:00
Ralf Jung
1241938f97 test suite now also passes on MIR-libstd
Also enable some tests that were disabled for no apparant reason.
(The comment in zst.rs was wrong, the test was disabled also for miri execution.)
Delete env_args test as the args can actually be queried with MIR-libstd (currently, they are always empty)
2017-05-30 10:41:38 -07:00
Ralf Jung
cd6e3e6431 If a "start" lang item incl. MIR is present, run that instead of running main directly
This fixes the memory leaks when running a simple "Hello World" with MIR-libstd
2017-05-30 10:41:38 -07:00
Ralf Jung
14b16dcf45 use proper span for TLS dtors; fix some nits 2017-05-30 10:41:38 -07:00
Ralf Jung
a66f359d91 support TLS destructors 2017-05-30 10:41:38 -07:00
Ralf Jung
452cc9b396 handle statics with linkage: initialize them with NULL 2017-05-30 10:41:38 -07:00
David Renshaw
48662d5199 update for upstream changes with ty::ParamEnv 2017-05-23 23:40:39 -04:00
Oliver Schneider
07229d6305 Rustup to rustc 1.19.0-nightly (2d4ed8e0c 2017-05-03) 2017-05-04 17:42:43 +02:00
Oliver Schneider
671ccca891 Update to rustc 1.19.0-nightly (777ee2079 2017-05-01) 2017-05-02 10:44:35 +02:00
David Renshaw
d666bd7e62 update for latest rustc nightly: type_needs_drop_given_env() and type_contents() are gone 2017-04-23 13:45:04 -04:00
Oliver Schneider
065e9593b4 Rustup to rustc 1.17.0-nightly (7846dbe0c 2017-03-26) 2017-03-27 10:13:21 +02:00
Oliver Schneider
dc1b0fb436 Compiles again 2017-03-21 13:53:55 +01:00
Oliver Schneider
64d196a9dc Use deterministic keyword renaming (append _) 2017-03-14 09:23:15 +01:00
Oliver Schneider
4cb1f639b7 Rustup to rustc 1.17.0-nightly (824c9ebbd 2017-03-12) 2017-03-13 11:28:45 +01:00
Oliver Schneider
35502fd47d rustup 2017-02-24 10:39:55 +01:00
Oliver Schneider
2e185485b3
use the lvalue_field function more often to save needless force_allocations 2017-02-10 14:34:10 +01:00
Scott Olson
459f898b91 Reformatting. 2017-02-10 03:28:17 -08:00
Scott Olson
d8d813c4ad Resolve associated constants.
Fixes #130.
2017-02-10 03:22:59 -08:00
Oliver Schneider
fd3bbfde04
Merge remote-tracking branch 'origin/master' 2017-02-07 19:22:44 +01:00
Oliver Schneider
01ac19d358 fix static mut accidental dealloc or freeze 2017-02-07 19:20:16 +01:00
Scott Olson
52ae8eb794 Log global/promoted frame creation. 2017-02-07 07:02:45 -08:00
Scott Olson
7acbf7ef74 Cleanup: EvalResult<'a, ()> becomes EvalResult<'a>. 2017-02-04 13:09:10 -08:00
Scott Olson
0451b74c62 Merge pull request #108 from oli-obk/packd
implement packed struct field access
2017-02-03 15:47:47 -08:00
Oliver Schneider
74d1a9a26c more documentation of unintuitive packed struct solution 2017-01-31 10:59:38 +01:00
Oliver Schneider
5e34740ab6 implement packed struct field access 2017-01-30 09:44:52 +01:00
Andrew Cann
1752af689f TyCtxt's map renamed to hir 2017-01-29 15:21:24 +08:00
Scott Olson
ac2bf50f9d Use the new field init shorthand. 2017-01-16 18:45:30 -08:00
Oliver Schneider
3a658e09e8
rustup (i128) 2017-01-12 08:28:42 +01:00
Scott Olson
2a5029ed6d Update MIR passes to match rustc. 2016-12-18 23:31:23 -08:00
Scott Olson
fe19a014ff Move lvalue data structures out of eval_context. 2016-12-07 20:58:48 -08:00
Scott Olson
4702d97093 Flatten 'interpreter' mod tree into the root. 2016-12-07 20:30:37 -08:00