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

[RISC-V] Fix passing float and uint arguments in VM #105021

Merged
merged 7 commits into from
Jul 24, 2024

Conversation

tomeksowi
Copy link
Contributor

Follow the RISC-V ABI closer, see code comments for explanation.

The tests pass also without the fix because currently we're zero-extending uints before use. I left them because they can be useful later when we start optimizing out the unnecessary type-extending instructions.

Part of #84834, cc @dotnet/samsung

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jul 17, 2024
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Jul 17, 2024
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

@am11 am11 added the arch-riscv Related to the RISC-V architecture label Jul 17, 2024
@risc-vv
Copy link

risc-vv commented Jul 17, 2024

RISC-V testing failed on build-runtime-checked

GIT: 95d202b

Full report on gist

@risc-vv
Copy link

risc-vv commented Jul 17, 2024

RISC-V testing failed on build-runtime-checked

GIT: ee4a0dc

Full report on gist

@risc-vv
Copy link

risc-vv commented Jul 17, 2024

RISC-V testing failed on build-runtime-checked

GIT: 56ec6fa

Full report on gist

@risc-vv
Copy link

risc-vv commented Jul 18, 2024

RISC-V qemu-prio1-checked: 9346 / 9349 (99.97%)

c100e85

=======================
      passed: 9346
      failed: 2
     skipped: 109
      killed: 1
------------------------
  TOTAL libs: 9458
 TOTAL tests: 9458
   REAL time: 1h 21min 22s 908ms
=======================

Failed
[53.320s] profiler.unittest.releaseondetach.releaseondetach
    releaseondetach.sh
    [exitcode_134]: SIGABRT Abort. Managed or native assert, or runtime check such as heap corruption, caused call to abort(). Core dumped.
    Unhandled exception. Microsoft.Diagnostics.NETCore.Client.ServerNotAvailableException: Process 291219 not running compatible .NET runtime.
   at Microsoft.Diagnostics.NETCore.Client.PidIpcEndpoint.GetDefaultAddress() in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcTransport.cs:line 282
   at Microsoft.Diagnostics.NETCore.Client.PidIpcEndpoint.Connect(TimeSpan timeout) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcTransport.cs:line 243
   at Microsoft.Diagnostics.NETCore.Client.IpcClient.SendMessageGetContinuation(IpcEndpoint endpoint, IpcMessage message) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcClient.cs:line 40
   at Microsoft.Diagnostics.NETCore.Client.IpcClient.SendMessage(IpcEndpoint endpoint, IpcMessage message) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcClient.cs:line 25
   at Microsoft.Diagnostics.NETCore.Client.DiagnosticsClient.AttachProfiler(TimeSpan attachTimeout, Guid profilerGuid, String profilerPath, Byte[] additionalData) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsClient/DiagnosticsClient.cs:line 204
   at Profiler.Tests.ProfilerControlHelpers.AttachProfilerToSelf(Guid profilerGuid, String profilerPath) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/common/ProfilerControl.cs:line 27
   at Profiler.Tests.ReleaseOnShutdown.RunTest(String[] args) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/unittest/releaseondetach.cs:line 39
   at Profiler.Tests.ReleaseOnShutdown.Main(String[] args) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/unittest/releaseondetach.cs:line 57
Test failed: Profiler tests are expected to contain the text 'PROFILER TEST PASSES' in the console output of the profilee app to indicate a passing test. Usually it is printed from the Shutdown() method of the profiler implementation. This text was not found in the output above. Profilee returned exit code 134.
Unhandled exception. System.Exception: Profiler tests are expected to contain the text 'PROFILER TEST PASSES' in the console output of the profilee app to indicate a passing test. Usually it is printed from the Shutdown() method of the profiler implementation. This text was not found in the output above. Profilee returned exit code 134.
   at Profiler.Tests.ProfilerTestRunner.FailFastWithMessage(String error) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/common/ProfilerTestRunner.cs:line 183
   at Profiler.Tests.ProfilerTestRunner.Run(String profileePath, String testName, Guid profilerClsid, String profileeArguments, ProfileeOptions profileeOptions, Dictionary`2 envVars, String reverseServerName, Boolean loadAsNotification, Int32 notificationCopies) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/common/ProfilerTestRunner.cs:line 131
   at Profiler.Tests.ReleaseOnShutdown.Main(String[] args) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/unittest/releaseondetach.cs:line 60
./releaseondetach.sh: line 455: 290447 
Process 291219 not running compatible .NET runtime.
   at Microsoft.Diagnostics.NETCore.Client.PidIpcEndpoint.GetDefaultAddress() in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcTransport.cs:line 282
   at Microsoft.Diagnostics.NETCore.Client.PidIpcEndpoint.Connect(TimeSpan timeout) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcTransport.cs:line 243
   at Microsoft.Diagnostics.NETCore.Client.IpcClient.SendMessageGetContinuation(IpcEndpoint endpoint, IpcMessage message) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcClient.cs:line 40
   at Microsoft.Diagnostics.NETCore.Client.IpcClient.SendMessage(IpcEndpoint endpoint, IpcMessage message) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcClient.cs:line 25
   at Microsoft.Diagnostics.NETCore.Client.DiagnosticsClient.AttachProfiler(TimeSpan attachTimeout, Guid profilerGuid, String profilerPath, Byte[] additionalData) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsClient/DiagnosticsClient.cs:line 204
   at Profiler.Tests.ProfilerControlHelpers.AttachProfilerToSelf(Guid profilerGuid, String profilerPath) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/common/ProfilerControl.cs:line 27
   at Profiler.Tests.ReleaseOnShutdown.RunTest(String[] args) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/unittest/releaseondetach.cs:line 39
   at Profiler.Tests.ReleaseOnShutdown.Main(String[] args) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/unittest/releaseondetach.cs:line 57
Test failed: Profiler tests are expected to contain the text 'PROFILER TEST PASSES' in the console output of the profilee app to indicate a passing test. Usually it is printed from the Shutdown() method of the profiler implementation. This text was not found in the output above. Profilee returned exit code 134.
Unhandled exception. System.Exception: Profiler tests are expected to contain the text 'PROFILER TEST PASSES' in the console output of the profilee app to indicate a passing test. Usually it is printed from the Shutdown() method of the profiler implementation. This text was not found in the output above. Profilee returned exit code 134.
   at Profiler.Tests.ProfilerTestRunner.FailFastWithMessage(String error) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/common/ProfilerTestRunner.cs:line 183
   at Profiler.Tests.ProfilerTestRunner.Run(String profileePath, String testName, Guid profilerClsid, String profileeArguments, ProfileeOptions profileeOptions, Dictionary`2 envVars, String reverseServerName, Boolean loadAsNotification, Int32 notificationCopies) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/common/ProfilerTestRunner.cs:line 131
   at Profiler.Tests.ReleaseOnShutdown.Main(String[] args) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/profiler/unittest/releaseondetach.cs:line 60
./releaseondetach.sh: line 455: 290447 

