Commit Graph

1768 Commits

Author SHA1 Message Date
dmytro ivanov
32d57e9b28 Don't bundle libUnreal.so in .apk for faster iteration
#jira UE-186383
#rb Chris.Babcock

[CL 28967167 by dmytro ivanov in ue5-main branch]
2023-10-20 11:24:28 -04:00
saam barati
c90af30f0b 8-byte align bytecode ops
#rb yiliang.siew

We're soon gonna be storing to VValue/pointer fields in the bytecode stream that the GC will scan and the mutator will write to. Let's 8-byte align so we don't see tearing.

[CL 28779525 by saam barati in ue5-main branch]
2023-10-13 19:27:38 -04:00
david harvey
55919f638d Adding generic structure parsers to ConfigHierarchy, allowing full struct hierarchies to be parsed from a single config key.
Supported types:
 - Basic primitives - string, int, float, bool etc.
 - Enums
 - Array, List, Dictionary
 - structs & classes
 - DirectoryReference & FileReference for FDirectoryPath & FFilePath

#rnx
#rb Josh.Adams

[CL 28713409 by david harvey in ue5-main branch]
2023-10-12 12:06:36 -04:00
joe kirchoff
b7ac77e70a UnrealBuildTool: Option to use the experimental executor for local-only compiles, if no other distribution method is used
#rnx

[CL 28688571 by joe kirchoff in ue5-main branch]
2023-10-11 18:41:35 -04:00
tim smith
6355ca009e Fix UBT to enable hot reload modules for engine only builds. This is done so that live coding checks still work when building from P4V or other tools that might not specify a project file.
#rb joe.kirchoff

[CL 28614697 by tim smith in ue5-main branch]
2023-10-10 07:12:02 -04:00
joe kirchoff
9853fa5c15 UnrealBuildTool: Don't show CompilationResult as the error message if no additional message is added
#rnx

[CL 28604561 by joe kirchoff in ue5-main branch]
2023-10-09 19:28:15 -04:00
joe kirchoff
ac8b621482 UnrealBuildTool: Add a few additional CompilationResult so .cs issues can be detected by horde more easily
#jira UE-197248

[CL 28597572 by joe kirchoff in ue5-main branch]
2023-10-09 16:37:58 -04:00
joe kirchoff
d6b2c9077a UnrealBuildTool: Support emiting line tables only for debugging rather than disabling debug info entirely
Configuration is the same as TargetRules.DebugInfo and will override that setting except when debug info is disabled for the entire target

[CL 28558101 by joe kirchoff in ue5-main branch]
2023-10-06 17:13:05 -04:00
joe kirchoff
46eab319e3 UnrealBuildTool: Add the ability to disable debugging info for select modules and plugins via TargetRules configuration
Obsolete bDisableDebugInfo and replace with TargetRules.DebugInfo which is a flags enum DebugInfoMode. TargetRules.DebugInfo can be set to any or all of [Engine, EnginePlugins, Project, ProjectPlugins], whichever flags are set will have debug info enabled for the modules in those groups if the Target would otherwise has debug info enabled
* DebugInfoMode.None is equalivant to bDisableDebugInfo=true (-NoDebugInfo will still set this)
* DebugInfoMode.ProjectOnly = Project | ProjectPlugins
* DebugInfoMode.EngineOnly = Engine | EnginePlugins
* DebugInfoMode.Full = Engine | EnginePlugins | Project | ProjectPlugins
* DebugInfoMode.Full is equalivant to bDisableDebugInfo=false (the current default)
Add TargetRules.DisableDebugInfoModules, this is a list of module names that should disable debug info regardless of TargetRules.DebugInfo
Add TargetRules.DisableDebugInfoPlugins, this is a list of plugin names that should disable debug info for all of their modules regardless of TargetRules.DebugInfo

[CL 28544448 by joe kirchoff in ue5-main branch]
2023-10-06 12:28:59 -04:00
yiliang siew
664fd7f23c Introduces VClass. Emergent types are vended by VClass when a new object is requested to be constructed given a class and the fields that are being overrriden.
- Opcodes now support having immediate operands.
- Fixes the indices not being generated correctly for object shapes.
- New opcodes `NewClass`, `NewObject`, `LoadField` and `UnifyField` for working with classes and objects.
- Some `const` cleanup of arguments.
- Also update UBT to disable the "first include must match in terms of filename" check on `VerseVM`, since it brings us no benefits and actively interferes with the way we do inline versions of our headers.

#rnx
#rb Saam.Barati
#rb Phil.Pizlo

