Commit Graph

1852 Commits

Author SHA1 Message Date
mickael gilabert
73d8fd4e07 [UBT] Added IExternalAction.bShouldOutputLog to prevent certain process to spam console output
[REVIEW] [at]joe.kirchoff, [at]henrik.karlsson
#rnx

#rb Joe.Kirchoff

[CL 33206112 by mickael gilabert in ue5-main branch]
2024-04-24 13:58:20 -04:00
henrik karlsson
ed0f46926c [UBT]
* Fixed a bug where UHT folders belonging to modules referenced through public includes which recursively referenced more modules with public include dependencies. Code was not recursively traversing public include dependencies.

[FYI] joe.kirchoff

[CL 33152725 by henrik karlsson in ue5-main branch]
2024-04-22 17:44:02 -04:00
joe kirchoff
671c2e320e UnrealBuildTool: Keep track of root paths per action
#rb henrik.karlsson

[CL 33040286 by joe kirchoff in ue5-main branch]
2024-04-17 12:53:34 -04:00
ben marsh
6542865333 UBT: Fix warnings from building in Analyze configuration.
[FYI] Joe.Kirchoff

[CL 33037037 by ben marsh in ue5-main branch]
2024-04-17 11:04:13 -04:00
leon huang
b4546bb3b5 Localization:
Allow a plugin descriptor to remove the localization target field from a .uplugin file if all localization targets have been removed from a plugin descriptor.

#rb: Vincent.Gauthier
#jira: UE-194877
#rnx

[CL 32870464 by leon huang in ue5-main branch]
2024-04-10 20:42:46 -04:00
saam barati
aed1ad5fc0 Implement deep mutability
#rb Russell.Johnston Tim.Smith

This patch implements deep mutability in the new VM. To do this, I implemented the following:
- Renamed IndexSet to CallSet for name parity with call.
- Made it so we can freeze and melt structs. This wasn't implemented before. To melt a struct, we create a new emergent type where all fields live in the object itself. The melted struct will use this emergent type. We also cache this resulting emergent type on the source emergent type so that freezing all structs with emergent type E1 always produce and object with emergent type E2.
- Emit freeze/melt inside the bytecode generator at the right times. This patch emits freeze/melt unoptimally. We'll need to do FoX in the future to get better perf.
- We pattern match against the AST to match the section of AST that corresponds to a successive list of accesses that are all part of the same deep mutation. We use this to drive codegen for deep mutability.
- Refactor our intrinsics so the code for `set ... = ` can be shared with things like `set ... +=`.

[CL 32869234 by saam barati in ue5-main branch]
2024-04-10 19:46:58 -04:00
jared cotton
507c2ae365 SOL-4828 - "Split container types between being mutable and immutable"
- Removes VUTF8String and replaces its usage with VArray's of Char8's.
- Reworks VUniqueString to derive from VArray
- Re-enables majority of string related verse-tests for VM

Minor:
- Updated some ToStringImpl for VFalse and VFunction

#okforversepublic
#rb saam.barati, Tim.Smith
#rb tim.smith

[CL 32803034 by jared cotton in ue5-main branch]
2024-04-08 15:39:20 -04:00
joe kirchoff
c7db607a54 UnrealBuildTool: Fix bStaticAnalyzerExtensions not being set in copy constructor
#rnx

[CL 32779843 by joe kirchoff in ue5-main branch]
2024-04-05 20:33:03 -04:00
joe kirchoff
e03cbf755d UnrealBuildTool: Fix unknown telemetry
#rnx

[CL 32738568 by joe kirchoff in ue5-main branch]
2024-04-04 15:18:23 -04:00
george rolfe
e05aebc20a Adding GameTarget Allow/Deny Lists to UBT
#rnx
#rb Joe.Kirchoff

[CL 32721753 by george rolfe in ue5-main branch]
2024-04-04 04:41:05 -04:00
joe kirchoff
f64c22a4f3 UnrealBuildTool: Resolve CA1001, CA1012, CA1018, CA2213
#rnx

[CL 32716079 by joe kirchoff in ue5-main branch]
2024-04-03 19:55:53 -04:00
chris constantinescu
7c5095a408 LLT Android support
#rb Chris.Babcock, sebastian.lewicki
#jira UE-210332