[44.020s] JIT.Directed.debugging.debuginfo.tester.tester
    tester.sh
    [exitcode_101]: Unknown exit code 101.
     System.ApplicationException: Failed to connect to EventPipe
   at Tracing.Tests.Common.IpcTraceTest.<>c__DisplayClass9_0.<Validate>b__1() in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/IpcTraceTest.cs:line 221
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.WaitAllCore(ReadOnlySpan`1 tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.WaitAll(ReadOnlySpan`1 tasks)
   at Tracing.Tests.Common.IpcTraceTest.Validate(Boolean enableRundownProvider) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/IpcTraceTest.cs:line 307
   at Tracing.Tests.Common.IpcTraceTest.RunAndValidateEventCounts(Dictionary`2 expectedEventCounts, Action eventGeneratingAction, List`1 providers, Int32 circularBufferMB, Func`2 optionalTraceValidator, Boolean enableRundownProvider) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/IpcTraceTest.cs:line 402
 ---> (Inner Exception #1) System.NullReferenceException: Object reference not set to an instance of an object.
   at Tracing.Tests.Common.IpcTraceTest.<>c__DisplayClass9_0.<Validate>b__3() in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/IpcTraceTest.cs:line 301
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
Process 293724 not running compatible .NET runtime.
   at Microsoft.Diagnostics.NETCore.Client.PidIpcEndpoint.GetDefaultAddress() in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcTransport.cs:line 282
   at Microsoft.Diagnostics.NETCore.Client.PidIpcEndpoint.Connect(TimeSpan timeout) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcTransport.cs:line 243
   at Microsoft.Diagnostics.NETCore.Client.IpcClient.SendMessageGetContinuation(IpcEndpoint endpoint, IpcMessage message) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcClient.cs:line 40
   at Microsoft.Diagnostics.NETCore.Client.EventPipeSession.Start(IpcEndpoint endpoint, IEnumerable`1 providers, Boolean requestRundown, Int32 circularBufferMB) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsClient/EventPipeSession.cs:line 33
   at Microsoft.Diagnostics.NETCore.Client.DiagnosticsClient.StartEventPipeSession(IEnumerable`1 providers, Boolean requestRundown, Int32 circularBufferMB) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsClient/DiagnosticsClient.cs:line 69
   at Tracing.Tests.Common.IpcTraceTest.<>c__DisplayClass9_0.<Validate>b__1() in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/IpcTraceTest.cs:line 215
 25.2s: Starting event generating action...
 25.4s: Stopping event generating action
 25.5s: Sending StopTracing command...
 25.6s: System.AggregateException: One or more errors occurred. (Failed to connect to EventPipe) (Object reference not set to an instance of an object.)
 ---> System.ApplicationException: Failed to connect to EventPipe
   at Tracing.Tests.Common.IpcTraceTest.<>c__DisplayClass9_0.<Validate>b__1() in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/IpcTraceTest.cs:line 221
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.WaitAllCore(ReadOnlySpan`1 tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.WaitAll(ReadOnlySpan`1 tasks)
   at Tracing.Tests.Common.IpcTraceTest.Validate(Boolean enableRundownProvider) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/IpcTraceTest.cs:line 307
   at Tracing.Tests.Common.IpcTraceTest.RunAndValidateEventCounts(Dictionary`2 expectedEventCounts, Action eventGeneratingAction, List`1 providers, Int32 circularBufferMB, Func`2 optionalTraceValidator, Boolean enableRundownProvider) in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/IpcTraceTest.cs:line 402
 ---> (Inner Exception #1) System.NullReferenceException: Object reference not set to an instance of an object.
   at Tracing.Tests.Common.IpcTraceTest.<>c__DisplayClass9_0.<Validate>b__3() in /go-agent/pipelines/build-runtime-checked/runtime/src/tests/tracing/eventpipe/common/IpcTraceTest.cs:line 301
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)<---

 25.6s: ==TEST FINISHED: FAILED!==
Xunit.Sdk.EqualException: Assert.Equal() Failure: Values differ



Killed
[2705.498s] profiler.eventpipe.reverse_startup.reverse_startup
    reverse_startup.sh

Skipped
[0.000s] profiler.multiple.multiple.multiple
    multiple.sh
[0.000s] profiler.eventpipe.eventpipe.eventpipe
    eventpipe.sh
[0.000s] profiler.rejit.rejit.rejit
    rejit.sh
[0.000s] Interop.MonoAPI.MonoMono.InstallEHCallback.InstallEHCallback
    InstallEHCallback.sh
[0.000s] Interop.MonoAPI.MonoMono.PInvokeDetach.PInvokeDetach
    PInvokeDetach.sh
[0.000s] Interop.MonoAPI.MonoMono.Thunks.Thunks
    Thunks.sh
[0.000s] tracing.eventlistener.eventlistener.eventlistener
    eventlistener.sh
[0.000s] tracing.eventlistener.eventlistenerenabledisable.eventlistenerenabledisable
    eventlistenerenabledisable.sh
[0.000s] tracing.eventlistener.EventListenerThreadPool.EventListenerThreadPool
    EventListenerThreadPool.sh
[0.000s] tracing.eventpipe.processinfo.processinfo.processinfo
    processinfo.sh
[0.000s] tracing.eventpipe.rundownvalidation.rundownvalidation.rundownvalidation
    rundownvalidation.sh
[0.000s] tracing.eventpipe.simpleruntimeeventvalidation.simpleruntimeeventvalidation.simpleruntimeeventvalidation
    simpleruntimeeventvalidation.sh
[0.000s] tracing.eventpipe.pauseonstart.pauseonstart.pauseonstart
    pauseonstart.sh
[0.000s] tracing.eventpipe.processinfo2.processinfo2.processinfo2
    processinfo2.sh
[0.000s] tracing.eventpipe.eventsourceerror.eventsourceerror.eventsourceerror
    eventsourceerror.sh
[0.000s] tracing.eventpipe.processenvironment.processenvironment.processenvironment
    processenvironment.sh
[0.000s] tracing.eventpipe.applystartuphook.applystartuphook.applystartuphook
    applystartuphook.sh
[0.000s] tracing.eventpipe.diagnosticport.diagnosticport.diagnosticport
    diagnosticport.sh
[0.000s] tracing.eventpipe.buffersize.buffersize.buffersize
    buffersize.sh
[0.000s] tracing.eventpipe.config.name_config_with_pid.name_config_with_pid
    name_config_with_pid.sh
[0.000s] tracing.eventpipe.reverse.reverse.reverse
    reverse.sh
[0.000s] tracing.eventpipe.eventsvalidation.ExceptionThrown_V1.ExceptionThrown_V1
    ExceptionThrown_V1.sh
[0.000s] tracing.eventpipe.eventsvalidation.GCFinalizers.GCFinalizers
    GCFinalizers.sh
[0.000s] tracing.eventpipe.eventsvalidation.GCEvents.GCEvents
    GCEvents.sh
[0.000s] tracing.eventpipe.bigevent.bigevent.bigevent
    bigevent.sh
[0.000s] tracing.eventpipe.gcdump.gcdump.gcdump
    gcdump.sh
[0.000s] tracing.eventpipe.providervalidation.providervalidation.providervalidation
    providervalidation.sh
[0.000s] tracing.eventpipe.enabledisable.enabledisable.enabledisable
    enabledisable.sh
[0.000s] tracing.eventpipe.reverseouter.reverseouter.reverseouter
    reverseouter.sh
[0.000s] tracing.eventpipe.processinfo3.processinfo3.processinfo3
    processinfo3.sh
[0.000s] tracing.eventactivityidcontrol.eventactivityidcontrol.eventactivityidcontrol
    eventactivityidcontrol.sh
[0.000s] tracing.runtimeeventsource.runtimeeventsource.runtimeeventsource
    runtimeeventsource.sh
[0.000s] tracing.runtimeeventsource.nativeruntimeeventsource.nativeruntimeeventsource
    nativeruntimeeventsource.sh
[0.000s] tracing.eventcounter.regression-46938.regression-46938
    regression-46938.sh
[0.000s] tracing.eventcounter.incrementingpollingcounter.incrementingpollingcounter
    incrementingpollingcounter.sh
[0.000s] tracing.eventcounter.runtimecounters.runtimecounters
    runtimecounters.sh
[0.000s] tracing.eventcounter.pollingcounter.pollingcounter
    pollingcounter.sh
[0.000s] tracing.eventcounter.regression-25709.regression-25709
    regression-25709.sh
[0.000s] tracing.eventcounter.gh53564.gh53564
    gh53564.sh
[0.000s] tracing.eventcounter.eventcounter.eventcounter
    eventcounter.sh
[0.000s] tracing.eventcounter.incrementingeventcounter.incrementingeventcounter
    incrementingeventcounter.sh
[0.050s] JIT.Directed.forceinlining.AttributeConflict.AttributeConflict
    AttributeConflict.sh
[0.060s] JIT.Directed.forceinlining.PositiveCases.PositiveCases
    PositiveCases.sh
[0.050s] JIT.Directed.IL.Tailcall.JitTailcall2.JitTailcall2
    JitTailcall2.sh
[0.020s] JIT.Directed.IL.Tailcall.ExplicitTailCallNoSO.ExplicitTailCallNoSO
    ExplicitTailCallNoSO.sh
[0.000s] JIT.Directed.arglist.vararg_TargetUnix.vararg_TargetUnix
    vararg_TargetUnix.sh
[0.000s] JIT.Directed.rvastatics.RVAOrderingTest.RVAOrderingTest
    RVAOrderingTest.sh
[0.000s] JIT.Directed.PREFIX.volatile.1.arglist_Target_64BIT_volatile.arglist_Target_64BIT_volatile
    arglist_Target_64BIT_volatile.sh
[0.000s] JIT.Directed.PREFIX.unaligned.4.arglist_Target_64BIT_unaligned_4.arglist_Target_64BIT_unaligned_4
    arglist_Target_64BIT_unaligned_4.sh
[0.000s] JIT.Directed.PREFIX.unaligned.1.arglist_Target_64BIT_unaligned_1.arglist_Target_64BIT_unaligned_1
    arglist_Target_64BIT_unaligned_1.sh
[0.000s] JIT.Directed.PREFIX.unaligned.2.arglist_Target_64BIT_unaligned_2.arglist_Target_64BIT_unaligned_2
    arglist_Target_64BIT_unaligned_2.sh
[0.010s] JIT.Directed.lifetime.lifetime2.lifetime2
    lifetime2.sh
[0.040s] JIT.Directed.tailcall.mutual_recursion.mutual_recursion
    mutual_recursion.sh
[0.000s] JIT.Directed.Convert.out_of_range_fp_to_int_conversions.out_of_range_fp_to_int_conversions
    out_of_range_fp_to_int_conversions.sh
[0.010s] JIT.opt.ObjectStackAllocation.ObjectStackAllocationTests.ObjectStackAllocationTests
    ObjectStackAllocationTests.sh
[0.000s] JIT.opt.FastTailCall.FastTailCallCandidates.FastTailCallCandidates
    FastTailCallCandidates.sh
[0.000s] JIT.opt.FastTailCall.StructPassingSimple.StructPassingSimple
    StructPassingSimple.sh
[0.000s] JIT.opt.FastTailCall.GitHubIssue12479.GitHubIssue12479
    GitHubIssue12479.sh
[0.000s] JIT.opt.FastTailCall.StackFixup.StackFixup
    StackFixup.sh
[0.000s] JIT.opt.FastTailCall.FastTailCallInlining.FastTailCallInlining
    FastTailCallInlining.sh
[0.000s] JIT.opt.ValueNumbering.ExposedLocalsNumbering.ExposedLocalsNumbering
    ExposedLocalsNumbering.sh
[0.000s] JIT.opt.SSA.MemorySsa.MemorySsa
    MemorySsa.sh
[0.010s] JIT.opt.perf.doublealign.Locals.Locals
    Locals.sh
[0.030s] JIT.Stress.ABI.stubs_do.stubs_do
    stubs_do.sh
[0.030s] JIT.Stress.ABI.tailcalls_d.tailcalls_d
    tailcalls_d.sh
[0.050s] JIT.Stress.ABI.pinvokes_do.pinvokes_do
    pinvokes_do.sh
[0.020s] JIT.Stress.ABI.tailcalls_do.tailcalls_do
    tailcalls_do.sh
[0.040s] JIT.Stress.ABI.pinvokes_d.pinvokes_d
    pinvokes_d.sh
[0.000s] JIT.Methodical.refany.seq_d.seq_d
    seq_d.sh
[0.000s] JIT.Methodical.refany.seq_r.seq_r
    seq_r.sh
[0.000s] JIT.Methodical.Arrays.misc.arrres_il_r.arrres_il_r
    arrres_il_r.sh
[0.060s] JIT.Methodical.tailcall_v4.hijacking.hijacking
    hijacking.sh
[0.000s] JIT.Methodical.Coverage.arglist_pos.arglist_pos
    arglist_pos.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1-M12-Beta2.b37646.b37646.b37646
    b37646.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1-M12-Beta2.b41852.b41852.b41852
    b41852.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1-M12-Beta2.b31746.b31746.b31746
    b31746.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1-M11-Beta1.b41391.b41391.b41391
    b41391.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1-M09.5-PDC.b16423.b16423.b16423
    b16423.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1.2-Beta1.b103058.b103058.b103058
    b103058.sh
[0.000s] JIT.Regression.JitBlue.Runtime_57606.Runtime_57606.Runtime_57606
    Runtime_57606.sh
[0.000s] JIT.Regression.JitBlue.GitHub_18582.GitHub_18582.GitHub_18582
    GitHub_18582.sh
[0.000s] JIT.Regression.JitBlue.DevDiv_255294.DevDiv_255294.DevDiv_255294
    DevDiv_255294.sh
[0.040s] JIT.Regression.JitBlue.devdiv_902271.DevDiv_902271.DevDiv_902271
    DevDiv_902271.sh
[0.000s] JIT.Regression.CLR-x86-EJIT.V1-M12-Beta2.b26323.b26323.b26323
    b26323.sh
[0.000s] JIT.jit64.mcc.interop.mcc_i00.mcc_i00
    mcc_i00.sh
[0.050s] JIT.jit64.regress.ddb.87766.ddb87766.ddb87766
    ddb87766.sh
[0.000s] Loader.binding.tracing.BinderTracingTest.Basic.BinderTracingTest.Basic
    BinderTracingTest.Basic.sh
[0.000s] Loader.binding.tracing.BinderTracingTest.ResolutionFlow.BinderTracingTest.ResolutionFlow
    BinderTracingTest.ResolutionFlow.sh
[0.000s] readytorun.JittedMethodsCountingTest.JittedMethodsCountingTest.JittedMethodsCountingTest
    JittedMethodsCountingTest.sh
[0.000s] readytorun.GenericCycleDetection.Depth3Test.Depth3Test
    Depth3Test.sh
[0.000s] readytorun.DynamicMethodGCStress.DynamicMethodGCStress.DynamicMethodGCStress
    DynamicMethodGCStress.sh
[0.000s] GC.LargeMemory.API.gc.reregisterforfinalize.reregisterforfinalize
    reregisterforfinalize.sh
[0.000s] GC.LargeMemory.API.gc.getgeneration.getgeneration
    getgeneration.sh
[0.000s] GC.LargeMemory.API.gc.collect.collect
    collect.sh
[0.000s] GC.LargeMemory.Allocation.finalizertest.finalizertest
    finalizertest.sh
[0.000s] GC.Regressions.dev10bugs.536168.536168.536168
    536168.sh
[0.000s] GC.Regressions.Github.Runtime_76219.Runtime_76219.Runtime_76219
    Runtime_76219.sh
[0.050s] GC.API.WeakReference.IsAlive.IsAlive
    IsAlive.sh
[0.040s] GC.API.GCHandle.Weak.Weak
    Weak.sh
[0.000s] GC.Features.BackgroundGC.foregroundgc.foregroundgc
    foregroundgc.sh
[0.000s] GC.Features.LOHFragmentation.lohfragmentation.lohfragmentation
    lohfragmentation.sh
[0.000s] GC.Coverage.271010.271010
    271010.sh
[0.000s] baseservices.threading.regressions.2164.foreground-shutdown.foreground-shutdown
    foreground-shutdown.sh
[0.000s] baseservices.mono.runningmono.runningmono
    runningmono.sh
[0.000s] baseservices.typeequivalence.signatures.nopiatestil.nopiatestil
    nopiatestil.sh
[0.000s] baseservices.typeequivalence.istypeequivalent.istypeequivalent.istypeequivalent
    istypeequivalent.sh
[0.000s] baseservices.finalization.CriticalFinalizer.CriticalFinalizer
    CriticalFinalizer.sh
[0.000s] baseservices.exceptions.stackoverflow.stackoverflowtester.stackoverflowtester
    stackoverflowtester.sh
[0.000s] baseservices.exceptions.StackTracePreserve.StackTracePreserveTests.StackTracePreserveTests
    StackTracePreserveTests.sh

Full report on gist

@risc-vv
Copy link

risc-vv commented Jul 18, 2024

RISC-V starfive-prio1-checked: 9349 / 9349 (100.00%)

c100e85

=======================
      passed: 9349
      failed: 0
     skipped: 109
      killed: 0
------------------------
  TOTAL libs: 9458
 TOTAL tests: 9458
   REAL time: 4h 0min 2s 114ms
=======================

Failed

Killed

Skipped
[0.000s] readytorun.JittedMethodsCountingTest.JittedMethodsCountingTest.JittedMethodsCountingTest
    JittedMethodsCountingTest.sh
[0.000s] readytorun.DynamicMethodGCStress.DynamicMethodGCStress.DynamicMethodGCStress
    DynamicMethodGCStress.sh
[0.000s] readytorun.GenericCycleDetection.Depth3Test.Depth3Test
    Depth3Test.sh
[0.050s] profiler.rejit.rejit.rejit
    rejit.sh
[0.060s] profiler.eventpipe.eventpipe.eventpipe
    eventpipe.sh
[0.070s] profiler.multiple.multiple.multiple
    multiple.sh
[0.000s] GC.Features.LOHFragmentation.lohfragmentation.lohfragmentation
    lohfragmentation.sh
[0.000s] GC.Features.BackgroundGC.foregroundgc.foregroundgc
    foregroundgc.sh
[0.000s] GC.Coverage.271010.271010
    271010.sh
[0.000s] GC.LargeMemory.Allocation.finalizertest.finalizertest
    finalizertest.sh
[0.000s] GC.LargeMemory.API.gc.collect.collect
    collect.sh
[0.000s] GC.LargeMemory.API.gc.reregisterforfinalize.reregisterforfinalize
    reregisterforfinalize.sh
[0.000s] GC.LargeMemory.API.gc.getgeneration.getgeneration
    getgeneration.sh
[0.000s] GC.Regressions.dev10bugs.536168.536168.536168
    536168.sh
[0.000s] GC.Regressions.Github.Runtime_76219.Runtime_76219.Runtime_76219
    Runtime_76219.sh
[0.080s] GC.API.WeakReference.IsAlive.IsAlive
    IsAlive.sh
[0.070s] GC.API.GCHandle.Weak.Weak
    Weak.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1-M11-Beta1.b41391.b41391.b41391
    b41391.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1-M12-Beta2.b37646.b37646.b37646
    b37646.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1-M12-Beta2.b31746.b31746.b31746
    b31746.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1-M12-Beta2.b41852.b41852.b41852
    b41852.sh
[0.010s] JIT.Regression.CLR-x86-JIT.V1.2-Beta1.b103058.b103058.b103058
    b103058.sh
[0.000s] JIT.Regression.CLR-x86-JIT.V1-M09.5-PDC.b16423.b16423.b16423
    b16423.sh
[0.010s] JIT.Regression.JitBlue.GitHub_18582.GitHub_18582.GitHub_18582
    GitHub_18582.sh
[0.000s] JIT.Regression.JitBlue.Runtime_57606.Runtime_57606.Runtime_57606
    Runtime_57606.sh
[0.050s] JIT.Regression.JitBlue.devdiv_902271.DevDiv_902271.DevDiv_902271
    DevDiv_902271.sh
[0.010s] JIT.Regression.JitBlue.DevDiv_255294.DevDiv_255294.DevDiv_255294
    DevDiv_255294.sh
[0.000s] JIT.Regression.CLR-x86-EJIT.V1-M12-Beta2.b26323.b26323.b26323
    b26323.sh
[0.020s] JIT.Stress.ABI.pinvokes_d.pinvokes_d
    pinvokes_d.sh
[0.010s] JIT.Stress.ABI.pinvokes_do.pinvokes_do
    pinvokes_do.sh
[0.050s] JIT.Stress.ABI.stubs_do.stubs_do
    stubs_do.sh
[0.020s] JIT.Stress.ABI.tailcalls_do.tailcalls_do
    tailcalls_do.sh
[0.010s] JIT.Stress.ABI.tailcalls_d.tailcalls_d
    tailcalls_d.sh
[0.000s] JIT.Directed.arglist.vararg_TargetUnix.vararg_TargetUnix
    vararg_TargetUnix.sh
[0.030s] JIT.Directed.forceinlining.PositiveCases.PositiveCases
    PositiveCases.sh
[0.030s] JIT.Directed.forceinlining.AttributeConflict.AttributeConflict
    AttributeConflict.sh
[0.000s] JIT.Directed.rvastatics.RVAOrderingTest.RVAOrderingTest
    RVAOrderingTest.sh
[0.030s] JIT.Directed.Convert.out_of_range_fp_to_int_conversions.out_of_range_fp_to_int_conversions
    out_of_range_fp_to_int_conversions.sh
[0.010s] JIT.Directed.IL.Tailcall.ExplicitTailCallNoSO.ExplicitTailCallNoSO
    ExplicitTailCallNoSO.sh
[0.010s] JIT.Directed.IL.Tailcall.JitTailcall2.JitTailcall2
    JitTailcall2.sh
[0.040s] JIT.Directed.tailcall.mutual_recursion.mutual_recursion
    mutual_recursion.sh
[0.050s] JIT.Directed.lifetime.lifetime2.lifetime2
    lifetime2.sh
[0.000s] JIT.Directed.PREFIX.volatile.1.arglist_Target_64BIT_volatile.arglist_Target_64BIT_volatile
    arglist_Target_64BIT_volatile.sh
[0.000s] JIT.Directed.PREFIX.unaligned.4.arglist_Target_64BIT_unaligned_4.arglist_Target_64BIT_unaligned_4
    arglist_Target_64BIT_unaligned_4.sh
[0.000s] JIT.Directed.PREFIX.unaligned.2.arglist_Target_64BIT_unaligned_2.arglist_Target_64BIT_unaligned_2
    arglist_Target_64BIT_unaligned_2.sh
[0.000s] JIT.Directed.PREFIX.unaligned.1.arglist_Target_64BIT_unaligned_1.arglist_Target_64BIT_unaligned_1
    arglist_Target_64BIT_unaligned_1.sh
[0.010s] JIT.jit64.regress.ddb.87766.ddb87766.ddb87766
    ddb87766.sh
[0.000s] JIT.jit64.mcc.interop.mcc_i00.mcc_i00
    mcc_i00.sh
[0.060s] JIT.opt.ObjectStackAllocation.ObjectStackAllocationTests.ObjectStackAllocationTests
    ObjectStackAllocationTests.sh
[0.000s] JIT.opt.SSA.MemorySsa.MemorySsa
    MemorySsa.sh
[0.010s] JIT.opt.FastTailCall.GitHubIssue12479.GitHubIssue12479
    GitHubIssue12479.sh
[0.020s] JIT.opt.FastTailCall.StackFixup.StackFixup
    StackFixup.sh
[0.000s] JIT.opt.FastTailCall.FastTailCallInlining.FastTailCallInlining
    FastTailCallInlining.sh
[0.030s] JIT.opt.FastTailCall.StructPassingSimple.StructPassingSimple
    StructPassingSimple.sh
[0.020s] JIT.opt.FastTailCall.FastTailCallCandidates.FastTailCallCandidates
    FastTailCallCandidates.sh
[0.000s] JIT.opt.ValueNumbering.ExposedLocalsNumbering.ExposedLocalsNumbering
    ExposedLocalsNumbering.sh
[0.050s] JIT.opt.perf.doublealign.Locals.Locals
    Locals.sh
[0.000s] JIT.Methodical.Coverage.arglist_pos.arglist_pos
    arglist_pos.sh
[0.010s] JIT.Methodical.tailcall_v4.hijacking.hijacking
    hijacking.sh
[0.000s] JIT.Methodical.refany.seq_d.seq_d
    seq_d.sh
[0.000s] JIT.Methodical.refany.seq_r.seq_r
    seq_r.sh
[0.010s] JIT.Methodical.Arrays.misc.arrres_il_r.arrres_il_r
    arrres_il_r.sh
[0.020s] Loader.binding.tracing.BinderTracingTest.ResolutionFlow.BinderTracingTest.ResolutionFlow
    BinderTracingTest.ResolutionFlow.sh
[0.000s] Loader.binding.tracing.BinderTracingTest.Basic.BinderTracingTest.Basic
    BinderTracingTest.Basic.sh
[0.000s] Interop.MonoAPI.MonoMono.Thunks.Thunks
    Thunks.sh
[0.000s] Interop.MonoAPI.MonoMono.PInvokeDetach.PInvokeDetach
    PInvokeDetach.sh
[0.000s] Interop.MonoAPI.MonoMono.InstallEHCallback.InstallEHCallback
    InstallEHCallback.sh
[0.040s] tracing.runtimeeventsource.nativeruntimeeventsource.nativeruntimeeventsource
    nativeruntimeeventsource.sh
[0.060s] tracing.runtimeeventsource.runtimeeventsource.runtimeeventsource
    runtimeeventsource.sh
[0.040s] tracing.eventlistener.eventlistener.eventlistener
    eventlistener.sh
[0.040s] tracing.eventlistener.EventListenerThreadPool.EventListenerThreadPool
    EventListenerThreadPool.sh
[0.060s] tracing.eventlistener.eventlistenerenabledisable.eventlistenerenabledisable
    eventlistenerenabledisable.sh
[0.070s] tracing.eventpipe.diagnosticport.diagnosticport.diagnosticport
    diagnosticport.sh
[0.050s] tracing.eventpipe.enabledisable.enabledisable.enabledisable
    enabledisable.sh
[0.050s] tracing.eventpipe.rundownvalidation.rundownvalidation.rundownvalidation
    rundownvalidation.sh
[0.050s] tracing.eventpipe.reverseouter.reverseouter.reverseouter
    reverseouter.sh
[0.050s] tracing.eventpipe.processinfo2.processinfo2.processinfo2
    processinfo2.sh
[0.030s] tracing.eventpipe.gcdump.gcdump.gcdump
    gcdump.sh
[0.050s] tracing.eventpipe.processenvironment.processenvironment.processenvironment
    processenvironment.sh
[0.000s] tracing.eventpipe.eventsourceerror.eventsourceerror.eventsourceerror
    eventsourceerror.sh
[0.050s] tracing.eventpipe.pauseonstart.pauseonstart.pauseonstart
    pauseonstart.sh
[0.060s] tracing.eventpipe.config.name_config_with_pid.name_config_with_pid
    name_config_with_pid.sh
[0.050s] tracing.eventpipe.processinfo3.processinfo3.processinfo3
    processinfo3.sh
[0.040s] tracing.eventpipe.applystartuphook.applystartuphook.applystartuphook
    applystartuphook.sh
[0.040s] tracing.eventpipe.bigevent.bigevent.bigevent
    bigevent.sh
[0.040s] tracing.eventpipe.simpleruntimeeventvalidation.simpleruntimeeventvalidation.simpleruntimeeventvalidation
    simpleruntimeeventvalidation.sh
[0.060s] tracing.eventpipe.reverse.reverse.reverse
    reverse.sh
[0.050s] tracing.eventpipe.providervalidation.providervalidation.providervalidation
    providervalidation.sh
[0.040s] tracing.eventpipe.buffersize.buffersize.buffersize
    buffersize.sh
[0.040s] tracing.eventpipe.processinfo.processinfo.processinfo
    processinfo.sh
[0.050s] tracing.eventpipe.eventsvalidation.GCEvents.GCEvents
    GCEvents.sh
[0.060s] tracing.eventpipe.eventsvalidation.GCFinalizers.GCFinalizers
    GCFinalizers.sh
[0.030s] tracing.eventpipe.eventsvalidation.ExceptionThrown_V1.ExceptionThrown_V1
    ExceptionThrown_V1.sh
[0.040s] tracing.eventactivityidcontrol.eventactivityidcontrol.eventactivityidcontrol
    eventactivityidcontrol.sh
[0.060s] tracing.eventcounter.incrementingeventcounter.incrementingeventcounter
    incrementingeventcounter.sh
[0.030s] tracing.eventcounter.pollingcounter.pollingcounter
    pollingcounter.sh
[0.030s] tracing.eventcounter.incrementingpollingcounter.incrementingpollingcounter
    incrementingpollingcounter.sh
[0.080s] tracing.eventcounter.regression-25709.regression-25709
    regression-25709.sh
[0.050s] tracing.eventcounter.runtimecounters.runtimecounters
    runtimecounters.sh
[0.060s] tracing.eventcounter.regression-46938.regression-46938
    regression-46938.sh
[0.060s] tracing.eventcounter.gh53564.gh53564
    gh53564.sh
[0.050s] tracing.eventcounter.eventcounter.eventcounter
    eventcounter.sh
[0.000s] baseservices.finalization.CriticalFinalizer.CriticalFinalizer
    CriticalFinalizer.sh
[0.000s] baseservices.mono.runningmono.runningmono
    runningmono.sh
[0.000s] baseservices.threading.regressions.2164.foreground-shutdown.foreground-shutdown
    foreground-shutdown.sh
[0.000s] baseservices.exceptions.stackoverflow.stackoverflowtester.stackoverflowtester
    stackoverflowtester.sh
[0.000s] baseservices.exceptions.StackTracePreserve.StackTracePreserveTests.StackTracePreserveTests
    StackTracePreserveTests.sh
[0.000s] baseservices.typeequivalence.istypeequivalent.istypeequivalent.istypeequivalent
    istypeequivalent.sh
[0.000s] baseservices.typeequivalence.signatures.nopiatestil.nopiatestil
    nopiatestil.sh

Full report on gist

@tomeksowi
Copy link
Contributor Author

Ping. Anything more to do with this PR before it can be merged?

Copy link
Member

@jkotas jkotas left a comment

Choose a reason for hiding this comment

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

Thanks

@jkotas jkotas merged commit d3eeb0e into dotnet:main Jul 24, 2024
94 of 96 checks passed
directhex pushed a commit that referenced this pull request Jul 26, 2024
* Add tests

* Fix passing float and uint arguments in VM

* Change test lib name so it doesn't clash with managed DLL on Windows
ilonatommy added a commit that referenced this pull request Aug 1, 2024
…05110)

