From 6ad85b259fdaa734a1dd58570e7c7670f73fa9e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Mon, 21 Nov 2022 10:15:28 +0100 Subject: [PATCH] ecl_symbol: remove unused field symbol.dynamic was only assigned, because we already encode this information in a bitfield using the enum ecl_stype. --- src/c/all_symbols.d | 1 - src/c/main.d | 2 -- src/c/stacks.d | 1 - src/c/symbol.d | 2 -- src/h/object.h | 2 +- 5 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/c/all_symbols.d b/src/c/all_symbols.d index f4b312bcc..59027bc11 100644 --- a/src/c/all_symbols.d +++ b/src/c/all_symbols.d @@ -235,7 +235,6 @@ make_this_symbol(int i, cl_object s, int code, default: printf("%d\n", code & ~(int)3); ecl_internal_error("Unknown package code in init_all_symbols()"); } s->symbol.t = t_symbol; - s->symbol.dynamic = 0; #ifdef ECL_THREADS s->symbol.binding = ECL_MISSING_SPECIAL_BINDING; #endif diff --git a/src/c/main.d b/src/c/main.d index 2d14faa82..e6a9c0d8f 100644 --- a/src/c/main.d +++ b/src/c/main.d @@ -514,7 +514,6 @@ cl_boot(int argc, char **argv) */ ECL_NIL_SYMBOL->symbol.t = t_symbol; - ECL_NIL_SYMBOL->symbol.dynamic = 0; ECL_NIL_SYMBOL->symbol.value = ECL_NIL; ECL_NIL_SYMBOL->symbol.name = str_NIL; ECL_NIL_SYMBOL->symbol.gfdef = ECL_NIL; @@ -527,7 +526,6 @@ cl_boot(int argc, char **argv) cl_num_symbols_in_core=1; ECL_T->symbol.t = (short)t_symbol; - ECL_T->symbol.dynamic = 0; ECL_T->symbol.value = ECL_T; ECL_T->symbol.name = str_T; ECL_T->symbol.gfdef = ECL_NIL; diff --git a/src/c/stacks.d b/src/c/stacks.d index 6fb88f078..a39c6688a 100644 --- a/src/c/stacks.d +++ b/src/c/stacks.d @@ -434,7 +434,6 @@ ecl_new_binding_index(cl_env_ptr env, cl_object symbol) new_index = ecl_atomic_index_incf(&cl_core.last_var_index); } symbol->symbol.binding = new_index; - symbol->symbol.dynamic |= 1; } ecl_set_finalizer_unprotected(symbol, ECL_T); return new_index; diff --git a/src/c/symbol.d b/src/c/symbol.d index 300ef357d..a1000709a 100644 --- a/src/c/symbol.d +++ b/src/c/symbol.d @@ -102,7 +102,6 @@ cl_make_symbol(cl_object str) } x = ecl_alloc_object(t_symbol); x->symbol.name = str; - x->symbol.dynamic = 0; #ifdef ECL_THREADS x->symbol.binding = ECL_MISSING_SPECIAL_BINDING; #endif /* */ @@ -323,7 +322,6 @@ cl_symbol_name(cl_object x) sym = ECL_NIL_SYMBOL; x = cl_make_symbol(ecl_symbol_name(sym)); if (!Null(cp)) { - x->symbol.dynamic = 0; x->symbol.stype = sym->symbol.stype; x->symbol.value = sym->symbol.value; x->symbol.gfdef = sym->symbol.gfdef; diff --git a/src/h/object.h b/src/h/object.h index 6df7e4606..99f449470 100644 --- a/src/h/object.h +++ b/src/h/object.h @@ -275,7 +275,7 @@ enum ecl_stype { /* symbol type */ #define ECL_NO_TL_BINDING ((cl_object)(1 << ECL_TAG_BITS)) struct ecl_symbol { - _ECL_HDR2(stype, dynamic);/* symbol type, special-variable-p */ + _ECL_HDR1(stype); /* symbol type */ cl_object value; /* global value of the symbol */ /* Coincides with cons.car */ cl_object gfdef; /* global function definition */