diff options
author | Andy Wingo <wingo@pobox.com> | 2009-12-05 10:52:18 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-12-05 10:52:18 +0100 |
commit | 9ea31741dad29ae123e468a203b72df6d190f6e1 (patch) | |
tree | bc1424d37a358b5f4fcfa756492134517ad07b32 /libguile/evalext.c | |
parent | c99de5aa275b15af207c0dba9717d6b865684fc4 (diff) |
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.c | 2 |
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: |