Scott Olson
3d6dbb89dd
Fix some long lines.
2016-10-14 03:52:23 -06:00
Scott Olson
8143a05812
Implement atomic_{load,store}.
2016-10-14 03:49:02 -06:00
Scott Olson
5f65ee2713
Refactor in preparation for Value
locals.
...
Turning locals into `Vec<Value>` will allow writing `PrimVal` results
directly into the locals array without creating `memory::Allocation`s
for every local.
This will entail passing around a generalized kind of `Lvalue` instead
of `Pointer`s for the destinations of operations. Replacing `Pointer`
with `Lvalue` is mostly done with this commit, but expanding `Lvalue`
will come later.
This commit turns every local from `Pointer` into `Value::ByRef(ptr)`.
Locals which are `Value::ByVal(prim_val)` will come in a later commit.
2016-10-14 03:31:45 -06:00
Scott Olson
911e46fb0e
Update for changes in rustc.
2016-10-03 20:45:50 -06:00
Oliver Schneider
de38015e47
rustup
2016-10-01 15:33:07 +02:00
Oliver Schneider
c9914cd3ae
fix enum variants with multiple fields
2016-09-30 10:45:52 +02:00
Oliver Schneider
8c666b30ed
remove some debug output
2016-09-30 10:45:13 +02:00
Oliver Schneider
18c8c852e4
factor out shared code
2016-09-29 16:42:01 +02:00
Oliver Schneider
f1c5bf2281
fix intrinsics and implement more of them
2016-09-29 15:58:26 +02:00
Scott Olson
870bb4d862
Reword inline assembly error.
2016-09-28 11:48:43 -06:00
Oliver Schneider
787feaad4b
allow tuple field indexing into anonymous tuples
2016-09-28 18:22:53 +02:00
Oliver Schneider
51abf19e12
don't panic on asm!
2016-09-28 18:22:25 +02:00
Oliver Schneider
1c18f6ddfa
implement slice patterns
2016-09-28 18:22:09 +02:00
Oliver Schneider
f1f6205145
we can get the Session from the TyCtxt
2016-09-27 18:06:51 +02:00
Oliver Schneider
5b89f3fb94
implement Arc<T> -> Arc<Trait> unsizing
2016-09-27 18:01:33 +02:00
Oliver Schneider
f4516e738b
be able to find statics in other crates
2016-09-27 17:02:04 +02:00
Oliver Schneider
db8185e439
print stacktrace when miri can't find the MIR for something
2016-09-27 17:01:06 +02:00
Oliver Schneider
69aeaea01f
rustup
2016-09-27 16:59:48 +02:00
Oliver Schneider
d6f1ba89ce
fix matching on chars
...
fixes #63
2016-09-27 11:10:25 +02:00
Oliver Schneider
7e29392ac4
fix warnings
2016-09-27 10:39:14 +02:00
Oliver Schneider
055c1b14f7
remove FIXME cleared up in the PR
2016-09-27 10:36:44 +02:00
Oliver Schneider
7b70f4fe2c
typecheck write_value
for ByValPair
2016-09-27 10:33:47 +02:00
Oliver Schneider
d2d73a908d
reintroduce Lvalue and LvalueExtra
2016-09-27 10:14:53 +02:00
Oliver Schneider
5d1080d0ca
refactor Lvalue
and PrimVal::{SlicePtr, VtablePtr}
into Value::ByValPair
2016-09-26 17:49:30 +02:00
Oliver Schneider
fe614e342d
remove move_value
, which is a dupe of write_value
2016-09-26 11:40:09 +02:00
Oliver Schneider
fcbaf990f2
check Pointer::to_int
for non-integer pointers
2016-09-26 11:37:23 +02:00
Oliver Schneider
b3190359df
refactor away get_fat_ptr
2016-09-23 15:48:23 +02:00
Oliver Schneider
d743c0784e
clean up get_fat_ptr usage in Unsize
2016-09-23 15:23:01 +02:00
Oliver Schneider
7714cccf26
implement "type_name" intrinsic
2016-09-23 10:38:30 +02:00
Oliver Schneider
2282289ad5
refactor away intermediate allocations, stage1
2016-09-23 10:27:14 +02:00
Oliver Schneider
38748fa615
refactor away IntegerPtr
2016-09-22 15:47:16 +02:00
Oliver Schneider
875a4542f9
remove the ZST allocation and abort all zero byte writes/reads
2016-09-22 15:22:00 +02:00
Oliver Schneider
0690a26ddf
make Memory::dump use trace!
instead of println!
2016-09-22 13:01:08 +02:00
Oliver Schneider
0f578f0d2e
fully implement size_of_val
and add various tests that now succeed
2016-09-22 13:00:43 +02:00
Oliver Schneider
17e336c7d9
Merge branch 'master' of https://github.com/tsion/miri
2016-09-22 09:50:15 +02:00
Scott Olson
5b012edc7a
Rename AbstractPtr to Ptr.
2016-09-21 23:23:50 -06:00
Scott Olson
840594115d
Update for changes in rustc.
2016-09-21 23:16:31 -06:00
Scott Olson
89b9b3536e
Remove more eval_operand_to_ptr.
2016-09-21 23:14:31 -06:00
Oliver Schneider
145cbf844c
enable A<Struct> -> A<Trait> downcasting
2016-09-21 18:00:04 +02:00
Oliver Schneider
21e924975d
only split the Fn* arguments in case of closures and function pointers
2016-09-21 15:57:13 +02:00
Oliver Schneider
75ccfd57a5
remove leftover debug print
2016-09-21 11:03:41 +02:00
Oliver Schneider
16f6ae3933
fix calling Fn closures as FnOnce closures
2016-09-20 18:31:55 +02:00
Oliver Schneider
4ab704c57d
implement more intrinsics
2016-09-20 16:05:30 +02:00
Oliver Schneider
8df6e7275a
export StackPopCleanup
(needed by priroda)
2016-09-20 13:35:19 +02:00
Oliver Schneider
477d1c20f4
fix enum variant downcasting
2016-09-20 13:34:53 +02:00
Oliver Schneider
1e0b3b207d
prep for eddyb's find_method
2016-09-20 12:52:01 +02:00
Oliver Schneider
63cc7fc9e8
fix miri backtrace panic
2016-09-20 12:51:48 +02:00
Scott Olson
c1ae916a64
Remove a few instances of eval_operand_to_ptr.
2016-09-19 19:01:28 -06:00
Scott Olson
63100401db
Simplify read_primval of {i,u}size.
2016-09-19 04:56:09 -06:00
Scott Olson
689bccbed1
Fix comment typo.
2016-09-19 04:49:21 -06:00