Commit Graph

348 Commits

Author SHA1 Message Date
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
Oliver Schneider 49dfd82fd3 fallout because compiletest tried to use rustc's log crate 2016-06-01 11:47:55 +02:00
Oliver Schneider 4f3f2020ed add the log crate + env_logger to be able to choose the log granularity at runtime 2016-06-01 11:47:41 +02:00
Oliver Schneider b3a175f730 add dependencies and run cargo update 2016-06-01 11:47:41 +02:00
Oliver Schneider f910019da1 add a note to Memory::new mentioning tcx.data_layout 2016-06-01 11:24:23 +02:00
Oliver Schneider 29516c3129 improve out of bounds error message 2016-06-01 11:22:37 +02:00