Commit Graph

271 Commits

Author SHA1 Message Date
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 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
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 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 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
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