[CL 28541942 by yiliang siew in ue5-main branch]
2023-10-06 11:32:14 -04:00
joe kirchoff
0540ae79df UnrealBuildTool: Simplify the UHT #include root path
#rnx

[CL 28475008 by joe kirchoff in ue5-main branch]
2023-10-04 17:00:00 -04:00
joe kirchoff
c6a5333cca UnrealBuildTool: Don't always assume a working set is P4 unless there is a read-only file in the workspace root
#rnx
#jira UE-197123

[CL 28464753 by joe kirchoff in ue5-main branch]
2023-10-04 13:43:53 -04:00
joe kirchoff
2864b992e7 UnrealBuildTool: Remove defunct HybridExecutor
[CL 28293691 by joe kirchoff in ue5-main branch]
2023-09-27 17:10:23 -04:00
joe kirchoff
a6e94ff649 UnrealBuildTool: Invalidate makefile if a header only directory is added or removed
#jira UE-191921

[CL 28257409 by joe kirchoff in ue5-main branch]
2023-09-26 20:28:19 -04:00
henrik karlsson
65b9042153 [UBT]
* Added support for pch using header units.

#rb joe.kirchoff

[CL 28138630 by henrik karlsson in ue5-main branch]
2023-09-22 11:51:23 -04:00
rob perren
a6b5dd69df Add support to ConfigCache.cs to allow a hotfix directory to be specified which will allow additions and overrides to specified in a similar way to the runtime hotfixing system
#rb Josh.Adams
#rnx

[CL 27669033 by rob perren in ue5-main branch]
2023-09-07 07:25:22 -04:00
niklas rojemo
528b8e6d85 IR->bytecode lowering: map and iteration over maps
VerseCLR can now compile verse code with maps, and iterations over maps, to the new VM.
Fix unrelated bug triggered by nested for-iterations over arrays, returning an array of arrays.

#rb Saam.Barati
#rnx

[CL 27582449 by niklas rojemo in ue5-main branch]
2023-09-04 04:06:16 -04:00
saam barati
7157db4ca9 Don't allocate tuples unnecessarily for calls with multiple arguments
#rb markus.breyer

This patch makes it so calls with multiple arguments don't require a tuple allocation. We just allow functions to have multiple arguments and be called normally. However, when such functions are invoked with a tuple, we'll unbox the tuple into the argument slots.

We also allow functions with single-param-as-tuple to be invoked with multiple arguments. And such functions will box the arguments into a tuple when being called.

A function with N arguments now take up the first N register slots in the frame.

This patch also fills out some more of the bytecode generator to make some tests I wrote work.

[CL 27510491 by saam barati in ue5-main branch]
2023-08-30 20:56:02 -04:00
tim smith
d758896471 Move VerseVM to CoreUObject to facilitate the merging of UEGC and VerseGC
#rb saam.barati phil.pizlo

[CL 27374952 by tim smith in ue5-main branch]
2023-08-25 09:08:53 -04:00
joe kirchoff
9b2f302d4b UnrealBuildTool: Always enable ValidateFormatStrings for engine modules, and create a pch variant for modules that opt out
#rnx

[CL 27352456 by joe kirchoff in ue5-main branch]
2023-08-24 14:59:44 -04:00
joe kirchoff
092ff454ad [Backout] - CL27330584
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Always enable ValidateFormatStrings for engine modules, and create a pch variant for modules that opt out

#rnx

[CL 27331965 by joe kirchoff in ue5-main branch]
2023-08-23 22:16:13 -04:00
joe kirchoff
c0b34f9bb3 UnrealBuildTool: Always enable ValidateFormatStrings for engine modules, and create a pch variant for modules that opt out
#rnx

[CL 27330607 by joe kirchoff in ue5-main branch]
2023-08-23 20:55:29 -04:00
kirill zorin
6b206ca86d Turning on FormatStringSan in UBT
#rb joe.kirchoff

[CL 27314833 by kirill zorin in ue5-main branch]
2023-08-23 14:49:29 -04:00
neil henning
f222493c8a Make CPP files on windows depend on the AutoRTFM compiler version if we are using it.
#rb joe.kirchoff

[CL 27302143 by neil henning in ue5-main branch]
2023-08-23 07:19:35 -04:00
joe kirchoff
94452e2f5d UnrealBuildTool: Update BuildSettingVersion for temp generated projects
#rnx

[CL 27247806 by joe kirchoff in ue5-main branch]
2023-08-21 14:31:25 -04:00