Commit Graph

77 Commits

Author SHA1 Message Date
zousar shaker
a181f60498 Reduce overhead in object handle access tracking by reducing high frequency thrash of TArrayView. Synthetic test of 100 million handle accesses in a loop went from 4243ms total time to 1430ms total time.
Further improvements to be had by avoiding CheckCallable overhead of TFunction and making a lockless container to store read callbacks.  Those will be investigated in future changelists.

#rb joe.pribele
[FYI] dan.oconnor
[FYI] ben.zeigler

[CL 27728373 by zousar shaker in ue5-main branch]
2023-09-08 17:04:23 -04:00
francis hurteau
bd3a51f5a8 Truncation warning fixes for CoreUObject
#jira UE-166274, UE-127233
#rb Devin.Doucette, Paul.Chipchase

[CL 26553935 by francis hurteau in ue5-main branch]
2023-07-24 16:13:27 -04:00
Matt Peters
f8d5c01789 ObjectPropertyTest fixes:
1) Fix for test package names not starting with proper prefix
2) Fix incompatible value that is passed into CheckValidObject to NOT be the outer of the fallback objecte. The incompatible value now gets renamed by CheckValidObject, and renaming the outer of the fallback object would break the test.
#rnx
#rb Joe.Pribele

[CL 26474125 by Matt Peters in ue5-main branch]
2023-07-19 18:36:21 -04:00
matt peters
3c2682f374 FArchiveStackTrace: Deprecate the public interface and move it into a private helper class of DiffPackageWriter.
#rb Zousar.Shaker
#rnx

[CL 26269033 by matt peters in ue5-main branch]
2023-06-27 16:13:59 -04:00
robert manuszewski
b5e73242e3 Experimental support for Incremental Reachability Analysis (second attempt)
Disabled by default. gc.AllowIncrementalReachability controls if it's enabled or not.
gc.IncrementalReachabilityTimeLimit controls time limit (defaults to 0.005 = 5ms)
gc.VerifyNoUnrachableObjects (defaults to 0) controls additional GC assumption verification that no unreachable objects are reachable after RA is complete
gc.ContinuousIncrementalGC (defaults to 0) is a new GC stress test that runs incremental GC continuously
TObjectPtr barrier (Obj->MarkAsReachable()) is also currently disabled (compiled out with a macro) until we have all the places (ARO/BPVM) properly running barriers
EngineTest tests can and will run Incremental Reachability Analysis tests even if all the above is disabled

#rb Johan.Torp, Zousar.Shaker

[CL 26252569 by robert manuszewski in ue5-main branch]
2023-06-27 01:44:30 -04:00
robert manuszewski
d5c2c7bc97 Undo changelist 26229717
#rb none

[CL 26237963 by robert manuszewski in ue5-main branch]
2023-06-26 13:26:02 -04:00
robert manuszewski
5800b6b608 Experimental support for Incremental Reachability Analysis
Disabled by default. gc.AllowIncrementalReachability controls if it's enabled or not.
gc.IncrementalReachabilityTimeLimit controls time limit (defaults to 0.005 = 5ms)
gc.VerifyUnrachableObjects (defaults to 0) controls additional GC assumption verification that no unreachable objects are reachable after RA is complete
gc.ContinuousIncrementalGC (defaults to 0) is a new GC stress test that runs incremental GC continuously
TObjectPtr barrier (Obj->MarkAsReachable()) is also currently disabled (compiled out with a macro) until we have all the places (ARO/BPVM) properly running barriers
EngineTest tests can and will run Incremental Reachability Analysis tests even if all the above is disabled

#rb Johan.Torp, Zousar.Shaker

[CL 26229728 by robert manuszewski in ue5-main branch]
2023-06-26 04:38:56 -04:00
joe pribele
b90e7cc30e fix for warning in PluginManager test
[CL 26219331 by joe pribele in ue5-main branch]
2023-06-23 17:12:06 -04:00
joe pribele
0a1ccfbbc1 redoing 25858318
moved leak detection and Garbage collection to Plugin Manager
Before unmounting the plugin path, GC is ran, leaked detection for any references objects under the plugin path

#rb Justin.Marcus, Markus.Breyer
https://p4-swarm.epicgames.net/reviews/25611054

[CL 26214355 by joe pribele in ue5-main branch]
2023-06-23 14:22:58 -04:00
joe pribele
d2b78c257c Undo //Fortnite/Main/... changelist 25858318
[CL 25862359 by joe pribele in ue5-main branch]
2023-06-07 19:42:46 -04:00
joe pribele
8543547111 moved leak detection and Garbage collection to Plugin Manager
Before unmounting the plugin path, GC is ran, leaked detection for any references objects under the plugin path

#rb Justin.Marcus, Markus.Breyer
https://p4-swarm.epicgames.net/reviews/25611054

