Prior to this commit, we had some bugs in the compiler-generated
tracing code for dynamic tracing, leading to situations where
the memory for the boxed struct (and for objects nested at
various levels within) may not be traced during garbage collection,
causing those memory regions to be reclaimed and potentially
reused, corrupting the data previously stored in that memory.
This commit fixes those bugs and adds a relevant test.
Prior to this commit, we had some bugs in the compiler-generated tracing code for dynamic tracing, leading to situations where the memory for the boxed struct (and for objects nested at various levels within) may not be traced during garbage collection, causing those memory regions to be reclaimed and potentially reused, corrupting the data previously stored in that memory.
This commit fixes those bugs and adds a relevant test.