Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NativeAOT-LLVM] Merge oct 01 #2750

Merged
merged 75 commits into from
Nov 10, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
c4b3d81
Target .NET 10 / net10.0 (#106599)
ViktorHofer Sep 25, 2024
3baa42e
More doc updates for source-of-truth assemblies (#107810)
gewarren Sep 25, 2024
845e9a3
[main] Update dependencies from dotnet/arcade (#108182)
dotnet-maestro[bot] Sep 25, 2024
cf165a7
Update sign-diagnostic-files.yml to skip dac sign in staging (#108209)
hoyosjs Sep 25, 2024
d6ac24c
Implement Enumerable.Reverse(TSource[]) (#107957)
333fred Sep 25, 2024
335b1a9
Update field references in property accessors (#108225)
cston Sep 25, 2024
a16e0d5
[main] Update dependencies from dotnet/cecil, dotnet/hotreload-utils,…
dotnet-maestro[bot] Sep 25, 2024
f2dfbf5
Update dependencies from https://github.com/dotnet/roslyn build 20240…
dotnet-maestro[bot] Sep 25, 2024
7c85cee
Add DefaultMemberAttribute to Test.CoreLib (#108236)
MichalStrehovsky Sep 25, 2024
79a71fc
Remove live System.Text.Json reference from HostModel (#108263)
ericstj Sep 26, 2024
19da949
Delete dead code (#108265)
jkotas Sep 26, 2024
d22c74d
ARM64: Fix lsra for AdvSimd_LoadAndInsertScalar (#107786)
a74nh Sep 26, 2024
dfc3310
Bring back Microsoft.BCL.Memory netstandard2.1 facade (#108245)
ericstj Sep 26, 2024
931ea60
Fix handling of appending keywords to boolean schemas. (#108246)
eiriktsarpalis Sep 26, 2024
735a031
Fixing SetSlice, Reshape, TryCopyTo. (#107852)
michaelgsharp Sep 26, 2024
e4282ff
[mini] Don't use Unwind Backtrace on android-amd64 (#107615)
lambdageek Sep 26, 2024
52a51e8
Add test coverage for DirectoryServices.TransformControls (#107201)
edwardneal Sep 26, 2024
c5ec080
Update dependencies from https://github.com/dotnet/arcade build 20240…
dotnet-maestro[bot] Sep 26, 2024
3bf0029
Update dependencies from https://github.com/dotnet/roslyn build 20240…
dotnet-maestro[bot] Sep 26, 2024
f8b6dc7
Update dependencies from https://github.com/dotnet/cecil build 202409…
dotnet-maestro[bot] Sep 26, 2024
c4ebd38
Update dependencies from https://github.com/dotnet/emsdk build 202409…
dotnet-maestro[bot] Sep 26, 2024
1990f08
[cdac][cdac-build-tool] Don't let msbuild rewrite the resource name (…
lambdageek Sep 26, 2024
9d9c64d
Disable System.Collections.Immutable tests on native AOT (#108275)
MichalStrehovsky Sep 26, 2024
fdc9e54
[cdac][tests] Make it easier to set up a unit test (#108288)
lambdageek Sep 26, 2024
9b56e73
[cdac-build-tool] don't embed resources (#108293)
lambdageek Sep 26, 2024
c20bdf6
Remove HelperMethodFrame from `Delegate` construction (#108217)
AaronRobinsonMSFT Sep 27, 2024
69de6dd
Root the System.Runtime EventSource (#108266)
noahfalk Sep 27, 2024
84b7c2f
Unblock System.Linq testing in nativeAOT outerloop (#108302)
MichalStrehovsky Sep 27, 2024
01aa3d9
[wasm] Change ICU `WasmBuildTests` to use `wasmconsole` and `wasmbrow…
ilonatommy Sep 27, 2024
c315bac
[iOS] Enable and disable tests for hybrid globalization on Apple (#10…
mkhamoyan Sep 27, 2024
8699505
Enable policheck and tsa (#108312)
agocke Sep 27, 2024
2fcc09b
Fix statics issue with barriers (#108311)
davidwrighton Sep 27, 2024
b3a113a
Fix build-runtime-tests-and-send-to-helix auth for internal PRs (#107…
hoyosjs Sep 27, 2024
a2291e9
fix guid version > 7 (#108314)
kasperk81 Sep 27, 2024
4a99ef1
JIT: refactor AddCodeDsc (#108095)
AndyAyersMS Sep 28, 2024
3fd7b0f
Convert `ReflectionInvocation.CanValueSpecialCast()` to managed (#108…
AaronRobinsonMSFT Sep 28, 2024
7c69e7d
Fix the QCall contract for GC suppression. (#108344)
AaronRobinsonMSFT Sep 28, 2024
ba9b3ba
Fix handling of IDynamicInterfaceCastable wrt CastCache (#108328)
MichalStrehovsky Sep 28, 2024
3d9334c
Fix AbandonedMutexException errors in System.Memory tests (#108369)
MihaZupan Sep 29, 2024
4c53afd
[main] Update dependencies from dotnet/xharness (#108184)
dotnet-maestro[bot] Sep 29, 2024
2917e51
NativeAOT Thread Name (#107943)
cshung Sep 29, 2024
98db53f
Fix IDynamicInterfaceCastable with shared generic code (#108235)
MichalStrehovsky Sep 30, 2024
c049b85
[wasm] Dispose Xunit ToolCommand (#108319)
ilonatommy Sep 30, 2024
96be510
[LoongArch64] Modify several atomic instructions in nativeaot. (#108377)
sunlijun-610 Sep 30, 2024
70e4eb9
JIT: use bbID for pred list ordering (#108357)
AndyAyersMS Sep 30, 2024
9399533
Move computation of DebuggerAssemblyControlFlags from DomainAssembly …
elinor-fung Sep 30, 2024
e720b9f
Add notifications for area-Interop-coreclr (#108378)
AaronRobinsonMSFT Sep 30, 2024
74b18d3
Remove duplicate code in DiagnosticsHandler (#108012)
stevejgordon Sep 30, 2024
13e55a4
Update dependencies from https://github.com/dotnet/source-build-refer…
dotnet-maestro[bot] Sep 30, 2024
a7e5426
[cdac] break up cdacreader into 4 separate assemblies (#108156)
lambdageek Sep 30, 2024
eb78413
Pass ScenarioArgs for scenario projects (#108303)
caaavik-msft Sep 30, 2024
e690777
Enable IDynamicInterfaceCastable tests disabled on fixed bug (#108376)
MichalStrehovsky Sep 30, 2024
a0790e9
Updated tsaoptions.json to direct issues to runtime. (#108410)
artl93 Sep 30, 2024
7b1e788
JIT: remove some unnecessary DONT_REMOVE block flags (#108405)
AndyAyersMS Sep 30, 2024
e9fa899
Add comments to host error_codes.h (#107775)
elinor-fung Oct 1, 2024
4f66989
[mono] Set unwind table kind (#107462)
radekdoulik Oct 1, 2024
44c9d13
[wasm] Include browser targets if RID is not wasi-wasm (#108283)
maraf Oct 1, 2024
008ee9f
Disable `RunWithDifferentAppBundleLocations` failing with a timeout (…
ilonatommy Oct 1, 2024
d024a5b
[Swift interop] Add inline array struct lowering tests (#107859)
jkurdek Oct 1, 2024
e38e56a
Remove AppDomain from DebugInterface Load/UnloadClass (#107808)
elinor-fung Oct 1, 2024
fff9521
Bump `Playwright` on `WasmBuildTests` to 1.47.0 (#108441)
ilonatommy Oct 1, 2024
68d8478
[wasm] Dispose Xunit `ToolCommand` - follow up (#108387)
ilonatommy Oct 1, 2024
d726811
Fix partial compilation for CETCOMPAT mode (#108062)
EgorBo Oct 1, 2024
d95cbad
Fold some casts early in importer (#108356)
EgorBo Oct 1, 2024
2d2e703
remove dead code from BCL.cs (#108165)
kasperk81 Oct 1, 2024
82f8ac6
couple minor docs updates (#108407)
gewarren Oct 1, 2024
e6d9f74
Fix devirtualization across genericness in the hierarchy (#108442)
MichalStrehovsky Oct 1, 2024
3ca4ec8
Update System.Formats.Nrbf ref sources and restore package descriptio…
jeffhandley Oct 2, 2024
53c79b7
Merge commit '3ca4ec8011f153bb8aa7508ea323a9acfe6e8283' into merge-oc…
yowl Nov 5, 2024
33bf810
resolve conflict
yowl Nov 5, 2024
ae066a9
add AcdKeyDesignator parameter
yowl Nov 7, 2024
8f467d9
update from 9 to 10 in doc and Tested-by:
yowl Nov 8, 2024
d04a118
more doc change from 9 to 10
yowl Nov 8, 2024
6ff4806
exclude test that fails in release
yowl Nov 9, 2024
81aa779
Update src/tests/nativeaot/SmokeTests/UnitTests/Main.cs
yowl Nov 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/workflow/building/coreclr/nativeaot.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ It is also possible to publish an ordinary console project for Wasm using packag
and the following two references to the project file itself:
```xml
<ItemGroup>
<PackageReference Include="Microsoft.DotNet.ILCompiler.LLVM" Version="9.0.0-dev" />
<PackageReference Include="runtime.$(NETCoreSdkPortableRuntimeIdentifier).Microsoft.DotNet.ILCompiler.LLVM" Version="9.0.0-dev" />
<PackageReference Include="Microsoft.DotNet.ILCompiler.LLVM" Version="10.0.0-dev" />
<PackageReference Include="runtime.$(NETCoreSdkPortableRuntimeIdentifier).Microsoft.DotNet.ILCompiler.LLVM" Version="10.0.0-dev" />
Comment on lines +66 to +67

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think docs\using-nativeaot\compiling.md also needs updating.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, changed.

</ItemGroup>
```
You should now be able to publish the project for Wasm: `dotnet publish -r browser-wasm /p:MSBuildEnableWorkloadResolver=false`. This produces `YourApp.html` and `YourApp.js` files under `bin\<Config>\<TFM>\browser-wasm\native`. The former can be opened in the browser, the latter - run via NodeJS.
Expand Down
4 changes: 0 additions & 4 deletions src/coreclr/jit/compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -6891,15 +6891,11 @@ class Compiler


public:
<<<<<<< HEAD
#if defined(TARGET_WASM) // Accessed in llvmcodegen.cpp
static unsigned acdHelper(SpecialCodeKind codeKind);
#endif

AddCodeDsc* fgFindExcptnTarget(SpecialCodeKind kind, unsigned refData);
=======
AddCodeDsc* fgFindExcptnTarget(SpecialCodeKind kind, BasicBlock* fromBlock);
>>>>>>> 3ca4ec8011f153bb8aa7508ea323a9acfe6e8283

bool fgUseThrowHelperBlocks();

Expand Down
3 changes: 2 additions & 1 deletion src/coreclr/jit/llvmcodegen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2496,7 +2496,8 @@ void Llvm::emitJumpToThrowHelper(Value* jumpCondValue, CorInfoHelpFunc helperFun

// For code with throw helper blocks, create and use the shared helper block for raising the exception.
llvm::BasicBlock* throwLlvmBlock;
ThrowHelperKey throwBlockKey{_compiler->bbThrowIndex(CurrentBlock()), helperFunc};
Compiler::AcdKeyDesignator dsg = Compiler::AcdKeyDesignator::KD_NONE;
ThrowHelperKey throwBlockKey{_compiler->bbThrowIndex(CurrentBlock(), &dsg), helperFunc};
if (!m_throwHelperBlocksMap.Lookup(throwBlockKey, &throwLlvmBlock))
{
LlvmBlockRange* currentLlvmBlocks = getCurrentLlvmBlocks();
Expand Down
2 changes: 2 additions & 0 deletions src/coreclr/nativeaot/Runtime/unix/PalRedhawkUnix.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -738,7 +738,9 @@ REDHAWK_PALIMPORT bool REDHAWK_PALAPI PalSetCurrentThreadName(const char* name)
#ifdef __APPLE__
pthread_setname_np(name_copy);
#else
#if !HOST_WASM
pthread_setname_np(pthread_self(), name_copy);
#endif // !HOST_WASM
#endif //__APPLE__
return true;
}
Expand Down
4 changes: 2 additions & 2 deletions src/tests/nativeaot/SmokeTests/HelloWasm/HelloWasm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1970,9 +1970,9 @@ private static void TestMetaData()

var genericType = typeof(List<object>);
StartTest("type of generic");
if (genericType.FullName.Substring(0, genericType.FullName.LastIndexOf(",")) != "System.Collections.Generic.List`1[[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral")
if (genericType.FullName.Substring(0, genericType.FullName.LastIndexOf(",")) != "System.Collections.Generic.List`1[[System.Object, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral")
{
FailTest("expected System.Collections.Generic.List`1[[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral but was " + genericType.FullName);
FailTest("expected System.Collections.Generic.List`1[[System.Object, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral but was " + genericType.FullName);
}
else
{
Expand Down
4 changes: 4 additions & 0 deletions src/tests/nativeaot/SmokeTests/UnitTests/Interfaces.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ public static int Run()
TestGenericAnalysis.Run();
TestRuntime108229Regression.Run();
TestCovariantReturns.Run();
#if !CODEGEN_WASM
TestDynamicInterfaceCastable.Run();
#endif
TestStaticInterfaceMethodsAnalysis.Run();
TestStaticInterfaceMethods.Run();
TestSimpleStaticDefaultInterfaceMethods.Run();
Expand Down Expand Up @@ -955,6 +957,7 @@ public static void Run()
throw new Exception();
}

#if !CODEGEN_WASM
{
IInterface o = (IInterface)new CastableClass<IInterface, IInterfaceCastableImpl<Atom>>();
if (o.GetCookie() != "Atom")
Expand All @@ -966,6 +969,7 @@ public static void Run()
if (o.GetCookie() != "Atom")
throw new Exception();
}
#endif
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/tests/nativeaot/SmokeTests/UnitTests/Main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@
success &= RunTest(Interfaces.Run);
#if !CODEGEN_WASM
success &= RunTest(Threading.Run);
#endif
// Devirtualization uses `IDynamicCastableGetInterfaceImplementation` and `RhGetCommonStubAddress`
yowl marked this conversation as resolved.
Show resolved Hide resolved
success &= RunTest(Devirtualization.Run);
Copy link

@SingleAccretion SingleAccretion Nov 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, could we apply a more granular ifdef instead of removing the whole test?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, done.

#if !CODEGEN_WASM
success &= RunTest(StackTraces.Run);
#endif

Expand Down
Loading