summaryrefslogtreecommitdiff
path: root/libguile/evalext.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-12-05 10:52:18 +0100
committerAndy Wingo <wingo@pobox.com>2009-12-05 10:52:18 +0100
commit9ea31741dad29ae123e468a203b72df6d190f6e1 (patch)
treebc1424d37a358b5f4fcfa756492134517ad07b32 /libguile/evalext.c
parentc99de5aa275b15af207c0dba9717d6b865684fc4 (diff)
downloadguile-9ea31741dad29ae123e468a203b72df6d190f6e1.tar.gz
fluids are tc7 objects
If you're wondering what I'm doing, I'm trying to eventually reimplement smobs in terms of structs, so that applicable smobs can just follow the applicable struct dispatch path. But to do that I have to get structs initialized before things that use smobs, which means transforming a bunch of smobby things to tc7 things. But this transformation is good for performance anyway, and we currently have a glut of unused tc7s, so here we go... * libguile/tags.h (scm_tc7_fluid, scm_tc7_dynamic_state): Fluids (and dynamic states) now have tc7s. * libguile/fluids.h: Remove scm_fluids_prehistory, and add internal scm_i_fluid_print. Update a comment. * libguile/fluids.c: Update for tc7 representation. Also remove the next pointers while we're at it, as they aren't used in the new BDW GC. * libguile/eq.c (scm_equal_p): Remove the hashtable case. Hashtables could never be equal? before, I don't see why to add stubs doing the same thing now. * libguile/print.c (iprin1): * libguile/gc.c (scm_i_tag_name): * libguile/evalext.c (scm_self_evaluating_p): Add fluid and dynamic_state cases. * libguile/goops.h: Remove scm_class_hashtable; it will be static. * libguile/goops.c: Make <hashtable> static, and add <fluid> and <dynamic-state> classes. * libguile/hashtab.h: * libguile/hashtab.c: Remove scm_i_hashtable_equal_p. * libguile/init.c (scm_i_init_guile): Remove call to fluids_prehistory.
Diffstat (limited to 'libguile/evalext.c')
-rw-r--r--libguile/evalext.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libguile/evalext.c b/libguile/evalext.c
index 5a0c0e936..9af83838f 100644
--- a/libguile/evalext.c
+++ b/libguile/evalext.c
@@ -78,6 +78,8 @@ SCM_DEFINE (scm_self_evaluating_p, "self-evaluating?", 1, 0, 0,
case scm_tc7_vector:
case scm_tc7_wvect:
case scm_tc7_hashtable:
+ case scm_tc7_fluid:
+ case scm_tc7_dynamic_state:
case scm_tc7_number:
case scm_tc7_string:
case scm_tc7_smob: