<div dir="ltr">Hi Clément,<div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    I just realized that if we maintain a list of machine code methods that reference global variables, in a similar fashion to the list of methods that refer to new literals, then we can scan the list post-become and ensure that all are unforwarded.  hence the code generator can avoid generating the unforwarding code on access.</span></div><div><span style="white-space:pre"><br></span></div><div><span style="white-space:pre">We could probably use the same list for both methods with global references and methods with new references.  Since</span> a method is marked as referring to new objects (cmRefersToYoung) we can avoid scanning methods that simply refer to globals when we scavenge.  That we have to visit a few extra methods after become (the cmRefersToYoung methods that don't refer to globals) is unlikely to be a hardship; there are very few methods on the youngReferrers list.</div><div><br></div><div>What do you think?<br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>