Commit Graph

2799 Commits

Author SHA1 Message Date
andrew ladenberger
1d084da031 Added a csv scope for garbage reference tracking to not pollute GC stats
#rb robert.millar
[FYI] johan.torp, ben.woodhouse, evgenii.babinets

[CL 23667609 by andrew ladenberger in ue5-main branch]
2023-01-12 14:43:05 -05:00
johan torp
4dc03b4070 Fix UBSAN detection of underaligned access
The involved types don't need the alignment, the intent is just to put things on separate cache lines. Instead of passing the correct alignment when allocating Contexts I switched to manual padding, since MB2/3 fall back to expensive external allocations rather than using small block bins for >16 alignment.

#rb neil.henning
#[fyi] andrew.scheidecker
#rnx
#preflight 63bed621af3ebedd997768dd

[CL 23660060 by johan torp in ue5-main branch]
2023-01-12 04:25:46 -05:00
pj kack
4f629470e3 Change ArchetypeAnnotation to use FUObjectAnnotationChunked instead of FUObjectAnnotationDense (originally implemented in 18810065).
Reduces memory from 3.2 MB to 2.2 MB for an internal project with > 500 000 objects, and prevents large and slow reallocs.
Note that the object archetype may already be cached if GetArchetype is called before CacheArchetypeForObject for an object where the outer does not have RF_NeedLoad set (e.g. UPackages), and this causes the same annotation to be added twice.
Make FUObjectAnnotationChunked::AddAnnotation behavior consistent with FUObjectAnnotationDense by removing the existence check and allowing overwrites.

#jira UE-143138
#rb robert.manuszewski
#rnx
#preflight 63b68b94995dced03ab2df0d

[CL 23648554 by pj kack in ue5-main branch]
2023-01-11 12:44:16 -05:00
steve robb
301d6635bf Made FObjectInstancingGraph::InstancePropertyValue take flags for clarity, and so the DoNotCreateNewInstance flag can be passed through to GetInstancedSubobject.
Removed the unused bIsTransient flag.

#rb robert.manuszewski
#preflight 63bd4addc45a2c81e0f1cca2

[CL 23632520 by steve robb in ue5-main branch]
2023-01-10 15:47:52 -05:00
Per Larsson
473ffe134d Set correct archive name when cooking
#rb Paul.Chipchase
#jira UE-173595
#preflight 63bd401c763c6c10648e7224
#rnx

[CL 23625159 by Per Larsson in ue5-main branch]
2023-01-10 06:33:53 -05:00
mickael gilabert
aac0eab02e prevent VM execution functions from being inlined when PGOOptimize is enabled on MS platforms (and prevent linker to fail with data generated with FASTGENPROFILE)
#jira UE-172329, FORT-551919
[REVIEW] [at]david.harvey
#preflight 63b87719c927e344829c0d43
#tests A/B perf test regression

[CL 23616610 by mickael gilabert in ue5-main branch]
2023-01-09 13:22:01 -05:00
simon orr
640b84ae57 MemQuery integrating into 23.30
MemQuery plugin. LLM tracking of Assets and AssetClasses if enabled.
Memory usage queries to display memory usage for assets and classes with group breakdowns amongst other uses.
Modification to LowLevelMemTracker to support asset and assetclass tracking.
#rb Matt.Peters

[CL 23599453 by simon orr in ue5-main branch]
2023-01-06 12:22:16 -05:00
Matt Peters
2c09d357e8 SavePackage WeakObjectPtr: Fix null pointer dereference in WeakObjectPtr serializer.
#rb Francis.Hurteau
#rnx
#preflight 63b766efd862fdd347db1ae4

[CL 23594824 by Matt Peters in ue5-main branch]
2023-01-05 19:15:56 -05:00
Matt Peters
ba4bd53502 EditorDomain: Remove indeterminism caused by SavedByEngineVersion and CompatibleWithEngineVersion.
#rb Zousar.Shaker
#rnx
#preflight 63b75c43221aab21e0365ea6

[CL 23594439 by Matt Peters in ue5-main branch]
2023-01-05 18:31:37 -05:00
joe pribele
cffacc0be5 support for TObjectPtr handling renames and GetTypeHash(TObjectPtr) no long has to resolve
GetTypeHash will create a packaged object ref for hashing if the class is defined as lazy load otherwise raw pointer is hashed
a map was added for moved objects and ObjectPathId can be a WeakObjectPtr
the map allows UObjects to be mapped back to packed object refs

#rb zousar.shaker
https://p4-swarm.epicgames.net/reviews/23356491
#preflight 63b5de641c35d1cbdbccecf7
#preflight 63b70406e26e31879b8aa6d3

[CL 23589497 by joe pribele in ue5-main branch]
2023-01-05 12:27:16 -05:00
JeanFrancois Dube
cfe604d5de Weak Object Pointers Serialization: if the objects share the same outer but aren't in the same package, we treat this weak object reference as a hard reference, to make sure they end up in the import table. This guarantee that they can be referenced by objects saved in other packages, such as different external actors from the same world.
#jira UE-166356
#rb francis.hurteau
#preflight none

[CL 23587417 by JeanFrancois Dube in ue5-main branch]
2023-01-05 10:02:14 -05:00
devin doucette
cc99d6c295 Logging: Added structured logging support to non-platform feedback contexts
#jira UE-152840
#preflight 63b4824f717a593ee7f1e245
#rb Zousar.Shaker
#rnx

