mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
All instruction pointers are now scm_t_uint32*
* libguile/frames.h (SCM_FRAME_RTL_RETURN_ADDRESS) (SCM_FRAME_SET_RTL_RETURN_ADDRESS): Remove. The variants without _RTL now work fine. (struct scm_vm_frame): Change the return address to be a scm_t_uint32*. (struct scm_frame): Change IP to be scm_t_uint32*. * libguile/frames.c (scm_c_make_frame) * libguile/control.c (reify_partial_continuation, scm_c_abort) * libguile/dynstack.c (PROMPT_IP) (scm_dynstack_push_prompt, scm_dynstack_find_prompt) * libguile/dynstack.h: * libguile/vm-engine.c (SYNC_IP, RETURN_ONE_VALUE) (call, return-values, prompt): Adapt.
This commit is contained in:
parent
b636cdb0f3
commit
9121d9f1ac
8 changed files with 22 additions and 28 deletions
|
@ -130,7 +130,7 @@
|
|||
exception. */
|
||||
|
||||
#define SYNC_IP() \
|
||||
vp->ip = (scm_t_uint8 *) (ip)
|
||||
vp->ip = (ip)
|
||||
|
||||
#define SYNC_REGISTER() \
|
||||
SYNC_IP()
|
||||
|
@ -230,7 +230,7 @@
|
|||
SCM val = ret; \
|
||||
SCM *old_fp = fp; \
|
||||
VM_HANDLE_INTERRUPTS; \
|
||||
ip = SCM_FRAME_RTL_RETURN_ADDRESS (fp); \
|
||||
ip = SCM_FRAME_RETURN_ADDRESS (fp); \
|
||||
fp = vp->fp = SCM_FRAME_DYNAMIC_LINK (fp); \
|
||||
/* Clear frame. */ \
|
||||
old_fp[-1] = SCM_BOOL_F; \
|
||||
|
@ -577,7 +577,7 @@ RTL_VM_NAME (SCM vm, SCM program, SCM *argv, size_t nargs_)
|
|||
|
||||
fp = vp->fp = old_fp + proc;
|
||||
SCM_FRAME_SET_DYNAMIC_LINK (fp, old_fp);
|
||||
SCM_FRAME_SET_RTL_RETURN_ADDRESS (fp, ip + 2);
|
||||
SCM_FRAME_SET_RETURN_ADDRESS (fp, ip + 2);
|
||||
|
||||
RESET_FRAME (nlocals);
|
||||
|
||||
|
@ -712,7 +712,7 @@ RTL_VM_NAME (SCM vm, SCM program, SCM *argv, size_t nargs_)
|
|||
SCM *old_fp = fp;
|
||||
|
||||
VM_HANDLE_INTERRUPTS;
|
||||
ip = SCM_FRAME_RTL_RETURN_ADDRESS (fp);
|
||||
ip = SCM_FRAME_RETURN_ADDRESS (fp);
|
||||
fp = vp->fp = SCM_FRAME_DYNAMIC_LINK (fp);
|
||||
|
||||
/* Clear stack frame. */
|
||||
|
@ -2012,7 +2012,7 @@ RTL_VM_NAME (SCM vm, SCM program, SCM *argv, size_t nargs_)
|
|||
LOCAL_REF (tag),
|
||||
fp,
|
||||
LOCAL_ADDRESS (proc_slot),
|
||||
(scm_t_uint8 *)(ip + offset),
|
||||
ip + offset,
|
||||
®isters);
|
||||
NEXT (3);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue