mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-23 03:52:27 +00:00
Do not require allocating Layouts in arena before interning
This should reduce memory spend, the interner has its own effective arena anyway
This commit is contained in:
parent
4652661a5c
commit
ce717dca8b
19 changed files with 161 additions and 171 deletions
|
@ -446,8 +446,8 @@ impl<'a> CodeGenHelp<'a> {
|
|||
) -> Layout<'a> {
|
||||
match layout {
|
||||
Layout::Builtin(Builtin::List(v)) => {
|
||||
let v = self.replace_rec_ptr(ctx, layout_interner, *layout_interner.get(v));
|
||||
let v = layout_interner.insert(self.arena.alloc(v));
|
||||
let v = self.replace_rec_ptr(ctx, layout_interner, layout_interner.get(v));
|
||||
let v = layout_interner.insert(v);
|
||||
Layout::Builtin(Builtin::List(v))
|
||||
}
|
||||
|
||||
|
@ -487,9 +487,7 @@ impl<'a> CodeGenHelp<'a> {
|
|||
|
||||
Layout::Boxed(inner) => {
|
||||
let inner = layout_interner.get(inner);
|
||||
let inner = self
|
||||
.arena
|
||||
.alloc(self.replace_rec_ptr(ctx, layout_interner, *inner));
|
||||
let inner = self.replace_rec_ptr(ctx, layout_interner, inner);
|
||||
let inner = layout_interner.insert(inner);
|
||||
Layout::Boxed(inner)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue