new activation record format

local = SS[fp+v]

use "positive" offset to eliminate renaming. fp' and ip' are stored at the "end" of AR.

AR

ip' <- sp
fp' <- x
vn
...
v1
   <- fp


call

new fp = sp - arity
x = new fp + n + 1
SS[x] = fp     ; save fp
SS[x+1] = ip+2 ; save ret ads
sp = x + 1
ip = ...

ret 

x = fp + n + 1
sp = fp
fp = SS[x]
ip = SS[x+1]

24 Mar 2008
