Commit Graph

7948 Commits

Author SHA1 Message Date
Martin Ridgers
d87218f9b8 - Removed unnecessary conditional. StackTrace will never be null.
- Undef FILE_LINE_DESC as we leave this translation unit.

[CL 14926092 by Martin Ridgers in ue5-main branch]
2020-12-15 08:45:55 -04:00
Martin Ridgers
ae8487fa80 Corrected placement of curly brackets.
#rb steve.robb
#rnx

[CL 14925951 by Martin Ridgers in ue5-main branch]
2020-12-15 07:41:46 -04:00
Martin Ridgers
6e144b28a3 Added somewhere to store an error's program counter. Concrete error devices on desktop platforms are responsible for kicking off the reporting of asserts. This happens in Serialize() who's API can't be changed, but at the same time we want to be able to pass through where the error occurred to aid better/more-correct reporting.
#rb steve.robb
#rnx

[CL 14925932 by Martin Ridgers in ue5-main branch]
2020-12-15 07:30:23 -04:00
danny couture
a494de7e28 Add UE_LOG_REF so we can call logging with a const FLogCategoryBase& as argument.
Reasonings
  1. UE_LOG keeps it's token pasting behavior to allow compile time constant evaluation and avoid any perf regression.
  2. UE_LOG_REF doesn't assume that the category can be token pasted inside the macro at the cost of an additional runtime condition evaluation
  3. UE_LOG_REF maintains the benefit from lazy argument evaluation only for enabled verbosity.
  4. UE_INTERNAL_LOG_IMPL name was used to avoid polluting UE_LOG auto-completion.

#rb JeanFrancois.Dube, Stefan.Boberg, Steve.Robb

[CL 14925864 by danny couture in ue5-main branch]
2020-12-15 07:03:44 -04:00
Martin Ridgers
321b2eb3c6 Include the instruction address where a failure (i.e. UE_LOG(fatal) or check) occurred in the FDebug::FFailureInfo.
#rb steve.robb
#rnx

[CL 14925842 by Martin Ridgers in ue5-main branch]
2020-12-15 06:58:36 -04:00
Martin Ridgers
a21adaa2aa Pass through a FFailureInfo object to FDebug::ProcessFatalError().
#rnx

[CL 14925447 by Martin Ridgers in ue5-main branch]
2020-12-15 04:17:31 -04:00
Martin Ridgers
a95e6621d8 Call lambdas through a non-inlined function. MSVC doesn't pay attention to FORCENOINLINE on macro so UE_LOG's lambdas don't achieve their purpose.
See DispatchCheckVerify for further information.

#rb jb
#rnx

[CL 14925427 by Martin Ridgers in ue5-main branch]
2020-12-15 04:10:17 -04:00
will damon
14c084a399 Fix static member visibility to resolve linktime errors on macOS.
#rb rolando.caloca, stefan.boberg
#jira none
#rnx

[CL 14922901 by will damon in ue5-main branch]
2020-12-14 18:08:51 -04:00
Arne Schober
4a46c59964 UE5 - This implements throttle stealing (similar to Tokio). The idea is 2 fold: 1) if a lot of workers are out of work we want to put half of them to sleep early, so that they don't create contention for the other half. The 2) Idea is to ramp up workers more slowly, the old algo was waking a worker everytime work was added which quickly wakes all workers and some of them might never find work. The new algo will only wake workers if there are no other workers that are running and out of work.
[CL 14921141 by Arne Schober in ue5-main branch]
2020-12-14 16:14:18 -04:00
Johan Berg
c1f5096177 Fix for static init issue with additional crash contexts
#rb patrick.laflamme

[CL 14913537 by Johan Berg in ue5-main branch]
2020-12-14 11:11:30 -04:00
Martin Ridgers
888586a320 Converted pass-by-value FNames to references. TagTrace.h is included so early it really cannot depend on any other headers otherwise it quickly ends in a circular loop. We need to forward declare as much as possible.
#rb jb
#rnx
#jira UE-104077

