Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • dtc's avatar
    1975d13a
    Use a separate stack for alien value allocation on the x86. It had · 1975d13a
    dtc authored
    been sharing the control stack with the compiler which could cause
    trouble (pushes and pops out of order, holes in arguments built up on
    the stack, exposed stack that can be written over on interrupt, etc)
    
    Assigned a static symbol, x86::*alien-stack*, and by default set it to
    the old C stack. A program many rebind this if it needs more room or
    wants the allocation elsewhere.
    
    The *alien-stack* is saved with the dynamic environment so is restored
    with a non-local exist. It's not save on function entry/exit so you
    need to take care to match an allocation with a deallocation.
    
    Makes use of new VOPs which are already in place.
    
    Backout an old alien stack deallocation hack.
    1975d13a
    History
    Use a separate stack for alien value allocation on the x86. It had
    dtc authored
    been sharing the control stack with the compiler which could cause
    trouble (pushes and pops out of order, holes in arguments built up on
    the stack, exposed stack that can be written over on interrupt, etc)
    
    Assigned a static symbol, x86::*alien-stack*, and by default set it to
    the old C stack. A program many rebind this if it needs more room or
    wants the allocation elsewhere.
    
    The *alien-stack* is saved with the dynamic environment so is restored
    with a non-local exist. It's not save on function entry/exit so you
    need to take care to match an allocation with a deallocation.
    
    Makes use of new VOPs which are already in place.
    
    Backout an old alien stack deallocation hack.