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 to Sep 24 #2688

Merged
merged 666 commits into from
Oct 8, 2024
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
666 commits
Select commit Hold shift + click to select a range
c7227c0
Revert XUNIT_HIDE_PASSING_OUTPUT_DIAGNOSTICS (#107349)
pavelsavara Sep 4, 2024
959c10e
Generate an unconditional bailout for MINT_SWITCH in jiterpreter trac…
kg Sep 4, 2024
b0771d7
Fix getting SSP for threadabort in funceval (#107320)
janvorli Sep 4, 2024
19942d9
Stop referencing S.R.Metadata directly (#107343)
MichalStrehovsky Sep 4, 2024
97f92a3
Fix meter/instrument filtering in MetricsEventSource (#107267)
tarekgh Sep 4, 2024
eec40f1
Fix CrossGen2SynthesizePgo on Windows (#107362)
davidwrighton Sep 4, 2024
f8e9dd1
JIT: Skip more covariance checks (#107116)
EgorBo Sep 4, 2024
ec2f534
Make `DomainAssembly` create its `Assembly` in its constructor and re…
elinor-fung Sep 4, 2024
8b1db37
Provide System.Composition.AttributedModel package readme (#106781)
eNeRGy164 Sep 4, 2024
4ebb841
Remove PointerNativeTypeAssignmentRewriter by introducing a separate …
jkoritzinsky Sep 4, 2024
dcd113e
Update to zlib-ng 2.2.1, excluding the folders:
carlossanlop Sep 5, 2024
12bc7ed
Apply slide_hash and deflate patch with casts and asserts.
carlossanlop Jul 25, 2024
c62bc5b
Remove custom allocator.
carlossanlop Sep 5, 2024
e61a10e
Update Compression unit tests.
carlossanlop Sep 5, 2024
e060e83
cgmanifest.json, zlib-ng-version.txt, THIRD-PARTY-NOTICES.TXT updates.
carlossanlop Sep 5, 2024
5b25f67
Include system environment variables when resolving ASPNETCORE_URLS (…
maraf Sep 5, 2024
88f9aba
[RISC-V] Increase timeouts in CacheTests (#107278)
yurai007 Sep 5, 2024
e5b9dbb
[mono][ci] Include PDBs from runtime pack when building on Helix if r…
ivanpovazan Sep 5, 2024
40cafd7
[browser] Fix processing of satellite assemblies from referenced asse…
maraf Sep 5, 2024
0961328
JIT: Remove implicit fallthrough assumption in `fgExpandRarelyRunBloc…
amanasifkhalid Sep 5, 2024
2dd517e
ARM64-SVE: Delay free all ops within conditional select (#107036)
a74nh Sep 5, 2024
468362f
Merge pull request #105771 from carlossanlop/UpgradeZlibNg
carlossanlop Sep 5, 2024
dece778
[wasi] fix WasmTestRunnerDir (#107389)
pavelsavara Sep 5, 2024
36e6b42
Check CancellationToken before TimeSpan in TimeProviderTaskExtensions…
brantburnett Sep 5, 2024
4a17f04
Fix a case in MethodImpl overriding which wasn't handled as expected …
davidwrighton Sep 5, 2024
0148ed5
docs: fix a typo (#106234)
WeihanLi Sep 5, 2024
66e45ef
Fix some NRT on StringCollections (#106116)
lilinus Sep 5, 2024
64e2421
Build NativeAOT-iOS runtime tests as standalone to restore test runs …
jkoritzinsky Sep 5, 2024
ca74d03
Disable subset of the stack overflow tests on ARM (#107186)
janvorli Sep 5, 2024
e166eb6
Fix stack overflow reporting with multiple PALs (#107264)
janvorli Sep 5, 2024
ee1a9ee
Fix incorrect handle type count when FEATURE_SIZED_REF_HANDLES is not…
elinor-fung Sep 6, 2024
3b04bbe
Track that kmov instructions may write to GPR register (#107428)
kunalspathak Sep 6, 2024
66b9b68
Run native aot runtime tests on cet compatible machines (#105288)
eduardo-vp Sep 6, 2024
ce8f49e
don't call GetHeap to get the heap in wait_for_gc_done (#107073)
Maoni0 Sep 6, 2024
7331fb0
check in configurations (#107012)
WangyangZhou90 Sep 6, 2024
b10f5c9
Disable ilasm tests for nativeaot test runs (#107432)
jkoritzinsky Sep 6, 2024
1bad124
codeql fixes (#107422)
mangod9 Sep 6, 2024
8685859
Enable more BinaryFormatter tests (#107408)
adamsitnik Sep 6, 2024
1f6a0d4
Add NrbfDecoder Fuzzer (#107385)
buyaa-n Sep 6, 2024
d4601d3
Make ComponentActivator.[LoadAssemblyAnd]GetFunctionPointer set initi…
elinor-fung Sep 6, 2024
42f3dce
Make Module::LoadAssembly return Assembly instead of DomainAssembly (…
elinor-fung Sep 6, 2024
cf8cbe9
JIT: Simplify block insertion logic during loop compaction (#107403)
amanasifkhalid Sep 6, 2024
5a6d100
Fix leaking EVP_MAC_CTX in one shot
vcsjones Sep 6, 2024
ad430a1
Remove thread contention from Activity Start/Stop (#107333)
AlgorithmsAreCool Sep 6, 2024
6092b21
Move pinned heap handle table from `BaseDomain` to `AppDomain` and ma…
elinor-fung Sep 6, 2024
dc5dbab
Fix swizzle_mask type (#107460)
radekdoulik Sep 6, 2024
e79426e
[NRBF] Fix bugs discovered by the fuzzer (#107368)
adamsitnik Sep 6, 2024
d1ecd63
Bind the code alignment condition with the loop alignment condition (…
filipnavara Sep 6, 2024
1c4755d
Fix SegmentResortChains synchronization (#107468)
ChrisAhna Sep 6, 2024
0fa7321
JIT ARM64: Don't emit `mov` for zero case in jump tables for shift in…
amanasifkhalid Sep 6, 2024
5428078
Remove Helper Method Frames for Exception, GC and Thread methods (#10…
AaronRobinsonMSFT Sep 6, 2024
a349912
[wasm] Implement MONO_MEMORY_BARRIER in jiterpreter & enable MT jiter…
kg Sep 6, 2024
5c4686f
[wasm] Implement MINT_SWITCH opcode in jiterpreter (#107423)
kg Sep 7, 2024
c4792a2
JIT: don't create vector constants from relocatable constants (#107491)
AndyAyersMS Sep 7, 2024
b523ec5
JIT: Simplify block insertion logic during loop canonicalization (#10…
amanasifkhalid Sep 8, 2024
10f6c4c
Convert WaitHandle FCalls to QCalls (#107488)
AaronRobinsonMSFT Sep 8, 2024
39c84a3
Fix corner-case accounting bug in new codeheap allocation (#107492)
jkotas Sep 8, 2024
7d68c7f
Implement getClassAssemblyName (#106959)
hez2010 Sep 8, 2024
aa418fc
Remove unused declarations from clsload.hpp (#107509)
preeyan Sep 8, 2024
49bf719
[browser][MT] fix feature detection on webworker (#107452)
pavelsavara Sep 9, 2024
176754d
[mono][infra] decrease CPU count for fullAOT CI build (#107531)
matouskozak Sep 9, 2024
67e5768
[wasm] Implement MINT_NEWARR in jiterpreter (#107430)
kg Sep 9, 2024
4c0973e
Fix passing assemblies using relative path (#107536)
jkurdek Sep 9, 2024
62133e0
[main] Update dependencies from dotnet/xharness (#107291)
dotnet-maestro[bot] Sep 9, 2024
2fb3629
Remove `BaseDomain` use in `LoaderAllocator` and event tracing helper…
elinor-fung Sep 9, 2024
0c33c6f
Fix module being set as tenured too early (#107489)
elinor-fung Sep 9, 2024
fe7a52d
Remove ActiveIssue for solved issues in Vector tests (#107127)
lilinus Sep 9, 2024
600f6bd
Fix thread static cleanup paths (#107438)
davidwrighton Sep 9, 2024
b7b91cb
Convert some handle APIs to QCalls (#107513)
AaronRobinsonMSFT Sep 9, 2024
d2c7db0
Disable TensorExtensionsTwoSpanInFloatOut due to https://github.com/d…
tannergooding Sep 9, 2024
c534080
Avoid using OpenThread for out of process SetThreadContext debugging …
tommcdon Sep 9, 2024
d45ccfd
Fix reflection-calling `Set` method on arrays (#107529)
MichalStrehovsky Sep 9, 2024
18eedbe
Convert Thread FCalls to QCalls (#107495)
AaronRobinsonMSFT Sep 9, 2024
ac4b7c6
Arm: Consider the fact that targetReg can be second half during resol…
kunalspathak Sep 9, 2024
2ed43b6
ARM64-SVE: Allow op inside conditionalselect to be non HWintrinsic (#…
a74nh Sep 9, 2024
51c350c
Make missing framework error message list other architectures that we…
elinor-fung Sep 9, 2024
e591fbf
Arm: Fix the base register used for restoring register from stack (#1…
kunalspathak Sep 9, 2024
149d4bb
Extend the list of recognized SearchValues<char> field names in Regex…
MihaZupan Sep 9, 2024
76dbb27
Use SearchValues in Uri.CheckForUnicodeOrEscapedUnreserved (#107357)
stephentoub Sep 9, 2024
61de5df
Make DAC and ProfToEEInterfaceImpl stop using BaseDomain (#107570)
elinor-fung Sep 10, 2024
c21d90e
[WASI] improve single-threaded threadpool (#107395)
pavelsavara Sep 10, 2024
b77b71e
[wasm] Clean up some FIXMEs in the jiterpreter (#107562)
kg Sep 10, 2024
c762b75
Add [DebuggerDisplay] to CancellationTokenSource (#105764)
martincostello Sep 10, 2024
5cb6a06
JIT: Add simple late layout pass (#107483)
amanasifkhalid Sep 10, 2024
1808129
Remove FCThrowRes from AssemblyNative::IsDynamic (#107574)
elinor-fung Sep 10, 2024
7ae87de
[wasm] more cases when looking up unmanaged delegates (#107113)
lewing Sep 10, 2024
4ee9789
Localized file check-in by OneLocBuild Task: Build definition ID 679:…
dotnet-bot Sep 10, 2024
a817006
Consider existence of EETypes and metadata for typeof checks (#107347)
MichalStrehovsky Sep 10, 2024
1705cb2
[NRBF] throw SerializationException when a surrogate character is rea…
adamsitnik Sep 10, 2024
ccdcf90
Disable binary formatter tests when DotNetBuildSourceOnly. (#107549)
tmds Sep 10, 2024
4878fb3
Fix heap corruption issue in PriorityQueue.Remove (#107550)
eiriktsarpalis Sep 10, 2024
a709d73
Fix JsonSchemaExporter support for global UnmappedMemberHandling sett…
eiriktsarpalis Sep 10, 2024
ad6c18f
[iOS] [HybridGlobalization] Throw PNSE when methods with matchLength …
mkhamoyan Sep 10, 2024
b06d5e2
Add a SearchValues implementation for values with unique low nibbles …
MihaZupan Sep 10, 2024
ad4607b
Fix ISA check in Runtime_107146 test (#107539)
EgorBo Sep 10, 2024
fe8e785
Make Half max precision test culture-invariant (#105685)
lilinus Sep 10, 2024
56de829
Stop explicitly adding assembly passed on command line to TPA - shoul…
elinor-fung Sep 10, 2024
8981969
[wasm] Include .NET version in templates package id (#107182)
maraf Sep 10, 2024
9e4878a
[mono][infra] Disable UnitTest_GVM_TypeLoadException on fullAOT (#107…
matouskozak Sep 10, 2024
7fbba5c
All mobile platforms go down the RunTests.sh path, not just browser. …
jkoritzinsky Sep 10, 2024
fd1a125
[mono] Fix crash in emit_llvmonly_handler_start (#107461)
radekdoulik Sep 10, 2024
699bf83
Add missing `[RequiresDynamicCode]` attributes to System.Linq.Express…
cston Sep 10, 2024
636c863
JIT: disable scev analysis for non-integral types (#107618)
AndyAyersMS Sep 10, 2024
4a055bd
[mono] Update more C code gen (#107593)
lewing Sep 10, 2024
e4f93db
Fix SuperPMI collections (#107588)
BruceForstall Sep 10, 2024
d41aadd
JIT: Fix placement of loop exit blocks in handler regions (#107582)
amanasifkhalid Sep 10, 2024
43f22c6
Always pass LoaderAllocator when creating Assembly (#107643)
elinor-fung Sep 10, 2024
f26c239
[NRBF] Fuzzing non-seekable stream input (#107605)
adamsitnik Sep 11, 2024
5e560d9
Remove helper method frame from Profiler hooks (#107152)
davidwrighton Sep 11, 2024
786148a
Remove vestigial ReadOnlySequence.SequenceType.Empty (#107630)
halter73 Sep 11, 2024
f0f2119
Fix config source gen binding value types to null configuration value…
tarekgh Sep 11, 2024
102f28e
[LoongArch64] Fix the clr build error on Alpine. (#107669)
LuckyXu-HF Sep 11, 2024
de8e66d
add _requiresAlign8 to company and mangled name (#107650)
yowl Sep 11, 2024
b8d7ec0
[mono] Revert "don't define HAS_CUSTOM_BLOCKS on mono (#106764)" (#10…
matouskozak Sep 11, 2024
6219d18
Fix SSP issue with HW exceptions from JIT helpers (#107665)
janvorli Sep 11, 2024
8351e5f
[wasm] Increase jiterpreter limits (#107557)
kg Sep 11, 2024
4f18509
Fix HashSet copy constructor handling of instances that have fallen b…
eiriktsarpalis Sep 11, 2024
605c6fd
[main] Update dependencies from 7 repositories (#106873)
dotnet-maestro[bot] Sep 11, 2024
0b4cb7f
Fix alloca builder creation (#107464)
radekdoulik Sep 11, 2024
4267ab8
Make hostfxr_get_runtime_property_value initialize out pointer to nul…
elinor-fung Sep 11, 2024
352ac69
Consolidate log for reliability framework (#107517)
VincentBu Sep 11, 2024
ea269f9
Fix IL reference tokens to another generated assembly members (#107661)
buyaa-n Sep 11, 2024
dc40032
Remove `BaseDomain` (#107652)
elinor-fung Sep 11, 2024
60fc78e
Disallow types with property names conflicting with metadata. (#106460)
eiriktsarpalis Sep 11, 2024
a3365e4
Clarify XML comments for Utf8Parser.TryParse to reflect case insensit…
joegoldman2 Sep 11, 2024
c4cc794
Fix config source gen binding with SslClientAuthenticationOptions (#1…
tarekgh Sep 11, 2024
c381595
Provide System.CodeDom package readme (#107372)
eNeRGy164 Sep 11, 2024
3979ef8
Use system brotli on Unix non-portable builds (#107225)
agocke Sep 11, 2024
1231a9a
Revert "Avoid taking lock for empty bucket in ConcurrentDictionary.Tr…
stephentoub Sep 11, 2024
8e8e7f7
Fix SVE ExtendWidening ConditionalSelect tests (#107601)
SwapnilGaikwad Sep 11, 2024
171f1a7
Remove unused freebsd elf32/elf64 header references (#107657)
omajid Sep 11, 2024
4930e1b
fix slag instruction (#107559)
saitama951 Sep 11, 2024
4cdbfdc
[NRBF] More bug fixes (#107682)
adamsitnik Sep 12, 2024
122eb75
[main] Update dependencies from dotnet/arcade (#107027)
dotnet-maestro[bot] Sep 12, 2024
a833cfb
[WASI] System.Net.NameResolution (#107351)
pavelsavara Sep 12, 2024
d62199d
Remove ILCompiler package reference (#107583)
agocke Sep 12, 2024
07d525e
Move load level tracking and checks from `DomainAssembly` to `Assembl…
elinor-fung Sep 12, 2024
ca00ae3
Work around F# ildasm/ilasm round-trip test failure (#107692)
BruceForstall Sep 12, 2024
d05110c
[DiagnosticSource] Add version event to EventSources used for out-of-…
CodeBlanch Sep 12, 2024
71724d8
[main] Update dependencies from dotnet/emsdk (#107028)
dotnet-maestro[bot] Sep 12, 2024
7e3543d
Remove unused predicate instructions from API comments (#107739)
SwapnilGaikwad Sep 12, 2024
d7948dc
Fixes hang in WinUI apps published to AOT (#104583)
manodasanW Sep 12, 2024
34ba8c7
[wasm] Enable the log profiler (#107434)
jeromelaban Sep 12, 2024
5f7ccb4
Remove redundant !fgIsCommaThrow(morphedTree) assert (#107624)
EgorBo Sep 12, 2024
a922043
Fix few SP-based instruction encoding issues (#107732)
filipnavara Sep 12, 2024
01ac168
Fix test bug in FileSystem.Tests (#107696)
jozkee Sep 12, 2024
076957d
[ppc64le] Fixed BinaryFormatter and Tensors tests (#107678)
alhad-deshpande Sep 12, 2024
3948052
Move UseSystemZlib into SetupOSSpecificProps (#107666)
hwoodiwiss Sep 12, 2024
87ed184
[main] Update dependencies from dotnet/xharness (#107606)
dotnet-maestro[bot] Sep 13, 2024
9bf9224
[main] Update dependencies from dotnet/arcade (#107746)
dotnet-maestro[bot] Sep 13, 2024
170b42c
Fix memory corruption bug in virtual static method dispatch (#107763)
davidwrighton Sep 13, 2024
5ca3f79
Remove DebuggerModule::Get/SetPrimaryModule - always itself (#107767)
elinor-fung Sep 13, 2024
c8ae841
Arm64/Sve: Remove entries of SVE APIs take 32-bit address (#107758)
kunalspathak Sep 13, 2024
82cb4f1
Update WebAssembly nuget package references to RC1 SDK (#107673)
MichalStrehovsky Sep 13, 2024
74698cd
Add Perf Improvements in .NET 9 to deep dive blog posts list (#107793)
stephentoub Sep 13, 2024
143c2fd
Fix lowering support for inline arrays (#107744)
jkurdek Sep 13, 2024
e1c3f02
Make AppDomain::AssemblyIterator iterate over Assembly instead of Dom…
elinor-fung Sep 13, 2024
edf1c66
Remove `DebuggerModule::m_pAppDomain` - always the one and only (#107…
elinor-fung Sep 13, 2024
2267228
Propagate flags properly in indirectCallTransformer (#107790)
EgorBo Sep 13, 2024
924fc2a
ARM64-SVE: Fix hwintrinsics flags (#107791)
a74nh Sep 13, 2024
3e5d080
Add feature switch to disable DataSet XML serialization (#107713)
sbomer Sep 13, 2024
d6d2d79
Store `Assembly` instead of `DomainAssembly` in `AssemblySpecBindingC…
elinor-fung Sep 13, 2024
fd9b86e
Doc updates for source-of-truth assemblies (#107773)
gewarren Sep 13, 2024
cf9c995
ARM64-SVE: Allow SVE ops to re-use the same registers (#107084)
a74nh Sep 13, 2024
f722e5c
JIT: random partial compilation stress mode (#107561)
AndyAyersMS Sep 13, 2024
d58b1ca
Fix perf problems found in investigation of issue #107728 (#107806)
davidwrighton Sep 13, 2024
f1bcbeb
Arm: Free up upper-half register that was not ready because of its as…
kunalspathak Sep 14, 2024
4c10eff
Add Linker arg to browser and wasm app targets (#107194)
lewing Sep 15, 2024
16506b7
Fixing System.Array constructor (#107266)
michaelgsharp Sep 16, 2024
bb9cd26
Allow preinitializing spans created from arrays (#107575)
MichalStrehovsky Sep 16, 2024
e18a7f0
Switch a couple properties to new VMR properties (#107805)
mmitche Sep 16, 2024
ad7b02a
[NRBF] Comments and bug fixes from internal code review (#107735)
adamsitnik Sep 16, 2024
cdc8418
[mono][mini] Prefer calling llvmaot compiled method instead of inlini…
BrzVlad Sep 16, 2024
550d381
Fix constraint on FrozenSet.{Try}GetAlternateLookup (#107846)
stephentoub Sep 16, 2024
0154a2f
[NRBF] Address issues discovered by Threat Model (#106629)
adamsitnik Sep 16, 2024
a8fa985
Disable ICU package for Apple mobile builds (#107855)
akoeplinger Sep 16, 2024
70445c8
Fix typo in comment of SAVE_ARGUMENT_REGISTERS (#106011)
gbalykov Sep 16, 2024
17c83a6
Ensure we create new RemoteInvokeOptions for every call (#107820)
ericstj Sep 16, 2024
1bde882
Remove redundant unsafe from SVE APIs (#107854)
SwapnilGaikwad Sep 16, 2024
eac892a
Mark Encoding as nullable in StreamWriter's constructor (#106658)
stefannikolei Sep 16, 2024
b3d440f
Overhaul Main Workflow Docs (#107415)
ivdiazsa Sep 16, 2024
76f10f9
Fix the operands of NI_AVX512F_TernaryLogic during lowering (#107813)
kunalspathak Sep 16, 2024
253e4f1
Empty slice fix (#107316)
michaelgsharp Sep 16, 2024
9eef776
Fixing 0 length issue with constructor (#107427)
michaelgsharp Sep 16, 2024
657f18d
[RISC-V] Update ABI doc (#107286)
tomeksowi Sep 16, 2024
b14e2f5
[PERF] Move performance testing logic into python scripts (#101143)
caaavik-msft Sep 16, 2024
d2c4587
instrumentation (mostly) for DATAS (#107853)
Maoni0 Sep 16, 2024
81a4d96
Add missing documentation for new 9.0 APIs in System.IO (#107376)
jozkee Sep 17, 2024
06f0b37
Update internal macOS image in xplat-setup.yml (#107871)
akoeplinger Sep 17, 2024
74b3518
Introducing new event for failed http requests #106284 (#106964)
OlzhabaevSh Sep 17, 2024
fc66a78
[main] Update dependencies from dotnet/xharness (#107827)
dotnet-maestro[bot] Sep 17, 2024
3992788
[mono] Remove .la fallback code in mono_dl_open_full (#107907)
akoeplinger Sep 17, 2024
f5acabe
JIT: use explicit cast away GC when passing byref to unmanaged callee…
AndyAyersMS Sep 17, 2024
8ae3796
Fix RegexOptions.Compiled|IgnoreCase perf when dynamic code isn't sup…
stephentoub Sep 17, 2024
b08181b
Mark the System.Formats.Nrbf assembly as [Experimental] with SYSLIB50…
jeffhandley Sep 17, 2024
06ebfc2
Remove invalid assert in RSAOpenSsl
vcsjones Sep 17, 2024
594f2a6
JIT: Always use edge weights to assign block weight in `Compiler::fgS…
amanasifkhalid Sep 17, 2024
0589914
Merge remote-tracking branch 'runtime/main' into merge-sep-24
yowl Sep 17, 2024
128837d
Update configure.h.in (#107954)
jkoritzinsky Sep 18, 2024
24e7d1b
Replace VectorXx.Exp's edge case fallback with scalar processing (#10…
stephentoub Sep 18, 2024
b6b0fb1
WebSocket Feedback Follow-up (#107662)
CarnaViire Sep 18, 2024
69851f2
[RISC-V] Fixed bug in debug stub (#107972)
Bajtazar Sep 18, 2024
14c80b0
[LoongArch64] Fixed DBG_DebugBreak stub for missing return instructio…
shushanhf Sep 18, 2024
7b5f7d4
Cleanup delegate-related code (#107966)
jkotas Sep 18, 2024
362d498
[main] Update dependencies from dotnet/arcade (#107789)
dotnet-maestro[bot] Sep 18, 2024
bef6d5a
Support class target in RUC/RDC code fixers (#107956)
sbomer Sep 18, 2024
5d8d04e
JIT: Update lexical pointers after compacting blocks in `fgUpdateFlo…
amanasifkhalid Sep 18, 2024
546f921
Add missing docs for Task API (#107951)
ericstj Sep 18, 2024
f748f06
Fix spelling error (#107994)
gewarren Sep 18, 2024
9eb48cd
Remove InternalsVisibleTo from System.Collections.Immutable. (#107872)
eiriktsarpalis Sep 18, 2024
59a096e
[WASI] ownsPollable parameter to RegisterWasiPollable, downgrade depe…
pavelsavara Sep 18, 2024
1665f66
resolve conflicts, dont look for icu libs for Browser.
yowl Sep 19, 2024
5fe5d14
make acdHelper public for llvm jit
yowl Sep 19, 2024
e662bc7
remove ThrowMisalign, update ICU make for wasi
yowl Sep 22, 2024
f2b55d0
Merge remote-tracking branch 'origin/feature/NativeAOT-LLVM' into mer…
yowl Sep 28, 2024
bd8c16c
add back ThrowMisalign, update ICU make for wasi
yowl Sep 29, 2024
e5e344c
for XUnitLogChecker set the linked to lld when nativeaot on linux, bu…
yowl Sep 30, 2024
97fcf1e
dont CompressSymbols because -gz=zlib fails
yowl Oct 1, 2024
3726ccf
try to remove -lz
yowl Oct 1, 2024
558be53
BuildAllTestsAsStandalone for wasm/coreclr
yowl Oct 2, 2024
fd8ae3a
Add back noThrow
yowl Oct 3, 2024
6dbfd25
revert libz workarounds, pass crossArg
yowl Oct 3, 2024
f51c9c9
Reset XUnitLogChecker
yowl Oct 4, 2024
70452d0
revert nativeaoat proj changes as we are not using it.
yowl Oct 4, 2024
44f8329
try removing the exit code
yowl Oct 4, 2024
e196335
revert wasm dirs.proj
yowl Oct 4, 2024
8cd08dd
use a DisabledProjects group
yowl Oct 4, 2024
9b40d21
disable projects for wasm
yowl Oct 4, 2024
432311b
disable projects for wasm
yowl Oct 4, 2024
7241d2e
disable projects for wasm
yowl Oct 4, 2024
a07bc2b
revert StartupHook change
yowl Oct 4, 2024
18abaaf
remove some 2614 temp workarounds
yowl Oct 5, 2024
b0c9afb
remove some 2614 temp workarounds
yowl Oct 5, 2024
6f81769
Revert merge mistake
yowl Oct 5, 2024
68972c7
remove COreCLR condition
yowl Oct 5, 2024
053aa1b
Merge commit '59a096e8c25a7bec37bc1e9f716a9794d130b7d5' into merge-se…
yowl Oct 5, 2024
6f92016
try updating wasmtime
yowl Oct 5, 2024
c43b4d4
add htto suppoer for linux
yowl Oct 6, 2024
d42a130
quote
yowl Oct 6, 2024
b84130d
correct option
yowl Oct 6, 2024
01d62c7
remove unwanted --
yowl Oct 6, 2024
6c20cce
revert wasmtime bump
yowl Oct 6, 2024
b6b7136
Update src/tests/Directory.Build.targets
yowl Oct 7, 2024
b3379d0
Update src/coreclr/inc/jithelpers.h
yowl Oct 7, 2024
b1888a9
revert ws change
yowl Oct 7, 2024
4b94322
revert ws change
yowl Oct 7, 2024
813fb77
Merge branch 'merge-sep-24' of https://github.com/yowl/runtimelab int…
yowl Oct 7, 2024
10faa68
revert ws change
yowl Oct 7, 2024
2df2857
use crossArg directly, no need for parameter
yowl Oct 7, 2024
7c51ab4
dont pessimize other helpres
yowl Oct 8, 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
6 changes: 1 addition & 5 deletions eng/liveBuilds.targets
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,6 @@
<SingleFileHostSourcePath>$([MSBuild]::NormalizePath('$(CoreCLRArtifactsPath)', 'corehost', 'singlefilehost$(ExeSuffix)'))</SingleFileHostSourcePath>
</PropertyGroup>

<<<<<<< HEAD
<Target Name="ResolveRuntimeFilesFromLocalBuild" Condition="$(TestBuildMode) != 'nativeaot'">
=======
<!-- Not a live build, but allow overriding the LKG ILCompiler package with a specific version. -->
<PropertyGroup Condition="'$(UseNativeAotForComponents)' == 'true' and '$(PublishAot)' == 'true' and '$(MicrosoftDotNetILCompilerVersion)' != ''">
<SuppressGenerateILCompilerExplicitPackageReferenceWarning>true</SuppressGenerateILCompilerExplicitPackageReferenceWarning>
Expand All @@ -76,8 +73,7 @@
<PackageReference Include="runtime.$(ToolsRID).Microsoft.DotNet.ILCompiler" Version="$(MicrosoftDotNetILCompilerVersion)" />
</ItemGroup>

<Target Name="ResolveRuntimeFilesFromLocalBuild">
>>>>>>> runtime/main
<Target Name="ResolveRuntimeFilesFromLocalBuild" Condition="$(TestBuildMode) != 'nativeaot'">
<Error Condition="!Exists('$(CoreCLRArtifactsPath)') and '$(RuntimeFlavor)' == 'CoreCLR'"
Text="The CoreCLR artifacts path does not exist '$(CoreCLRArtifactsPath)'. The 'clr' subset must be built before building this project. Configuration: '$(CoreCLRConfiguration)'. To use a different configuration, specify the 'RuntimeConfiguration' property." />
<Error Condition="!Exists('$(MonoArtifactsPath)') and '$(RuntimeFlavor)' == 'Mono'"
Expand Down
13 changes: 7 additions & 6 deletions eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ parameters:
testFilter: tree nativeaot
isOfficialBuild: false
librariesConfiguration: Debug
crossArg: $(crossArg)

Choose a reason for hiding this comment

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

Why indirect through the parameters template arguments, instead of using $(crossArg) directly?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

no reason, removed.


steps:
# For NativeAOT-LLVM, we have just built the Wasm-targeting native artifacts (the runtime and libraries).
Expand All @@ -31,27 +32,27 @@ steps:
- ${{ if eq(parameters.platform, 'browser_wasm_win') }}:
- script: |
call $(Build.SourcesDirectory)\wasm-tools\emsdk\emsdk_env
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} ${{ parameters.crossArg }} tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
displayName: Build WebAssembly tests
- ${{ elseif eq(parameters.platform, 'wasi_wasm_win') }}:
- script: |
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} wasi tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} ${{ parameters.crossArg }} wasi tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
displayName: Build WebAssembly tests
- ${{ elseif eq(parameters.platform, 'Browser_wasm_linux_x64_naot_llvm') }}:
- script: |
source $(Build.SourcesDirectory)/wasm-tools/emsdk/emsdk_env.sh
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) -browser tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.crossArg }} -browser tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
displayName: Build WebAssembly tests
- ${{ elseif eq(parameters.platform, 'wasi_wasm_linux_x64_naot_llvm') }}:
- script: |
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) -wasi tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.crossArg }} -wasi tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
displayName: Build WebAssembly tests

- ${{ elseif eq(parameters.osGroup, 'windows') }}:
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} ${{ parameters.testFilter }} /p:NativeAotMultimodule=true /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} ${{ parameters.crossArg }} ${{ parameters.testFilter }} /p:NativeAotMultimodule=true /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
displayName: Build tests
- ${{ else }}:
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} 'tree nativeaot' /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} ${{ parameters.crossArg }} 'tree nativeaot' /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
displayName: Build tests

- ${{ if in(parameters.platform, 'browser_wasm_win', 'wasi_wasm_win') }}:
Expand Down
2 changes: 1 addition & 1 deletion eng/testing/tests.targets
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ TEST_ARCH=$(_AndroidArchitecture)
<Error Condition="'$(TestRunExitCode)' != '0'" Text="$(TestRunErrorMessage)" />
</Target>

<Import Project="$(MSBuildThisFileDirectory)tests.mobile.targets" Condition="'$(TargetsMobile)' == 'true' and '$(TestNativeAot)' != 'true'" />
<Import Project="$(MSBuildThisFileDirectory)tests.mobile.targets" Condition="'$(TargetsMobile)' == 'true' and '$(TestNativeAot)' != 'true' and '$(TestBuildMode)' != 'nativeaot'" />
<Import Project="$(MSBuildThisFileDirectory)tests.singlefile.targets" Condition="'$(TestSingleFile)' == 'true'" />
<Import Project="$(MSBuildThisFileDirectory)xunit\xunit.targets" Condition="'$(TestFramework)' == 'xunit'" />

Expand Down
9 changes: 0 additions & 9 deletions src/coreclr/inc/jithelpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,20 +119,11 @@
DYNAMICJITHELPER(CORINFO_HELP_THROW, IL_Throw, METHOD__NIL)
DYNAMICJITHELPER(CORINFO_HELP_RETHROW, IL_Rethrow, METHOD__NIL)
JITHELPER(CORINFO_HELP_USER_BREAKPOINT, JIT_UserBreakpoint, METHOD__NIL)
<<<<<<< HEAD
DYNAMICJITHELPER(CORINFO_HELP_RNGCHKFAIL, NULL, METHOD__THROWHELPER__THROWINDEXOUTOFRANGEEXCEPTION)
DYNAMICJITHELPER(CORINFO_HELP_OVERFLOW, NULL, METHOD__THROWHELPER__THROWOVERFLOWEXCEPTION)
DYNAMICJITHELPER(CORINFO_HELP_THROWDIVZERO, NULL, METHOD__THROWHELPER__THROWDIVIDEBYZEROEXCEPTION)
DYNAMICJITHELPER(CORINFO_HELP_THROWNULLREF, NULL, METHOD__THROWHELPER__THROWNULLREFEXCEPTION)
JITHELPER(CORINFO_HELP_THROWMISALIGN, NULL, METHOD__NIL)
DYNAMICJITHELPER(CORINFO_HELP_VERIFICATION, NULL, METHOD__THROWHELPER__THROWVERIFICATIONEXCEPTION)
=======
DYNAMICJITHELPER(CORINFO_HELP_RNGCHKFAIL, NULL, METHOD__THROWHELPERS__THROWINDEXOUTOFRANGEEXCEPTION)
DYNAMICJITHELPER(CORINFO_HELP_OVERFLOW, NULL, METHOD__THROWHELPERS__THROWOVERFLOWEXCEPTION)
DYNAMICJITHELPER(CORINFO_HELP_THROWDIVZERO, NULL, METHOD__THROWHELPERS__THROWDIVIDEBYZEROEXCEPTION)
DYNAMICJITHELPER(CORINFO_HELP_THROWNULLREF, NULL, METHOD__THROWHELPERS__THROWNULLREFEXCEPTION)
yowl marked this conversation as resolved.
Show resolved Hide resolved
DYNAMICJITHELPER(CORINFO_HELP_VERIFICATION, NULL, METHOD__THROWHELPERS__THROWVERIFICATIONEXCEPTION)
>>>>>>> runtime/main
JITHELPER(CORINFO_HELP_FAIL_FAST, JIT_FailFast, METHOD__NIL)
JITHELPER(CORINFO_HELP_METHOD_ACCESS_EXCEPTION,JIT_ThrowMethodAccessException, METHOD__NIL)
JITHELPER(CORINFO_HELP_FIELD_ACCESS_EXCEPTION,JIT_ThrowFieldAccessException, METHOD__NIL)
Expand Down
263 changes: 14 additions & 249 deletions src/coreclr/jit/compiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -340,8 +340,10 @@ Compiler::Compiler(ArenaAllocator* arena,
, impPendingBlockMembers(CompAllocator(arena, CMK_Generic))
, impSpillCliquePredMembers(CompAllocator(arena, CMK_Generic))
, impSpillCliqueSuccMembers(CompAllocator(arena, CMK_Generic))
#ifndef TARGET_WASM
, genIPmappings(CompAllocator(arena, CMK_DebugInfo))
, genRichIPmappings(CompAllocator(arena, CMK_DebugInfo))
#endif // !TARGET_WASM
{
info.compCompHnd = compHnd;
info.compMethodHnd = methodHnd;
Expand Down Expand Up @@ -395,6 +397,10 @@ Compiler::Compiler(ArenaAllocator* arena,
compInlineResult = nullptr;
}

#ifdef TARGET_WASM
m_llvm = new (getAllocator(CMK_Codegen)) Llvm(this);
#endif // TARGET_WASM

for (int i = 0; i < TYP_COUNT; i++)
{
fgBigOffsetMorphingTemps[i] = BAD_VAR_NUM;
Expand All @@ -420,7 +426,9 @@ Compiler::Compiler(ArenaAllocator* arena,

if (!compIsForInlining())
{
#ifndef TARGET_WASM
codeGen = getCodeGenerator(this);
#endif // !TARGET_WASM
hashBv::Init(this);

//
Expand All @@ -430,6 +438,12 @@ Compiler::Compiler(ArenaAllocator* arena,
genNodeSizeStatsPerFunc.Init();
#endif // MEASURE_NODE_SIZE
}
else
{
#ifndef TARGET_WASM
codeGen = nullptr;
#endif // !TARGET_WASM
}

for (MemoryKind memoryKind : allMemoryKinds())
{
Expand Down Expand Up @@ -1965,255 +1979,6 @@ void Compiler::compDisplayStaticSizes()

/*****************************************************************************
*
<<<<<<< HEAD
* Constructor
*/
void Compiler::compInit(ArenaAllocator* pAlloc,
CORINFO_METHOD_HANDLE methodHnd,
COMP_HANDLE compHnd,
CORINFO_METHOD_INFO* methodInfo,
InlineInfo* inlineInfo)
{
assert(pAlloc);
compArenaAllocator = pAlloc;

// Inlinee Compile object will only be allocated when needed for the 1st time.
InlineeCompiler = nullptr;

// Set the inline info.
impInlineInfo = inlineInfo;
info.compCompHnd = compHnd;
info.compMethodHnd = methodHnd;
info.compMethodInfo = methodInfo;
info.compClassHnd = compHnd->getMethodClass(methodHnd);

#ifdef DEBUG
compAllowStress = true;

// set this early so we can use it without relying on random memory values
verbose = compIsForInlining() ? impInlineInfo->InlinerCompiler->verbose : false;

compNumStatementLinksTraversed = 0;
compPoisoningAnyImplicitByrefs = false;
#endif

#if defined(DEBUG) || defined(LATE_DISASM) || DUMP_FLOWGRAPHS || DUMP_GC_TABLES
// Initialize the method name and related info, as it is used early in determining whether to
// apply stress modes, and which ones to apply.
// Note that even allocating memory can invoke the stress mechanism, so ensure that both
// 'compMethodName' and 'compFullName' are either null or valid before we allocate.
// (The stress mode checks references these prior to checking bRangeAllowStress.)
//
info.compMethodName = nullptr;
info.compClassName = nullptr;
info.compFullName = nullptr;

info.compMethodName = eeGetMethodName(methodHnd);
info.compClassName = eeGetClassName(info.compClassHnd);
info.compFullName = eeGetMethodFullName(methodHnd);

info.compMethodSuperPMIIndex = g_jitHost->getIntConfigValue(W("SuperPMIMethodContextNumber"), -1);

if (!compIsForInlining())
{
JitMetadata::report(this, JitMetadata::MethodFullName, info.compFullName, strlen(info.compFullName));
}
#endif // defined(DEBUG) || defined(LATE_DISASM) || DUMP_FLOWGRAPHS

#if defined(DEBUG)
info.compMethodHashPrivate = 0;
#endif // defined(DEBUG)

#ifdef DEBUG
// Opt-in to jit stress based on method hash ranges.
//
// Note the default (with JitStressRange not set) is that all
// methods will be subject to stress.
static ConfigMethodRange fJitStressRange;
fJitStressRange.EnsureInit(JitConfig.JitStressRange());
assert(!fJitStressRange.Error());
compAllowStress =
fJitStressRange.Contains(info.compMethodHash()) &&
(JitConfig.JitStressOnly().isEmpty() ||
JitConfig.JitStressOnly().contains(info.compMethodHnd, info.compClassHnd, &info.compMethodInfo->args));

#endif // DEBUG

eeInfoInitialized = false;

#if defined(FEATURE_EH_WINDOWS_X86)
// Cache Native AOT ABI check. This must happen *after* eeInfoInitialized is initialized, above.
eeIsNativeAotAbi = IsTargetAbi(CORINFO_NATIVEAOT_ABI);
#endif

compDoAggressiveInlining = false;

if (compIsForInlining())
{
m_inlineStrategy = nullptr;
compInlineResult = inlineInfo->inlineResult;
}
else
{
m_inlineStrategy = new (this, CMK_Inlining) InlineStrategy(this);
compInlineResult = nullptr;
}

// Initialize this to the first phase to run.
mostRecentlyActivePhase = PHASE_PRE_IMPORT;

// Initially, no phase checks are active, and all dumps are enabled.
activePhaseChecks = PhaseChecks::CHECK_NONE;
activePhaseDumps = PhaseDumps::DUMP_ALL;

fgInit();
lvaInit();
optInit();

#ifdef TARGET_WASM
m_llvm = new (getAllocator(CMK_Codegen)) Llvm(this);
#endif // TARGET_WASM

if (!compIsForInlining())
{
#ifndef TARGET_WASM
codeGen = getCodeGenerator(this);
#endif // !TARGET_WASM
hashBv::Init(this);
compVarScopeMap = nullptr;

// If this method were a real constructor for Compiler, these would
// become method initializations.
impPendingBlockMembers = JitExpandArray<BYTE>(getAllocator());
impSpillCliquePredMembers = JitExpandArray<BYTE>(getAllocator());
impSpillCliqueSuccMembers = JitExpandArray<BYTE>(getAllocator());

#ifndef TARGET_WASM
new (&genIPmappings, jitstd::placement_t()) jitstd::list<IPmappingDsc>(getAllocator(CMK_DebugInfo));
new (&genRichIPmappings, jitstd::placement_t()) jitstd::list<RichIPMapping>(getAllocator(CMK_DebugOnly));
#endif // !TARGET_WASM

lvMemoryPerSsaData = SsaDefArray<SsaMemDef>();

//
// Initialize all the per-method statistics gathering data structures.
//
#if LOOP_HOIST_STATS
m_loopsConsidered = 0;
m_curLoopHasHoistedExpression = false;
m_loopsWithHoistedExpressions = 0;
m_totalHoistedExpressions = 0;
#endif // LOOP_HOIST_STATS
#if MEASURE_NODE_SIZE
genNodeSizeStatsPerFunc.Init();
#endif // MEASURE_NODE_SIZE
}
else
{
#ifndef TARGET_WASM
codeGen = nullptr;
#endif // !TARGET_WASM
}

compJmpOpUsed = false;
compLongUsed = false;
compTailCallUsed = false;
compTailPrefixSeen = false;
compLocallocSeen = false;
compLocallocUsed = false;
compLocallocOptimized = false;
compQmarkRationalized = false;
compQmarkUsed = false;
compFloatingPointUsed = false;

compSuppressedZeroInit = false;

compNeedsGSSecurityCookie = false;
compGSReorderStackLayout = false;

compGeneratingProlog = false;
compGeneratingEpilog = false;
compGeneratingUnwindProlog = false;
compGeneratingUnwindEpilog = false;

compPostImportationCleanupDone = false;
compLSRADone = false;
compRationalIRForm = false;

#ifdef DEBUG
compCodeGenDone = false;
opts.compMinOptsIsUsed = false;
#endif
opts.compMinOptsIsSet = false;

// Used by fgFindJumpTargets for inlining heuristics.
opts.instrCount = 0;

// Used to track when we should consider running EarlyProp
optMethodFlags = 0;
optNoReturnCallCount = 0;

#ifdef DEBUG
m_nodeTestData = nullptr;
m_loopHoistCSEClass = FIRST_LOOP_HOIST_CSE_CLASS;
#endif
m_switchDescMap = nullptr;
m_blockToEHPreds = nullptr;
m_dominancePreds = nullptr;
m_fieldSeqStore = nullptr;
m_refAnyClass = nullptr;
for (MemoryKind memoryKind : allMemoryKinds())
{
m_memorySsaMap[memoryKind] = nullptr;
}

#ifdef DEBUG
if (!compIsForInlining())
{
compDoComponentUnitTestsOnce();
}
#endif // DEBUG

vnStore = nullptr;
m_outlinedCompositeSsaNums = nullptr;
m_nodeToLoopMemoryBlockMap = nullptr;
m_signatureToLookupInfoMap = nullptr;
m_significantSegmentsMap = nullptr;
fgSsaPassesCompleted = 0;
fgSsaValid = false;
fgVNPassesCompleted = 0;

#ifdef SWIFT_SUPPORT
m_swiftLoweringCache = nullptr;
#endif
#if defined(TARGET_RISCV64) || defined(TARGET_LOONGARCH64)
m_fpStructLoweringCache = nullptr;
#endif

// check that HelperCallProperties are initialized

assert(s_helperCallProperties.IsPure(CORINFO_HELP_GET_GCSTATIC_BASE));

// We start with the flow graph in tree-order
fgOrder = FGOrderTree;

m_classLayoutTable = nullptr;

#ifdef FEATURE_SIMD
m_simdHandleCache = nullptr;
#endif // FEATURE_SIMD

compUsesThrowHelper = false;

m_preferredInitCctor = CORINFO_HELP_UNDEF;

new (&Metrics, jitstd::placement_t()) JitMetrics();
}

/*****************************************************************************
*
=======
>>>>>>> runtime/main
* Destructor
*/

Expand Down
Loading
Loading