* Remove support for older LLVM versions, and re-order linker flags

We have generally tried to support linking multiple versions of LLVM
within our git tree. Every new LLVM version moves symbols around between
libraries, and as a result, every new version of LLVM requires different
linker flags to build. The command line tool `llvm-config` should tell
you the exact flags you need, but it is a problem for us when
cross-compiling to rely on this, and as a result, we transcribe
the result of various llvm-config outputs directly into Mono's
CMakeLists.txt.

In an effort to support multiple versions of LLVM, flags common between
all supported versions were kept in one place, then the version-specific
flags appended afterwards. And this has worked fine for years. However:

1. Whilst we only link with `lld`, it is common for contributors and
   source-build to link with `gold`, `bfd`, or some other GNU-flavoured
   linker, where library order is essential
2. The list of common libraries to link has remained unchanged for
   years, but the symbol intra-dependencies may have changed a long time
   ago, so common symbol order cannot be assumed to remain valid between
   LLVM versions

This has resulted in a long-standing problem for people using e.g.
Debian or Ubuntu or GitHub CodeSpaces, rather than always building
with one of our dockerfiles representing our "real" build environment,
when targeting platforms which use Mono and link LLVM.

* Bumping clang and llvm - make docs less ambiguous. (#105401)

* Bump main to RC1 (#105338)

* Update SDK to preview 6 (#104696)

* Update SDK to preview 6

* Update Shared.csproj

Fix `error NU1903: Package 'System.Text.Json' 8.0.0 has a known high severity vulnerability`

* Fix with existing version.

---------

Co-authored-by: Ilona Tomkowicz <[email protected]>
Co-authored-by: Viktor Hofer <[email protected]>

* Change DefaultMaximumErrorResponseLength to KB from Byte (#105396)

* Change DefaultMaximumErrorResponseLength to KB from Byte

* Handle overflow

* Review feedback

* Fix warning for MakeGenericType annotation mismatch (#104921)

Fixes warning code when a generic type whose type parameters have DAM
annotations is used with MakeGenericType, over a type that doesn't
have matching annotations.

The code IL2070 used to mention the 'this' argument. Instead it should
have been IL2071 which mentions the generic argument as the cause of
the mismatch. Similar for MakeGenericMethod with IL2090 and IL2091.

* Set GCStressIncompatible on GenericContext tests (#104686)

Co-authored-by: Vladimir Sadov <[email protected]>

* Add runtime config parameter to force ijwhost to load assemblies in an isolated context (#105337)

* Add support for isolated load context in LoadInMemoryAssemblyInContext by passing -1 as loadContext
* Have ijwhost check a runtime config parameter to determine if it should run in an isolated load context
* Added test for ijwhost isolated load context runtime config option

* [RISC-V] Fix passing float and uint arguments in VM (#105021)

* Add tests

* Fix passing float and uint arguments in VM

* Change test lib name so it doesn't clash with managed DLL on Windows

* Fix platform analyzer attribute order for MacCatalyst (#105409)

We need to make sure the attribute for MacCatalyst comes _after_ the iOS one due to how MacCatalyst is a superset of iOS: https://learn.microsoft.com/en-us/dotnet/standard/analyzers/platform-compat-analyzer#platform-inclusion

This caused an error in aspnetcore in the latest dependency flow because the analyzer thought AesGcm is _only_ supported on MacCatalyst:
> error CA1416: (NETCORE_ENGINEERING_TELEMETRY=Build) This call site is reachable on all platforms. 'AesGcm.Decrypt(ReadOnlySpan<byte>, ReadOnlySpan<byte>, ReadOnlySpan<byte>, Span<byte>, ReadOnlySpan<byte>)' is only supported on: 'maccatalyst' 13.0 and later.

* Use correct `ExceptionArgument` value in  `System.IO.Pipelines` (#105418)

* Remove zlib from requirements script and instruction files (#105419)

* Remove zlib from requirements instructions

* Remove zlib from native requirements installation script

* Revert "Remove zlib from requirements script and instruction files (#105419)" (#105449)

This reverts commit 3ec6286.

* Ensure that WaitForPendingFinalizers has seen the expected Full GC count (#105289)

* Ensure that WaitForPendingFinalizers has seen the expected Full GC

* NativeAOT and some renames

* a testcase

* make the test not unsafe and make OuterLoop

* Use unsigned math when comparing collection ticks

* cast the diff to int when comparing gc ticks

* Migrate to zlib-ng, part 3: Remove zlib and zlib-intel source code and license mentions (second attempt) (#105371)

* Remove zlib/
* Remove zlib-intel/
* Remove third party notice
* Remove patches
* Remove version txts
* Remove cgmanifest.json entries
* Remove installer third party notice
* Update docs
---------
Co-authored-by: Jan Kotas <[email protected]>

* [browser] Trigger relink on `EmccMaximumHeapSize` change (#105027)

* Edit test + trigger relink.

* Remove logging to speed up the test + decrease loop runs to prevent "Browser has been disconnected" error.

* Feedback - properties are not bool-only anymore.

* Fix: workload needed when heap size set.

---------

Co-authored-by: Larry Ewing <[email protected]>

* Delete erroneous Socket test (#105448)

* Pull the python dependency from the EmsdkVersion where possible (#105437)

* Use `BinaryPrimitives` more in the ILCompiler (#105404)

* JIT: use VNVisitReachingVNs in IsVNNeverNegative (#105197)

* Set xunit env var to not print output for passing tests (#105392)

* Set xunit env var to not print output for passing tests

Fixes #103445

* Update xunit.console.targets

* Update xunit.console.targets

* Some more automated C# modernization in corelib (#105151)

* Fix IDE0056 on corelib (indexing can be simplified)

* Fix IDE (null check can be simplified)

* Fix IDE0078 (use pattern matching)

* Fix IDE0019 (use pattern matching)

* Fix IDE0066 (use switch expression)

* Fix IDE0250 (struct can be made readonly)

* Fix nullability warning and address PR feedback

* Address PR feedback and revert a downlevel change

* Wrap any `?? throw new`s that go beyond 120 characters

* Fix ECMA 355 Partition download links (#105454)

On https://github.com/dotnet/runtime/blob/main/docs/project/dotnet-standards.md the Partition with Notes download links using HTTP protocol fail to download in Chrome:

>Mixed Content: The site at 'https://github.com/' was loaded over a secure connection, but the file at 'https://download.microsoft.com/download/7/3/3/733AD403-90B2-4064-A81E-01035A7FE13C/MS%20Partition%20I.pdf' was redirected through an insecure connection. This file should be served over HTTPS. See https://blog.chromium.org/2020/02/protecting-users-from-insecure.html for more details.

(It might be reasonble for somebody else to followup fixing all domains on all pages with regex `\(http://([.a-z0-9-]+)` replacing with `(https://$1`, but I didn't test each blog site supports HTTPS.)

* Add swiftcall signature check for `mono_class_try_get_swift_error_class` (#105408)

* Add signature check for swiftcall

* Handle null values for swift_error_ptr

* Enable NativeAOT runtime tests on MacCatalyst (#102882)

This PR updates the CLRTest.Execute.Bash.targets file to set the apple run command for MacCatalyst. The command apple just-run used on Apple mobile is not permitted, and apple test requires the a test runner. Additionally, it is necessary to locate Info.plist in the Contents/ directory and the binary in Contents/MacOS/ within the bundle.

---------

Co-authored-by: Ivan Povazan <[email protected]>

* Resolving an antigen failure (#105260)

* Resolving an antigen failure

* Fix method accessibility so xunit doesn't complain

* Support field access on GetType() of T constrained to be Enum (#105351)

Adds trimming support for instance.GetType().GetFields(), where
instance is a variable of type `T` that is constrained to System.Enum.

This includes a change to have ILLink's TypeProxy track a
TypeReference instead of TypeDefinition, which was necessary to allow
TypeProxy to represent a generic parameter.

Note that this only supports the specific case where `GetType()` is
called on a variable of type `T` that is constrained to `Enum`. A
variable of type `Enum` is not supported, so the following will still
warn:


```csharp
static void M(Enum v) {
    v.GetType().GetFields();
}
```

* Update mono to support shuffle for constant inputs (#105299)

* Support mono creating xconst in a few more places

* Update mono to support shuffle for constant inputs

* Ensure that arm64 also accelerates shuffle for non-constant inputs

* Ensure OP_XZERO and OP_XONES are recognized as being constant

* Ensure shuffle creates a correct instruction when the fsig doesn't match the necessary parameter count

* Ensure that getting the index for floating-point shuffle is possible

* Ensure the right class handle is passed down to LLVM so overload resolution can function

* Make sure we update the original xconst if we mutate it

* Return a new constant and instead of mutating the existing one

* Insert relevant xcast nodes

* Add some asserts around the ecount

* Ensure we get the right element type

* Ensure we don't create nodes unnecessarily for create_elementwise

* Ensure that create_elementwise still works for other vector sizes

* Ensure indentation of switch cases is correct for Mono

* Make TooDeepJsonDocument test more consistent across platforms (#105445)

* Make TooDeepJsonDocument test more consistent across platforms

Run the test on a thread with as consistent a stack size as possible so that we don't inadvertently succeed due to having a really large stack.

* Disable test on mono

* Update the TypeLib embedding and add comments on API use (#105416)

There is an undocumented semantic of Win32 Resource APIs.
The missing semantic is that all resource type/name
strings are transparently converted to uppercase
when calling any of the Win32 Resource APIs.

We don't want to apply this undocumented semantic to the reader/writer API
so we document it instead. We are avoiding applying the behavior
since ReadyToRun scenarios are designed to be a byte for byte copy
of the resource, including name as it was written by other tooling.

* Update docs for ByRefLike with generics for work in .NET 10 (#103318)

Co-authored-by: Jan Kotas <[email protected]>

* Fix double printing in StressLog and simplify stresslog macros (#105420)

* Add support for nested types in the `corelib.h` parser for rooting descriptors (#105432)

* Fixed for assertion failure due to not checking if we are processing Eph samples (#105164)

* [PERF] Use correct python executable on windows in venv (#105451)

* Fix up Fuzzlyn CI scripts for new hardware intrinsics support (#105470)

1) Strip out the extensions in the seed name when using it for file/directory names, since the list of extensions is quite long
2) Limit the number of unreduced/uncategorized example seeds we show

* Try to re-enable DeepEquals_TooDeepJsonDocument_ThrowsInsufficientExecutionStackException test on mono (#105509)

* zlib-ng: avoid suppressing WD4242 and WD4244 (#105433)

WD4242 and WD4244 are compiler warnings that should not be suppressed because the warn about possible loss of data.

WD4242 shows up in zlib-ng/arch/*/slide_hash*.c files and comes from the arguments passed to the slide_hash_chain method.
WD4244 happens in Windows when building in Debug configuration, in various zlib-ng/deflate*.c files, and comes from the arguments passed to the check_match method.

Fixed by:

- Adding asserts to verify the values are below the maximum allowed for their type.
- Casting them the proper type before passing them as arguments to their methods.
- Removing the WD suppressions, which unfortunately also propagated to other unrelated cmake files.
- Fixed a similar loss of data error in an unrelated mono file where the warning suppression was propagated due to this.

* Delete outdated comments (#105519)

* Arm64/Sve: Add FFR register liveness tracking (#105348)

* Add tracking of FFR register

somewhat workable

code cleanup

Remove FFR

Add all the GetFfr*

wip

Work with MskCns() model

Use physReg approach

Remove commented prototypes

working

Remove bunch of unnecessary code

Remove SpecialImport from GetFFR/SetFFR/LoadFirstFaulting

some more code cleanup

some fixup

* Change condition for PhysReg

* jit format

* review feedback

* unspill for LoadVectorFirstFaulting as well

* Use the right opReg

* skip spilling tracking

* review feedback

* Use non-existent REG_FFR

* Do not reload from FFR for GetFfr()

* review feedback

* Make just GrabTemp

* fix build and formatting

* missed another build failure for arm

* Fix throwing exception when calling RunClassConstructor on a generic type with a static constructor (#105513)

* Fix throwing exception when calling RunClassConstructor on a generic type with a static constructor

#99183 seems to have done away with assuming that a generic type's static constructor was
always "initialized". As a result, if you call RunClassConstructor on it, the runtime would throw an exception.

Fixes #103891

* Apply suggestions from code review

---------

Co-authored-by: Jan Kotas <[email protected]>

* [RISC-V][LoongArch64] New passing info for floating-point structs (#103945)

* Replace StructFloatFieldInfoFlags with FpStructInRegistersInfo which carries also exact field sizes and offsets

* Replace StructFloatFieldInfoFlags with FpStruct::Flags in profiler

* Remove FpStructInRegistersInfo::FromOldFlags()

* Fix duplicating types in HandleInlineArray

* Remove signedness from FpStruct::IntKind because most probably we won't need it

* Remove old StructFloatFieldInfoFlags calculating routine

* Typo in TARGET_LOONGARCH64

* Remove m_returnedFpFieldOffsets from ArgIterator

* Add missing ENREGISTERED_PARAMTYPE_MAXSIZE condition to C# version of FpStruct info calculation

* Rename RISCV64PassStructInRegister to match settled casing for RiscV in class names

* Update hardcoded flags for float and double in ArgIteratorTemplate::ComputeReturnFlags()

This fixes JIT/HardwareIntrinsics/General/Vector* tests.

* Fix build on other platforms

* Update LoongArch to use FpStructInRegistersInfo

* Remove unused old flag masks

* LoongArch64 typo

Co-authored-by: Qiao Pengcheng <[email protected]>

* Missing FpStruct namespace

Co-authored-by: Qiao Pengcheng <[email protected]>

* Missing FpStruct namespace

Co-authored-by: Qiao Pengcheng <[email protected]>

* Missing FpStruct namespace

Co-authored-by: Qiao Pengcheng <[email protected]>

* Use FpStruct namespace everywhere in JIT

* JIT review

* Update StructFloatFieldInfoFlags description

* Revert to hitherto instruction set order as it's not the point of this PR

* Unify get{LoongArch,RiscV}64PassFpStructInRegistersInfo JIT interfaces

* Use JIT_TO_EE_TRANSITION instead of _LEAF because MethodTable::GetFpStructInRegistersInfo may throw

* Remove FpStruct::IntKind, we should have similar info in ClassLayout in JIT

* Change JIT interface to return a struct similar to CORINFO_SWIFT_LOWERING to facilitate code unification in the future

* Change JIT to use new Swift-like getFpStructLowering

* Cache CORINFO_FPSTRUCT_LOWERING

* Update LoongArch classifier to use CORINFO_FPSTRUCT_LOWERING

* Update StructFloatInfoFlags doc comment on C#

* Move StructFloatFieldInfoFlags and FpStructInRegistersInfo out of the JIT interface

* Merge LoongArch and RISC-V AOT calculation of FpStructInRegistersInfo because they were identical. Move it to Common\Internal/Runtime because it's no longer exposed in JIT interface.

* Don't zero-initialize CORINFO_FPSTRUCT_LOWERING

* Add note for CORINFO_FPSTRUCT_LOWERING::loweredElements type

---------

Co-authored-by: Qiao Pengcheng <[email protected]>

* Ensure we don't reuse temps when calling fgMorphArgs on LIR nodes (#105508)

* Ensure constant evaluation of shifts on xarch broadcast the operand to the correct size (#105487)

* Ensure constant evaluation of shifts on xarch broadcast the operand to the correct size

* Ensure we don't try to execute AVX2 code on unsupported platforms

* Use ConcurrentDictionary in runtimecounters test (#105520)

* Use ConcurrentDictionary in runtimecounters test

Fixes #105443

* Fix build break

* Fix issue 98506 - Excessive exceptions generated in StackTraceSymbols (#105530)

* Fix issue 98506 - Excessive exceptions generated in StackTraceSymbols

* Code review feedback

* Clean up some usages of LowLevelList<T> (#105407)

* Fix ShuffleThunk cache heap (#105480)

There was a problem with using heap from the related LoaderAllocator for
shuffle thunk cache heap. I have tested it again and it seems that the
issue is gone.

So I am removing the workaround, making the cache use LoaderAllocator
local heap.

Close #55697

* [browser] Fix computing destination sub path and publish extension target path in Wasm SDK (#105458)

* Bump flags to LLVM 19, not 16

---------

Co-authored-by: Larry Ewing <[email protected]>
Co-authored-by: Alexander Köplinger <[email protected]>
Co-authored-by: Ilona Tomkowicz <[email protected]>
Co-authored-by: Carlos Sánchez López <[email protected]>
Co-authored-by: Adeel Mujahid <[email protected]>
Co-authored-by: Viktor Hofer <[email protected]>
Co-authored-by: Ahmet Ibrahim Aksoy <[email protected]>
Co-authored-by: Sven Boemer <[email protected]>
Co-authored-by: Steve Pfister <[email protected]>
Co-authored-by: Vladimir Sadov <[email protected]>
Co-authored-by: Mike Oliphant <[email protected]>
Co-authored-by: Tomasz Sowiński <[email protected]>
Co-authored-by: xtqqczze <[email protected]>
Co-authored-by: Jan Kotas <[email protected]>
Co-authored-by: Stephen Toub <[email protected]>
Co-authored-by: Paulus Pärssinen <[email protected]>
Co-authored-by: Egor Bogatov <[email protected]>
Co-authored-by: Carl Walsh <[email protected]>
Co-authored-by: Milos Kotlar <[email protected]>
Co-authored-by: Ivan Povazan <[email protected]>
Co-authored-by: Tanner Gooding <[email protected]>
Co-authored-by: Aaron Robinson <[email protected]>
Co-authored-by: Jeremy Koritzinsky <[email protected]>
Co-authored-by: Mukund Raghav Sharma (Moko) <[email protected]>
Co-authored-by: Cameron Aavik <[email protected]>
Co-authored-by: Jakob Botsch Nielsen <[email protected]>
Co-authored-by: Kunal Pathak <[email protected]>
Co-authored-by: Qiao Pengcheng <[email protected]>
Co-authored-by: Mike McLaughlin <[email protected]>
Co-authored-by: Huo Yaoyuan <[email protected]>
Co-authored-by: Jan Vorlicek <[email protected]>
Co-authored-by: Marek Fišera <[email protected]>
@github-actions github-actions bot locked and limited conversation to collaborators Sep 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-riscv Related to the RISC-V architecture area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants