Commit Graph

68 Commits

Author SHA1 Message Date
Scott Olson
5f07e2ebd3 Merge branch 'new-data-layout' 2016-05-08 19:31:28 -06:00
Scott Olson
9e289fa0aa Fully handle RawNullablePointer layout. 2016-04-30 01:04:17 -06:00
Andre Bogus
de64670de0 Fixed some clippy warnings 2016-04-29 06:01:17 +02:00
Scott Olson
4a863c2a6a Replace Repr with the new ty::layout in rustc.
Lvalues still need work (see lvalue_layout).
2016-04-23 00:03:59 -06:00
Scott Olson
e81d88d236 Use 8-byte pointers on 32-bit hosts for now.
This will be target-dependent and host-independent eventually.
2016-04-15 03:28:18 -06:00
Scott Olson
84f21584ea Fix drop fill checking on 32-bit hosts. 2016-04-15 03:16:35 -06:00
Scott Olson
a69ad6703f Store AllocIds directly in allocation map. 2016-04-09 19:31:53 -06:00
Scott Olson
910ad2a391 Implement filling drop. 2016-04-07 05:56:07 -06:00
Scott Olson
6be14eab15 Handle missing allocations in Memory::dump. 2016-04-07 03:07:57 -06:00
Scott Olson
1f6583fe06 Implement drop/deallocation for Box. 2016-04-07 03:02:02 -06:00
Scott Olson
f4dce09c97 Print sizes in allocation dumps. 2016-04-06 17:33:24 -06:00
Scott Olson
f472018fbb Partially implement reallocation (e.g. for growing Vecs). 2016-04-06 17:29:56 -06:00
Scott Olson
284404da06 Fix undef mask initialization and test undef reads. 2016-04-06 04:35:25 -06:00
Scott Olson
c08ddaaa48 Implement a naive, slow version of undef mask copying. 2016-04-06 04:08:52 -06:00
Scott Olson
8a0aa9291a Switch to bitmask-based undef mask. 2016-04-06 03:45:06 -06:00
Scott Olson
bdba4641cc Rearrange code in memory.rs. 2016-04-04 20:33:41 -06:00
Scott Olson
62294d0c42 Mark bytes undefined in uninit intrinsic. 2016-03-28 16:37:07 -06:00
Scott Olson
56e118f86c Mark partially-overwritten relocations as undefined. 2016-03-27 00:29:02 -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
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
207463d9a0 Add array indexing for-loop test. 2016-03-21 02:37:31 -06:00
Scott Olson
0de1bbefd5 Refactor isize/usize read/writes. 2016-03-20 23:24:27 -06:00
Scott Olson
dbd01d071a Refactor some names. 2016-03-20 22:07:25 -06:00
Scott Olson
2e12b220be Stop unintentionally clearing source relocations when copying. 2016-03-20 20:15:13 -06:00
Scott Olson
26c4772f51 Implement string literals. 2016-03-18 23:19:39 -06:00
Scott Olson
dbc9913b7d Implement pointer primvals and comparison ops on them. 2016-03-18 23:03:46 -06:00
Scott Olson
de10839f96 Avoid an integer underflow error. 2016-03-18 12:11:57 -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
432619ea5e Use total size instead of max variant size in aggregates. 2016-03-17 04:57:50 -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
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
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
9d1d96ce07 Add unsigned integers. 2016-03-14 23:03:31 -06:00