Closed RalfKornmannEnvision closed 4 years ago
I think it would best to port just the few functions for GcPoll and leave the GC stress infrastructure out. The GC stress infrastructure was specific to .NET Native for UWP codegen. We did not make it work with RyuJIT codegen - RyuJIT does GC stress very differently, so it will need to be redone for that.
So it's, just RhpGcPoll and RhpGcPollRare?
There ist although RhpGcProbe & RhpGcProbeRare in this file but I could not find any reference to these.
So it's, just RhpGcPoll and RhpGcPollRare?
Yes, that should be it.
Are you able to hit RhpGcPoll
in a test program? I am not able to write a test to hit it. I think we may have a bug in the handling of SuppressGCTransitionAttribute.
Yes, that was the reason why I even started to implement it. In general I try to avoid adding implementing things that I cannot test or are not needed yet
S_P_CoreLib_Interop_Sys__GetTimestamp:
0x0000002d7901b710 stp x29, x30, [sp, #-48]!
0x0000002d7901b714 mov x29, sp
0x0000002d7901b718 str xzr, [x29, #40]
0x0000002d7901b71c str xzr, [x29, #32]
0x0000002d7901b720 bl 0x2d78e0e9c0 <RhpGcPoll()>
0x0000002d7901b724 bl 0x2d78d7a030 SystemNative_GetTimestamp@plt
And this function is called all the time as soon as a thread pool is running.
Thanks!
there seems to be more problems with SuppressGCTransitionAttribute - I will take a look at those.