Yup. I have spilled before the call to inlined runtimes, and I am making them all unspilled in a separate change. Those runtime inlined calls are called as statements anyway, from the beginning of a Visit method.
The code now passes all release and debug tests. New version uploaded. On Wed, Jan 28, 2009 at 9:40 AM, <[email protected]> wrote: > Bill, I'll have time to look at this this afternoon. > > For the inlined builtins, you should just track them all down and spill > them for now. > > It occurs to me that we have to be careful with fixed registers (like > the ecx used for the name in named property accesses) in SetValue and > GetValue. Usually when we allocate a specific register it is statically > guaranteed to succeed because all non-reserved registers are available > at each Visit method and every named basic block entry. Depending on > the call site of SetValue and GetValue, this might not be guaranteed to > be the case (I think it currently is---because they operate on the > frame, but we should figure out how to enforce it). We may be able to > just assert valid entry registers at GetValue and SetValue. > > > > > http://codereview.chromium.org/18596 > -- We can IMAGINE what is not --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
