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=7af81156754f8be7d7661879f7d0c13bb00e5728
The branch, master has been updated
via 7af81156754f8be7d7661879f7d0c13bb00e5728 (commit)
via 423164efa6dbfa5ef056ba592f636421a3f8b2fa (commit)
via f5cb70e94a37a069e04244312937ca2868de5135 (commit)
via 7c080187bc55e84159b99faa9b7ae9f0a8ae90d2 (commit)
via 18f8fd0211714f4d18ebab4dc4b85950c97483f4 (commit)
from 40b36bbf941f1670d8665b1d5d43c842b2aea561 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -
commit 7af81156754f8be7d7661879f7d0c13bb00e5728
Author: Andy Wingo wi...@pobox.com
Date: Sun May 4 22:51:34 2014 +0200
Fix frame-call-representation for frames from apply-hook
* module/system/vm/frame.scm (frame-call-representation): Fix when
called on frames that are created from the apply hook.
commit 423164efa6dbfa5ef056ba592f636421a3f8b2fa
Author: Andy Wingo wi...@pobox.com
Date: Sun May 4 22:41:48 2014 +0200
Program printing tweaks
* module/system/vm/program.scm (print-program): New public interface --
the guts of write-program, but refactored to be able to work when only
given an addr.
(write-program): Use print-program.
* module/system/vm/frame.scm (frame-call-representation): Remove attempt
to abbreviate procedure representations; was confusing because the
result would write as a string, quotes and all.
commit f5cb70e94a37a069e04244312937ca2868de5135
Author: Andy Wingo wi...@pobox.com
Date: Sun May 4 14:09:42 2014 +0200
Refactorings to apply-hook and push-continuation-hook
* libguile/vm-engine.c (vm_engine): Always invoke the apply hook after
the ip has been reset. Avoids problems in frame-bindings, which
builds its bindings map based on the IP. Invoke push-continuation
before linking the new frame, so that more locals are available to the
frame inspector.
* module/system/vm/traps.scm (trap-in-procedure): No need for a
push-cont handler, as the apply handler will exit the frame.
commit 7c080187bc55e84159b99faa9b7ae9f0a8ae90d2
Author: Andy Wingo wi...@pobox.com
Date: Sun May 4 11:46:18 2014 +0200
frame-address, frame-stack-pointer return offsets
* libguile/frames.c (scm_frame_address, scm_frame_stack_pointer): Return
offsets instead of absolute pointers. This is robust in the presence
of stack relocation.
* module/system/repl/debug.scm (print-registers): Adapt to print sp and
fp as integers.
commit 18f8fd0211714f4d18ebab4dc4b85950c97483f4
Author: Andy Wingo wi...@pobox.com
Date: Sun May 4 11:18:54 2014 +0200
frame-call-representation has #:top-frame? as keyword argument
* module/system/vm/frame.scm (frame-call-representation): Change
top-frame? argument to be a keyword instead of an optional argument.
* module/system/vm/trace.scm (print-application): Adapt caller.
---
Summary of changes:
libguile/frames.c|4 +-
libguile/vm-engine.c | 42 +++
module/system/repl/debug.scm |4 +-
module/system/vm/frame.scm | 34 +--
module/system/vm/program.scm | 77 +
module/system/vm/trace.scm |2 +-
module/system/vm/traps.scm |6 ---
7 files changed, 103 insertions(+), 66 deletions(-)
diff --git a/libguile/frames.c b/libguile/frames.c
index cf9648d..2162f49 100644
--- a/libguile/frames.c
+++ b/libguile/frames.c
@@ -277,7 +277,7 @@ SCM_DEFINE (scm_frame_address, frame-address, 1, 0, 0,
#define FUNC_NAME s_scm_frame_address
{
SCM_VALIDATE_VM_FRAME (1, frame);
- return scm_from_uintptr_t ((scm_t_uintptr) SCM_VM_FRAME_FP (frame));
+ return scm_from_ptrdiff_t (SCM_VM_FRAME_FP_OFFSET (frame));
}
#undef FUNC_NAME
@@ -288,7 +288,7 @@ SCM_DEFINE (scm_frame_stack_pointer, frame-stack-pointer,
1, 0, 0,
{
SCM_VALIDATE_VM_FRAME (1, frame);
- return scm_from_uintptr_t ((scm_t_uintptr) SCM_VM_FRAME_SP (frame));
+ return scm_from_ptrdiff_t (SCM_VM_FRAME_SP_OFFSET (frame));
}
#undef FUNC_NAME
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index 3c09df2..c405b2b 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -486,6 +486,9 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
/* Let's go! */
ip = SCM_PROGRAM_CODE (LOCAL_REF (0));
+
+ APPLY_HOOK ();
+
NEXT (0);
BEGIN_DISPATCH_SWITCH;
@@ -549,6 +552,8 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
VM_HANDLE_INTERRUPTS;