#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]
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]
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]
- 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]
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]
#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]
[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]