307 Commits

Author SHA1 Message Date
Oliver Schneider
c7039dbb2b
simplify the masked rhs computation 2016-06-20 18:01:35 +02:00
Oliver Schneider
001ae69212
remove the bad rhs value error and panic instead. the typechecker prevent this 2016-06-20 17:52:36 +02:00
Oliver Schneider
a088f105aa
add a comment explaining the magic numbers 2016-06-20 17:52:14 +02:00
Oliver Schneider
3e3aeab0ed
implement bit masks as the compiler would translate them 2016-06-20 17:16:45 +02:00
Oliver Schneider
0821a15476
no need for EvalContext::eval_binop 2016-06-20 16:57:36 +02:00
Oliver Schneider
68469be89b
rename function cache member 2016-06-20 16:52:53 +02:00
Oliver Schneider
b9ac85d2a9
rustc does overflow checking for us, don't duplicate it. 2016-06-20 16:52:43 +02:00
Oliver Schneider
a1082b9b1a
Merge remote-tracking branch 'origin/master' into oflo 2016-06-20 12:33:09 +02:00
Oliver Schneider
e90ee1674a
fix comparing of function pointers 2016-06-20 10:35:15 +02:00
Oliver Schneider
874d683bfa
improve method names and add documentation 2016-06-20 10:34:34 +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
Scott Olson
51edf7ede6 Rename max indentation constant for clarity. 2016-06-17 19:55:24 -06:00
Scott Olson
5ae4a0f2a9 Only indent trace logs. 2016-06-17 19:48:45 -06:00
Oliver Schneider
00eb198a82
implement fn -> unsafe fn pointer casts 2016-06-17 16:49:06 +02:00
Oliver Schneider
e3a2bf84e2
clippy 2016-06-17 16:03:11 +02: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
8db0bc0ce9 Merge pull request #27 from oli-obk/travis
create a miri-pass test that allows us to run miri for arbitrary targets
2016-06-16 14:03:41 -05:00
Oliver Schneider
82dc95c3ad
create a miri-pass test that allows us to run miri for arbitrary targets 2016-06-15 16:01:00 +02:00
Scott Olson
bac37e69d7 Merge branch 'wip' 2016-06-15 05:24:15 -06:00
Scott Olson
b24edd6a23 Merge pull request #24 from oli-obk/typesafe_fn_calls
Typesafe fn calls
2016-06-15 05:05:50 -06:00
Oliver Schneider
d82a79220b
use the logging framework instead of println! 2016-06-15 13:00:51 +02:00
Oliver Schneider
a55ac1fea8
pass arguments to start 2016-06-15 12:55:04 +02:00
Scott Olson
16f778ad20 Rename next_block to block and reorganize Frame fields. 2016-06-14 20:13:59 -06:00
Scott Olson
269f70007f Get the sysroot (like compiletest) in Miri itself. 2016-06-14 19:30:59 -06:00
Oliver Schneider
1bd00e8cb4
run start and main language item if provided 2016-06-14 11:52:45 +02:00
Oliver Schneider
c36dcff005
forbid calling functions through pointers of a different type 2016-06-14 10:34:54 +02:00
Oliver Schneider
55fd060cd8
don't use #[miri_run] anymore, but execute the main function 2016-06-13 15:33:05 +02:00
Oliver Schneider
fe9b455006
comment nit 2016-06-13 15:32:08 +02:00
Oliver Schneider
4d090fa693
report better errors when using a fn ptr as memory and vice versa 2016-06-13 11:39:15 +02:00
Oliver Schneider
3aa585e421
Merge remote-tracking branch 'origin/master' into function_pointers2 2016-06-13 11:24:01 +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
1c58b7c2ed Add hacky stub version of CheckedBinaryOp. 2016-06-11 13:10:42 -06:00
Scott Olson
71188ea2df Remove inception test for now. 2016-06-11 13:10:25 -06:00
Scott Olson
947e9a5c31 Fix infinite loop when debug trace is disabled. 2016-06-11 12:38:50 -06:00
Scott Olson
781c3a6660 Update for changes in rustc nightly. 2016-06-11 12:38:28 -06:00
Oliver Schneider
384623daa7
function pointers 2016-06-10 18:06:36 +02: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
9780729104
we already have the constant's type, no need to recompute from the def_id 2016-06-10 18:04:12 +02:00
Oliver Schneider
cea2a8ae9e
adjust lifetimes and bindings to the GlobalEvalContext -> EvalContext rename 2016-06-10 16:56:04 +02:00
Oliver Schneider
9c8f84caf7
style nit 2016-06-10 16:32:39 +02:00
Oliver Schneider
4fa328ef5f
remove unused method 2016-06-10 16:20:25 +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
3b804942fd
simplify the stepper interface 2016-06-10 12:34:15 +02:00
Oliver Schneider
8c3a066d8d
get rid of the constants cache in the stepper
this is possible due to the removal of `FnEvalContext`
2016-06-09 17:24:42 +02:00
Oliver Schneider
336206cec2
the type_size method's substs argument allows computing the locals before pushing the stack frame 2016-06-09 17:23:58 +02:00
Oliver Schneider
2dbd82d296
inline the call method into interpret_start_points 2016-06-09 16:49:40 +02:00
Oliver Schneider
fc935c10f8
print errors in one central location 2016-06-09 16:13:42 +02:00
Oliver Schneider
ba9e25b2eb
No more terminators 2016-06-09 16:08:34 +02:00