mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-02 23:50:47 +02:00
Give continuations (contregs) their own static tc16
* libguile/continuations-internal.h: New file, for internal definitions. * libguile/continuations.h: Move out internal definitions. * libguile/Makefile.am: Add new file. * libguile/continuations.c: Adapt to put the tag in the beginning of the continuation (contregs) structure. * libguile/eq.c: * libguile/goops.c: * libguile/init.c: * libguile/print.c: * libguile/scm.h: * libguile/stacks.c: * libguile/vm.c: * module/oop/goops.scm: Adapt to contregs tc16 change.
This commit is contained in:
parent
f47fe6e752
commit
12da6739b1
12 changed files with 156 additions and 133 deletions
|
@ -141,6 +141,7 @@ static SCM class_ephemeron_table;
|
|||
static SCM class_character_set;
|
||||
static SCM class_condition_variable;
|
||||
static SCM class_mutex;
|
||||
static SCM class_continuation;
|
||||
|
||||
static struct scm_ephemeron_table *vtable_class_map;
|
||||
static SCM pre_goops_vtables = SCM_EOL;
|
||||
|
@ -351,6 +352,8 @@ SCM_DEFINE (scm_class_of, "class-of", 1, 0, 0,
|
|||
return class_condition_variable;
|
||||
case scm_tc16_mutex:
|
||||
return class_mutex;
|
||||
case scm_tc16_continuation:
|
||||
return class_continuation;
|
||||
default:
|
||||
abort ();
|
||||
}
|
||||
|
@ -988,6 +991,7 @@ SCM_DEFINE (scm_sys_goops_early_init, "%goops-early-init", 0, 0, 0,
|
|||
class_character_set = scm_variable_ref (scm_c_lookup ("<character-set>"));
|
||||
class_condition_variable = scm_variable_ref (scm_c_lookup ("<condition-variable>"));
|
||||
class_mutex = scm_variable_ref (scm_c_lookup ("<mutex>"));
|
||||
class_continuation = scm_variable_ref (scm_c_lookup ("<continuation>"));
|
||||
|
||||
create_smob_classes ();
|
||||
create_struct_classes ();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue