Commit graph

4798 commits

Author SHA1 Message Date
Folkert
febb578773 rework refcount code gen to accept unknown inc values 2021-05-16 20:28:45 +02:00
Folkert
3540a048d8 formatting 2021-05-16 20:25:18 +02:00
Folkert
ebd62485df add ir unknowninc instruction 2021-05-16 17:25:01 +02:00
Folkert
c2108d4ecd rework refcount code gen to accept unknown inc values 2021-05-16 16:15:27 +02:00
Folkert
3ca6ffade9 make List.map borrow based on passed function 2021-05-16 14:09:39 +02:00
Brendan Hansknecht
b46a2cb4b5
Merge branch 'trunk' into gen-dev/div-i64 2021-05-15 23:36:48 -07:00
Brendan Hansknecht
e56c46ff54 enable record updating tests since they already pass 2021-05-15 23:26:59 -07:00
Brendan Hansknecht
6a38ec03ed enable returning structs
That being said the support is very limited. It really only supports
single field structs and the special case of 2 ints. I realized that
general support for returning structs requires a calling conv extension
for returning them. Instead of adding all of the calling conv versions,
I just added a few basic cases that are shared accross calling conv. It
turns out that the calling conv extension is quite detailed for how it
works in Arm. X86 isn't too detailed overall.
2021-05-15 23:01:23 -07:00
Brendan Hansknecht
ba58e1bbf4 expand supported record tests 2021-05-15 21:17:47 -07:00
Brendan Hansknecht
210004529d float and nested records to the dev backend 2021-05-15 21:05:51 -07:00
Brendan Hansknecht
950d380ea0 Add records to the dev backend 2021-05-15 20:18:04 -07:00
Folkert
3a4a78fdbb conditional import 2021-05-16 01:05:29 +02:00
Folkert
309a677213 fix update of 1-element record 2021-05-16 00:54:57 +02:00
Folkert
2d2418a514 fix mono tests 2021-05-16 00:54:33 +02:00
Folkert
4623e0f1ae disable i64_force_stack 2021-05-16 00:35:42 +02:00
Folkert
691fa56d50 make repl evaluate 0-argument thunk 2021-05-16 00:23:04 +02:00
Brendan Hansknecht
69c2b3527c Add i64 multiplication to dev backend 2021-05-15 15:04:49 -07:00
Brendan Hansknecht
91e471e328 Minor cleanup of gen_dev/gen_num tests 2021-05-15 15:02:52 -07:00
Folkert
27f8465e9c clippy 2021-05-15 23:59:54 +02:00
Folkert
24c9741281 fix recipe for disaster 2021-05-15 23:22:00 +02:00
Folkert
558fb3e1bf clippy + top level thunks 2021-05-15 23:19:08 +02:00
Folkert
16fe609464 remove Expr::FunctionPointer 2021-05-15 21:29:10 +02:00
Folkert
3739f41cac explicitly store and pass layout of a function passed to lowlevel 2021-05-15 21:25:38 +02:00
Folkert
357f93a2ee store the layout of a function passed to a lowlevel 2021-05-15 20:54:26 +02:00
Folkert
27a6a179da recipe for disaster; track the underlying cause down! 2021-05-15 13:00:37 +02:00
Folkert
a75ddbba5e make Hello.roc work 2021-05-15 00:09:07 +02:00
Folkert
ef3ec8ca74 don't treat non-thunks as thunks 2021-05-14 23:22:11 +02:00
Folkert
acd6fde083 fix invoke codegen 2021-05-14 23:11:59 +02:00
Folkert
16f17cba88 comments/whitespace 2021-05-14 22:57:39 +02:00
Folkert
5440632dc5 use consts for owned/borrowed 2021-05-14 22:56:42 +02:00
Folkert
8d108634a2 generate fx caller later in the process, so it can reference other procs 2021-05-14 22:55:39 +02:00
Folkert
89ad21145b get scratchpad to run 2021-05-14 20:53:47 +02:00
Folkert
48386f2fc6 get Scratchpad to build 2021-05-14 17:01:57 +02:00
Folkert
49521f5279 enable more ignored tests 2021-05-14 15:19:22 +02:00
Folkert
e40db9a207 fix return_wrapped_closure" 2021-05-14 15:16:35 +02:00
Folkert
3c7e849830 get poc-effect working 2021-05-14 15:09:55 +02:00
Folkert
a055fa3626 fix record accessors 2021-05-14 13:07:35 +02:00
Folkert
80423bac76 fix copy mistake 2021-05-14 12:56:35 +02:00
Folkert
fd422ab1d2 remove dead code 2021-05-14 12:49:15 +02:00
Folkert
087ee18f09 use macros in preparation for lambda set inference 2021-05-14 12:42:25 +02:00
Folkert
ca78439756 working Set.walk 2021-05-14 12:35:44 +02:00
Folkert
d25b1dc549 fix final list test 2021-05-14 01:02:16 +02:00
Folkert
1ee1a8114b more builtins 2021-05-14 00:41:39 +02:00
Folkert
f39bc34b8f add closure union to some builtins 2021-05-14 00:25:29 +02:00
Folkert
acfaf96734 lots of progress, many bugs 2021-05-13 23:45:39 +02:00
Folkert
ce195034ee sort of stable 2021-05-13 21:34:22 +02:00
Folkert
c4fc526038 working functions in list 2021-05-13 19:43:17 +02:00
Folkert
2163e01288 lowlevel List.map works 2021-05-13 19:15:17 +02:00
Folkert
f02f655e0b got some lowlevel stuff working 2021-05-13 01:39:06 +02:00
Folkert
051712c90b remove ClosureData type 2021-05-13 00:31:02 +02:00