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 apr 24 #2543

Merged
merged 1,095 commits into from
Apr 23, 2024
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
1095 commits
Select commit Hold shift + click to select a range
e1b81d7
Delete RequiresProcessIsolation on some tests (#100172)
jkotas Mar 25, 2024
1fecfbc
[browser][MT] disable jiterp + enable safe points (#100156)
pavelsavara Mar 25, 2024
13a9036
JIT: Add a uniform representation for parameter ABI information (#100…
jakobbotsch Mar 25, 2024
06650b7
Fix HalfNumberBufferLength (#100187)
huoyaoyuan Mar 25, 2024
ddb739e
[main] Update dependencies from dotnet/runtime, dotnet/sdk (#100235)
dotnet-maestro[bot] Mar 25, 2024
928ffaa
Populate JsonPropertyInfo.AttributeProvider in the source generator. …
eiriktsarpalis Mar 25, 2024
305a52d
JIT: Set `bbCodeOffsEnd` to BAD_IL_OFFSET when expanding static init …
TIHan Mar 25, 2024
903bc01
Delete ENCODE_FIELD_SIG_IndexInsteadOfToken (#100214)
jkotas Mar 25, 2024
2c08933
JIT: Remove remaining SVE references from emitarm64.cpp (#100100)
amanasifkhalid Mar 25, 2024
25f3883
Avoid IDE030X suggestions for collection expressions that would catch…
stephentoub Mar 25, 2024
dc553fe
Switch from array to collection expression in OidLookup
vcsjones Mar 25, 2024
78a895f
Process.OSX: fix thread safety (#100260)
ForNeVeR Mar 26, 2024
7f555e0
Always zero-init if object contains pointers (#100265)
VSadov Mar 26, 2024
76c157f
Provide System.Threading.Tasks.Dataflow package readme (#99664)
eNeRGy164 Mar 26, 2024
22fcf9a
JIT: Clean up some call multi-reg ret handling (#99679)
jakobbotsch Mar 26, 2024
6d91b3e
JIT: Remove `GT_MKREFANY` (#100204)
jakobbotsch Mar 26, 2024
9038180
[browser] Move `GenerateJSModuleManifest` from pack to sdk (#99675)
maraf Mar 26, 2024
0c30a1b
[browser] Revert to full `NativeName` by interop with JS (#99956)
ilonatommy Mar 26, 2024
b432fc6
Delay MsQuicSendBuffers disposal to QuicStream handle closing. (#100228)
rzikm Mar 26, 2024
9856094
Update dependencies from https://github.com/dotnet/source-build-exter…
dotnet-maestro[bot] Mar 26, 2024
ba84d1e
JIT: initial work on general count reconstruction (#99992)
AndyAyersMS Mar 26, 2024
be1b035
Fix NegotiateStream connections between Linux clients and Windows ser…
filipnavara Mar 26, 2024
68193c4
remove test references to obsolete OSes (#100247)
wfurt Mar 26, 2024
9083a3b
The layout of the ITypeLib2 interface is incorrect. (#100255)
AaronRobinsonMSFT Mar 26, 2024
05f5a50
Prevent hoisting nodes with order side effects (#100160)
BruceForstall Mar 26, 2024
b42c516
Deduplicate header Separator logic (#100179)
MihaZupan Mar 26, 2024
e04d9aa
JIT: Generalize `hasFixedRetBuffReg` for ARM64 (#100277)
jakobbotsch Mar 26, 2024
cb36fdd
JIT: Fix mangleVarArgsType for SIMD types (#100278)
jakobbotsch Mar 26, 2024
8c9f510
[RISC-V] Fix building errors in emitriscv64.cpp on windows (#100270)
Bajtazar Mar 26, 2024
312eb18
Disable new terminal logger because it eats all the output from the s…
ivdiazsa Mar 26, 2024
5f7e495
Remove obsolete CopySrcInsteadOfClone source-build property (#100291)
MichaelSimons Mar 26, 2024
969d424
Harden SecKeyCopyExternalRepresentation against sensitive keys
vcsjones Mar 26, 2024
503970c
Simplify floating point mod and round math jit helpers (#100222)
jkotas Mar 26, 2024
475dd02
Check for server readiness before starting ssl stress test (#100296)
rzikm Mar 26, 2024
395282c
JIT: Add peephole for reversing BBJ_COND condition and removing false…
amanasifkhalid Mar 26, 2024
8c68710
Tighten `SideEffectSet::InterferesWith` (#100300)
BruceForstall Mar 26, 2024
d4c6e95
Update doc on using local apphost to reflect that the testhost layout…
elinor-fung Mar 27, 2024
c46410f
Update dependencies from https://github.com/dotnet/emsdk build (#100282)
dotnet-maestro[bot] Mar 27, 2024
748b61e
Update dependencies from https://github.com/dotnet/arcade build (#100…
dotnet-maestro[bot] Mar 27, 2024
3a447e4
[browser] fix bit width from 32 to 8 for managed boolean (#100304)
pavelsavara Mar 27, 2024
765ca4e
Disable msvc vectorization in GC get_promoted_bytes (#100309)
markples Mar 27, 2024
3ba9223
[wasm] Apply eslint formatting in JS/TS (#100271)
ilonatommy Mar 27, 2024
f390243
Remove concept of temporary dynamic IL (#100318)
davidwrighton Mar 27, 2024
782c2ee
Roll back conversion of native aot tests to merged model (#100269)
MichalStrehovsky Mar 27, 2024
f390af4
Run HTTP3 stress with Adress sanitization on Linux (#100023)
rzikm Mar 27, 2024
3f7ffdd
Move last P/Invoke error from native Thread and delete C/C++ SafeHand…
jkotas Mar 27, 2024
40a6b1d
[browser] reduce use of wrap_error_root (#100233)
pavelsavara Mar 27, 2024
a57fa6f
[Mono][infra] Disable failing tests/pipelines on runtime-extra-platfo…
matouskozak Mar 27, 2024
ddbb712
Support setting NamedPipeClientStream.ReadMode with PipeAccessRights …
jeffhandley Mar 27, 2024
330b13f
Update dependencies from https://github.com/dotnet/arcade build 20240…
dotnet-maestro[bot] Mar 27, 2024
a9ed416
Update dependencies from https://github.com/dotnet/emsdk build 202403…
dotnet-maestro[bot] Mar 27, 2024
fd22b92
Remove preventing EH and entering EE at shutdown (#100293)
janvorli Mar 27, 2024
788f572
Add arch_info for TARGET_RISCV64 (#100341)
rzsc Mar 27, 2024
2a846ac
Fix regex generator CA1872 warnings (#100345)
eiriktsarpalis Mar 27, 2024
c4796a3
Convert asserts in CEEInfo::getStaticFieldContent() to 'if' checks (#…
BruceForstall Mar 27, 2024
78c2c98
Don't log error from background service if host is gracefully stopped…
ProsserCJ Mar 27, 2024
1fa699e
[ILLink] Mark recursive interface implementations in MarkStep (#99922)
jtschuster Mar 27, 2024
ccc2d3b
Improve collided exception performance (#100169)
janvorli Mar 28, 2024
d7c4f02
Remove support for non-indirect code headers (#100351)
davidwrighton Mar 28, 2024
91ee24a
Eliminate unused virtual methods we detect after optimizations (#100286)
MichalStrehovsky Mar 28, 2024
e203933
[ci] Fix Playwright test times out/fails because target closed (#100074)
ilonatommy Mar 28, 2024
12f5464
Implement swift lowering algorithm in Mono's type system (#99439)
jkoritzinsky Mar 28, 2024
71e989d
[main] Update dependencies from dotnet/installer (#99901)
dotnet-maestro[bot] Mar 28, 2024
e612bf4
Remove TargetAbi.CppCodegen and TargetAbi.Jit, they are dead code (#1…
filipnavara Mar 28, 2024
e74f170
revert xor before setcc (#100298)
EgorBo Mar 28, 2024
a5b9a6a
Fix exception interception on ARM64 with new EH (#100349)
janvorli Mar 28, 2024
d80a09f
Fix a linker warning with the JsonSerializerOptionsUpdateHandler (#10…
eiriktsarpalis Mar 28, 2024
1f00cda
[mono][wasm] Force interpreter to initialize the pointers (#100288)
mkhamoyan Mar 28, 2024
cb63e02
[wasi] Basic usage docs (#100354)
maraf Mar 28, 2024
71177d9
[infra] Enable linux-x64 Mono fullAOT mini job on extra platforms (#9…
kotlarmilos Mar 28, 2024
7c14f71
Add support for the ISOSDacInterface14 api (#100364)
davidwrighton Mar 28, 2024
e753712
Allow trimming FeatureGuard and FeatureSwitchDefinition attributes (#…
sbomer Mar 28, 2024
2567a94
Fix initialization OpenSSL by KMAC
vcsjones Mar 28, 2024
f51d705
NativeAOT/win-x86: Enable FEATURE_EH_CALLFINALLY_THUNKS (#99718)
filipnavara Mar 28, 2024
6561e7c
JIT: fix count reconstruction problem (#100385)
AndyAyersMS Mar 28, 2024
83b0d93
Fix CA2022 warnings (Avoid inexact read with 'Stream.Read') (#100352)
mpidash Mar 29, 2024
85d60b7
Dynamic event support (#99862)
cshung Mar 29, 2024
8e95f22
Make sure we compact the LOH when aggressive GC is requested (#98954)
cshung Mar 29, 2024
7486be8
[cdac] Data Descriptor Spec (#100253)
lambdageek Mar 29, 2024
34d13b2
[NativeAOT/x86] Add SAFESEH support to assembly files and ObjectWrite…
filipnavara Mar 29, 2024
0323995
Add more checking to `GenTreeArrAddr::ParseArrayAddress()` (#100327)
BruceForstall Mar 29, 2024
316fc16
Remove requirement for building packs to run host tests and infrastru…
elinor-fung Mar 29, 2024
869dfb7
Reenable C4242 and C4244 warnings in libunwind (#100241)
AaronRobinsonMSFT Mar 29, 2024
fb5e93a
[PERF] Update dependson for mono perf jobs (#100420)
LoopedBard3 Mar 29, 2024
d1cc577
JIT: fix count reconstruction when a natural loop contains an imprope…
AndyAyersMS Mar 29, 2024
b7d91f2
Fix for stress failure when adjusting effective IP while stackwalking…
VSadov Mar 30, 2024
cc7bf83
Define _TIME_BITS=64 globally (#100461)
am11 Mar 30, 2024
1949bd2
[RISC-V] Fix intermittent failures due to unalignment access (#100431)
clamp03 Mar 31, 2024
e3dc83a
Add OptRepeat phase start/end indications (#100471)
BruceForstall Apr 1, 2024
ec4437b
[NativeAOT] Use SoftFP ABI on linux-bionic-arm (#100392)
filipnavara Apr 1, 2024
c5200b6
Enable NativeAOT win-x86 runtime tests (#99688)
filipnavara Apr 1, 2024
c7a3acb
Build win-x86 NativeAOT runtime pack (#100195)
filipnavara Apr 1, 2024
0fd23aa
Fix non-deterministic trigger of struct type initializers (#100469)
jkotas Apr 1, 2024
a027afb
[main] Update dependencies from dotnet/roslyn-analyzers (#100283)
dotnet-maestro[bot] Apr 1, 2024
dc01e99
Fix JitOptRepeat (#94250)
BruceForstall Apr 1, 2024
4039b45
Start moving over to official templates (#99433)
agocke Apr 1, 2024
282891d
Make JitOptRepeat available in Release builds (#100494)
BruceForstall Apr 2, 2024
ab2bd48
Add Task.WhenEach to process tasks as they complete (#100316)
stephentoub Apr 2, 2024
59d9749
Fix allocation of empty array in the frozen heap for collectible type…
xoofx Apr 2, 2024
10e87bc
JIT: Add separate ABI classifiers for x86/win-x64/SysV-x64/ARM64 (#10…
jakobbotsch Apr 2, 2024
991a054
Not only the first button click can be problematic, fix later ones. (…
ilonatommy Apr 2, 2024
ef86661
[browser] reduce sample re-link (#100517)
pavelsavara Apr 2, 2024
f37a5c1
Add JitOptRepeat to JIT experimental AzDO pipeline (#100326)
BruceForstall Apr 2, 2024
93483ba
[browser][MT] fix error propagation when calling JSImport of missing …
pavelsavara Apr 2, 2024
1ec64a7
Fix more diagnostics with CA2263 (#100490)
buyaa-n Apr 2, 2024
43dfccd
Fix interop test log statement (#100511)
jkotas Apr 2, 2024
a8daf55
SPMI: Fix Python 3.12 warnings in superpmi.py (#100533)
jakobbotsch Apr 2, 2024
254012e
Allow for the manual setting of if the build is official when uploadi…
LoopedBard3 Apr 2, 2024
995989e
Disable System.Net.Quic tests on arm32 (#100514)
rzikm Apr 2, 2024
e020a93
Enable FEATURE_PERFMAP on OSX, and update perfjitdump.cpp to work on …
vvuk Apr 3, 2024
85e8f68
Cleanup of `fx_resolver_t` and tests in `NativeHostApis` (#100542)
elinor-fung Apr 3, 2024
e0884ed
fix sve unit test (#100549)
kunalspathak Apr 3, 2024
0b542b9
JIT: Add ABI classifier for arm32 (#100526)
jakobbotsch Apr 3, 2024
0c0b8b2
Guard against -1 Returned from sysconf for the Cache Sizes Causing La…
mrsharm Apr 3, 2024
b66d44a
Enable System.Runtime.Serialization.Schema.Tests for HybridGlobalizat…
ilonatommy Apr 3, 2024
c5bead6
JIT: Disable more_tailcalls under GCStress (#100540)
jakobbotsch Apr 3, 2024
8763f6d
[browser][MT] smaller thread pool (#100415)
pavelsavara Apr 3, 2024
3bae822
[browser][MT] mono_wasm_schedule_synchronization_context (#100251)
pavelsavara Apr 3, 2024
0c2e8d2
[browser][mt] Block Blazor WBT that timeouts (#100577)
ilonatommy Apr 3, 2024
e5cf690
[wasm][bench] Fix startup measurements (#100579)
radekdoulik Apr 3, 2024
8618814
[browser][ws] Do not duplicate code executed in `local_on_close` (#99…
ilonatommy Apr 3, 2024
d0023cf
[browser][MT] assert no managed transition on UI thread after start (…
pavelsavara Apr 3, 2024
5c3bfeb
JIT: fix early convergence in profile count solver (#100552)
AndyAyersMS Apr 3, 2024
dd1b8b5
Update dependencies from https://github.com/dotnet/source-build-exter…
dotnet-maestro[bot] Apr 3, 2024
b040ed6
Several improvements / simplifications in Regex (#100315)
stephentoub Apr 3, 2024
e21bdfe
Fix use of uninitialized `bool` value (#100560)
AaronRobinsonMSFT Apr 3, 2024
eb73369
Fix origin for warnings due to event methods (#100500)
sbomer Apr 3, 2024
7c030e8
Delete dead code (#100551)
SingleAccretion Apr 3, 2024
89bd910
DATAS for small HCs (#100390)
Maoni0 Apr 3, 2024
95f68f5
JIT: add note on profile reconstruction (#100601)
AndyAyersMS Apr 3, 2024
71f45aa
[main] Update dependencies from dotnet/emsdk (#100402)
dotnet-maestro[bot] Apr 3, 2024
c08bd7b
Getting vxsort working on Linux amd64 (#98712)
cshung Apr 3, 2024
48ea62a
PEReader throws exception when using PEStreamOptions.PrefetchMetadata…
pedrobsaila Apr 3, 2024
c19d68e
[ppc64le] Fixed insufficient memory exception issue (#100337)
alhad-deshpande Apr 3, 2024
44b1e87
Enable JitOptRepeat as a perf experiment (#100607)
BruceForstall Apr 3, 2024
f558631
JIT: fix some display math issues in reconstruction doc (#100609)
AndyAyersMS Apr 3, 2024
862c82f
Update JIT sources to clang-format/clang-tidy 17.0.6 (#100498)
BruceForstall Apr 3, 2024
1c19033
Fix building x86 Windows native AOT runtime packs (#100512)
MichalStrehovsky Apr 3, 2024
ac7f025
Update CI builds to not use VS Previews (#100598)
mangod9 Apr 3, 2024
95b67ed
Remove HOST_CALLS contract and related stuff (#100604)
janvorli Apr 3, 2024
01f039c
RequiresProcessIsolation in Runtime_100437 (#100605)
VSadov Apr 4, 2024
5c4e2a3
Remove remaining CRT PAL wrappers and enable including standard heade…
jkoritzinsky Apr 4, 2024
470df61
Pass SourceBuiltSymbolsDir property to inner build (#100612)
NikolaMilosavljevic Apr 4, 2024
a72ef3e
Perform manual intermediate certificate lookup when creating MsQuicCo…
rzikm Apr 4, 2024
5087f12
Add extra logging to the unhandled exception test (#100620)
janvorli Apr 4, 2024
e4d9e41
Fix official build break (#100624)
MichalStrehovsky Apr 4, 2024
b4765bd
Mark managed/Compilation test as NativeAotIncompatible (#100625)
MichalStrehovsky Apr 4, 2024
223e9e7
Enable tail call generation for test Runtime_87393 (#100593)
rzsc Apr 4, 2024
d96f224
[browser] Run tests in parallel (#98492)
maraf Apr 4, 2024
ffb2578
[browser][MT] Handling blocking wait (#99833)
pavelsavara Apr 4, 2024
e610649
[browser][MT] fix void Main (#100629)
pavelsavara Apr 4, 2024
cf9b28c
[LoongArch64] amend the disasmbly formate of lu52id and branches. (#1…
shushanhf Apr 4, 2024
195b7a8
Remove true randomness from a libraries tests (#100633)
jakobbotsch Apr 4, 2024
e629779
[cdac] Physical contract descriptor spec (#100365)
lambdageek Apr 4, 2024
b5fbdeb
Update dependencies from https://github.com/dotnet/source-build-exter…
dotnet-maestro[bot] Apr 4, 2024
c3a2141
[main] Update dependencies from dotnet/arcade (#100401)
dotnet-maestro[bot] Apr 4, 2024
cf38265
[QUIC] Delete the ByteMixing MsQuic test (#100640)
liveans Apr 4, 2024
9a1da4d
Fix `Int128` checked-convert to signed IntX (#100342)
skyoxZ Apr 4, 2024
9f3058f
Add log to SendAsync_SlowServerRespondsAfterDefaultReceiveTimeout_Thr…
rzikm Apr 4, 2024
48aa85f
Rebase the installer build jobs on the global build job template (#10…
jkoritzinsky Apr 4, 2024
16492b9
JIT: Support Swift error handling for reverse P/Invokes (#100429)
amanasifkhalid Apr 4, 2024
6ae3df6
Remove CLANG_FORMAT_COMMENT_ANCHOR (#100615)
BruceForstall Apr 4, 2024
96d5a66
JIT: Fix profiler enter callback init reg trash logic (#100637)
jakobbotsch Apr 4, 2024
09e1418
Clean up macro in GetLogicalProcessorCacheSizeFromOS to include cache…
mrsharm Apr 4, 2024
7f2be68
Add workload metadata for automation (#100651)
joeloff Apr 4, 2024
960849b
Make host tests use single copy of shared framework (#100588)
elinor-fung Apr 4, 2024
d86b84f
[main] Update dependencies from dotnet/roslyn (#98559)
dotnet-maestro[bot] Apr 5, 2024
beac274
Ensure Array.CreateInstance over reference types works (#100626)
MichalStrehovsky Apr 5, 2024
1a7904e
Scalar/Packed conversions for floating point to integer (#97529)
khushal1996 Apr 5, 2024
a971763
JIT: Add support for frozen structs in Swift reverse pinvokes (#100344)
jakobbotsch Apr 5, 2024
997f09c
[mono][interp] Reduce false pinning from interp stack (#100400)
BrzVlad Apr 5, 2024
7def0b7
Use \e instead of \u001B or \x1B (#99659)
stephentoub Apr 5, 2024
f91b911
Delete odd definition of VolatileLoad/Store (#100660)
MichalStrehovsky Apr 5, 2024
ddae9bd
[mono][infra] Enable runtime tests in fullAOT LLVM mode on linux-x64 …
kotlarmilos Apr 5, 2024
4c20b21
Azure Linux 3.0 deps package (#100656)
NikolaMilosavljevic Apr 5, 2024
b973027
[cdac] Add basic cdacreader project (#100623)
elinor-fung Apr 5, 2024
b76baa8
Cleanup NativeAOT math helpers (#100375)
MichalPetryka Apr 5, 2024
068ba8e
Improve error when private key is missing in RSABCrypt
vcsjones Apr 5, 2024
d79a753
Add -cross flag to build.ps1 (#100678)
akoeplinger Apr 5, 2024
0c92024
[wasm] Improvements to startup performance of mono_wasm_get_assembly_…
kg Apr 5, 2024
afbebfe
Remove DAM annotations from enum converter (#100347)
LakshanF Apr 5, 2024
e1f5378
[browser] eslint more autofix (#100681)
pavelsavara Apr 5, 2024
41b1091
Replace FEATURE_EH_FUNCLETS in JIT with runtime switch (#99191)
filipnavara Apr 5, 2024
d9dcc58
Remove more `ASG` terminlogy from the codebase (#86760)
SingleAccretion Apr 5, 2024
55535ed
Change change export name mangling to match expectations (#100652)
lewing Apr 5, 2024
ed92ec4
[main] Update dependencies from dotnet/hotreload-utils, dotnet/icu, d…
dotnet-maestro[bot] Apr 5, 2024
1f698e7
Update dependencies from https://github.com/dotnet/emsdk build 202404…
dotnet-maestro[bot] Apr 5, 2024
3515c7a
Add build option to build Mac .dSYM debug symbol bundles (#100617)
BruceForstall Apr 5, 2024
92afc71
Disable default and ambient attribute at runtime with a feature switc…
LakshanF Apr 5, 2024
3e98877
Fix VS user unhandled exception notification (#100673)
janvorli Apr 5, 2024
fc9ab41
BlobBuilder.LinkSuffix/LinkPrefix need to Free zero length chunks (#1…
pedrobsaila Apr 5, 2024
4ce3525
Use Arcade log publishing instead of our own publishing (#100566)
jkoritzinsky Apr 5, 2024
f6237bc
Special casing `System.Guid` for COM VARIANT marshalling (#100377)
AaronRobinsonMSFT Apr 5, 2024
2496619
Update dependencies from https://github.com/dotnet/arcade build 20240…
dotnet-maestro[bot] Apr 6, 2024
995409f
Disable compile-native projects for linux-bionic (#100712)
elinor-fung Apr 6, 2024
7c4fc07
Implement RuntimeHelpers.Box (#100561)
jkoritzinsky Apr 6, 2024
988cfcf
Saturating floating point to integer conversions on Arm32 (#100682)
jkotas Apr 6, 2024
41670f5
Re-enable Runtime_56953 on arm/arm64 (#100717)
BruceForstall Apr 6, 2024
b8964d8
Fix WinDbg first chance exception notification (#100714)
janvorli Apr 6, 2024
e0ff36d
Streamline Guid.NewGuid on Windows (#100719)
stephentoub Apr 6, 2024
9b57a26
Fix contract and remove unused method overload (#100722)
AaronRobinsonMSFT Apr 6, 2024
02fb6ae
Merge remote-tracking branch 'runtime/main' into merge-apr-24
yowl Apr 6, 2024
94c610d
resolve conflicts,
yowl Apr 13, 2024
1f61c37
change javascript files to come from LibrariesNativeArtifactsPath in …
yowl Apr 14, 2024
4561969
Do not build Linux (ucontext.h missing?)
yowl Apr 14, 2024
8f8c9b4
add HFIF_SS_ARG
yowl Apr 17, 2024
3495b31
Correct merge error
yowl Apr 17, 2024
253eee5
move js dependent code inside Hybrid check
yowl Apr 18, 2024
d426ad7
lint
yowl Apr 18, 2024
d1ba24e
resinstate extern for g_RuntimeInitializationCallback
yowl Apr 18, 2024
0d40e49
Checked is actually building debug, rename
yowl Apr 18, 2024
24ded9b
use libraries config parameter for test building
yowl Apr 19, 2024
24d689c
match local version of llvm
yowl Apr 19, 2024
326ec42
resolve merge conflicts
yowl Apr 19, 2024
94b3775
Merge remote-tracking branch 'origin/feature/NativeAOT-LLVM' into mer…
yowl Apr 19, 2024
570e02f
address atomic changes, use Interlocked.cs for some to pass api compa…
yowl Apr 19, 2024
c3cd018
Add back OSX and checked build
yowl Apr 20, 2024
55ba6d0
add invoke_async_jsexport_naot and invoke_async_jsexport_mono
yowl Apr 20, 2024
c452e80
lint disable for unused arg
yowl Apr 20, 2024
d523642
Use saturating FP to integer conversions
SingleAccretion Apr 20, 2024
8bfa24d
Factor out common compilation flags
SingleAccretion Apr 20, 2024
906987e
Enable non-trapping float to int conversions by default
SingleAccretion Apr 20, 2024
4c20567
Add a little test
SingleAccretion Apr 20, 2024
c5302eb
move #ifdef to get RhGetCurrentThunkContext back
yowl Apr 20, 2024
389db64
revert update of LLVM
yowl Apr 22, 2024
e874327
Fix dotnet.js integration
maraf Apr 22, 2024
3368db8
Attempt to reinstate warnings for LLVM 17
yowl Apr 22, 2024
8201a5d
revert LLVM bump
yowl Apr 22, 2024
e668195
Revert "match local version of llvm"
yowl Apr 22, 2024
8ba6c2a
Revert "match local version of llvm"
yowl Apr 22, 2024
eaa1ef8
disable the warnings in llvm source files generally.
yowl Apr 22, 2024
d49dab8
Update src/coreclr/jit/llvm.cpp
yowl Apr 22, 2024
2b07e36
Address some feedback
yowl Apr 22, 2024
18d5fd9
Merge branch 'merge-apr-24' of https://github.com/yowl/runtimelab int…
yowl Apr 22, 2024
e62bb59
Clean up BindJSImportST
yowl Apr 22, 2024
5af1c97
Merge remote-tracking branch 'sa/Sat-FPtoUI' into merge-apr-24
yowl Apr 22, 2024
b924ab4
reinstate saturating tests
yowl Apr 23, 2024
8e12a31
Update src/coreclr/nativeaot/Runtime/wasm/FinalizerHelpers.SingleThre…
yowl Apr 23, 2024
03caca9
Update src/coreclr/jit/llvmcodegen.cpp oops
yowl Apr 23, 2024
371e46c
Update eng/pipelines/runtimelab.yml
yowl Apr 23, 2024
c3bc4ee
Update eng/pipelines/runtimelab.yml
yowl Apr 23, 2024
61e9367
Update eng/pipelines/runtimelab.yml
yowl Apr 23, 2024
f784f3e
Update eng/pipelines/runtimelab.yml
yowl Apr 23, 2024
bf1eb7e
Update src/libraries/System.Runtime.InteropServices.JavaScript/src/Sy…
yowl Apr 23, 2024
d612d52
feedback
yowl Apr 23, 2024
bbe432a
Merge branch 'merge-apr-24' of https://github.com/yowl/runtimelab int…
yowl Apr 23, 2024
53cd4b8
enable test
yowl Apr 23, 2024
f04e208
remove old steps and duplication
yowl Apr 23, 2024
4f15f91
revert change
yowl Apr 23, 2024
65f5b4a
Revert "enable test"
yowl Apr 23, 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
12 changes: 6 additions & 6 deletions eng/liveBuilds.targets
Original file line number Diff line number Diff line change
Expand Up @@ -228,12 +228,12 @@

<LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'browser' and '$(RuntimeFlavor)' == 'CoreCLR'"
Include="
$(CoreCLRNativeArtifactsPath)dotnet.js;
$(CoreCLRNativeArtifactsPath)dotnet.js.map;
$(CoreCLRNativeArtifactsPath)dotnet.runtime.js;
$(CoreCLRNativeArtifactsPath)dotnet.runtime.js.map;
$(CoreCLRNativeArtifactsPath)dotnet.d.ts;
$(CoreCLRNativeArtifactsPath)package.json;"
$(LibrariesNativeArtifactsPath)dotnet.js;
$(LibrariesNativeArtifactsPath)dotnet.js.map;
$(LibrariesNativeArtifactsPath)dotnet.runtime.js;
$(LibrariesNativeArtifactsPath)dotnet.runtime.js.map;
$(LibrariesNativeArtifactsPath)dotnet.d.ts;
$(LibrariesNativeArtifactsPath)package.json;"
IsNative="true" />
<LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'browser' and '$(RuntimeFlavor)' == 'CoreCLR'"
Include="$(CoreCLRNativeArtifactsPath)src\es6\*.js"

Choose a reason for hiding this comment

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

Was this always incorrect or did something change (I am guessing the former)? Does Include="$(CoreCLRNativeArtifactsPath)src\es6\*.js" below need the same fix?

Copy link
Member

Choose a reason for hiding this comment

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

For a reason I don't remember anymore I have crafted it this way https://github.com/dotnet/runtimelab/pull/2453/files#diff-e39b13480e09094a7907aaf2c25d8bec6025771736925298c71182d6332f0956. If the correct approach is to use LibrariesNativeArtifactsPath, then we can drop definition of CoreCLRNativeArtifactsPath

Copy link

@SingleAccretion SingleAccretion Apr 22, 2024

Choose a reason for hiding this comment

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

Thank you for pointing to that commit - it actually looks wrong to me to use LibrariesNativeArtifactsPath here now, since it picks up the configuration (Debug/Release) from libraries, while these are runtime files and so should pick up CoreCLR's configuration (as the before-merge code does).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do you want me to revert this and confirm the error ?

Choose a reason for hiding this comment

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

It would be useful to understand what the bug here is, yes.

Expand Down
137 changes: 34 additions & 103 deletions eng/pipelines/runtimelab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,139 +49,71 @@ extends:
stages:
- stage: Build
jobs:
<<<<<<< HEAD
#
# Build with Release libraries and Debug runtime
#
- ${{ if ne(variables.isOfficialBuild, true) }}:
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: Debug
platforms:
# - Linux_x64
- windows_x64
- OSX_x64
- Browser_wasm_win
- wasi_wasm_win
jobParameters:
timeoutInMinutes: 300
testGroup: innerloop
buildArgs: -s clr.aot+libs+nativeaot.packages -lc Release -rc Debug
postBuildSteps:
- template: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
parameters:
librariesConfiguration: Release

#
# Build with Debug libraries and Checked runtime
#
- ${{ if ne(variables.isOfficialBuild, true) }}:
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: Checked
platforms:
# - linux_x64
- windows_x64
jobParameters:
timeoutInMinutes: 100
testGroup: innerloop
buildArgs: -s clr+libs+host+packs -c debug -runtimeConfiguration Checked
postBuildSteps:
- template: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
parameters:
uploadRuntimeTests: true
librariesConfiguration: Debug

#
# Build with Release libraries and Release runtime (used for official builds) - Wasm
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: Release
platforms:
# - linux_x64 # Tests fail with a few errors, e.g. System.BadImageFormatException: Read out of bounds. TODO-LLVM try to reinstate when more merged
# - linux_musl_x64
# - linux_arm64 # ILCompiler for LLVM depends on libLLVM.runtime.linux-arm64 with version (>= 11.0.0) which is missing https://github.com/microsoft/LLVMSharp/issues/177. TODO: reinstate when we remove LLVMSharp dependency
# - linux_arm # ILCompiler for LLVM depends on libLLVM.runtime.linux-arm64 with version (>= 11.0.0) which is missing https://github.com/microsoft/LLVMSharp/issues/177. TODO: reinstate when we remove LLVMSharp dependency
# - linux_musl_arm64 # ILCompiler for LLVM depends on libLLVM.runtime.linux-arm64 with version (>= 11.0.0) which is missing https://github.com/microsoft/LLVMSharp/issues/177. TODO: reinstate when we remove LLVMSharp dependency
# - windows_x64 # Part of the combined (target + host) WASM build below
- windows_arm64
- OSX_x64
- Browser_wasm_win
- wasi_wasm_win
jobParameters:
timeoutInMinutes: 300
isOfficialBuild: ${{ variables.isOfficialBuild }}
testGroup: innerloop
postBuildSteps:
- template: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
parameters:
isOfficialBuild: ${{ variables.isOfficialBuild }}
uploadLibrariesTests: ${{ eq(variables.isOfficialBuild, false) }}
uploadIntermediateArtifacts: ${{ variables.isOfficialBuild }}
librariesConfiguration: Release
${{ if eq(variables.isOfficialBuild, false) }}:
buildArgs: -s clr.aot+libs+nativeaot.packages -c $(_BuildConfig) /p:ArchiveTests=true
${{ if eq(variables.isOfficialBuild, true) }}:
buildArgs: -s clr.aot+libs+nativeaot.packages -c $(_BuildConfig)
=======
- ${{ if ne(variables.isOfficialBuild, true) }}:
#
# Build the whole product with Checked CoreCLR and run runtime tests
# Build the whole product with Debug CoreCLR and run runtime tests
yowl marked this conversation as resolved.
Show resolved Hide resolved
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: checked
buildConfig: debug
platforms:
- linux_x64
# - linux_x64
- osx_x64
- windows_x64
- Browser_wasm_win
- wasi_wasm_win
jobParameters:
timeoutInMinutes: 200
buildArgs: -s clr+libs+hosts+packs -c debug -rc $(_BuildConfig)
timeoutInMinutes: 300
buildArgs: -s clr.aot+libs+nativeaot.packages -c debug -rc $(_BuildConfig)
postBuildSteps:
- template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
- template: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
parameters:
creator: dotnet-bot
testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig)
librariesConfiguration: Debug

#
# Build the whole product with Release CoreCLR and run libraries tests
# Build with Debug libraries and Checked runtime
yowl marked this conversation as resolved.
Show resolved Hide resolved
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: release
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: Checked
yowl marked this conversation as resolved.
Show resolved Hide resolved
platforms:
- linux_x64
# - linux_x64
- windows_x64
jobParameters:
timeoutInMinutes: 180
buildArgs: -s clr+libs+libs.tests+hosts+packs -c $(_BuildConfig) /p:ArchiveTests=true
timeoutInMinutes: 300
buildArgs: -s clr.aot+libs+nativeaot.packages -c debug -rc $(_BuildConfig)
postBuildSteps:
- template: /eng/pipelines/libraries/helix.yml
- template: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
parameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Libraries_$(_BuildConfig)
uploadRuntimeTests: true
librariesConfiguration: Debug

#
# Build and test libraries AllConfigurations
# Build the whole product with Release CoreCLR and run libraries tests
yowl marked this conversation as resolved.
Show resolved Hide resolved
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: release
platforms:
# - linux_x64
- osx_x64
- windows_x64
- Browser_wasm_win
- wasi_wasm_win
jobParameters:
buildArgs: -test -s tools+libs+libs.tests -allConfigurations -c $(_BuildConfig) /p:TestAssemblies=false /p:TestPackages=true
nameSuffix: Libraries_AllConfigurations
timeoutInMinutes: 150
timeoutInMinutes: 300
buildArgs: -s clr.aot+libs+nativeaot.packages -c $(_BuildConfig) /p:ArchiveTests=true
postBuildSteps:
- template: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
parameters:
librariesConfiguration: Release

- ${{ else }}:

Choose a reason for hiding this comment

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

In this else branch for the official build, I think we want to (once again) delete the Build libraries AllConfigurations for packages job and tweak the Build the whole product with Release CoreCLR one to also include our post-steps and build nativeaot.packages (basically make it look like the other ones).

#
Expand All @@ -193,7 +125,7 @@ extends:
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: release
platforms:
- linux_x64
# - linux_x64
- windows_x64
jobParameters:
isOfficialBuild: true
Expand Down Expand Up @@ -223,9 +155,8 @@ extends:
parameters:
name: Libraries_AllConfigurations
timeoutInMinutes: 95
>>>>>>> runtime/main

- ${{ if eq(variables.isOfficialBuild, true) }}:
- template: /eng/pipelines/official/stages/publish.yml
parameters:
isOfficialBuild: true
isOfficialBuild: true
4 changes: 2 additions & 2 deletions eng/pipelines/runtimelab/install-llvm.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ if (!(gcm cmake -ErrorAction SilentlyContinue))
if (!$NoClone)
{
$LlvmProjectTag = "llvmorg-17.0.4"
$DepthOption = if ($CI) {"--depth","1"} {}
$DepthOption = if ($CI) {"--depth","1"} else {}
git clone https://github.com/llvm/llvm-project --branch $LlvmProjectTag $DepthOption
}
elseif (!(Test-Path llvm-project))
Expand Down Expand Up @@ -72,7 +72,7 @@ foreach ($Config in $Configs)
}
else
{
$LlvmCmakeConfigEnvVarName = if ($Config -eq "Release") {"LLVM_CMAKE_CONFIG_RELEASE"} {"LLVM_CMAKE_CONFIG_DEBUG"}
$LlvmCmakeConfigEnvVarName = if ($Config -eq "Release") {"LLVM_CMAKE_CONFIG_RELEASE"} else {"LLVM_CMAKE_CONFIG_DEBUG"}
}

Write-Host "Setting $LlvmCmakeConfigEnvVarName to '$LlvmCmakeConfigPath'"
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/runtimelab/runtimelab-post-build-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ 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
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
displayName: Build WebAssembly tests
- ${{ elseif eq(parameters.platform, 'wasi_wasm_win') }}:
- script: |
call $(Build.SourcesDirectory)\wasm-tools\emsdk\emsdk_env
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} wasi tree nativeaot
$(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} wasi tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
displayName: Build WebAssembly tests

- ${{ elseif eq(parameters.osGroup, 'windows') }}:
Expand Down
6 changes: 1 addition & 5 deletions src/coreclr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -153,11 +153,7 @@ endif(NOT CLR_CMAKE_TARGET_ARCH_WASM)

if(NOT CLR_CROSS_COMPONENTS_BUILD)
# NativeAOT only buildable for a subset of CoreCLR-supported configurations
<<<<<<< HEAD
if(CLR_CMAKE_HOST_ARCH_ARM64 OR CLR_CMAKE_HOST_ARCH_AMD64 OR CLR_CMAKE_HOST_ARCH_ARM OR CLR_CMAKE_TARGET_ARCH_WASM)
=======
if(CLR_CMAKE_HOST_ARCH_ARM64 OR CLR_CMAKE_HOST_ARCH_AMD64 OR CLR_CMAKE_HOST_ARCH_ARM OR (CLR_CMAKE_HOST_ARCH_I386 AND CLR_CMAKE_HOST_WIN32))
>>>>>>> runtime/main
if(CLR_CMAKE_HOST_ARCH_ARM64 OR CLR_CMAKE_HOST_ARCH_AMD64 OR CLR_CMAKE_HOST_ARCH_ARM OR CLR_CMAKE_TARGET_ARCH_WASM OR (CLR_CMAKE_HOST_ARCH_I386 AND CLR_CMAKE_HOST_WIN32))
add_subdirectory(nativeaot)
endif()
endif(NOT CLR_CROSS_COMPONENTS_BUILD)
Expand Down
4 changes: 0 additions & 4 deletions src/coreclr/inc/crosscomp.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,6 @@
#endif
#endif // TARGET_WINDOWS

#ifdef TARGET_WASM
#include "wasm.h"
#endif

#ifdef UNICODE
#define MAKE_TARGET_DLLNAME(name) MAKE_TARGET_DLLNAME_W(name)
#else
Expand Down
4 changes: 0 additions & 4 deletions src/coreclr/jit/compiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7621,11 +7621,7 @@ void Compiler::compInitVarScopeMap()
compVarScopeMap = new (getAllocator()) VarNumToScopeDscMap(getAllocator());

// 599 prime to limit huge allocations; for ex: duplicated scopes on single var.
<<<<<<< HEAD
compVarScopeMap->Reallocate(min(info.compVarScopesCount, 599U));
=======
compVarScopeMap->Reallocate(min(info.compVarScopesCount, 599u));
>>>>>>> runtime/main

for (unsigned i = 0; i < info.compVarScopesCount; ++i)
{
Expand Down
6 changes: 0 additions & 6 deletions src/coreclr/jit/compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -499,19 +499,13 @@ class LclVarDsc
// The constructor. Most things can just be zero'ed.
//
// Initialize the ArgRegs to REG_STK.
<<<<<<< HEAD
// Morph will update if this local is passed in a register.
LclVarDsc() :
#if defined(TARGET_WASM)
lvLlvmArgNum(BAD_LLVM_ARG_NUM),
lvCorInfoType(CORINFO_TYPE_UNDEF),
lvHasLocalAddr(0),
#endif // TARGET_WASM
_lvArgReg(REG_STK)
=======
LclVarDsc()
: _lvArgReg(REG_STK)
>>>>>>> runtime/main
#if FEATURE_MULTIREG_ARGS
, _lvOtherArgReg(REG_STK)
#endif // FEATURE_MULTIREG_ARGS
Expand Down
4 changes: 0 additions & 4 deletions src/coreclr/jit/flowgraph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2354,14 +2354,10 @@ PhaseStatus Compiler::fgAddInternal()
// Merge return points if required or beneficial
MergedReturns merger(this);

<<<<<<< HEAD
#ifdef TARGET_WASM
m_llvm->AddUnhandledExceptionHandler();
#endif // TARGET_WASM

#if defined(FEATURE_EH_FUNCLETS)
=======
>>>>>>> runtime/main
// Add the synchronized method enter/exit calls and try/finally protection. Note
// that this must happen before the one BBJ_RETURN block is created below, so the
// BBJ_RETURN block gets placed at the top-level, not within an EH region. (Otherwise,
Expand Down
7 changes: 1 addition & 6 deletions src/coreclr/jit/gentree.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2081,8 +2081,7 @@ void CallArgs::Remove(CallArg* arg)
assert(!"Did not find arg to remove in CallArgs::Remove");
}

<<<<<<< HEAD
#if TARGET_WASM
#ifdef TARGET_WASM
//------------------------------------------------------------------------
// MoveLateToEarly: Sets all late nodes as the early nodes
//
Expand All @@ -2103,7 +2102,6 @@ void CallArgs::MoveLateToEarly()
m_lateHead = nullptr;
}
#endif
=======
#ifdef TARGET_XARCH
//---------------------------------------------------------------
// NeedsVzeroupper: Determines if the call needs a vzeroupper emitted before it is invoked
Expand Down Expand Up @@ -2172,7 +2170,6 @@ bool GenTreeCall::NeedsVzeroupper(Compiler* comp)
return needsVzeroupper;
}
#endif // TARGET_XARCH
>>>>>>> runtime/main

//---------------------------------------------------------------
// GetOtherRegMask: Get the reg mask of gtOtherRegs of call node
Expand Down Expand Up @@ -4744,8 +4741,6 @@ bool genCreateAddrMode(Compiler* compiler,
constant, or we have gone through a GT_NOP or GT_COMMA node. We never come back
here if we find a scaled index.
*/
CLANG_FORMAT_COMMENT_ANCHOR;

assert(mul == 0);

/* Special case: keep constants as 'op2' */
Expand Down
Loading
Loading