Commit Graph

3003 Commits

Author SHA1 Message Date
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
Scott Olson
1186a7d05d Merge pull request #18 from oli-obk/hold_the_state
Hold the state
2016-06-09 21:13:20 -06: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
Oliver Schneider
8fec1a7aa7
merge FnEvalContext into GlobalEvalContext 2016-06-09 16:01:53 +02:00
Oliver Schneider
05eaa522a5
rename static_item to global_item 2016-06-09 11:27:12 +02:00
Oliver Schneider
040a501a68
make sure globals that yield function pointers aren't treated like functions 2016-06-09 11:27:02 +02:00
Oliver Schneider
225a6a272d
we already have the constant's type, no need to recompute from the def_id 2016-06-09 11:16:09 +02:00
Oliver Schneider
59d858a0b1
refactor away the closures and Event enum 2016-06-09 10:56:23 +02:00
Oliver Schneider
cbbf58bbaa
the statement/terminator has already been computed, don't do it again 2016-06-08 12:47:24 +02:00
Oliver Schneider
2178961262
improve the docs of ConstantId 2016-06-08 12:35:15 +02:00
Oliver Schneider
240f0c0dd6
improve fn argument naming 2016-06-08 12:30:25 +02:00
Oliver Schneider
3868a62713
put ConstantId's common fields into a struct 2016-06-08 11:46:37 +02:00
Oliver Schneider
3de30e33f5
no more function pointers 2016-06-08 11:34:56 +02:00
Oliver Schneider
8b25bc8a9a
directly push stackframes for constants when they are encountered 2016-06-08 11:11:33 +02:00
Oliver Schneider
6b939bbd79
rebase leftovers 2016-06-08 11:11:08 +02:00
Oliver Schneider
1f27d3f7b3
don't cache the MIR in the Stepper 2016-06-08 10:26:48 +02:00
Oliver Schneider
c881cf10d8
clippy nits 2016-06-08 09:41:28 +02:00
Oliver Schneider
f42be6db54
move load_mir to the global eval context 2016-06-08 09:41:25 +02:00
Oliver Schneider
4d44a970a3
move some methods from FnEvalContext to GlobalEvalContext 2016-06-08 09:38:59 +02:00
Oliver Schneider
4c833a54d2
globally cache statics and promoteds 2016-06-03 17:41:36 +02:00
Oliver Schneider
dc85b11421
stop producing executable files in the root folder during benchmarks... 2016-06-03 17:14:36 +02:00
Oliver Schneider
4743842821
move constants stack to stackframe 2016-06-03 17:08:51 +02:00
Oliver Schneider
02eed64cc0
update documentation 2016-06-03 17:04:08 +02:00
Oliver Schneider
346560b318
factor out the statement index into the stackframe 2016-06-03 16:57:47 +02:00
Oliver Schneider
f995db9ffb
store the current block in the frame 2016-06-03 16:51:51 +02:00
Oliver Schneider
cc1ca73f57
jit interpretation of constants 2016-06-03 15:48:56 +02:00
Oliver Schneider
05f829cc9f
merge the three stacks in the interpreter 2016-06-02 18:21:32 +02:00
Oliver Schneider
38ae3526e5
remove a debug message that snuck into the commit 2016-06-02 18:03:22 +02:00
Oliver Schneider
97bc1d4bee
add a const fn test 2016-06-02 17:36:05 +02:00
Oliver Schneider
6ac64f19af
also step through promoteds, constants and statics 2016-06-02 17:05:17 +02:00
Oliver Schneider
5211178377
note that not all literal items are function pointers 2016-06-01 19:20:23 +02:00
Oliver Schneider
0c269a500c
rename iterator module to stepper 2016-06-01 19:17:18 +02:00
Oliver Schneider
77e1ec2b49
style: spaces between functions 2016-06-01 19:01:40 +02:00
Oliver Schneider
2405c81c65
stepwise interpretation 2016-06-01 18:50:20 +02:00
Oliver Schneider
5a8b0ab579
don't clone the MIR Rc in every iteration 2016-06-01 18:50:20 +02:00
Oliver Schneider
8398781132
remove one layer of indirection when interpreting const/static/main functions 2016-06-01 18:50:20 +02:00
Oliver Schneider
e73fa7733d
can't evaluate failed assertions yet 2016-06-01 18:50:20 +02:00
Scott Olson
66a812f3e1 Merge pull request #16 from oli-obk/logs
use the `log` crate + `env_logger`
2016-06-01 10:48:27 -06:00
Oliver Schneider
fee3a2c1a7
remove intermediate vars 2016-06-01 18:42:57 +02:00
Oliver Schneider
af41c54301
use format! compile time magics for indentation 2016-06-01 18:33:29 +02:00
Oliver Schneider
c62cce3116
wraparound when reaching indentation lvl 40 2016-06-01 18:18:01 +02:00
Oliver Schneider
b7df4fdc75
use a number for the maximum indentation instead of relying on str::len() 2016-06-01 17:58:50 +02:00
Oliver Schneider
f9a5416135
use MIRI_LOG instead of RUST_LOG, because rustc's output is very verbose 2016-06-01 17:32:57 +02:00
Scott Olson
c8151703b2 Merge pull request #15 from oli-obk/step_by_step
4 byte pointers + tests
2016-06-01 07:44:18 -06:00
Oliver Schneider
f1e4ef6c6f
re-introduce the module name to the logs and show vertical bars 2016-06-01 11:47:55 +02:00