We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
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
type I() = class end
.method public specialname rtspecialname instance void .ctor () cil managed { // Method begins at RVA 0x2050 // Code size 9 (0x9) .maxstack 8 IL_0000: ldarg.0 IL_0001: callvirt instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: pop IL_0008: ret } // end of method I::.ctor
Compare to C#:
class I { public I() {} }
.method public hidebysig specialname rtspecialname instance void .ctor () cil managed { // Method begins at RVA 0x2050 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret } // end of method I::.ctor
The text was updated successfully, but these errors were encountered:
My understanding is that the choice of call instruction makes no difference to a JIT, as .ctor are always known to be non-virtual
(If someone sees a difference in generated assembly code then we can reopen this)
Sorry, something went wrong.
(Reopening and labelling as "Feature improvement" since parity with C# codegen is a reasonable goal)
Closing as duplicate of #2844
No branches or pull requests
Compare to C#:
The text was updated successfully, but these errors were encountered: