Skip to content

Commit 781e1f9

Browse files
authored
Merge branch 'focus-creative-games:main' into main
2 parents d210070 + b176d63 commit 781e1f9

5 files changed

Lines changed: 47 additions & 15 deletions

File tree

Data~/hybridclr_version.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,27 @@
22
"versions": [
33
{
44
"unity_version":"2019",
5-
"hybridclr" : { "branch":"v7.2.0"},
6-
"il2cpp_plus": { "branch":"v2019-7.0.0"}
5+
"hybridclr" : { "branch":"v7.3.0"},
6+
"il2cpp_plus": { "branch":"v2019-7.3.0"}
77
},
88
{
99
"unity_version":"2020",
10-
"hybridclr" : { "branch":"v7.2.0"},
11-
"il2cpp_plus": { "branch":"v2020-7.0.0"}
10+
"hybridclr" : { "branch":"v7.3.0"},
11+
"il2cpp_plus": { "branch":"v2020-7.3.0"}
1212
},
1313
{
1414
"unity_version":"2021",
15-
"hybridclr" : { "branch":"v7.2.0"},
16-
"il2cpp_plus": { "branch":"v2021-7.0.0"}
15+
"hybridclr" : { "branch":"v7.3.0"},
16+
"il2cpp_plus": { "branch":"v2021-7.3.0"}
1717
},
1818
{
1919
"unity_version":"2022",
20-
"hybridclr" : { "branch":"v7.2.0"},
20+
"hybridclr" : { "branch":"v7.3.0"},
2121
"il2cpp_plus": { "branch":"v2022-7.2.0"}
2222
},
2323
{
2424
"unity_version":"2022-tuanjie",
25-
"hybridclr" : { "branch":"v7.2.0"},
25+
"hybridclr" : { "branch":"v7.3.0"},
2626
"il2cpp_plus": { "branch":"v2022-tuanjie-7.1.0"}
2727
},
2828
{
@@ -32,7 +32,7 @@
3232
},
3333
{
3434
"unity_version":"6000",
35-
"hybridclr" : { "branch":"v7.2.0"},
35+
"hybridclr" : { "branch":"v7.3.0"},
3636
"il2cpp_plus": { "branch":"v6000-7.2.0"}
3737
}
3838
]

Editor/BuildProcessors/CopyStrippedAOTAssemblies.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,15 @@ public static string GetStripAssembliesDir2021(BuildTarget target)
4747
#if UNITY_TVOS
4848
case BuildTarget.tvOS:
4949
#endif
50+
return $"{projectDir}/Library/Bee/artifacts/iOS/ManagedStripped";
5051
#if UNITY_VISIONOS
5152
case BuildTarget.VisionOS:
53+
#if UNITY_6000_0_OR_NEWER
54+
return $"{projectDir}/Library/Bee/artifacts/VisionOS/ManagedStripped";
55+
#else
56+
return $"{projectDir}/Library/Bee/artifacts/iOS/ManagedStripped";
57+
#endif
5258
#endif
53-
return $"{projectDir}/Library/Bee/artifacts/iOS/ManagedStripped";
5459
case BuildTarget.WebGL:
5560
return $"{projectDir}/Library/Bee/artifacts/WebGL/ManagedStripped";
5661
case BuildTarget.StandaloneOSX:

