Commit graph

4668 commits

Author SHA1 Message Date
Ayaz Hafiz
4315a36e90
Refine imported ZAT/function compilation 2022-12-14 17:13:59 -06:00
Ayaz Hafiz
02eec1f60c
Simplify the model of handling imported/unloaded symbol specializations 2022-12-14 17:13:58 -06:00
Ayaz Hafiz
f08d9c9173
Add gen test for other #4733 reproducer 2022-12-14 17:13:58 -06:00
Ayaz Hafiz
0a071e2a98
Rename mono test 2022-12-14 17:13:58 -06:00
Ayaz Hafiz
1727a9a123
Add gen test for #4733 2022-12-14 17:13:44 -06:00
Ayaz Hafiz
b8aa8df100
Make sure to resolve lambda sets for imported top-levels correctly
Part of #4733
2022-12-14 17:13:43 -06:00
Ayaz Hafiz
ed4e047ee8
Reproduce #4733 2022-12-14 17:12:03 -06:00
Ayaz Hafiz
a4f124687d
Add a test for polymorphic dbgs 2022-12-14 17:02:43 -06:00
Ayaz Hafiz
bd06714fd2
Make sure to constrain dbgs with existential correctly 2022-12-14 17:02:29 -06:00
Ayaz Hafiz
2dc19207a3
Throw away usage of stored variables on receiver side 2022-12-14 17:00:37 -06:00
Ayaz Hafiz
a96225e92e
Store specialized variable for use in dbg as fake symbol in lowlevel call 2022-12-14 17:00:37 -06:00
Ayaz Hafiz
fe90355265
Store specialized variables of expect lookups in expect frames 2022-12-14 17:00:36 -06:00
Ayaz Hafiz
16209ef866
Store specialized lookup variables in expects 2022-12-14 16:59:05 -06:00
Ayaz Hafiz
9d5f2aa138
Store specialized var of lookups in storage subs 2022-12-14 16:55:14 -06:00
Ayaz Hafiz
3053d0148d
Ignore expects binary 2022-12-14 16:55:14 -06:00
Ayaz Hafiz
66c5e1292e
Thread expectations through in phase result structs
And provide expectation subs when expectations should be compiled. This
will be useful for getting the specialized type of an expect lookup when
it's available.
2022-12-14 16:55:14 -06:00
Folkert
d287eafa3a
remove F128 2022-12-14 23:28:38 +01:00
Folkert de Vries
6f2e14cf18
Merge pull request #4765 from roc-lang/expects-store-layout-in-lookaside
Remove layouts from the mono AST for expects, and add regtest for #4749
2022-12-14 23:22:03 +01:00
Ayaz
9b4e30a903
Merge pull request #4745 from roc-lang/i4712
Ensure that disjoint nested lambda sets force parents to be disjoint
2022-12-14 14:55:25 -06:00
Ayaz Hafiz
cec6da19de
Check in mono test 2022-12-14 14:20:10 -06:00
Ayaz Hafiz
1233317907
Add test that #4749 compiles
Now that mono does not store expect lookup layouts, the layout cache
should be primed only when specializing the condition of an expect, and
so #4749 is resolved.

Closes #4749
2022-12-14 14:16:59 -06:00
Ayaz Hafiz
a5ecded934
Don't collect layouts in mono of expects anymore 2022-12-14 14:12:57 -06:00
Ayaz Hafiz
1962f2045e
Remove layouts from the mono AST for expects
This actually isn't needed, because the backends must lookup the layout
from the environment anyway. So it's enough to lookup the symbol and
find its layout, there is no need to additionally store it.
2022-12-14 14:10:02 -06:00
Ayaz Hafiz
f2ffda6d05
Revert "Add a LayoutBuffer to store layouts aside and thread it through"
This reverts commit 3d73e33b49.
2022-12-14 14:05:56 -06:00
Ayaz Hafiz
897b69b072
Revert "Store layouts in a layout-buffer for expects"
This reverts commit bba6e36a18.
2022-12-14 14:05:46 -06:00
Ayaz Hafiz
bba6e36a18
Store layouts in a layout-buffer for expects 2022-12-14 14:05:28 -06:00
Ayaz Hafiz
3d73e33b49
Add a LayoutBuffer to store layouts aside and thread it through 2022-12-14 13:48:58 -06:00
Ayaz
a0af21becc
Merge pull request #4748 from roc-lang/i4713
Make sure byte-sized tag unions are printed as unions in the repl
2022-12-14 07:43:46 -06:00
J.Teeuwissen
e3dcaa2141
typo 2022-12-14 14:02:09 +01:00
Brian Carroll
de9349477f
wasm_module: remove commented-out code 2022-12-14 12:10:55 +00:00
Brian Carroll
1a14dbba19
wasm_interp: remove leftover code from profiling 2022-12-14 12:10:21 +00:00
Brian Carroll
f55fbaad12
builtins: use roc_wasm_interp for Zig wasm tests 2022-12-14 12:09:31 +00:00
Brian Carroll
01d0c5fabc
Merge branch 'main' of github.com:roc-lang/roc into wasm_interp_test_gen 2022-12-14 11:15:42 +00:00
Brian Carroll
c7fe787284
test_gen: ignore eq_linked_list_long as it's quite slow 2022-12-14 08:42:14 +00:00
Brian Carroll
8052c2bb19
wasm_interp: create a branch cache to improve perf in some programs 2022-12-14 08:42:01 +00:00
Brian Carroll
6d0e7426dc
wasm_interp: handle if without else 2022-12-14 08:42:01 +00:00
Brian Carroll
b80278fe48
test_gen: create a debug flag to print wasm interpreter log 2022-12-14 08:42:01 +00:00
Brian Carroll
6cc270241e
test_gen: fix type annotation on character_literal tests 2022-12-14 08:42:01 +00:00
Brian Carroll
c85fd96ef6
test_gen: refcount tests working with wasm_interp 2022-12-14 08:42:01 +00:00
Brian Carroll
0acf55137f
wasm_interp: remove unnecessary &mut from read_i32/read_u32 2022-12-14 08:42:01 +00:00
Brian Carroll
adc213b364
test_gen: reorder import names in wasm_linking test 2022-12-14 08:42:01 +00:00
Brian Carroll
3d5edf57fc
wasm_interp: If called function is not found in exports, look in name section too 2022-12-14 08:42:01 +00:00
Brian Carroll
473dd371b0
wasm_module: when parsing, and a linking section is not found, reset the cursor 2022-12-14 08:42:01 +00:00
Brian Carroll
9fef0c319f
test_gen: pass Wasm linking test without DCE 2022-12-14 08:42:01 +00:00
Brian Carroll
b585bd5fde
wasm_interp: debug print displays the called export 2022-12-14 08:42:01 +00:00
Brian Carroll
eaf2782bbd
test_gen: refactor wasm_linking execute_wasm_bytes->execute_wasm_module 2022-12-14 08:42:01 +00:00
Brian Carroll
c8b0e91f3c
test_gen: refactor wasm_linking tests to share more code 2022-12-14 08:42:01 +00:00
Brian Carroll
b4c0ac14c8
gen_wasm: comment about debug env var 2022-12-14 08:42:01 +00:00
Brian Carroll
06c675703a
wasm_interp: bring back debug output 2022-12-14 08:42:01 +00:00
Brian Carroll
74bb8cc843
gen_wasm: fix type error in i64 shift operators 2022-12-14 08:42:01 +00:00