diff --git a/src/gauche/vm.h b/src/gauche/vm.h index 256ba31e3..5e4c57299 100644 --- a/src/gauche/vm.h +++ b/src/gauche/vm.h @@ -158,7 +158,7 @@ SCM_EXTERN ScmObj Scm_ContinuationMarkSetToList(const ScmContinuationMarkSet *, * * | base | * | pc | <-- PCont procedure - * | cpc | <-- CCont procedure, NULL, or # + * | cpc | <-- CCont procedure or NULL * | marker | * | size=N | * | denv | diff --git a/src/vm.c b/src/vm.c index a9385db6f..c2584accc 100644 --- a/src/vm.c +++ b/src/vm.c @@ -89,8 +89,7 @@ struct ScmContinuationPromptRec { /* bitflags for ScmContFrame->marker */ enum { SCM_CONT_SHIFT_MARKER = (1L<<0), - SCM_CONT_RESET_MARKER = (1L<<1), - SCM_CONT_DYNWIND_MARKER = (1L<<2), + SCM_CONT_RESET_MARKER = (1L<<1) }; static void push_prompt_cont(ScmVM*, ScmObj, ScmObj); @@ -102,10 +101,6 @@ static void push_boundary_cont(ScmVM*, ScmObj, ScmObj); /* return true if cont has the end marker of partial continuation */ #define MARKER_FRAME_P(cont) ((cont)->marker & SCM_CONT_SHIFT_MARKER) -/* return true if cont is of dynamic-wind body */ -#define DYNWIND_FRAME_P(cont) ((cont)->marker & SCM_CONT_DYNWIND_MARKER) - - /* A stub VM code to make VM return immediately */ static ScmWord return_code[] = { SCM_VM_INSN(SCM_VM_RET) }; #define PC_TO_RETURN return_code @@ -1932,9 +1927,7 @@ ScmObj *Scm_pc_PushCC(ScmVM *vm, ScmPContinuationProc *after, int datasize) static ScmObj *push_dynamic_handler_cc(ScmVM *vm, ScmPContinuationProc *after, ScmObj dh, int datasize) { - ScmObj *data = new_ccont(vm, after, (ScmWord*)dh, datasize); - CONT->marker |= SCM_CONT_DYNWIND_MARKER; - return data; + return new_ccont(vm, after, (ScmWord*)dh, datasize); } /*