Leopold Toetsch writes: > [1] yes I'm thinking of just one frame pointer :) Well, the whole scheme > makes a stack machine out of Parrot: > > I0,...In, In+1....Ik, Ik+1...Il > ^ > | > frame > pointer > > I0..In are the incoming function arguments > In+1..Ik are the working registers of the function > Ik+1...Il are outgoing args for a function call > Calling a function is just a move of the frame pointer to "Ik". > The working register file size is adjusted to the actual needs of the > function. > > Actually registers would be arranged (I0,S0,P0,N0,I1,S1...) > > Is this scheme just crazy?
I love it. Very clever, and certainly much less copying than we're currently doing. Luke