diff options
author | Andy Wingo <wingo@pobox.com> | 2011-08-31 09:34:54 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-08-31 09:34:54 +0200 |
commit | 8b66aa8f5496a515ca133d6d2c37a06f6ec1720d (patch) | |
tree | ca666d93b6c310c6d76f8a0f0051407b9c92ee40 /libguile/gc.c | |
parent | 02620dd9a628ec40ec4324adca9b82cd0442d1d2 (diff) | |
parent | 0b4f77192da214690aa811d13bb6a7f6dd576445 (diff) | |
download | guile-8b66aa8f5496a515ca133d6d2c37a06f6ec1720d.tar.gz |
Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
libguile/bytevectors.c
libguile/bytevectors.h
libguile/objcodes.c
libguile/r6rs-ports.c
libguile/strings.c
libguile/vm.c
Diffstat (limited to 'libguile/gc.c')
-rw-r--r-- | libguile/gc.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/libguile/gc.c b/libguile/gc.c index 3ae978fc0..c68f295b1 100644 --- a/libguile/gc.c +++ b/libguile/gc.c @@ -739,13 +739,7 @@ accumulate_gc_timer (void * hook_data SCM_UNUSED, char const * scm_i_tag_name (scm_t_bits tag) { - if (tag >= 255) - { - int k = 0xff & (tag >> 8); - return (scm_smobs[k].name); - } - - switch (tag) /* 7 bits */ + switch (tag & 0x7f) /* 7 bits */ { case scm_tcs_struct: return "struct"; @@ -806,7 +800,10 @@ scm_i_tag_name (scm_t_bits tag) return "port"; break; case scm_tc7_smob: - return "smob"; /* should not occur. */ + { + int k = 0xff & (tag >> 8); + return (scm_smobs[k].name); + } break; } |