1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-12 06:41:13 +02:00

Add ephemeron objects

* module/ice-9/ephemerons.scm:
* libguile/ephemerons.c:
* libguile/ephemerons.h:
* test-suite/tests/ephemerons.test: New files.

* am/bootstrap.am (SOURCES):
* test-suite/Makefile.am (SCM_TESTS):
* libguile/Makefile.am (libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES):
(DOT_X_FILES, DOT_DOC_FILES, noinst_HEADERS):  Wire ephemerons into build.

* libguile/scm.h (scm_tc7_ephemeron): New tc7.

* module/oop/goops.scm (<ephemeron>):
* module/system/base/types/internal.scm (heap-tags):
* module/system/vm/assembler.scm (system):
* libguile/evalext.c (scm_self_evaluating_p):
* libguile/goops.c (scm_class_of):
* libguile/init.c (scm_i_init_guile):
* libguile/print.c (iprin1): Add cases for new tc7.
This commit is contained in:
Andy Wingo 2025-05-05 10:13:11 +02:00
parent e6f550697f
commit c1caabaa24
15 changed files with 295 additions and 4 deletions

View file

@ -58,6 +58,7 @@
#include "deprecation.h"
#include "dynl.h"
#include "dynwind.h"
#include "ephemerons.h"
#include "eq.h"
#include "error.h"
#include "eval.h"
@ -368,6 +369,7 @@ scm_i_init_guile (struct gc_stack_addr base)
scm_bootstrap_vm ();
scm_register_atomic ();
scm_register_custom_ports ();
scm_register_ephemerons ();
scm_register_fdes_finalizers ();
scm_register_finalizers ();
scm_register_foreign ();