core: Remove cell_call_with_current_continuation special.

* include/mes/symbols.h (cell_call_with_current_continuation): Remove.
* src/eval-apply.c (eval_apply): Update to use
cell_symbol_call_with_current_continuation.
* src/symbol.c (init_symbols_): Remove inititialization.
This commit is contained in:
Jan (janneke) Nieuwenhuizen 2020-08-18 11:06:15 +02:00
parent c6fd15469c
commit 020cb3661d
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273
3 changed files with 16 additions and 16 deletions

View file

@ -30,7 +30,7 @@ SCM cell_undefined;
SCM cell_unspecified;
SCM cell_closure;
SCM cell_circular;
SCM cell_call_with_current_continuation;
SCM cell_vm_apply;
SCM cell_vm_apply2;
SCM cell_vm_begin;
@ -42,7 +42,6 @@ SCM cell_vm_begin_expand_primitive_load;
SCM cell_vm_begin_primitive_load;
SCM cell_vm_begin_read_input_file;
SCM cell_vm_call_with_current_continuation2;
SCM cell_vm_call_with_values2;
SCM cell_vm_eval;
SCM cell_vm_eval2;
@ -138,14 +137,14 @@ SCM cell_type_broken_heart;
SCM cell_symbol_program;
SCM cell_symbol_test;
// CONSTANT SYMBOL_MAX 115
#define SYMBOL_MAX 115
// CONSTANT SYMBOL_MAX 114
#define SYMBOL_MAX 114
// CONSTANT CELL_UNSPECIFIED 7
#define CELL_UNSPECIFIED 7
// CONSTANT CELL_SYMBOL_RECORD_TYPE 83
#define CELL_SYMBOL_RECORD_TYPE 83
// CONSTANT CELL_SYMBOL_RECORD_TYPE 82
#define CELL_SYMBOL_RECORD_TYPE 82
#endif /* __MES_SYMBOLS_H */

View file

@ -520,27 +520,28 @@ apply:
push_cc (cons (CADR (R1), cell_nil), R1, CADDR (R1), cell_vm_return);
goto begin_expand;
}
else if (c == cell_call_with_current_continuation)
{
R1 = CDR (R1);
goto call_with_current_continuation;
}
else
check_apply (cell_f, CAR (R1));
}
else if (t == TSYMBOL)
{
if (CAR (R1) == cell_symbol_call_with_values)
c = CAR (R1);
if (c == cell_symbol_call_with_current_continuation)
{
R1 = CDR (R1);
goto call_with_current_continuation;
}
if (c == cell_symbol_call_with_values)
{
R1 = CDR (R1);
goto call_with_values;
}
if (CAR (R1) == cell_symbol_current_module)
if (c == cell_symbol_current_module)
{
R1 = R0;
goto vm_return;
}
if (CAR (R1) == cell_symbol_boot_module)
if (c == cell_symbol_boot_module)
{
R1 = M0;
goto vm_return;
@ -724,6 +725,8 @@ eval:
goto vm_return;
if (R1 == cell_symbol_begin)
goto vm_return;
if (R1 == cell_symbol_call_with_current_continuation)
goto vm_return;
R1 = assert_defined (R1, module_ref (R0, R1));
goto vm_return;
}

View file

@ -70,7 +70,6 @@ init_symbols_ () /*:((internal)) */
cell_unspecified = init_symbol (g_symbol, TSPECIAL, "*unspecified*");
cell_closure = init_symbol (g_symbol, TSPECIAL, "*closure*");
cell_circular = init_symbol (g_symbol, TSPECIAL, "*circular*");
cell_call_with_current_continuation = init_symbol (g_symbol, TSPECIAL, "*call/cc*");
cell_vm_apply = init_symbol (g_symbol, TSPECIAL, "core:apply");
cell_vm_apply2 = init_symbol (g_symbol, TSPECIAL, "*vm-apply2*");
@ -203,7 +202,6 @@ init_symbols () /*:((internal)) */
a = acons (cell_symbol_call_with_values, cell_symbol_call_with_values, a);
a = acons (cell_symbol_boot_module, cell_symbol_boot_module, a);
a = acons (cell_symbol_current_module, cell_symbol_current_module, a);
a = acons (cell_symbol_call_with_current_continuation, cell_call_with_current_continuation, a);
a = acons (cell_symbol_mes_version, make_string0 (MES_VERSION), a);
a = acons (cell_symbol_mes_datadir, make_string0 (g_datadir), a);