-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Test case failure with TieredPGO #52975
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone
Comments
dotnet-issue-labeler
bot
added
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
untriaged
New issue has not been triaged by the area owner
labels
May 19, 2021
AndyAyersMS
removed
the
untriaged
New issue has not been triaged by the area owner
label
May 19, 2021
Seems like the bug is when we devirtualize the call to the enumerator's That is, instead of (byref (this), byref(retval), typeCtxt, ...) we pass (byref(this), typeCtxt, byref(retval). |
AndyAyersMS
added a commit
to AndyAyersMS/runtime
that referenced
this issue
May 19, 2021
If a value class method returns a struct, and its unboxed entry point requires a type context argument, make sure to pass the context argument properly. Also, fetch the type context (method table) from the box, rather than creating it from the class handle we have on hand; this tends to produce smaller code as we're often fetching the method table for other reasons anyways. Closes dotnet#52975.
ghost
added
the
in-pr
There is an active PR which will close this issue when it is merged
label
May 19, 2021
AndyAyersMS
added a commit
that referenced
this issue
May 20, 2021
If a value class method returns a struct, and its unboxed entry point requires a type context argument, make sure to pass the context argument properly. Also, fetch the type context (method table) from the box, rather than creating it from the class handle we have on hand; this tends to produce smaller code as we're often fetching the method table for other reasons anyways. Closes #52975.
ghost
removed
the
in-pr
There is an active PR which will close this issue when it is merged
label
May 20, 2021
ghost
locked as resolved and limited conversation to collaborators
Jun 19, 2021
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
@DrewScoggins ran into failures trying to enable TieredPGO for microbenchmarks. This bug is distilled from the failure that happens there (Json.NET is enumerating a dictionary for serialization when producing the lab report data):
with
and it will fail when newing up an object in
GetEnumerator
:This still fails if the only method jitted with tiered PGO is
X.F
. This can be done in a checked jit by specifying its hash, like so:The text was updated successfully, but these errors were encountered: