Commit Graph

329 Commits

Author SHA1 Message Date
marc audy
e7bc4dc660 UHT optimization: Avoid copy of GetGeneratedHeaderFilename and use the const& instead
(should have been part of CL# 13181587)
#rb trivial
#rnx
#jira

#ROBOMERGE-SOURCE: CL 13184134 via CL 13184139 via CL 13184164
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13184172 by marc audy in Main branch]
2020-05-05 14:32:46 -04:00
marc audy
615d7a84c7 UHT optimization: Encapsulate GUnrealSourceFilesMap, GTypeDefinitionInfoMap, and GPublicSourceFileSet to allow indexing in multiple ways
#rb Michael.Noland
#rnx
#jira

#ROBOMERGE-SOURCE: CL 13183805 via CL 13183813 via CL 13183823
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13183833 by marc audy in Main branch]
2020-05-05 13:59:39 -04:00
marc audy
1fe338e5e5 UHT optimization: UnrealSourceFile API cleanup
Eliminate Get/AppendDefinedClasses and use the const TMap& GetDefinedClassesWithParsingInfo instead to avoid building/copying arrays unnecessarily.
Cache GeneratedHeaderFilename, StrippedFilename, and FileId instead of repeatedly rebuilding
Use Move parameters as possible
#rb Michael.Noland
#jira
#rnx

#ROBOMERGE-SOURCE: CL 13181587 via CL 13181592 via CL 13181597
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13181603 by marc audy in Main branch]
2020-05-05 12:35:20 -04:00
marc audy
e235ae1375 Improve header generation time by ~4 seconds
#rb
#rnx
#jira

#ROBOMERGE-SOURCE: CL 13050907 via CL 13050910 via CL 13050915
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13050917 by marc audy in Main branch]
2020-04-27 17:17:39 -04:00
patrick laflamme
61583788ea Fixed missing ';' in HeaderParser.cpp
[FYI] Fred.Kimberley
#rb trivial
#rnx
#jira none
#lockdown cristina.riveron

#ROBOMERGE-SOURCE: CL 12625156 in //UE4/Release-4.25/... via CL 12625161 via CL 12625172
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12625178 by patrick laflamme in Main branch]
2020-04-06 13:29:27 -04:00
fred kimberley
2b29c51315 Improved validation for per class sparse data in UHT. Fixed a bug where improperly specified sparse data structures were reported multiple times and with the wrong file location.
#jira UE-84227
#rb Michael.Noland
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 12624001 in //UE4/Release-4.25/... via CL 12624090 via CL 12624249
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12624288 by fred kimberley in Main branch]
2020-04-06 12:54:37 -04:00
fred kimberley
7b9e89d73e Backing out CL 12584912 since it is causing problems with the build.
#rb none
#jira none
[FYI] Michael.Noland
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 12585208 in //UE4/Release-4.25/... via CL 12585210 via CL 12585211
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12585212 by fred kimberley in Main branch]
2020-04-02 22:08:30 -04:00
fred kimberley
725c39b849 Improved validation for per class sparse data in UHT. Fixed a bug where improperly specified sparse data structures were reported multiple times and with the wrong file location.
#jira UE-84227
#rb Michael.Noland
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 12584912 in //UE4/Release-4.25/... via CL 12584922 via CL 12584925
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12584931 by fred kimberley in Main branch]
2020-04-02 21:18:32 -04:00
ben hoffman
12cdf83e6b Update UHT to support int64 properties with ExposeOnSpawn
#jira UE-91150
#rb marc.audy

#ROBOMERGE-SOURCE: CL 12451364 in //UE4/Release-4.25/... via CL 12451365
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Release-Engine-Staging) (v672-12450963)

[CL 12451378 by ben hoffman in Release-Engine-Staging branch]
2020-03-26 11:39:13 -04:00
ben hoffman
f84d25c2f9 Update UHT to support int64 properties with ExposeOnSpawn
#jira UE-91150
#rb marc.audy

[CL 12451364 by ben hoffman in 4.25 branch]
2020-03-26 11:38:33 -04:00
robert manuszewski
b7568cc694 Fix for UE-90683: You can no longer delete conflicting variables
Refactored FindField into FindUField and FindFProperty to avoid confusion caused by the fact that FindField<UField> will no longer return FProperties.

#jira UE-90683
#rb Steve.Robb
#tests Basic editor functionality test, cooked and ran PC client and server, bot soak tests for two hours

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 12190998 in //UE4/Release-4.25/... via CL 12190999
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v661-12148976)

[CL 12191300 by robert manuszewski in Main branch]
2020-03-15 10:33:45 -04:00
Robert Manuszewski
321457eb31 Fix for UE-90683: You can no longer delete conflicting variables
Refactored FindField into FindUField and FindFProperty to avoid confusion caused by the fact that FindField<UField> will no longer return FProperties.

#jira UE-90683
#rb Steve.Robb
#tests Basic editor functionality test, cooked and ran PC client and server, bot soak tests for two hours

[CL 12190998 by Robert Manuszewski in 4.25 branch]
2020-03-15 10:08:50 -04:00
dan oconnor
98628be41e ExpandEnumAsExecs now works with bool parameters, added ExpandBoolAsExecs synonym
#rb Phllip.Kavan
#jira UE-89057


#ROBOMERGE-SOURCE: CL 11522401 via CL 11522407 via CL 11522423
#ROBOMERGE-BOT: (v654-11333218)

