-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Fix AllocateRegularStaticBox for FOH #81857
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the test failures are related.
Right, it seems to surface an unrelated bug introduced recently. Most likely in #81651 Minimal repro: public class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 100; i++)
{
GetNaturalColor(default);
Thread.Sleep(16);
}
}
internal static readonly VectorPacket256 DefaultColor = new (Vector256.Create(42.0f));
internal struct VectorPacket256
{
public Vector256<float> Xs;
public Vector256<float> Ys;
public Vector256<float> Zs;
public VectorPacket256(Vector256<float> init)
{
Xs = init;
Ys = init;
Zs = init;
}
}
static int Foo() => 43;
[MethodImpl(MethodImplOptions.NoInlining)]
private static VectorPacket256 GetNaturalColor(Vector256<int> v)
{
var colors = DefaultColor;
if (Foo() == 42)
Console.WriteLine();
return colors;
}
} |
/azp run runtime-coreclr outerloop, runtime-coreclr gcstress0x3-gcstress0xc |
Azure Pipelines successfully started running 2 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JIT side change LGTM
Co-authored-by: SingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
No idea how that happened but apparently I forgot to revert this part in #79188 in one of the intermediate commits when I was blaming this part for a flaky NRE that turned out to be a missing
GCPROTECT_BEGININTERIOR
.So this fixes boxed statics to have the expected codegen:
Will try stress jobs once innerloop completes