Editor/HotUpdate/MissingMetadataChecker.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,19 @@ public class MissingMetadataChecker
1313
{
1414
private readonly HashSet<string> _aotAssNames;
1515

16+
private readonly HashSet<string> _hotUpdateAssNames;
17+
1618
private readonly AssemblyCache _assCache;
1719

18-
public MissingMetadataChecker(string aotDllDir, IEnumerable<string> excludeDllNames)
20+
public MissingMetadataChecker(string aotDllDir, IEnumerable<string> hotUpdateAssNames)
1921
{
2022

21-
var excludeDllNameSet = new HashSet<string>(excludeDllNames ?? new List<string>());
23+
_hotUpdateAssNames = new HashSet<string>(hotUpdateAssNames ?? new List<string>());
2224
_aotAssNames = new HashSet<string>();
2325
foreach (var aotFile in Directory.GetFiles(aotDllDir, "*.dll"))
2426
{
2527
string aotAssName = Path.GetFileNameWithoutExtension(aotFile);
26-
if (excludeDllNameSet.Contains(aotAssName))
28+
if (_hotUpdateAssNames.Contains(aotAssName))
2729
{
2830
continue;
2931
}
@@ -34,6 +36,8 @@ public MissingMetadataChecker(string aotDllDir, IEnumerable<string> excludeDllNa
3436

3537
public bool Check(string hotUpdateDllPath)
3638
{
39+
bool anyMissing = false;
40+
3741
ModuleDef mod = ModuleDefMD.Load(File.ReadAllBytes(hotUpdateDllPath), _assCache.ModCtx);
3842

3943
foreach (var refass in mod.GetAssemblyRefs())
@@ -43,9 +47,13 @@ public bool Check(string hotUpdateDllPath)
4347
{
4448
_assCache.LoadModule(refass.Name, true);
4549
}
50+
else if (!_hotUpdateAssNames.Contains(refAssName))
51+
{
52+
UnityEngine.Debug.LogError($"Missing AOT Assembly: {refAssName}");
53+
anyMissing = true;
54+
}
4655
}
4756

48-
bool anyMissing = false;
4957

5058
foreach (TypeRef typeRef in mod.GetTypeRefs())
5159
{

RELEASELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
# ReleaseLog
22

3+
## 7.3.0
4+
5+
Release Date: 2024-12-31.
6+
7+
### Runtime
8+
9+
- [fix] fix bug that Image::ReadRuntimeHandleFromMemberRef didn't inflate parent type when read field of GenericType
10+
- [fix] fix an issue occurred in InterpreterImage::GenerateCustomAttributesCacheInternal where HYBRIDCLR_METADATA_MALLOC was incorrectly used to allocate the cache. When occasional contention occurs, releasing memory using HYBRIDCLR_FREE causes a crash.
11+
- [fix] fixed a potential deadlock issue in Unity 2019 and 2020 versions within InterpreterImage::GenerateCustomAttributesCacheInternal, where il2cpp::vm::g_MetadataLock was held before running ConstructCustomAttribute.
12+
- [fix] fixed a bug in Unity 2019 and 2020 within InterpreterImage::GenerateCustomAttributesCacheInternal, where cache memory leaks occurred under multithreading contention.
13+
- [fix] fix the bug that InterpreterImage::ConstructCustomAttribute doesn't set write barrier for field
14+
- [fix] fix the bug that `InterpreterImage::InitTypeDefs_2` runs after `InitClassLayouts`, causing the `packingSize` field to be incorrectly initialized.
15+
- [fix] fix the bug in ClassFieldLayoutCalculator::LayoutFields where the alignment calculation incorrectly considers naturalAlignment, resulting in field offsets that are inconsistent with the actual field offsets in AOT. This bug originates from IL2CPP itself and only occurs in Unity 2021 and earlier versions.
16+
17+
### Editor
18+
19+
- [fix] fix the issue in Unity 6000 where the modification of the trimmed AOT DLL output directory for the visionOS build target caused CopyStrippedAOTAssemblies::GetStripAssembliesDir2021 to fail in copying AOT DLLs.
20+
- [fix] fix the bug where MissingMetadataChecker can't detect references to newly added AOT assemblies.
21+
322
## 7.2.0
423

524
Release Date: 2024-12-9.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.code-philosophy.hybridclr",
3-
"version": "7.2.0",
3+
"version": "7.3.0",
44
"displayName": "HybridCLR",
55
"description": "HybridCLR is a fully featured, zero-cost, high-performance, low-memory solution for Unity's all-platform native c# hotupdate.",
66
"category": "Runtime",

0 commit comments

Comments
 (0)