<div class="gmail_quote">On Thu, Aug 6, 2009 at 2:41 PM, Jakob Stoklund Olesen <span dir="ltr"><<a href="mailto:stoklund@2pi.dk" target="_blank">stoklund@2pi.dk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><br></div>The RS can get you a register in two ways:<br>
<br>
1. FindUnusedReg() tries to find a register that is currently not<br>
being used, and so can be used _for free_.<br>
2. scavengeRegister() will create a free register by saving it to the<br>
emergency spill slot.</blockquote><div><br></div><div>Indeed.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">FindUnusedReg() must not return a CSR that has not been spilled yet -<br>


it won't be spilled at all if that happens. It will simply be clobbered.</blockquote><div><br></div><div>We're changing PEI to allow it to allocate registers using RS in certain situations. It will use CSRs that are not already used in the function and spill them as necessary.</div>
<div>I'm going to disable part of my last commit until I have finished the changes to PEI.</div><div><br></div><div>Thanks!</div><div>John</div><div><br></div></div>