guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, calling-convention, created. release_1


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, calling-convention, created. release_1-9-1-78-gac70ac3
Date: Sat, 15 Aug 2009 12:27:15 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=ac70ac307e0e613f2cd33f3809eaa69e67ba4008

The branch, calling-convention has been created
        at  ac70ac307e0e613f2cd33f3809eaa69e67ba4008 (commit)

- Log -----------------------------------------------------------------
commit ac70ac307e0e613f2cd33f3809eaa69e67ba4008
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 15 14:27:15 2009 +0200

    update docs for calling convention change
    
    * doc/ref/vm.texi: Update.

commit 2e6c8b4e7c588e911898664880610dfadfd19efd
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 15 14:15:56 2009 +0200

    push new frame on stack before procedure & args
    
    * libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION): Bump
    
    * libguile/vm-engine.c (vm_engine): Push a frame corresponding to the
      mv-call.
    
    * libguile/vm-i-system.c: Renumber ops.
      (new-frame): New op, pushes a frame.
      (call, mv-call): No need to shuffle args, though we do need to pop the
      frame in the non-vm call case.
      (goto/args): Inconsequential tweaks.
      (call/cc): Push a frame if needed.
    
    * module/language/tree-il/compile-glil.scm (flatten): Emit `new-frame'
      as appropriate.

commit 1d9550103a2273102d5006e135124b925de2a2aa
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 15 14:13:08 2009 +0200

    reorder frame layout
    
    * libguile/frames.h: Reorder the frame layout so the return address
      comes below the arguments.working
      (SCM_FRAME_SET_RETURN_ADDRESS, SCM_FRAME_SET_MV_RETURN_ADDRESS): New
      macros.
    
    * libguile/frames.c (scm_vm_frame_arguments): Use the macros to access
      the arguments.
    
    * libguile/vm-engine.c (vm_engine): Fix for new calling convention.
    
    * libguile/vm-engine.h (INIT_FRAME): New macro. Does part of what
      NEW_FRAME used to do.
    
    * libguile/vm-i-system.c (call, mv-call): Shuffle args up to make room
      for the stack, and adapt to new calling convention.
      (goto/args): Shuffling down is easier now.
      (return, return/args): Adapt to new frame layout.
    
    * libguile/vm.c (vm_mark_stack): Adapt to new frame layout, and the
      possibility of there being crap on the stack.
      (really_make_boot_program): Remove extraneous comment.

commit 6401f989441af98cc0e565d8e1c14cf8b1696648
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 15 14:11:51 2009 +0200

    remove dead weight from vm-i-system.c
    
    * libguile/vm-i-system.c: Remove mark, list-mark, cons-mark,
      vector-mark, and list-break, as they are no longer used.
      (call, goto/args, mv-call): Remove bits about trampolines, which was
      slower, and VM continuations, which are not used (we use Guile's
      continuations as the applicable objects).
    
      Renumber ops.

-----------------------------------------------------------------------


hooks/post-receive
-- 
GNU Guile




reply via email to

[Prev in Thread] Current Thread [Next in Thread]