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
e28f873756
actually error on failing miri-pass tests
...
+ remove a test that never succeeded
2016-09-26 17:49: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
c874290054
Merge remote-tracking branch 'origin/master' into dst
2016-09-26 11:27:59 +02:00
Scott Olson
1e3659eabb
Merge pull request #59 from oli-obk/master
...
enable A<Struct> -> A<Trait> downcasting where `A<Trait>` is a fat pointer
2016-09-23 18:07:02 -06: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
Scott Olson
d5e44712a4
Merge pull request #58 from oli-obk/master
...
only split the Fn* arguments in case of closures and function pointers
2016-09-21 08:16:08 -06:00
Oliver Schneider
21e924975d
only split the Fn* arguments in case of closures and function pointers
2016-09-21 15:57:13 +02:00
Scott Olson
07b8500505
Merge pull request #57 from oli-obk/master
...
fix enum down casting and backtrace panics
2016-09-21 07:29:08 -06: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
Scott Olson
6e5bdbe577
Add inital implementation of ByValPair.
...
There are still hacks left to clean up.
2016-09-19 04:39:01 -06:00
Scott Olson
678b9ca328
Print "(immutable)" when dumping allocations.
2016-09-19 04:10:51 -06:00
Scott Olson
c679c71def
Freeze static memory of string constants.
2016-09-19 04:10:18 -06:00
Scott Olson
85cba42a7b
There will never be a PrimVal for fat pointers.
...
Instead, there will be a `Value::ByValPair` variant for holding fat pointers
(among other things) modelled after `OperandValue::Pair` in rustc's trans.
2016-09-19 03:36:44 -06:00
Scott Olson
6c306f2254
Rename Value variants and simplify ByteStr consts.
...
The ByteStr change will make one less allocation for every byte string literal.
2016-09-19 03:35:38 -06:00
Scott Olson
20ced4a720
Replace const_to_ptr with const_to_value.
...
This reduces the number of allocations Miri makes drastically. The
`const_to_ptr` function was a lame hack that allocated for every since simple
constant, and all of those are avoided now, except for one extra allocation each
for string and bytestring literals which will be fixed in a followup commit.
There are a number of hacks such as `eval_operand_to_ptr` left over from this
commit, which will also be fixed in followup commits.
2016-09-19 02:19:34 -06:00
Scott Olson
814efe3b05
option_eq test passes now since casts are implemented.
2016-09-19 02:16:51 -06:00
Scott Olson
f3589d6835
Remove unused extern crate rustc_trans.
2016-09-17 14:50:56 -06:00
Scott Olson
8a2e2dd665
Merge pull request #56 from oli-obk/rustc_run_pass
...
various things that allow miri to crash less and execute more code
2016-09-16 02:36:09 -06:00
Oliver Schneider
31bbeb9eff
fix binding renaming in previous commit
2016-09-16 10:28:43 +02:00
Oliver Schneider
a670f43886
proper binding naming
2016-09-16 10:23:04 +02:00
Oliver Schneider
562c64d86a
add some sanity tests
2016-09-15 16:32:30 +02:00
Oliver Schneider
092f9d52d1
hackily fix calling function pointers through a Fn static dispatch
2016-09-15 16:14:53 +02:00
Oliver Schneider
0d2a403a51
run all tests found in folder given by MIRI_RUSTC_TEST env var
2016-09-15 16:13:54 +02:00