mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-14 09:18:09 +00:00
fix source of vmap baking determinism issue, + fix use-after-free from cross-lane scratch usage
This commit is contained in:
@@ -4837,6 +4837,7 @@ p2r_convert(Arena *arena, P2R_ConvertParams *params)
|
|||||||
result.line_tables = all_line_tables;
|
result.line_tables = all_line_tables;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lane_sync();
|
||||||
scratch_end(scratch);
|
scratch_end(scratch);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -881,7 +881,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
lane_sync();
|
||||||
scratch_end(scratch);
|
scratch_end(scratch);
|
||||||
}
|
}
|
||||||
lane_sync();
|
lane_sync();
|
||||||
@@ -3202,7 +3202,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
|
|||||||
for EachNode(case_n, RDIM_LocationCase, s->location_cases.first)
|
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_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;
|
chunk_idx += 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user