Scott Olson
|
56e118f86c
|
Mark partially-overwritten relocations as undefined.
|
2016-03-27 00:29:02 -06:00 |
|
Scott Olson
|
62fab9268e
|
Fix bug where &str's lengths were not copied.
|
2016-03-26 23:57:14 -06:00 |
|
Scott Olson
|
acf2ceb534
|
Check for undefinedness when reading from memory.
|
2016-03-26 23:56:49 -06:00 |
|
Scott Olson
|
68ccf3904e
|
Add method for checking if a range is defined in an allocation.
|
2016-03-26 23:25:35 -06:00 |
|
Scott Olson
|
33e924d383
|
Add undefined byte tracking.
|
2016-03-26 22:25:08 -06:00 |
|
Scott Olson
|
5451b6115b
|
Reorganize memory methods.
|
2016-03-23 21:40:58 -06:00 |
|
Scott Olson
|
87458955dd
|
Refactor memory/allocation handling.
|
2016-03-23 19:44:05 -06:00 |
|
Scott Olson
|
f96c76e878
|
Use Box<[u8]> instead of Vec<u8> for allocations.
|
2016-03-22 00:48:28 -06:00 |
|
Scott Olson
|
e6c58d8277
|
Assert the absence of fat pointers more often.
|
2016-03-21 18:51:08 -06:00 |
|
Scott Olson
|
69c41f5372
|
Write the correct size for PrimVall::IntegerPtr.
|
2016-03-21 05:42:42 -06:00 |
|
Scott Olson
|
600ff26e65
|
Refactor handling of relocations.
|
2016-03-21 05:27:34 -06:00 |
|
Scott Olson
|
59e25cc52c
|
Hide execution traces (they are getting long...)
|
2016-03-21 04:19:27 -06:00 |
|
Scott Olson
|
3fc9b7dd2c
|
Make more MIR match statements exhaustive.
|
2016-03-21 04:01:52 -06:00 |
|
Scott Olson
|
69f41facb9
|
Support intrinsics::overflowing_sub for vec![x; n].
|
2016-03-21 03:42:34 -06:00 |
|
Scott Olson
|
dc5fbf17ca
|
Support [x; N] array repeat rvalues.
|
2016-03-21 03:34:24 -06:00 |
|
Scott Olson
|
6eef7cc01a
|
Make mir::Rvalue handling exhaustive (some still unimplemented).
|
2016-03-21 03:19:48 -06:00 |
|
Scott Olson
|
877d2d900e
|
Abort miri if the Rust code had compilation errors.
|
2016-03-21 02:54:20 -06:00 |
|
Scott Olson
|
207463d9a0
|
Add array indexing for-loop test.
|
2016-03-21 02:37:31 -06:00 |
|
Scott Olson
|
2994732a81
|
Remove debug print.
|
2016-03-21 01:04:50 -06:00 |
|
Scott Olson
|
0de1bbefd5
|
Refactor isize/usize read/writes.
|
2016-03-20 23:24:27 -06:00 |
|
Scott Olson
|
95e225d765
|
Monomorphize lvalue types.
|
2016-03-20 23:11:06 -06:00 |
|
Scott Olson
|
49e8d3ef5e
|
Simplify handling of Result in eval_assignment.
|
2016-03-20 23:09:27 -06:00 |
|
Scott Olson
|
f7d0e0423b
|
Support fat pointer reborrowing, length checking.
|
2016-03-20 22:59:13 -06:00 |
|
Scott Olson
|
dbd01d071a
|
Refactor some names.
|
2016-03-20 22:07:25 -06:00 |
|
Scott Olson
|
40d0a1f67f
|
Implement length access and indexing for fixed-sized arrays.
|
2016-03-20 21:30:31 -06:00 |
|
Scott Olson
|
62c5083f30
|
Reduce duplication for integer reprs.
|
2016-03-20 20:33:46 -06:00 |
|
Scott Olson
|
c8781e3c01
|
Support fn pointer type sizes.
|
2016-03-20 20:16:40 -06:00 |
|
Scott Olson
|
2e12b220be
|
Stop unintentionally clearing source relocations when copying.
|
2016-03-20 20:15:13 -06:00 |
|
Scott Olson
|
493b5f649c
|
Implement the move_val_init intrinsic.
|
2016-03-20 19:23:57 -06:00 |
|
Scott Olson
|
28ccc2bf65
|
Implement the __rust_allocate C ABI function.
|
2016-03-20 18:41:39 -06:00 |
|
Scott Olson
|
6a000b37cc
|
Simplify Misc casts (still incorrect).
|
2016-03-19 11:07:19 -06:00 |
|
Scott Olson
|
20f152296a
|
Implement min_align_of and a hacky mul_with_overflow.
|
2016-03-19 11:01:33 -06:00 |
|
Scott Olson
|
6c6cea28bd
|
Write intrinsic result to correct lvalue.
|
2016-03-19 10:01:53 -06:00 |
|
Scott Olson
|
1eb66b6701
|
Handle "offset" intrinsic on integer pointers.
|
2016-03-19 09:09:13 -06:00 |
|
Scott Olson
|
668f2b6fd4
|
Implement bytestring literals.
|
2016-03-18 23:20:59 -06:00 |
|
Scott Olson
|
26c4772f51
|
Implement string literals.
|
2016-03-18 23:19:39 -06:00 |
|
Scott Olson
|
5d4a804100
|
Implement the dummy 'assume' intrinsic.
|
2016-03-18 23:04:07 -06:00 |
|
Scott Olson
|
dbc9913b7d
|
Implement pointer primvals and comparison ops on them.
|
2016-03-18 23:03:46 -06:00 |
|
Scott Olson
|
81f49ed1c0
|
Implement transmute.
|
2016-03-18 12:42:09 -06:00 |
|
Scott Olson
|
de10839f96
|
Avoid an integer underflow error.
|
2016-03-18 12:11:57 -06:00 |
|
Scott Olson
|
e910d40e6a
|
Add error message for missing MIR.
|
2016-03-18 12:11:39 -06:00 |
|
Scott Olson
|
31b8c17770
|
Reformat for consistency.
|
2016-03-18 11:53:24 -06:00 |
|
Scott Olson
|
b1af71e217
|
Implement more intrinsics.
|
2016-03-18 11:52:28 -06:00 |
|
Scott Olson
|
ee47ce3978
|
Normalize associated types when monomorphizing.
|
2016-03-18 11:52:13 -06:00 |
|
Scott Olson
|
27ff9ab914
|
Add initial support for closures.
|
2016-03-18 10:48:31 -06:00 |
|
Scott Olson
|
f8f31ea549
|
Remove some TODOs.
|
2016-03-17 08:01:34 -06:00 |
|
Scott Olson
|
12457607c3
|
Choose pointer size dynamically.
|
2016-03-17 07:53:26 -06:00 |
|
Scott Olson
|
0b37be71c2
|
Change invalid pointer read panic into Err.
|
2016-03-17 07:24:10 -06:00 |
|
Scott Olson
|
6477a5c694
|
Fix boolean tests and clean up code.
|
2016-03-17 06:39:29 -06:00 |
|
Scott Olson
|
0a8491b985
|
Simplify integer reading/writing.
|
2016-03-17 06:26:37 -06:00 |
|
Scott Olson
|
961137c018
|
Remove fn_ty argument from call_intrinsic for now.
|
2016-03-17 06:04:24 -06:00 |
|
Scott Olson
|
36dfde50f4
|
Extract intrinsic function handling.
|
2016-03-17 06:00:27 -06:00 |
|
Scott Olson
|
e057a156f2
|
Shorten ty_to_repr(ty).size() to ty_size(ty).
|
2016-03-17 05:49:16 -06:00 |
|
Scott Olson
|
49a26b93ca
|
whitespace.
|
2016-03-17 05:40:56 -06:00 |
|
Scott Olson
|
20da5cacc6
|
Cached those outputs.
|
2016-03-17 05:40:27 -06:00 |
|
Scott Olson
|
19bf6eec6b
|
Arena allocate and cache type representations.
|
2016-03-17 05:32:00 -06:00 |
|
Scott Olson
|
432619ea5e
|
Use total size instead of max variant size in aggregates.
|
2016-03-17 04:57:50 -06:00 |
|
Scott Olson
|
573c11cef5
|
Simplify make_aggregate_repr.
|
2016-03-17 04:55:12 -06:00 |
|
Scott Olson
|
3ebf5063a4
|
Merge sum and product representations.
|
2016-03-17 04:38:46 -06:00 |
|
Scott Olson
|
71ed952465
|
Simplify primitive type reprs.
|
2016-03-17 03:36:06 -06:00 |
|
Scott Olson
|
c55d4b07fd
|
Fix typo.
|
2016-03-17 03:20:49 -06:00 |
|
Scott Olson
|
7698a85d01
|
Simplify Repr::Array's elem size.
|
2016-03-17 03:19:13 -06:00 |
|
Scott Olson
|
4704bdca8d
|
Simplify PrimVals.
|
2016-03-17 03:12:15 -06:00 |
|
Scott Olson
|
abd235837a
|
Simplify FieldRepr sizes.
|
2016-03-17 03:11:40 -06:00 |
|
Scott Olson
|
a1fc284559
|
Simplify some Repr code.
|
2016-03-17 02:53:03 -06:00 |
|
Scott Olson
|
aa791a4085
|
Add fixmes to horrible casting code.
|
2016-03-17 01:11:06 -06:00 |
|
Scott Olson
|
d3b47c418f
|
WIP: Support array indexing including a get_unchecked test.
Required supporting:
* Trait method lookup
* The `offset` intrinsic
* Fat pointers
* Unsizing coercions and some raw pointer and integer casts
|
2016-03-16 23:28:49 -06:00 |
|
Scott Olson
|
59cf49baf4
|
Create a pointer-only version of eval_operand. Fix pointer offset.
|
2016-03-16 23:28:09 -06:00 |
|
Scott Olson
|
3ab619c5c3
|
Update for changes in rustc master.
|
2016-03-15 16:09:08 -06:00 |
|
Scott Olson
|
c18e7a68fb
|
Split Repr creation out of eval_lvalue.
|
2016-03-15 07:13:31 -06:00 |
|
Scott Olson
|
8f84d3abc6
|
Implement fixed-sized arrays.
|
2016-03-15 05:51:02 -06:00 |
|
Scott Olson
|
40462d64ef
|
Implement the size_of intrinsic.
|
2016-03-15 00:45:25 -06:00 |
|
Scott Olson
|
9d1d96ce07
|
Add unsigned integers.
|
2016-03-14 23:03:31 -06:00 |
|
Scott Olson
|
9e1bb9841e
|
Fix substs in nested generic function calls.
|
2016-03-14 22:26:39 -06:00 |
|
Scott Olson
|
fbb9dd260d
|
Clarify output allocations.
|
2016-03-14 22:08:38 -06:00 |
|
Scott Olson
|
b1475e5cd4
|
Implement Rvalue::Box allocations.
|
2016-03-14 22:05:50 -06:00 |
|
Scott Olson
|
a7c7764c93
|
Reorganize and simplify.
|
2016-03-14 21:48:00 -06:00 |
|
Scott Olson
|
f74d1dc7f1
|
Improve execution trace logging.
|
2016-03-14 21:29:25 -06:00 |
|
Scott Olson
|
4a22283d8b
|
Extract Terminator evaluation out of the main loop.
|
2016-03-14 21:18:39 -06:00 |
|
Scott Olson
|
7bac5963b9
|
Handle recursive calls without recursing in miri.
|
2016-03-14 20:39:51 -06:00 |
|
Scott Olson
|
66eb109070
|
Properly handle generic fn calls.
|
2016-03-13 18:33:26 -06:00 |
|
Scott Olson
|
1a27734a7b
|
Reimplement cross-crate function calls.
|
2016-03-13 17:19:42 -06:00 |
|
Scott Olson
|
7740268dd5
|
Reimplement crate-local function calls.
|
2016-03-13 16:08:23 -06:00 |
|
Scott Olson
|
373f8a7a87
|
Fix typo.
|
2016-03-13 14:46:24 -06:00 |
|
Scott Olson
|
f145017319
|
Add support for pointers.
|
2016-03-13 14:36:25 -06:00 |
|
Scott Olson
|
250e9615c5
|
Remove unused variable.
|
2016-03-13 08:01:22 -06:00 |
|
Scott Olson
|
2105914886
|
Remove old commented-out code.
|
2016-03-13 07:40:52 -06:00 |
|
Scott Olson
|
9aa3a8675f
|
Reimplement variant downcast projection.
|
2016-03-13 07:23:48 -06:00 |
|
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 |
|