[CL 32714226 by chris constantinescu in ue5-main branch]
2024-04-03 18:39:56 -04:00
joe kirchoff
65f7eab2cd UnrealBuildTool: Resolve CA2254, IDE0011, IDE0017, IDE0030, IDE0031, IDE0037, IDE0056, IDE0075, IDE2000, IDE2001
#rnx

[CL 32711093 by joe kirchoff in ue5-main branch]
2024-04-03 17:18:04 -04:00
joe kirchoff
0531eb4a9f UnrealBuildTool: Resolve CA1019
#rnx

[CL 32702872 by joe kirchoff in ue5-main branch]
2024-04-03 13:25:26 -04:00
joe kirchoff
a20c9fbb9e UnrealBuildTool: Format documents, remove and sort usings
#rnx

[CL 32700883 by joe kirchoff in ue5-main branch]
2024-04-03 12:22:43 -04:00
joe kirchoff
f31852226b UnrealBuildTool: Resolve CA1813
#rnx

[CL 32687223 by joe kirchoff in ue5-main branch]
2024-04-02 20:44:04 -04:00
joe kirchoff
89805bc149 UnrealBuildTool: Resolve IDE0008, IDE0049
#rnx

[CL 32687030 by joe kirchoff in ue5-main branch]
2024-04-02 20:29:22 -04:00
joe kirchoff
e895acc0bb UnrealBuildTool: Resolve IDE0018, IDE0019, IDE0034, IDE0038, IDE0041, IDE0054, IDE0057, IDE0074, IDE0090
#rnx

[CL 32686487 by joe kirchoff in ue5-main branch]
2024-04-02 19:54:03 -04:00
russell johnston
43ee153dd8 Implement defer in VerseVM
Defer blocks run for one of several reasons: normal block exit, exit via break or return, or (not yet implemented) task cancellation. To accommodate this, defer bytecode accepts a jump target index and switches on it after running. This index is stored in a register allocated for the defer block, which is sufficient because defers are not re-entrant. The register and switch are elided when the block runs only on the normal exit path.

The switch instruction has a variadic label operand. To simplify label fixup, all variadic operands are moved from `TArray` fields in the instructions to a shared trailing array in `VProcedure`. (Variadic operands to suspension captures remain `TArray`s.)

Early exit may cross several defer blocks on the way to its eventual jump target. Each defer block wraps these jump targets in a thunk, which passes the index for the wrapped target to the defer block. Exit control flow thus executes a chain of these thunks, ending with the actual exit jump when it reaches the appropriate scope.

#rb Markus.Breyer, Tim.Smith

[CL 32670628 by russell johnston in ue5-main branch]
2024-04-02 12:33:04 -04:00
joe kirchoff
567d14c994 UnrealBuildTool: If running via Horde, always add the current Horde server as a telemetry endpoint
#rnx

[CL 32594252 by joe kirchoff in ue5-main branch]
2024-03-28 17:05:41 -04:00
joe kirchoff
4713825ec2 UnrealBuildTool: Don't send telemetry or show dryrun output in debug
#rnx

[CL 32593571 by joe kirchoff in ue5-main branch]
2024-03-28 16:54:32 -04:00
joe kirchoff
1975bacb57 UnrealBuildTool: Add support for studio telemetry. Requires connection info to be defined in a BaseEngine.ini config, as well as opting into those providers via a BuildConfiguration.xml setting
#jira UE-210668

#ushell-cherrypick of 32521294 by Joe.Kirchoff

[CL 32550524 by joe kirchoff in ue5-main branch]
2024-03-27 14:05:42 -04:00
zach harris
aa6cca6f27 Fixing the LinkEnvironment copy constructor to resolve an issue with the merged pgd filename not being passed to the VC toolchain.
#tests Ran a PF with the change, issue of the missing value no longer occurs.

[CL 32510651 by zach harris in ue5-main branch]
2024-03-26 11:36:46 -04:00
zach harris
05624440e6 Modifying how we grab pgd and pgc files on Windows to account for the new merged pgd pipeline.
#rb adolf.stary

[CL 32490681 by zach harris in ue5-main branch]
2024-03-25 18:58:08 -04:00
joe kirchoff
517c200725 Remove some obsolete command line args
#rnx

[CL 32410750 by joe kirchoff in ue5-main branch]
2024-03-21 15:33:55 -04:00