more dead code elimination & simplification & floating from engine -> frontend

This commit is contained in:
Ryan Fleury
2024-09-11 15:04:12 -07:00
parent e7b4912e4a
commit cc2b5138b0
6 changed files with 143 additions and 228 deletions
+29
View File
@@ -214,6 +214,35 @@ ctrl_msg_list_push(Arena *arena, CTRL_MsgList *list)
return msg;
}
internal CTRL_MsgList
ctrl_msg_list_deep_copy(Arena *arena, CTRL_MsgList *src)
{
CTRL_MsgList dst = {0};
for(CTRL_MsgNode *n = src->first; n != 0; n = n->next)
{
CTRL_Msg *src_msg = &n->v;
CTRL_Msg *dst_msg = ctrl_msg_list_push(arena, &dst);
ctrl_msg_deep_copy(arena, dst_msg, src_msg);
}
return dst;
}
internal void
ctrl_msg_list_concat_in_place(CTRL_MsgList *dst, CTRL_MsgList *src)
{
if(dst->last && src->first)
{
dst->last->next = src->first;
dst->last = src->last;
dst->count += src->count;
}
else if(src->first)
{
MemoryCopyStruct(dst, src);
}
MemoryZeroStruct(src);
}
//- rjf: serialization
internal String8