<div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div class="h5"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Which I don't entirely understand. It seems to be saying that the first<br>
four parameters are passed in particular registers (depending on their size<br>
and type). Does this mean 'always'? Do all compilers have to know about this<br>
and generate code accordingly?<br>
</blockquote>
<br>
They'll have to know about it if they want to be compatible with each other.<br>
One of the exercises (before I dropped it) in Operating Systems at UNSW was<br>
rewriting an RPC mechanism in a microkernel to pass on register rather than<br>
in main memory.<br>
</blockquote>
<br></div></div>
I don't understand how it's "RPC" if the parameters are being passed in registers!<br>
<br></blockquote><div>RPC in this case was "remote" in the sense of "not in process". The particular microkernel was MACH I think.<br>
<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I guess what you were doing was changing from "RPC" to in-proc. Presumably for performance reasons.<br></blockquote><div><br>Not modifying to in-proc. But definitely for performance reasons.<br><br></div></div>