1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-03 13:20:26 +02:00

scm_from_uintptr_t / scm_from_ptrdiff_t usage

* libguile/frames.c:
* libguile/programs.c: Use scm_from_ptrdiff_t and scm_from_uintptr_t
  where appropriate.
This commit is contained in:
Andy Wingo 2013-11-07 18:11:00 +01:00
parent e15aa02284
commit 72b82b0f21
2 changed files with 11 additions and 13 deletions

View file

@ -142,7 +142,7 @@ SCM_DEFINE (scm_frame_num_locals, "frame-num-locals", 1, 0, 0,
/* The frame size of an RTL program is fixed, except in the case of /* The frame size of an RTL program is fixed, except in the case of
passing a wrong number of arguments to the program. So we do passing a wrong number of arguments to the program. So we do
need to use an SP for determining the number of locals. */ need to use an SP for determining the number of locals. */
return scm_from_uint32 (sp + 1 - p); return scm_from_ptrdiff_t (sp + 1 - p);
sp = SCM_VM_FRAME_SP (frame); sp = SCM_VM_FRAME_SP (frame);
p = SCM_FRAME_STACK_ADDRESS (SCM_VM_FRAME_FP (frame)); p = SCM_FRAME_STACK_ADDRESS (SCM_VM_FRAME_FP (frame));
@ -234,7 +234,7 @@ SCM_DEFINE (scm_frame_address, "frame-address", 1, 0, 0,
#define FUNC_NAME s_scm_frame_address #define FUNC_NAME s_scm_frame_address
{ {
SCM_VALIDATE_VM_FRAME (1, frame); SCM_VALIDATE_VM_FRAME (1, frame);
return scm_from_unsigned_integer ((scm_t_bits) SCM_VM_FRAME_FP (frame)); return scm_from_uintptr_t ((scm_t_uintptr) SCM_VM_FRAME_FP (frame));
} }
#undef FUNC_NAME #undef FUNC_NAME
@ -245,7 +245,7 @@ SCM_DEFINE (scm_frame_stack_pointer, "frame-stack-pointer", 1, 0, 0,
{ {
SCM_VALIDATE_VM_FRAME (1, frame); SCM_VALIDATE_VM_FRAME (1, frame);
return scm_from_unsigned_integer ((scm_t_bits) SCM_VM_FRAME_SP (frame)); return scm_from_uintptr_t ((scm_t_uintptr) SCM_VM_FRAME_SP (frame));
} }
#undef FUNC_NAME #undef FUNC_NAME
@ -279,9 +279,8 @@ SCM_DEFINE (scm_frame_return_address, "frame-return-address", 1, 0, 0,
#define FUNC_NAME s_scm_frame_return_address #define FUNC_NAME s_scm_frame_return_address
{ {
SCM_VALIDATE_VM_FRAME (1, frame); SCM_VALIDATE_VM_FRAME (1, frame);
return scm_from_unsigned_integer ((scm_t_bits) return scm_from_uintptr_t ((scm_t_uintptr) (SCM_FRAME_RETURN_ADDRESS
(SCM_FRAME_RETURN_ADDRESS (SCM_VM_FRAME_FP (frame))));
(SCM_VM_FRAME_FP (frame))));
} }
#undef FUNC_NAME #undef FUNC_NAME
@ -291,9 +290,9 @@ SCM_DEFINE (scm_frame_mv_return_address, "frame-mv-return-address", 1, 0, 0,
#define FUNC_NAME s_scm_frame_mv_return_address #define FUNC_NAME s_scm_frame_mv_return_address
{ {
SCM_VALIDATE_VM_FRAME (1, frame); SCM_VALIDATE_VM_FRAME (1, frame);
return scm_from_unsigned_integer ((scm_t_bits) return scm_from_uintptr_t ((scm_t_uintptr)
(SCM_FRAME_MV_RETURN_ADDRESS (SCM_FRAME_MV_RETURN_ADDRESS
(SCM_VM_FRAME_FP (frame)))); (SCM_VM_FRAME_FP (frame))));
} }
#undef FUNC_NAME #undef FUNC_NAME
@ -304,8 +303,8 @@ SCM_DEFINE (scm_frame_dynamic_link, "frame-dynamic-link", 1, 0, 0,
{ {
SCM_VALIDATE_VM_FRAME (1, frame); SCM_VALIDATE_VM_FRAME (1, frame);
/* fixme: munge fp if holder is a continuation */ /* fixme: munge fp if holder is a continuation */
return scm_from_ulong return scm_from_uintptr_t
((unsigned long) ((scm_t_uintptr)
RELOC (frame, RELOC (frame,
SCM_FRAME_DYNAMIC_LINK (SCM_VM_FRAME_FP (frame)))); SCM_FRAME_DYNAMIC_LINK (SCM_VM_FRAME_FP (frame))));
} }

View file

@ -106,8 +106,7 @@ SCM_DEFINE (scm_rtl_program_code, "rtl-program-code", 1, 0, 0,
{ {
SCM_VALIDATE_RTL_PROGRAM (1, program); SCM_VALIDATE_RTL_PROGRAM (1, program);
/* FIXME: we need scm_from_uintptr (). */ return scm_from_uintptr_t ((scm_t_uintptr) SCM_RTL_PROGRAM_CODE (program));
return scm_from_size_t ((size_t) SCM_RTL_PROGRAM_CODE (program));
} }
#undef FUNC_NAME #undef FUNC_NAME