1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-12 12:10:30 +02:00

*** empty log message ***

This commit is contained in:
Keisuke Nishida 2001-04-25 01:55:45 +00:00
parent a6df585ae7
commit 46f215f85b
7 changed files with 465 additions and 26 deletions

View file

@ -421,18 +421,8 @@ VM_DEFINE_INSTRUCTION (tail_call, "tail-call", 1, -1, 1)
*/
if (SCM_PROGRAM_P (x))
{
SCM *limit = sp;
SCM *base = sp - nargs - 1;
/* Exit the current frame */
EXIT_HOOK ();
FREE_FRAME ();
/* Move arguments */
while (base < limit)
*++sp = *++base;
/* Call the program */
program = x;
goto vm_call_program;
}
@ -489,18 +479,15 @@ VM_DEFINE_INSTRUCTION (call_cc, "call/cc", 1, 1, 1)
VM_DEFINE_INSTRUCTION (return, "return", 0, 0, 1)
{
SCM ret;
vm_return:
EXIT_HOOK ();
RETURN_HOOK ();
POP (ret);
FREE_FRAME ();
/* Restore the last program */
program = SCM_FRAME_PROGRAM (fp);
CACHE_PROGRAM ();
CACHE_EXTERNAL ();
PUSH (ret);
NEXT;
}