[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, calling-convention, created. release_1-9-1-78-gac70ac3,
Andy Wingo <=