Skip to content
Discussion options

You must be logged in to vote

With out T, it will always be a reference, which means the called method's asm will always be indirect and it will always be storing to memory (if this method invocation is emitted as a function call rather than an inline).

Yes, which is a requirement in order to meet the platform ABI and ensure the register allocator can do its job. While you could say "this method has a custom ABI and also uses r8 to return a second result", that is overall worse for performance in the typical case.

Spilling to the stack is not a problem, especially for almost any CPU that's shipped in the past 14 or so years. CPUs have long had support for "mirroring" stack spills into part of the internal register f…

Replies: 1 comment 26 replies

Comment options

You must be logged in to vote
26 replies
@dmchurch
Comment options

@tannergooding
Comment options

@dmchurch
Comment options

@tannergooding
Comment options

Answer selected by dmchurch
@dmchurch
Comment options

@CyrusNajmabadi
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
6 participants