Commit graph

333 commits

Author SHA1 Message Date
Chadtech
2ae63c87d6
Update compiler/mono/src/layout.rs
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
2020-08-31 17:02:02 -04:00
Folkert
f9cf4ea371 recursive tag unions 2020-08-31 14:29:09 +02:00
Chad Stearns
6b351d0375 Comply with clippy 2020-08-29 23:14:32 -04:00
Folkert
ba186bfe09 can store, but not load recursive fields 2020-08-22 16:01:04 +02:00
Folkert
f4e1aa046d basic infrastruture for recursive layouts 2020-08-21 00:14:24 +02:00
Folkert
294273283b make shared quicksort work 2020-08-15 00:14:20 +02:00
Richard Feldman
a4f4da7f5a Add Debug to LayoutCache 2020-08-12 23:05:51 -04:00
Folkert
20ddbeb528 implement optional fields in function pattern matches 2020-08-13 00:09:57 +02:00
Folkert
b4c5c2f793 add variable to list
stores the list type, so we can know whether it is unique
2020-08-10 21:05:57 +02:00
Folkert
9e75252ddb centralize decision on what is refcounted 2020-08-10 12:59:10 +02:00
Folkert
078c6df677 Merge remote-tracking branch 'origin/trunk' into refcount 2020-08-08 22:34:14 +02:00
Richard Feldman
c8e647ccfc Use is_zero_sized to remove lots of ptr_bytes 2020-08-07 20:08:06 -04:00
Folkert
22471167d3 introduce Ownership to list layout 2020-07-30 13:42:47 +02:00
Folkert
d784f62cd3 cleanup 2020-07-30 13:31:50 +02:00
Richard Feldman
588410395e Monomorphize optional fields 2020-07-18 22:13:09 -04:00
Richard Feldman
2ea527a293 Fix missing function in --release builds 2020-07-07 22:55:07 -04:00
Richard Feldman
ceefdc73b1 clippy stuff 2020-07-07 22:36:27 -04:00
Richard Feldman
cdce98d14f Unwrap the struct inside a single-tag union 2020-07-07 22:07:34 -04:00
Richard Feldman
55045e1cea Fix some tests and docs 2020-06-25 22:11:46 -04:00
Richard Feldman
ae58ef914d Sort fields in one pass, and drop 0-sized fields 2020-06-25 01:49:59 -04:00
Richard Feldman
487c1e3b75 Derive more things for UnionVariant 2020-06-25 01:26:07 -04:00
Richard Feldman
ec953e9a15 Drop zero-sized record fields 2020-06-25 01:25:52 -04:00
Richard Feldman
46c43da1de Improve debug output 2020-06-25 01:25:33 -04:00
Richard Feldman
72bdeb6e3c Avoid a clone 2020-06-25 00:41:33 -04:00
Richard Feldman
e0fc71526e Clean up some debugging info 2020-06-25 00:28:01 -04:00
Richard Feldman
72d865b753 Add a derive(Debug) 2020-06-25 00:15:02 -04:00
Richard Feldman
0550af17d2 Fix some empty list edge cases 2020-06-25 00:02:52 -04:00
Richard Feldman
2332650785 Add cfg(debug_assertions) where appropriate 2020-06-24 23:15:12 -04:00
Richard Feldman
c5fbb05ce9 Fix an error message 2020-06-24 23:15:03 -04:00
Richard Feldman
14c31d55ee Fix List.set monomorphization 2020-06-23 23:42:12 -04:00
Richard Feldman
f350c0ed52 Fix List.len monomorphization 2020-06-23 21:14:23 -04:00
Richard Feldman
88990c8711 Move Int and Float modules into Num 2020-06-22 23:25:38 -04:00
Richard Feldman
8d92920731 Re-add Float128 and Float16 2020-06-21 22:29:28 -04:00
Richard Feldman
56c637e399 Fix some constraint gen 2020-06-21 16:48:44 -04:00
Richard Feldman
32b9b1ea60 Remove FLOAT_ADD and similar 2020-06-21 15:35:38 -04:00
Richard Feldman
1f6afe1182 Default Num layout to Int 2020-06-21 15:21:03 -04:00
Richard Feldman
461e166254 wip 2020-06-20 13:59:04 -04:00
Richard Feldman
dec5c3a062 Get low-level ops compiling 2020-06-19 20:07:04 -04:00
Richard Feldman
510ab36f51 Use LayoutCache to avoid recomputing layouts 2020-05-09 22:11:32 -04:00
Richard Feldman
efa486251e Add LayoutCache 2020-05-09 22:11:32 -04:00
Richard Feldman
afbe871e6d wip 2020-04-26 08:45:41 -04:00
Richard Feldman
d97e16de7e Revert "Attempt a mono/ approach for List.get"
This reverts commit f0b76f41da.
2020-04-25 06:19:10 -04:00
Richard Feldman
f0b76f41da Attempt a mono/ approach for List.get 2020-04-25 06:19:06 -04:00
Folkert
b9613fcdc5 clean up tag pattern match conversion 2020-03-23 17:55:02 +01:00
Folkert
a7b5768c47 use a custom type to store Union variants 2020-03-23 17:55:02 +01:00
Folkert
46062439b5 remove label from Struct layout 2020-03-23 17:55:02 +01:00
Folkert
e2a7c970bc refactor Access into AccessAtIndex 2020-03-23 17:55:02 +01:00
Richard Feldman
cc8683d241 Fix use of GEP (was using byte offset, not index) 2020-03-21 21:19:18 -04:00
Folkert
97acf1363d cleanup after review 2020-03-21 12:52:10 +01:00
Folkert
fbadd9d620 add pointer Layout 2020-03-20 11:53:21 +01:00