Commit graph

9094 commits

Author SHA1 Message Date
Ayaz Hafiz
ef350e4aed
Add tests for tag union toEncoder derivers 2022-06-15 18:01:18 -04:00
Ayaz Hafiz
178850462e
Pass at tag union toEncoder deriver 2022-06-15 17:52:29 -04:00
Ayaz Hafiz
5c1f003242
Call it derive keying 2022-06-15 16:32:43 -04:00
Ayaz Hafiz
834f75099f
Move derive content hashing to its own crate 2022-06-15 14:29:35 -04:00
Ayaz Hafiz
d621834af3
Test expected derived type 2022-06-15 14:29:35 -04:00
Ayaz Hafiz
ed45c5c38f
Create generic derivers rather than tied to type 2022-06-15 14:29:34 -04:00
Ayaz Hafiz
f3a4d594fb
Add tests for opaques 2022-06-15 14:29:34 -04:00
Ayaz Hafiz
9e0f61a596
Add more tests for builtin types and aliases 2022-06-15 14:29:34 -04:00
Ayaz Hafiz
0560fb41a1
Add content-hashing scheme for Encoding deriver 2022-06-15 14:29:34 -04:00
Ayaz Hafiz
445a5e5c2c
Fix abilities rebase issue 2022-06-15 14:29:17 -04:00
Ayaz Hafiz
8f3dfa990a
Rename derivers to derive 2022-06-15 14:26:57 -04:00
Ayaz Hafiz
7cbd13145d
Roc format 2022-06-15 14:26:57 -04:00
Ayaz Hafiz
e97546238a
Encoding for empty records 2022-06-15 14:26:56 -04:00
Ayaz Hafiz
3d12367568
Clippy 2022-06-15 14:26:56 -04:00
Ayaz Hafiz
fe55b5a226
Perf: don't collect or re-insert variable slices 2022-06-15 14:26:56 -04:00
Ayaz Hafiz
beed7e791b
Add printing of derived AST to tests 2022-06-15 14:26:56 -04:00
Ayaz Hafiz
beeba1e198
Add some comments to derive testing 2022-06-15 14:26:56 -04:00
Ayaz Hafiz
5c64e62d89
Correct encoding deriver for records 2022-06-15 14:26:55 -04:00
Ayaz Hafiz
ccd78a560f
Add test module for derivers 2022-06-15 14:26:55 -04:00
Ayaz Hafiz
f1fa29fcfc
First pass at derived record encoder 2022-06-15 14:26:55 -04:00
Ayaz Hafiz
8062b44d11
Add list of lambdas type test 2022-06-15 14:26:55 -04:00
Ayaz Hafiz
7282fbc6cd
Add record and tag encoding 2022-06-15 14:26:55 -04:00
Ayaz Hafiz
86b34a6008
Lift outcome when unifying record fields 2022-06-15 14:26:55 -04:00
Ayaz Hafiz
cfcfde87d6
Correct incomplete comment 2022-06-15 14:26:54 -04:00
Folkert de Vries
b99d7dba67
Merge pull request #3158 from rtfeldman/parse-expr-defs-soa
Parse expr defs soa
2022-06-15 18:54:30 +02:00
Folkert
a7163191f0
fix dbg uses and such 2022-06-15 18:03:40 +02:00
Folkert de Vries
47f613d4c3
Merge pull request #3219 from rtfeldman/wasm-dce-imports
Wasm dead code elimination for JS imports
2022-06-15 17:53:18 +02:00
Folkert
71ae32e55a
use bitwise or to mark functions as live 2022-06-15 15:48:22 +02:00
Folkert
edb801c094
use a bitvec to store indices of functions in a pass 2022-06-15 15:36:23 +02:00
Brian Carroll
ffec060490
clippy 2022-06-14 10:20:28 +01:00
Brian Carroll
c6b5f4934f
wasm: swap instead of copying, during DCE call graph tracing 2022-06-14 09:50:10 +01:00
Brian Carroll
6e098d9d63
wasm: dead code elimination for indirect calls 2022-06-14 09:46:32 +01:00
Brian Carroll
c34b278402
wasm: generate debug names separately from host lookup, including local symbols 2022-06-13 18:20:15 +01:00
Ayaz Hafiz
e1f7702982
Clippy 2022-06-13 13:19:09 -04:00
Brian Carroll
71225ee5f2
wasm: tidy up after self-review 2022-06-13 17:40:45 +01:00
Ayaz Hafiz
f21d68c9fb
Consolidate WorldAbilities and solve Phase 2022-06-13 10:40:36 -04:00
Ayaz Hafiz
f5c4528919
Add some more documentation on phase relaunching 2022-06-13 09:34:36 -04:00
Ayaz Hafiz
c8a8ebd628
Turn on basis test case 2022-06-13 09:12:58 -04:00
Ayaz Hafiz
8cc257f742
Relaunch specialization passes when there are leftover external specializations 2022-06-13 09:11:49 -04:00
Ayaz Hafiz
149360a994
Restore procs base when getting function specializations 2022-06-13 08:48:01 -04:00
Ayaz Hafiz
b90daaaffc
Lay groundwork for re-introducing of the make specializations pass 2022-06-13 08:44:56 -04:00
Ayaz Hafiz
749f9b0fc5
Add a basis test case 2022-06-13 08:42:12 -04:00
Ayaz Hafiz
6db6e166a5
Include unspecialized lambda sets in subs snapshot 2022-06-13 08:40:50 -04:00
Ayaz Hafiz
bbee0dde25
Debug unspecialized lambda sets 2022-06-13 08:39:15 -04:00
Ayaz Hafiz
bf7d57b23f
Import ability lambda sets from other modules during late solving
We're almost there! Just need a way to re-enter already-monomorphized
modules when abilities demand it now.
2022-06-13 08:37:02 -04:00
Ayaz Hafiz
ee6d733cc4
World abilities: big world vs tiny world
Normally a module can see all of its abilities, and any module it
depends on (this is the tiny world, i.e. only the world it is aware of).
But when making specializations, a module may need to see all abilities
in all modules (big world). This patch supports big-world viewing of
abilities.
2022-06-13 08:37:00 -04:00
Brian Carroll
8493c8cfca
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-dce-imports 2022-06-13 08:41:41 +01:00
Brian Carroll
e8069bf256
wasm: Bugfix: don't forget to include code section length during preload DCE 2022-06-13 00:32:47 +01:00
Brian Carroll
acebdee3dd
wasm: fix DCE for signatures and debug names 2022-06-13 00:32:47 +01:00
Brian Carroll
c169815c9e
wasm: fix some DCE bugs 2022-06-13 00:32:47 +01:00