Please sign in to comment.
188.8.131.52: ir2tran: Correctly set up d-x closure values for tail-loca…
…l-calls. * Tail-local-call re-uses the current frame. It therefore needs to use the old-fp value from the current frame in EMIT-PSETQ-MOVES. * "implicit" value cells need to use the /current/ frame pointer in EMIT-PSETQ-MOVES to correctly initialize the closure. * Therefore: Add a new &optional argument to EMIT-PSETQ-MOVES for the frame-pointer to be used in closure initialization. * This fixes the obvious part of lp#681092, but unless there is a guarantee that the stack slots used for the "implicit" value cells remain unused in the tail-called function then all this does is drive the bug to become more subtle.
- Loading branch information...
Showing with 19 additions and 6 deletions.