When launching a task, the metadata stack is captured at the calling site, and reapplied as a scope as soon as the task begins to execute. The macro that performed this reapplication was misnamed and didn't imply that it was actually creating a scope. This change removes the macro and adds a custom scope type which can be embedded in the inherited context for the task.
#rb ionut.matasaru, andriy.tylychko
#jira UE-167069
#preflight 63e64e153c247ccd13e986e4
[CL 24118353 by Johan Berg in ue5-main branch]
* Made code compatible with modules/header units. This includes following things:
* Removed static in front of global functions/variables (static indicates it is hidden outside of module/header unit which is not what many places want...)
* Moved dllexport from type to methods in order to get dllexport of static constexpr fields. This is supposed to work according to microsoft but since it is a good change I don't mind doing it anyway)
* static constexpr -> static constexpr inline for member variables and methods (this makes them available outside module/headerunit)
* Added HEADER_UNIT_IGNORE markup to includes that are circular
* Added HEADER_UNIT_SKIP to files that can't compile by themselves
#preflight 63e2aeba3c44c83044bfcc75
#rb steve.robb
[CL 24066986 by henrik karlsson in ue5-main branch]
Adds the ability to send a trace snapshot to a server. A snapshot is the contents of any events in the tail buffer along with the important events needed to analyze them. This feature exists but was only supported writing to local files.
#UE-161986
#rb
#preflight 63ce521dbb14367242e8de71
[CL 23809085 by Johan Berg in ue5-main branch]
- MemoryTrace: Added CallstackId for all free events and also for HeapMarkAlloc, HeapUnmarkAlloc events.
- MemoryTrace: Increased trace version to 2.
#rb Johan.Berg
#preflight 63cab54dee564281cdc111bf
[CL 23790801 by ionut matasaru in ue5-main branch]
Some platforms have threads with very small stacks that we don't appear to be able to control. This places a limit on how much stack is available to capture a callstack in situations where memory hooks are in place. Curl's host name resolving threads an the CurlCalloc() hooks are one such example.
#rb cm
#rnx
#preflight 636d00ad376a9cd6a8f4e22c
#ushell-cherrypick of 23076081 by Martin.Ridgers
[CL 23101615 by martin ridgers in ue5-main branch]
[FYI] Steve.Robb
Original CL Desc
-----------------------------------------------------------------
TMap and TSet can now be declared as members with forward-declared key and value parameters.
KeyFuncs::KeyInitType and KeyFuncs::ElementInitType typedefs are no longer used and user-defined KeyFuncs do not need to provide them. Deprecated placeholders for these typedefs exist though they may not be defined exactly as they were before. A new KeyType typedef needs to be provided by custom KeyFuncs which don't already inherit from BaseKeyFuncs or TDefaultMapKeyFuncs.
KeyConstPointerType, KeyInitType, ValueInitType and ElementInitType typedefs have been deprecated across TMap, TSet and TSortedMap. Regular C++ parameter-passing semantics should be used instead (const T& Ref or T Value, depending on T).
Added missing FSetElementId::operator!=().
[FYI] steve.robb
#rb james.hopkin
[FYI] henrik.karlsson
#preflight 635a56c15d49a96f7b31938f
[CL 22850782 by graeme thornton in ue5-main branch]
KeyFuncs::KeyInitType and KeyFuncs::ElementInitType typedefs are no longer used and user-defined KeyFuncs do not need to provide them. Deprecated placeholders for these typedefs exist though they may not be defined exactly as they were before. A new KeyType typedef needs to be provided by custom KeyFuncs which don't already inherit from BaseKeyFuncs or TDefaultMapKeyFuncs.
KeyConstPointerType, KeyInitType, ValueInitType and ElementInitType typedefs have been deprecated across TMap, TSet and TSortedMap. Regular C++ parameter-passing semantics should be used instead (const T& Ref or T Value, depending on T).
Added missing FSetElementId::operator!=().
#rb james.hopkin
[FYI] henrik.karlsson
#preflight 635a56c15d49a96f7b31938f
[CL 22810695 by steve robb in ue5-main branch]