[CL 14913505 by Martin Ridgers in ue5-main branch]
2020-12-14 11:04:44 -04:00
Johan Berg
aeaab4636f Disabled additional crash context due to crashes.
#rb none

[CL 14913268 by Johan Berg in ue5-main branch]
2020-12-14 10:14:05 -04:00
Martin Ridgers
08e6647d50 Added an overload for dumping backtraces to strings that uses an instruction address to condition the callstack as an alternative to a frame-strip count.
Unix-related files are in the changelist because FUnixPlatformStackWalk overrides StackWalkAndDump[Ex]. The compiler won't pick up the overload in FGenericPlatformStackWalk, hence the need to forward for Unix. Coincidentally, the old versions use the context to condition backtraces by program counter. That we can skip out on for these new overloads.

#rb jb
#rnx

[CL 14912279 by Martin Ridgers in ue5-main branch]
2020-12-14 03:36:21 -04:00
Devin Doucette
60f148abe6 CompactBinary: Added a compact binary package that represents a Merkle tree of an object and its transitive references
#jira none
#rb Zousar.Shaker
#rnx

[CL 14912029 by Devin Doucette in ue5-main branch]
2020-12-14 00:41:26 -04:00
Marc Audy
2215d8b075 Fix non-unity
#fyi Johan.Berg

[CL 14911610 by Marc Audy in ue5-main branch]
2020-12-13 20:27:35 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Martin Ridgers
1f5ac596f7 Use PLATFORM_ macros for the address of the return address when determining owners of allocations.
#rb jb
#rnx

[CL 14904961 by Martin Ridgers in ue5-main branch]
2020-12-11 06:37:06 -04:00
Johan Berg
bce7156ef3 Additional crash context providers
Add functionality for users to provide additional context in the case of a crash. A per thread stack with callbacks that are issued in case of a crash.

#rb patrick.laflamme

[CL 14904844 by Johan Berg in ue5-main branch]
2020-12-11 04:50:28 -04:00
Zousar Shaker
280212f374 Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Systematic changes in support of non-scalar wrapped object pointer upgrades for Engine + Shootergame

#rb devin.doucette
#rb steve.robb

[CL 14901131 by Zousar Shaker in ue5-main branch]
2020-12-10 16:21:55 -04:00
Devin Doucette
b318dce423 CompactBinary: Added AsAnyReference, renamed writer save functions, and changed buffer allocator parameters
Includes a minor optimization to TCbBufferRef::GetOuterBuffer() and adds an assert that the buffer allocator returned a valid buffer.

#jira none
#rb Zousar.Shaker
#rnx

[CL 14898497 by Devin Doucette in ue5-main branch]
2020-12-10 12:19:54 -04:00
Arne Schober
58786eb676 UE5 - fix WinRT compile error
[CL 14897997 by Arne Schober in ue5-main branch]
2020-12-10 11:13:01 -04:00
Arne Schober
cea7bd29f4 UE5 - Identify Canceled Tasks with a seperate state. This can make some Frontends easier to implement. Also cleaned up all the differnt Taskstates that are mostly useless for the User and consolidated them for ease of use. Also used the opprotunity to unify the Busy Waiting using the modified TaskDelegate.
[CL 14897554 by Arne Schober in ue5-main branch]
2020-12-10 09:57:21 -04:00
Martin Ridgers
e0ac2164f4 Added "Get" verb prefix to a few methods following feedback.
#rb sbo
#rnx

[CL 14897317 by Martin Ridgers in ue5-main branch]
2020-12-10 08:45:03 -04:00
Martin Ridgers
54cd4cc987 Workaround for a precompiled lib that link is linking to symbols in Core whose signatures have changed.
#rb cisfix
#rnx
#fyi david.lesage

[CL 14896988 by Martin Ridgers in ue5-main branch]
2020-12-10 05:35:19 -04:00
Martin Ridgers
195a6e1aca The name "Info" was a little to generic in hindsight and inevitably collided. Renamed to mitigate future collisions.
#rb cisfix
#rnx

[CL 14896853 by Martin Ridgers in ue5-main branch]
2020-12-10 04:54:29 -04:00