[CL 11525131 by dan oconnor in Main branch]
2020-02-18 17:21:46 -05:00
Steve Robb
eb5e88e2b6 Fix for UHT crashing when you have a UInterface but no IInterface.
#rb robert.manuszewski
#jira none

[CL 11418839 by Steve Robb in Main branch]
2020-02-13 09:22:22 -05:00
robert manuszewski
b938e59c9b Reimplementing FProperty changes from //UE4/Main
+ Reimplemented FProperty related fixed from //UE4/Main:
CL#10791312, 10804850, 10851666, 10855122, 10855198, 10942138, 11030611, 11030639, 11032261, 11061515, 11136964,11138881, 11214238, 11214865

#rb none (previously reviewed in Dev-Core)
[FYI] Chris.Bunnner, Daniel.Lamb


#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 11302985 via CL 11303011 via CL 11303019
#ROBOMERGE-BOT: (v0-11244347)

[CL 11303183 by robert manuszewski in Main branch]
2020-02-10 08:06:56 -05:00
Josh Adams
aa9705149b Copying Private-LoadTimes-4.24 stream to Main. Biggest changes are in Materials/Shader memory freezing.
#rb none

[CL 11282608 by Josh Adams in Main branch]
2020-02-06 13:13:41 -05:00
Marc Audy
6be7175165 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 11203868
#rb
#rnx

[CL 11203920 by Marc Audy in Dev-Framework branch]
2020-02-01 14:39:32 -05:00
Marc Audy
9b14e17824 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 11128285
#rb
#rnx

[CL 11130996 by Marc Audy in Dev-Framework branch]
2020-01-28 11:29:06 -05:00
Phillip Kavan
7e80ceffb7 Expose the new 'UncookedOnly' UBT module type to UHT in order to exclude uncooked-only script code modules from nativized Blueprint dependencies.
#jira UE-86099
#rb Ben.Marsh, Steve.Robb

[CL 10940572 by Phillip Kavan in Dev-Framework branch]
2020-01-10 08:04:46 -05:00
marc audy
80986e13a9 UHT Additional cleanup
* Remove FNameLookupCPP struct and interface name maps. Overhead of managing/locking maps provides no benefit to the very simple Printf that it is ultimately doing.
* Remove unused FNameLookupCPP source file
* Remove GClassStrippedHeaderTextMap and GClassHeaderNameWithNoPathMap as they are unused
* No longer add Enum hashes to global table as they are not read.
* CheckedMetadataSpecifiers now stored as a FName keyed TMap as the incoming values are names not strings, so no need to convert name to string
#jira
#rnx
#rb


#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 10879228 via CL 10879328 via CL 10879344
#ROBOMERGE-BOT: (v626-10872990)

[CL 10880488 by marc audy in Main branch]
2020-01-06 12:52:50 -05:00
marc audy
a7f3d43678 UHT optimizations part 6 - Generate files in parallel. Improves code generation phase by ~50%.
* Restructured code so that FNativeClassHeaderGenerator can now use ParallelFor for 3 phases: creating the .generated.h files, creating the .gen.cpp, and exporting the generated headers
* FNameLookupCPP, GPackageSingletons, GGeneratedCodeHashes, GetTypePackageName, FNativeClassHeaderGenerator::GetPackageSingletonName, FTypeSingletonCache, and FTypeSingleton::GetExternDecl now use RWScopeLocks to safely control access to globals/statics
#jira
#rnx
#rb


#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 10876463 via CL 10876464 via CL 10876465
#ROBOMERGE-BOT: (v624-10872983)

[CL 10876473 by marc audy in Main branch]
2020-01-04 15:28:16 -05:00
marc audy
345b547ebd Sort out duplicate symbol names in unity builds
#jira
#rnx


#ROBOMERGE-SOURCE: CL 10872877 via CL 10872878 via CL 10872879
#ROBOMERGE-BOT: (v623-10872670)

[CL 10872880 by marc audy in Main branch]
2019-12-31 18:29:49 -05:00
marc audy
4f953d13fb Fix duplicate FName declarations in unity builds
#jira
#rnx


#ROBOMERGE-SOURCE: CL 10872852 via CL 10872853 via CL 10872854
#ROBOMERGE-BOT: (v623-10872670)

[CL 10872859 by marc audy in Main branch]
2019-12-31 16:09:57 -05:00
marc audy
f88c49cee3 UHT optimizations part 4 - Improve HeaderParser times by ~35%
* FToken now lazily initializes FName version when needed
* FToken now avoids string compares when matching single character symbols and requires that case sensitivity be specified for matching identifiers
* FClass now maintains a type package name map rather than reconstructing package name repeatedly
* HeaderParser now avoids name lookups, avoids case insensitive string compares, and uses move semantics whenever possible
#rb
#jira
#rnx


#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 10872843 via CL 10872844 via CL 10872845
#ROBOMERGE-BOT: (v623-10872670)

[CL 10872857 by marc audy in Main branch]
2019-12-31 16:09:30 -05:00
marc audy
96792bfd40 UHT optimizations part 2 - Class Metadata improvements
* Added a sorted specifier list to reduce string compares when evaluating metadata tags
* Use move semantices where possible
* Use RemoveSwap instead of Remove when processing show/hide metadata tags. Generated code can change as a result of hide/show tag order changing.
#jira
#rnx


#ROBOMERGE-SOURCE: CL 10872240 via CL 10872241 via CL 10872242
#ROBOMERGE-BOT: (v620-10870533)

[CL 10872243 by marc audy in Main branch]
2019-12-30 16:29:04 -05:00