[CL 23570675 by devin doucette in ue5-main branch]
2023-01-03 17:15:30 -05:00
pj kack
95e176f99e Fix problem with the FStructUtils::AttemptToFindUninitializedScriptStructMembers automation test sometimes failing without logging any errors.
Use the same log verbosity logic for all properties, no matter if they have a custom default constructor or not.
Let the test succeed or fail based on the absence or presence of errors instead of based on the uninitialized struct count.

#jira UE-170827
#rb johan.torp
#rnx
#preflight 639c3c7e680483bcb10f48c7,63b3d93443330e63e5490b69

[CL 23564366 by pj kack in ue5-main branch]
2023-01-03 04:07:14 -05:00
PJ Kack
d2ce0db309 Fix issue where weak object pointers are invalidated when re-creating a UObject with the same name.
Make sure to also reuse the serial number when reusing the internal index.

#jira UE-172667
#rb carlmagnus.nordin
#rnx
#preflight 639c3c248c5081ee9a4bbe79,63b3db852960b7322014a4a3

[CL 23564284 by PJ Kack in ue5-main branch]
2023-01-03 03:31:16 -05:00
Matt Peters
37b22226db EditorDomain: fix fallouts after bulk data refactor.
Allow EditorDomain to save BulkDataType FBulkDataInfo::BulkSegment.
Declare a Region for each BulkData passed into the EditorDomain PackageWriter.
Mark BulkDatas saved by reference as PayloadInSeparateFile.
Allow RegionTypeNone in SerializePayload.
#rb Francis.Hurteau
#rnx
#preflight 639cec7c776b61ba3b905f8a

[CL 23542385 by Matt Peters in ue5-main branch]
2022-12-16 17:40:20 -05:00
justin marcus
1e2f92c4ee Add HasAsyncFileWrites() to see if there are pending writes without blocking
#preflight https://horde.devtools.epicgames.com/job/639b918e8c5081ee9a1de99a

[CL 23541591 by justin marcus in ue5-main branch]
2022-12-16 16:23:40 -05:00
Per Larsson
b20b928cf7 Editor Domain - fix fallouts after bulk data refactor
- allow file region of type None
- don't early out when saving bulk data by reference

#rb trivial
#jira none
#preflight 639b6de30a67152550853ab9
#rnx

[CL 23529938 by Per Larsson in ue5-main branch]
2022-12-15 14:35:36 -05:00
Per Larsson
36c478f1a9 Savepackage2 - fix bad submit with virtual export offset
#rb trivial
#jira UE-172748
#preflight 639b6488776b61ba3b18d37a
#rnx

[CL 23529156 by Per Larsson in ue5-main branch]
2022-12-15 13:28:09 -05:00
Per Larsson
a40f1b40fb SavePackage2 - fix bug with virtual export size offset
#rb Paul.Chipchase, Matt.Peters
#jira UE-172748
#preflight 639b390143330e63e561b46f
#rnx

[CL 23527962 by Per Larsson in ue5-main branch]
2022-12-15 11:29:54 -05:00
paul chipchase
6dc45601e9 Work around to load packages that were saved with incorrect FPackageFileSummary offsets
#rb Per.Larsson
#jira UE-172748
#rnx
#preflight 639b08552540a78d27dd55a0

- CL 23489396  introduced a problem for packages that contain both BulkData and EditorBulkData. When saved for the workspace domain FPackageFileSummary would be provided the wrong values for PayloadTocOffset (it would be a lower value than BulkDataStartOffset) causing the trailer to fail to load. When an editor bulkdata is later serialized it would be unable to find itself in the trailer (since the trailer doesn't exist) and we would assert as this should never be the case.
- Although the bug generating the bad data will be fixed, we can still load the trailer by jumping to the end of the package file and reading the trailer in reverse order, although this is a slower method which is why we prefer the forward reading method based on the stored offset.
- We will limit this fix to packages with the version number == EUnrealEngineObjectUE5Version::DATA_RESOURCES so that we only try this with packages that we know could have incorrect offsets.

[CL 23525286 by paul chipchase in ue5-main branch]
2022-12-15 07:17:35 -05:00
francis hurteau
f72fb0dc11 Fix editor only soft object path not being loaded under the proper context and ultimately being cooked
#preflight 6399f0652960b732207145dc
#jira UE-169184
#rb Matt.Peters
#lockdown jeanmichel.dignard

[CL 23519389 by francis hurteau in ue5-main branch]
2022-12-14 16:39:55 -05:00
johan torp
c7da17c206 Silence MSVC static analysis warnings
#rb none
#jira UE-172697
#rnx

[CL 23516610 by johan torp in ue5-main branch]
2022-12-14 14:54:38 -05:00
johan torp
287cdc3e2e Fixed editor nulling out Outer/Package causing "Reachable garbage object" errors in changelist/asset validation
#rb none
#rnx

[CL 23516547 by johan torp in ue5-main branch]
2022-12-14 14:53:16 -05:00
johan torp
a9e297178e Silence MSVC static analysis warnings
#rb none
#jira UE-172711
#rnx
#preflight 6399a6692960b732205f60c6

[CL 23514347 by johan torp in ue5-main branch]
2022-12-14 13:20:09 -05:00
johan torp
c6e34b39d5 Silence more bogus PVS studio warnings
#rnx
#rb none

[CL 23499783 by johan torp in ue5-main branch]
2022-12-13 18:14:20 -05:00