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 |
|