Commit Graph

360 Commits

Author SHA1 Message Date
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
Scott Olson
a8d0812ed1 Merge pull request #20 from oli-obk/error_reporting
various fixes and refactorings
2016-06-10 09:54:22 -06: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
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