Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • rtoy's avatar
    c17bd546
    Add support for dynamic-extent for ppc. · c17bd546
    rtoy authored
    Simple tests with rest args and some dynamic-extent closures indicates
    that this work.  Compiling CMUCL with dynamic-extent enabled appears
    to work as well.  I conclude that the implementation here is probably
    correct.
    
    (Yes, I know dynamic-extent is currently disabled, but let's make ppc
    complete.)
    
    compiler/ppc/alloc.lisp:
    o Implement the vops %DYNAMIC-EXTENT-START and %DYNAMIC-EXTENT-END.
    o Update the LIST-OR-LIST*, MAKE-CLOSURE, and FIXED-ALLOC vops to
      support dynamic-extent, by passing ALLOCATION and
      WITH-FIXED-ALLOCATION macros the extra :STACK-P arg.
    
    compiler/ppc/call.lisp:
    o Update LISTIFY-REST-ARGS vop to support dynamic-extent, by passing
      the ALLOCATION macro the extra :STACK-P arg.
    
    compiler/ppc/macros.lisp:
    o Update the ALLOCATION macro to support the :STACK-P arg.
    c17bd546
    History
    Add support for dynamic-extent for ppc.
    rtoy authored
    Simple tests with rest args and some dynamic-extent closures indicates
    that this work.  Compiling CMUCL with dynamic-extent enabled appears
    to work as well.  I conclude that the implementation here is probably
    correct.
    
    (Yes, I know dynamic-extent is currently disabled, but let's make ppc
    complete.)
    
    compiler/ppc/alloc.lisp:
    o Implement the vops %DYNAMIC-EXTENT-START and %DYNAMIC-EXTENT-END.
    o Update the LIST-OR-LIST*, MAKE-CLOSURE, and FIXED-ALLOC vops to
      support dynamic-extent, by passing ALLOCATION and
      WITH-FIXED-ALLOCATION macros the extra :STACK-P arg.
    
    compiler/ppc/call.lisp:
    o Update LISTIFY-REST-ARGS vop to support dynamic-extent, by passing
      the ALLOCATION macro the extra :STACK-P arg.
    
    compiler/ppc/macros.lisp:
    o Update the ALLOCATION macro to support the :STACK-P arg.