fix source of vmap baking determinism issue, + fix use-after-free from cross-lane scratch usage

This commit is contained in:
Ryan Fleury
2026-04-20 14:06:34 -07:00
parent 43c3d5e348
commit 16ea060382
2 changed files with 3 additions and 2 deletions
+1
View File
@@ -4837,6 +4837,7 @@ p2r_convert(Arena *arena, P2R_ConvertParams *params)
result.line_tables = all_line_tables;
}
lane_sync();
scratch_end(scratch);
return result;
}
+2 -2
View File
@@ -881,7 +881,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
}
}
}
lane_sync();
scratch_end(scratch);
}
lane_sync();
@@ -3202,7 +3202,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
for EachNode(case_n, RDIM_LocationCase, s->location_cases.first)
{
lane_chunk_constant_data_counts[slot_idx] += case_n->location.value_data.size;
lane_chunk_bytecode_data_counts[slot_idx] += case_n->location.bytecode.encoded_size;
lane_chunk_bytecode_data_counts[slot_idx] += case_n->location.bytecode.encoded_size + 1; // NOTE(rjf): +1 for the `stop` op
}
}
chunk_idx += 1;