Commit Graph

148 Commits

Author SHA1 Message Date
Scott Olson
3ae6b80ab1 Remove Pointer's repr field and make it Copy.
This required refactoring throughout and math operators have been temporarily
commented out.
2016-03-07 07:10:52 -06:00
Scott Olson
6d6cd1f420 Rename 'block' to 'current_block'. 2016-03-07 04:50:44 -06:00
Scott Olson
586bc5d1da Reimplement 'if' conditions. 2016-03-07 04:48:12 -06:00
Scott Olson
a1adc55370 Add basic bool support. 2016-03-07 04:44:03 -06:00
Scott Olson
d330bd6a32 Glob import variants before matching and simplify some code. 2016-03-07 04:10:57 -06:00
Scott Olson
4f4e0b5051 Implement a call stack using the new memory system. 2016-03-06 04:23:24 -06:00
Scott Olson
e784659568 Sort imports. 2016-03-05 00:52:14 -06:00
Scott Olson
7c5ea62156 Move memory module to its own file. 2016-03-05 00:48:23 -06:00
Scott Olson
a29a6e0db9 Refactor integer reading and writing. 2016-03-05 00:45:54 -06:00
Scott Olson
6686944ded Refactor memory range access error checnking. 2016-03-05 00:23:37 -06:00
Scott Olson
45677b453c Rename memory "values" to "allocations". 2016-03-04 23:44:49 -06:00
Scott Olson
3d9a91d0f7 Remove alloc_id_hack. 2016-03-04 23:22:41 -06:00
Scott Olson
53403ee8bd WIP: Add some support for tuples. Optimize memory copies. 2016-03-04 23:22:24 -06:00
Scott Olson
83fbfb95c0 WIP: Add EvalError/EvalResult and apply throughout. 2016-02-28 01:07:03 -06:00
Scott Olson
255927bc0c WIP: Support unary integer ops again. 2016-02-28 00:49:27 -06:00
Scott Olson
21f97a436b WIP: Rename eval_constant to const_to_ptr. 2016-02-27 22:10:10 -06:00
Scott Olson
2776f55d0c WIP: Switching to a new byte-based value representation. 2016-02-27 19:20:25 -06:00
Scott Olson
b263886598 Update for changes in rustc master. 2016-02-25 16:06:50 -06:00
Scott Olson
d4c0ef420d Remove old comments. 2016-02-18 19:24:42 -06:00
Scott Olson
1c7738d38a Update for changes in rustc master. 2016-02-18 19:06:22 -06:00
Scott Olson
416bc12669 Update for changes in rustc master. 2016-01-11 20:30:15 -06:00
Scott Olson
685d9f7e39 Match Terminators exhaustively. 2016-01-07 16:08:53 -06:00
Scott Olson
56ceebf869 Update for changed in Rust master. 2016-01-06 21:05:08 -06:00
Scott Olson
a3ca2db48a Add support for references. 2015-12-28 22:24:05 -06:00
Scott Olson
fbf49715c9 Update for upstream addition of ItemKind. 2015-12-18 22:22:34 -06:00
Scott Olson
df96c61591 Implement cross-crate fn calls by loading Mir from crate metadata. 2015-12-17 14:03:01 -06:00
Scott Olson
96128cff85 Update for changes in rustc. 2015-12-12 00:43:29 -06:00
Scott Olson
caaec388b5 Update for changes in rustc. 2015-12-04 13:11:32 -06:00
Scott Olson
2010b14ac8 Add initial support for matching on enums.
This adds support for:
  * the Switch terminator
  * the Downcast projection rvalue
  * the Index projection rvalue
2015-11-21 01:31:09 -06:00
Scott Olson
12bce479b3 Support ADT aggregate rvalues and allocation. 2015-11-21 01:07:32 -06:00
Scott Olson
e05df509fb Refactor push_stack_frame. 2015-11-20 20:52:33 -06:00
Scott Olson
0a2f43e553 Write fn call return values directly into an lvalue the caller provides. 2015-11-20 20:49:25 -06:00
Scott Olson
aa4b82209e Fix another long line. 2015-11-20 16:18:46 -06:00
Scott Olson
651896a0ae Fix an overlong line formatting issue. 2015-11-20 16:16:34 -06:00
Scott Olson
39d9d40e40 Remove glob uses and slightly refactor. 2015-11-20 15:54:02 -06:00
Scott Olson
fae7a5685f Refactor stack frames and pointers in preparation for aggregates like ADTs. 2015-11-20 15:34:28 -06:00
Scott Olson
f674aeba97 Add a constant flag to enable and disable execution trac printouts. 2015-11-20 15:32:39 -06:00
Scott Olson
c7244afea1 Implement SwitchInt (for some match expressions). 2015-11-19 16:49:13 -06:00
Scott Olson
7ce6a250d4 Implement function calls. 2015-11-19 07:07:47 -06:00
Scott Olson
7112fc8cd1 Handle Goto, Panic, and If terminators properly. 2015-11-19 03:23:50 -06:00
Scott Olson
c37b2bba05 Add call frames to track offsets of values in the value stack. 2015-11-16 15:22:27 -06:00
Scott Olson
fa1c04f194 Factor out lvalue evaluation and use a single value stack. 2015-11-14 01:19:07 -06:00
Scott Olson
694facf395 Factor out constant evaluation. 2015-11-12 17:44:29 -06:00
Scott Olson
71f70e95ed Implement unary operators for integers. 2015-11-12 17:24:43 -06:00
Scott Olson
b099391aaf Check actual vs. expected values. 2015-11-12 17:11:41 -06:00
Scott Olson
7453761405 Implement all binary operations on ints. 2015-11-12 16:13:35 -06:00
Scott Olson
4e80530bdb Sort uses. 2015-11-12 16:13:22 -06:00
Scott Olson
cf49d6b080 Add the interpreter from my rustc branch and hook it up to CompileController. 2015-11-12 15:50:58 -06:00