Commit graph

819 commits

Author SHA1 Message Date
Ayaz Hafiz
9e35cf9060
Unable function marks for symbol specializations 2022-05-06 12:03:35 -04:00
Ayaz Hafiz
e0bfe6c762
Make specialization symbols a two-layered VecMap 2022-05-06 11:58:02 -04:00
Folkert
61c2b20313
cleanup 2022-05-06 16:12:49 +02:00
Ayaz Hafiz
b4f5e62f46
Marks specializations for closure defs 2022-05-06 09:44:47 -04:00
Folkert
8c3a00f7aa
thread through an updatemodeids 2022-05-06 15:41:29 +02:00
Folkert
cfa331be02
handle sorting of unique lists 2022-05-06 15:28:56 +02:00
Folkert de Vries
593d634455
Merge pull request #2956 from rtfeldman/def-specialization-for-polymorphic-expressions
Polymorphic specialization of defs, at the def site
2022-05-05 20:40:24 +02:00
Folkert
76fb5308e7
update wasm type size asserts 2022-05-05 17:57:02 +02:00
Ayaz Hafiz
674ec3beae
Verify layouts of extracted specialization symbols 2022-05-05 11:46:29 -04:00
Ayaz Hafiz
8228df55c7
Remove resolved stopgap 2022-05-05 11:28:26 -04:00
Ayaz Hafiz
8f593480e5
Simplify specialize_naked_symbol with value variables 2022-05-05 11:23:47 -04:00
Ayaz Hafiz
8d6b86efc7
Minor cleanup 2022-05-05 11:20:23 -04:00
Ayaz Hafiz
a1eb65b169
Debug assert needed specializations are empty after leaving mono 2022-05-05 11:13:42 -04:00
Ayaz Hafiz
19e8b37402
Bugfix handle more specialization instances 2022-05-05 11:13:42 -04:00
Ayaz Hafiz
bf91e151e8
Lift reuse_symbol_or_specialize 2022-05-05 11:13:42 -04:00
Ayaz Hafiz
087782f3d0
Closure captures may take on specialized names 2022-05-05 11:13:41 -04:00
Ayaz Hafiz
bc987fd4d7
All of test_gen works again 2022-05-05 11:13:41 -04:00
Ayaz Hafiz
3c2dd488a5
One step forward, two steps back 2022-05-05 11:13:41 -04:00
Ayaz Hafiz
b05874924f
Clippy 2022-05-05 11:13:41 -04:00
Ayaz Hafiz
5624c492da
Almost there... only breakout is bad now 2022-05-05 11:13:41 -04:00
Ayaz Hafiz
55d924ca8b
Get rid of dbgs 2022-05-05 11:13:41 -04:00
Ayaz Hafiz
f4b7ea245c
Always specialize reuse symbol 2022-05-05 11:13:40 -04:00
Ayaz Hafiz
c070bfed8b
Little bit of cleanup 2022-05-05 11:13:40 -04:00
Ayaz Hafiz
261df36c50
Polymorphic expression specialization works in gen tests 2022-05-05 11:13:40 -04:00
Ayaz Hafiz
9bc6bb3664
Deep copy type variables 2022-05-05 11:13:39 -04:00
Ayaz Hafiz
7182180622
Pass 1 of polymorphic specialization of defs 2022-05-05 11:13:39 -04:00
Folkert de Vries
bb5c260d2e
Merge pull request #2989 from rtfeldman/rust-1-60-v2
Rust update to 1.60 v2
2022-05-03 17:35:17 +02:00
Ayaz
5ec815a373
Merge pull request #2985 from rtfeldman/closure-called-in-defining-scope
Closure called in defining scope
2022-05-02 16:41:55 -04:00
Folkert
68ca014cfa
comments + proper naming 2022-05-02 20:45:53 +02:00
Anton-4
c745c08071
fmt+clippy 2022-05-02 18:33:41 +02:00
ayazhafiz
37ba70472f Add more debug flags 2022-05-01 12:25:03 -04:00
Folkert
5c9f8f5037
fix a bug where a closure is called immediately 2022-05-01 14:42:16 +02:00
Folkert
10c2c5e8fd
make construct_closure_data more polymorphic 2022-05-01 14:29:02 +02:00
Ayaz Hafiz
9964f86a3d
Factor bespoke debug variables into debug_flags crate 2022-04-29 17:45:55 -04:00
Ayaz Hafiz
5f8834d6b4 I dont got no references 2022-04-28 20:34:04 -04:00
Ayaz Hafiz
c969c7a15e Remove more exhaustiveness checks in mono 2022-04-28 20:34:04 -04:00
Ayaz Hafiz
1af207325e Simplify again 2022-04-28 20:34:04 -04:00
Ayaz Hafiz
ae0c0fe8fe Simplify 2022-04-28 20:34:04 -04:00
Ayaz Hafiz
9dac9e4bc2 Coalesce 2022-04-28 20:34:03 -04:00
Ayaz Hafiz
bd4f004cea Some marks are always known 2022-04-28 20:33:48 -04:00
Ayaz Hafiz
51c8702820 Smarter marks 2022-04-28 20:33:48 -04:00
Ayaz Hafiz
2f1306afd1 Redundant and exhaustive marks in mono 2022-04-28 20:33:48 -04:00
Richard Feldman
6da39aa296
Merge pull request #2917 from rtfeldman/move-exhaustiveness-checking
Moves exhaustiveness checking to type solving phase
2022-04-25 20:55:05 -04:00
Ayaz Hafiz
17e7b10267
Fought against clippy and lost 2022-04-25 19:04:09 -04:00
Ayaz Hafiz
85e3373d8b
Move exhaustiveness checking to type checking 2022-04-25 19:04:09 -04:00
Richard Feldman
85e7969c2d
Replace references to "global tag" with "tag" 2022-04-25 17:04:34 -04:00
Ayaz Hafiz
cf8409dfaa
Remove private tag variants 2022-04-25 11:38:54 -04:00
Ayaz Hafiz
b6383f81ee
Numbers are opaques 2022-04-25 10:59:42 -04:00
Ayaz Hafiz
5d1dd81e93
Reuse symbol when opaque type wraps a known symbol
Opaques decay immediately into their argument during codegen, so we need
to handle something that's effectively variable aliasing correctly.

This bug popped up while migrating all current private tags to opaques.
2022-04-23 14:37:52 -04:00
Folkert de Vries
2cc8e95198
Merge pull request #2901 from rtfeldman/vec-map
VecMap
2022-04-21 09:16:38 +02:00