[CL 25858446 by joe pribele in ue5-main branch]
2023-06-07 17:09:53 -04:00
joe pribele
f2b80ba74b added GetOuter and GetPackage to FObectPtr and TObjectPtr
changed how the Object Handle index stores info to be able to get the class of the outer objects
Packages dont' store a ObjectPathId or ClassDescriptor as it is always known

https://p4-swarm.epicgames.net/reviews/25378953
#rb zousar.shaker
#preflight 64791957e25209b6cbbb45fc

[CL 25747367 by joe pribele in ue5-main branch]
2023-06-01 18:45:09 -04:00
joe pribele
6c77f6cdc5 fix for not setting up properties correctly.
this matches the uht generated code more closesly
https://p4-swarm.epicgames.net/reviews/25707323

#rb matt.peters
#preflight 64791483e25209b6cbb931ac

[CL 25746642 by joe pribele in ue5-main branch]
2023-06-01 18:22:59 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
joe pribele
627db198b3 change to FObjectPtrProperty::Identical to avoid loading lazy loaded objects
https://p4-swarm.epicgames.net/reviews/25288349
#rb zousar.shaker
#preflight 64598eb5023fe5d3ad6df74d

[CL 25381637 by joe pribele in ue5-main branch]
2023-05-08 20:13:30 -04:00
kirill zorin
a58d329c4d Update TObjectPtr unit tests to assert against specific pointers (instead of all pointers) due to upcoming ARO changes.
#rb joe.pribele
#preflight 644ae1066638b912841d8bc1

[CL 25223794 by kirill zorin in ue5-main branch]
2023-04-27 17:20:13 -04:00
kirill zorin
448abc5841 Excluding relevant unit tests when mutable TObjectPtr containers are disabled
#rb zousar.shaker
#preflight 644a878c1c2846595c9d171a

[CL 25214999 by kirill zorin in ue5-main branch]
2023-04-27 11:06:53 -04:00
zousar shaker
30b1d43e1c Fix compile error caused by variable rename.
#rb none

[CL 25209517 by zousar shaker in ue5-main branch]
2023-04-26 19:53:27 -04:00
zousar shaker
fb1536bbe2 Ensure that ObjectHandles can compute hashes when referencing objects with an invalid index. This can happen during the early initialization phase of the engine before UObjectBaseInit|UObjectProcessRegistrations get called and register deferred objects.
#rb joe.pribele

[CL 25209509 by zousar shaker in ue5-main branch]
2023-04-26 19:52:36 -04:00
joe pribele
9f5fbe6b97 reducing the number of items in the array conversion tests as the 100k items was unnecessary
https://p4-swarm.epicgames.net/reviews/25165292

#rb devin.doucette
#preflight 6446f4a827014596f3952e7d

[CL 25172199 by joe pribele in ue5-main branch]
2023-04-24 17:46:08 -04:00
robert manuszewski
1e90746cb9 Redo 24852317:
Making sure non-nullable object properties have a default object value assigned to them in case of serialization errors
+ Adding backwards compatibility support to optional properties

#preflight 643015e17536ac6b78a4466e
#rb Maxime.Mercier, Steve.Robb

[CL 25021794 by robert manuszewski in ue5-main branch]
2023-04-13 03:41:03 -04:00
maxime mercier
70455f6f92 [Backout] - CL24868633
[FYI] Robert.Manuszewski
Original CL Desc
-----------------------------------------------------------------
Redo 24852317:

Making sure non-nullable object properties have a default object value assigned to them in case of serialization errors

#preflight 642549ebe11ce5214ff0a196
#rb Steve.Robb

[CL 24938058 by maxime mercier in ue5-main branch]
2023-04-05 17:59:13 -04:00
robert manuszewski
0730f2484b Redo 24852317:
Making sure non-nullable object properties have a default object value assigned to them in case of serialization errors

#preflight 642549ebe11ce5214ff0a196
#rb Steve.Robb

[CL 24869143 by robert manuszewski in ue5-main branch]
2023-03-31 06:43:52 -04:00
chris constantinescu
779b5425a3 Skip ReferenceCollectorTest
#rnx
#preflight skip

[CL 24857629 by chris constantinescu in ue5-main branch]
2023-03-30 14:17:38 -04:00
joe pribele
647d6cba00 fix for FReferenceCollectorArchive not handling unresolved FObjectPtr
stop gap fix to prevent crashing on unresolved pointers. matches the behaviour in reference collector where it skip unresolved references

https://p4-swarm.epicgames.net/reviews/24661544

#rb zousar.shaker
#preflight 6424ba91b01a25d6a003f150

[CL 24847291 by joe pribele in ue5-main branch]
2023-03-29 18:33:34 -04:00