Alexander Regueiro
5b7bb32b0e
Rustup
2018-07-02 17:00:36 +01:00
Oliver Schneider
e1dbbe538f
Rustup
2018-07-01 16:01:42 +02:00
Dylan MacKenzie
5a7f4412ee
Implement Eq
and Hash
for MemoryData and Evaluator
...
In order to implement infinite loop detection while executing MIR, both
the implementor of `Machine` (`Evaluator`) and its associated type
(`MemoryData`), must implement `Eq` and `Hash`. This PR adds the
required trait implementations.
It's possible that the `Hash` implementations need to be improved; only
the `env_vars` field of `Evaluator` and the `thread_local` field of
`MemoryData` are actually being hashed. Omitting fields from a `Hash`
implementation is not incorrect, but could lead to collisions if the
ignored fields are changing constantly. Perhaps I should instead derive
`Hash` on a few more fields related to MIR validation?
2018-06-29 17:50:57 -07:00
bjorn3
d1de6781e8
Add missing pub
2018-06-12 07:30:29 +02:00
bjorn3
b04391c565
Split create_ecx out of eval_main
2018-06-11 18:51:40 +02:00
bjorn3
60669cbdfd
Rustup to rustc 1.28.0-nightly ( 2a0062974
2018-06-09)
2018-06-10 11:23:56 +02:00
bjorn3
94754de600
Convert legitimate failing errors to the new error format
2018-06-05 18:08:18 +02:00
Oliver Schneider
e1734470e7
Reenable the rustc tester
2018-06-03 13:08:51 +02:00
Oliver Schneider
cec51f8513
Use correct bit size when reading usize values
2018-06-03 13:08:51 +02:00
Oliver Schneider
8284b4e912
to_u64
and to_bytes
are horribly easy to use wrongly.
2018-06-03 13:08:51 +02:00
Oliver Schneider
1d9c56ddf4
TlsKey is messy because it changes types between systems
2018-06-03 13:08:51 +02:00
Oliver Schneider
1bd088a96c
memcmp
returns i32
2018-06-03 13:08:51 +02:00
bjorn3
4143922d1d
Partial rustup
2018-06-03 13:08:51 +02:00
bjorn3
1437a975d6
s/allocate_cached/allocate_bytes
2018-06-03 13:08:51 +02:00
bjorn3
98802769a1
Rustup to rustc 1.28.0-nightly ( a3085756e
2018-05-19)
2018-06-03 13:08:51 +02:00
Oliver Schneider
27fe263669
Move back to a normal folder structure
2018-05-09 14:37:00 +02:00
Oliver Schneider
4cfa7c5d12
Prep miri repository for rustc merger
2017-07-21 11:30:56 +02:00
Oliver Schneider
d9d792ba03
Export types and functions needed by priroda
2017-07-19 11:06:07 +02:00
Oliver Schneider
4ce8be9538
Produce ConstInt
from a def_id
for rustc
2017-07-12 10:38:54 +02:00
Oliver Schneider
2d52054fb2
Rename Pointer to MemoryPointer
2017-07-11 10:32:01 +02:00
Oliver Schneider
5f67ba76f5
Removed unused crate imports
2017-05-05 10:37:04 +02:00
Oliver Schneider
07229d6305
Rustup to rustc 1.19.0-nightly ( 2d4ed8e0c
2017-05-03)
2017-05-04 17:42:43 +02:00
David Renshaw
f0bca59ad0
remove feature opt-ins that are no longer needed
2017-03-22 18:59:26 -04:00
Oliver Schneider
35502fd47d
rustup
2017-02-24 10:39:55 +01:00
Scott Olson
9e24893879
Rename "vtable" mod to "traits".
2017-02-10 03:07:28 -08:00
Scott Olson
684f757139
Make clippy-suggested fixes.
2017-01-22 00:19:35 -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
6d1c47b6ef
Update for changes in rustc.
2016-12-21 17:23:28 -08:00
Scott Olson
9093188a5c
Clean up useless pub use
.
2016-12-21 17:15:03 -08:00
Scott Olson
1af63171f8
Split primval into operator and value.
2016-12-10 16:23:07 -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
Scott Olson
020f0b782b
Refactor passing of resource limits.
2016-11-26 17:54:19 -08:00
Oliver Schneider
19c44dab05
rustup to rustc 1.14.0-nightly ( 7c69b0d5a
2016-11-01)
2016-11-03 10:38:08 +01:00
Oliver Schneider
ed679c3d23
make some pieces public that are required by priroda
2016-10-20 13:10:22 +02:00
Scott Olson
00ae07be07
Update for changes in rustc.
2016-10-14 22:59:50 -06:00
Oliver Schneider
8df6e7275a
export StackPopCleanup
(needed by priroda)
2016-09-20 13:35:19 +02:00
Scott Olson
f3589d6835
Remove unused extern crate rustc_trans.
2016-09-17 14:50:56 -06:00
Scott Olson
64eca52ad3
Run Mir passes (copied from rustc pre-trans).
2016-06-30 21:33:24 -06:00
Scott Olson
756d73b3ca
Remove filling drop to prep for elaborated drops.
2016-06-30 21:30:03 -06:00
Oliver Schneider
b91338b220
things priroda needs to be public or changed
2016-06-30 11:29:25 +02:00
Scott Olson
7bda9f24d6
Make step
an EvalContext
method and remove Stepper
.
2016-06-23 00:02:47 -06:00
Oliver Schneider
a1082b9b1a
Merge remote-tracking branch 'origin/master' into oflo
2016-06-20 12:33:09 +02:00
Scott Olson
f4cf3f3636
Get benchmarks running again and factor out some parts in common with bin/miri.rs.
2016-06-17 21:35:37 -06:00
Oliver Schneider
3ba4f6db04
remove code repetition and fix overflowing intrinsics
2016-06-17 15:16:41 +02:00
Oliver Schneider
58b4fac1ce
implement overflowing ops
2016-06-17 13:09:20 +02:00
Scott Olson
024b3d2b45
Merge remote-tracking branch 'oli/function_pointers2' into fixup-function_pointers2
2016-06-11 16:46:01 -06:00
Scott Olson
781c3a6660
Update for changes in rustc nightly.
2016-06-11 12:38:28 -06:00
Oliver Schneider
67211218f0
display the full path to the function if no MIR is found
2016-06-10 18:04:12 +02:00
Oliver Schneider
6af821f202
rename GlobalEvalContext to EvalContext
2016-06-10 16:20:17 +02:00
Oliver Schneider
b3c1713b89
expose a minimal API and use it in the binary
2016-06-10 13:01:51 +02:00
Oliver Schneider
2405c81c65
stepwise interpretation
2016-06-01 18:50:20 +02:00
Oliver Schneider
4f3f2020ed
add the log
crate + env_logger
to be able to choose the log granularity at runtime
2016-06-01 11:47:41 +02:00
Scott Olson
b859444562
Do or do not.
2016-05-09 18:52:53 -06:00
Scott Olson
4a863c2a6a
Replace Repr with the new ty::layout in rustc.
...
Lvalues still need work (see lvalue_layout).
2016-04-23 00:03:59 -06:00
Scott Olson
910ad2a391
Implement filling drop.
2016-04-07 05:56:07 -06:00
Scott Olson
c55320a3db
Update for changes in rustc master.
2016-04-06 19:00:34 -06:00
Scott Olson
600ff26e65
Refactor handling of relocations.
2016-03-21 05:27:34 -06:00
Scott Olson
20f152296a
Implement min_align_of and a hacky mul_with_overflow.
2016-03-19 11:01:33 -06:00
Scott Olson
19bf6eec6b
Arena allocate and cache type representations.
2016-03-17 05:32:00 -06:00
Scott Olson
a7c7764c93
Reorganize and simplify.
2016-03-14 21:48:00 -06:00
Scott Olson
f145017319
Add support for pointers.
2016-03-13 14:36:25 -06:00
Scott Olson
6b4d2b11a6
Add support for smaller signed integers.
2016-03-13 01:43:28 -06:00
Scott Olson
7c5ea62156
Move memory module to its own file.
2016-03-05 00:48:23 -06:00
Scott Olson
2776f55d0c
WIP: Switching to a new byte-based value representation.
2016-02-27 19:20:25 -06:00
Scott Olson
064c3521c3
Restructure into separate binary and library.
2015-11-21 21:20:06 -06:00