Skip to content

Commit 80b6744

Browse files
committed
move more scratch artifacts to scratch lifetimes
1 parent 1d9870c commit 80b6744

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/rdi_make/rdi_make_local.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -997,7 +997,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
997997
Rng1U64 slot_range = lane_range(top->slots_count);
998998
for EachInRange(slot_idx, slot_range)
999999
{
1000-
if(map->slots[slot_idx] != 0 && map->slots[slot_idx]->total_count > 1)
1000+
if(map->slots[slot_idx] != 0)
10011001
{
10021002
*map->slots[slot_idx] = rdim_bake_string_chunk_list_sorted_from_unsorted(arena, map->slots[slot_idx]);
10031003
}
@@ -1104,7 +1104,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
11041104
for EachInRange(n_idx, n_range)
11051105
{
11061106
RDIM_Symbol *symbol = &n->v[n_idx];
1107-
rdim_bake_name_map_insert(arena, top, map, 4, link_names ? symbol->link_name : symbol->name, rdim_idx_from_symbol(symbol));
1107+
rdim_bake_name_map_insert(scratch.arena, top, map, 4, link_names ? symbol->link_name : symbol->name, rdim_idx_from_symbol(symbol));
11081108
}
11091109
}
11101110
}break;
@@ -1117,7 +1117,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
11171117
for EachInRange(n_idx, n_range)
11181118
{
11191119
RDIM_Type *type = &n->v[n_idx];
1120-
rdim_bake_name_map_insert(arena, top, map, 4, type->name, rdim_idx_from_type(type));
1120+
rdim_bake_name_map_insert(scratch.arena, top, map, 4, type->name, rdim_idx_from_type(type));
11211121
}
11221122
}
11231123
}break;
@@ -1131,7 +1131,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
11311131
{
11321132
RDIM_SrcFile *src_file = &n->v[n_idx];
11331133
RDIM_String8 normalized_path = rdim_lower_from_str8(arena, src_file->path);
1134-
rdim_bake_name_map_insert(arena, top, map, 4, normalized_path, rdim_idx_from_src_file(src_file));
1134+
rdim_bake_name_map_insert(scratch.arena, top, map, 4, normalized_path, rdim_idx_from_src_file(src_file));
11351135
}
11361136
}
11371137
}break;
@@ -1183,7 +1183,9 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
11831183
{
11841184
if(map->slots[slot_idx] != 0)
11851185
{
1186-
*map->slots[slot_idx] = rdim_bake_name_chunk_list_sorted_from_unsorted(arena, map->slots[slot_idx]);
1186+
RDIM_BakeNameChunkList *scratch_og_unsorted = map->slots[slot_idx];
1187+
map->slots[slot_idx] = push_array(arena, RDIM_BakeNameChunkList, 1);
1188+
*map->slots[slot_idx] = rdim_bake_name_chunk_list_sorted_from_unsorted(arena, scratch_og_unsorted);
11871189
}
11881190
}
11891191
}

0 commit comments

Comments
 (0)