Assert if you attempt to perform a write to the transaction-stack while in non-scoped transaction (writes to a Closed() scope are permitted).
Code changes:
Introduce FStackRange to hold a stack pointer range.
Use FStackRange in FContext for storing the true stack range for the thread.
Add a FStackRange to each FTransaction, and use this to ensure that write records aren't added to a transaction if the address is within the transaction's stack.
By having a serparate stack per transaction we can prevent stack writes making their way to a parent transaction's write log, reducing the amount of memory that may need to be tracked and simplifying the Undo logic.
Ensuring that the write log does not contain stack writes is required for the open-memory validator.
#rb neil.henning
[CL 36005508 by ben clayton in ue5-main branch]
Without this, these allocations are reported as leaks. Technically they are, but I assume they're small and infrequent enough to be ignored.
#rb Steve.Robb
[CL 35966221 by ben clayton in ue5-main branch]
Added a comment to clarify that TNonRelocatableInlineAllocator is itself non-trivially-relocatable, not that it's for non-trivially-relocatable elements.
#rb devin.doucette
[CL 35869531 by steve robb in ue5-main branch]
#rb Per.Larsson
#rnx
- This header could give a compiler error, depending on include order due to the use of TSizedHeapAllocator.
[CL 35830428 by paul chipchase in ue5-main branch]
Modified TOptional's move/copy constructors to avoid moving/copying an element type in an intrusive unset optional state, in case the element type doesn't or can't support them.
#rb devin.doucette
[CL 35429693 by steve robb in ue5-main branch]
Modified TOptional's move/copy constructors to avoid moving/copying an element type in an intrusive unset optional state, in case the element type doesn't or can't support them.
#rb devin.doucette
[CL 35418093 by steve robb in ue5-main branch]
[FYI] Devin.Doucette
Original CL Desc
-----------------------------------------------------------------
Added intrusive unset states to various containers
Re-submit of CL 33370680 by Steve.Robb.
#rb Steve.Robb
[CL 35345900 by bob tellez in ue5-main branch]