Scott Olson
|
dd3d58f249
|
Reimplement field lvalue projection.
|
2016-03-13 06:48:04 -06:00 |
|
Scott Olson
|
6d37e7fc29
|
Reimplement sum type switching.
|
2016-03-13 06:30:28 -06:00 |
|
Scott Olson
|
80d12601ff
|
Write enum discriminants.
|
2016-03-13 06:05:48 -06:00 |
|
Scott Olson
|
cc8b8efd33
|
Allow switching on non-integer types.
|
2016-03-13 04:50:16 -06:00 |
|
Scott Olson
|
96c51dc8ed
|
Make sum repr discriminant an arbitrary repr.
|
2016-03-13 01:55:48 -06:00 |
|
Scott Olson
|
dad5edd4f3
|
Unnest integer reprs.
|
2016-03-13 01:48:07 -06:00 |
|
Scott Olson
|
6b4d2b11a6
|
Add support for smaller signed integers.
|
2016-03-13 01:43:28 -06:00 |
|
Scott Olson
|
c1edb9f978
|
More work for multiple int sizes.
|
2016-03-13 01:14:20 -06:00 |
|
Scott Olson
|
397dbd909a
|
Add initial support for different int sizes.
|
2016-03-12 23:15:53 -06:00 |
|
Scott Olson
|
7cda22f8c5
|
Add initial enum initialization support.
|
2016-03-12 22:27:54 -06:00 |
|
Scott Olson
|
1370008576
|
Restructure aggregates and pave the way for enums.
|
2016-03-12 22:15:59 -06:00 |
|
Scott Olson
|
346618cd2b
|
Fix 0-sized writes being treated as out of bounds.
|
2016-03-12 21:32:05 -06:00 |
|
Scott Olson
|
bffbb89354
|
Update for changes in rustc master.
|
2016-03-12 20:23:48 -06:00 |
|
Scott Olson
|
8a0b95bc8b
|
Support structs and single-variant enums.
|
2016-03-11 21:27:54 -06:00 |
|
Scott Olson
|
fd10ec9278
|
Clean up unused things.
|
2016-03-07 10:14:47 -06:00 |
|
Scott Olson
|
0cb7e3fae0
|
Support SwitchInt for integer types.
|
2016-03-07 08:22:18 -06:00 |
|
Scott Olson
|
e41af43dbf
|
Re-add support for integer unary ops.
|
2016-03-07 07:57:08 -06:00 |
|
Scott Olson
|
f72b0c9b12
|
Make formatting consistent.
|
2016-03-07 07:50:49 -06:00 |
|
Scott Olson
|
619daf0129
|
Re-add support for integer binops.
|
2016-03-07 07:48:38 -06:00 |
|
Scott Olson
|
83adde623f
|
Simplfy memory allocation.
|
2016-03-07 07:19:43 -06:00 |
|
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
|
b0683c4c72
|
Remove Allocation's Clone impl.
|
2016-03-05 00:50:53 -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
|
5e0ba54d00
|
Move miri binary source into src/bin.
|
2015-12-12 00:46:03 -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
|
064c3521c3
|
Restructure into separate binary and library.
|
2015-11-21 21:20:06 -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 |
|