dependabot[bot]
0079048944
Bump bumpalo from 3.10.0 to 3.11.0
...
Bumps [bumpalo](https://github.com/fitzgen/bumpalo ) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/fitzgen/bumpalo/releases )
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/bumpalo/compare/3.10.0...3.11.0 )
---
updated-dependencies:
- dependency-name: bumpalo
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 21:08:56 +00:00
Anton-4
f2ee8a441d
rust 1.63, clippy
2022-09-10 20:12:34 +02:00
Folkert de Vries
8bbeb34792
Merge pull request #3981 from roc-lang/use-copy-table
...
Cache variables sent to a module's external specializations in mono
2022-09-07 12:28:17 +02:00
Ayaz Hafiz
eebe5234f6
Correctly perform record updates that come from thunks
...
Closes #3908
2022-09-06 18:07:22 -05:00
Ayaz Hafiz
53e1551cd1
Move external specializations storage subs into its own struct
2022-09-06 14:33:41 -05:00
Ayaz Hafiz
882d589d5f
Basic caching of variables saved into storage subs
2022-09-06 14:11:03 -05:00
Ayaz Hafiz
3a130acc32
Fix mut in test
2022-08-31 15:01:01 -05:00
Ayaz Hafiz
c2d042eba2
Stray dbg
2022-08-31 14:53:52 -05:00
Ayaz Hafiz
95765bcb1e
Intern the lambda set representation
2022-08-31 14:50:56 -05:00
Ayaz Hafiz
1e49622b61
Clippy
2022-08-31 14:36:44 -05:00
Ayaz Hafiz
3b4b1838b8
Push layout interner further through Layout
2022-08-31 14:33:52 -05:00
Ayaz Hafiz
ed04c2040a
Push the layout interner through the backends
2022-08-31 14:33:52 -05:00
Ayaz Hafiz
c5466810a4
Add LayoutInterner to LayoutCache
...
Adds a thread-local interner of layouts to LayoutCache, and updates all
references appropriately.
This is a bit suboptimal for single-threaded workloads that will look at
creating layout caches again, like the REPL, but I think that's okay for
now - since the global interner will be uncontested for those workloads, it
should still be plenty fast to access the interner, even behind a lock.
2022-08-31 14:33:51 -05:00
Ayaz Hafiz
261cd75a71
Invalidate layout-cached variables correctly after merging
2022-08-31 14:33:50 -05:00
Ayaz Hafiz
7a7a4fa680
Use fnv hasher for layout cache
2022-08-31 14:26:16 -05:00
Ayaz Hafiz
c57fe24805
Use OptVariable rather than Option<Variable>
2022-08-31 14:23:50 -05:00
Ayaz Hafiz
9b1f3e6fde
Remove unused marker
2022-08-31 14:17:38 -05:00
Ayaz Hafiz
9fb9ca4cbc
return result, not cacheable
2022-08-31 14:17:15 -05:00
Ayaz Hafiz
7c215f9273
Remove stray dbgs
2022-08-31 14:17:15 -05:00
Ayaz Hafiz
ea2e5d171a
Invalidate layout-cached variables correctly after merging
2022-08-31 14:17:14 -05:00
Ayaz Hafiz
66e65714b9
Fix release errors
2022-08-31 14:16:44 -05:00
Ayaz Hafiz
d13b556295
Trace stats for layout cache
2022-08-31 14:16:43 -05:00
Ayaz Hafiz
c2a0b878d3
Clippy
2022-08-31 14:16:43 -05:00
Ayaz Hafiz
22a4a4dfbc
Relay metadata back when using cached result
2022-08-31 14:16:43 -05:00
Ayaz Hafiz
7b8e1e1d53
Even more inline aggression
2022-08-31 14:16:43 -05:00
Ayaz Hafiz
c53719eb95
Debug non-reused recursive structures
2022-08-31 14:16:43 -05:00
Ayaz Hafiz
e24cdb8272
Be far more aggressive about cache inlining
2022-08-31 14:16:43 -05:00
Ayaz Hafiz
a64d9d97c5
Do not reuse cached entries for recursive structures that are being reconstructed
2022-08-31 14:16:43 -05:00
Ayaz Hafiz
caf4a80542
Clippy
2022-08-31 14:16:42 -05:00
Ayaz Hafiz
3ce4c6c77d
Typo
2022-08-31 14:16:42 -05:00
Ayaz Hafiz
3856ea6199
Implement a cache policy - don't cache recursive pointers without a recursive layout
2022-08-31 14:16:42 -05:00
Ayaz Hafiz
eb5ec2bd98
Don't account for recursive unions in non-recursive layout gen
2022-08-31 14:16:42 -05:00
Ayaz Hafiz
d757701426
First pass at layout caching
2022-08-31 14:16:42 -05:00
Ayaz Hafiz
8b0f7dc82f
Propagate layout_cache throughout Env in generating layout
...
Sets up actually using the LayoutCache to get cached layouts.
2022-08-31 14:16:42 -05:00
Folkert
d93d42da8c
make chasing an ext return a custom type
2022-08-30 00:51:24 +02:00
Folkert de Vries
acb71d6007
Merge pull request #3835 from roc-lang/ext-vars-in-derivers
...
Support bound and unbound extension variables in deriving
2022-08-30 00:34:50 +02:00
Folkert de Vries
51d5aa789a
Merge pull request #3870 from roc-lang/dev-backend-div
...
add int/float division to the dev backend
2022-08-25 09:03:19 +02:00
Folkert de Vries
c06e5cfa32
Merge pull request #3769 from roc-lang/expect-fx-codegen
...
expect fx codegen
2022-08-24 19:48:42 +02:00
Ayaz Hafiz
238464c505
Get rid of a redundant subs snapshot
2022-08-24 09:01:02 -05:00
Ayaz Hafiz
2afad0127f
Replace snapshot of subs/layout directly with "TypeState" snapshots
2022-08-24 08:53:21 -05:00
Ayaz Hafiz
3b2e3d515f
Include var in lambda set size traces
2022-08-23 15:42:01 -05:00
Ayaz Hafiz
b3f8ead89d
Add tracing of lambda set sizes in mono layout
2022-08-23 15:20:39 -05:00
Ayaz Hafiz
e5034e7331
Add tracing for external specializations
2022-08-23 14:32:24 -05:00
Ayaz Hafiz
848facb386
Add roc_tracing crate and initial traces in mono
2022-08-23 12:47:41 -05:00
Ayaz Hafiz
a8bd529664
Support derivers for tag unions with ext vars
2022-08-23 10:41:06 -05:00
Folkert
a22e04361c
Merge remote-tracking branch 'origin/main' into expect-fx-codegen
2022-08-23 16:28:21 +02:00
Folkert
2d366acc6e
split out int and frac division into separate lowlevels
2022-08-23 11:07:38 +02:00
Folkert
e9f66a6385
Merge remote-tracking branch 'origin/main' into i3696
2022-08-22 23:02:35 +02:00
Folkert de Vries
2b0bf7839e
Merge pull request #3819 from roc-lang/deep-record-decoding
...
Mono fixes for supporting deep record decoding deriving
2022-08-21 13:33:40 +02:00
Ayaz Hafiz
cc78d4d180
Start all make_specializations from the top, suspending not to FindSpecializations
2022-08-19 22:20:57 -05:00