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

Jit always null checks x64 VSD calls, even if it's proven the object can't be null #9027

Closed
AndyAyersMS opened this issue Sep 27, 2017 · 0 comments · Fixed by #35058
Closed
Labels
arch-x64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions
Milestone

Comments

@AndyAyersMS
Copy link
Member

Lowering::LowerVirtualStubCall always null checks on x64, unless the call is via tail call helper, even if upstream phases have proven that the object can't be null.

See discussion in #8953, where Jan mentions fixing the runtime issue that makes this necessary. However we should also consider fixing this in the jit, so the null check can be bypassed when it is safe to do so.

category:cq
theme:basic-cq
skill-level:intermediate
cost:medium

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-x64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants