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