Commit 8fe5665d authored by Ken Raeburn's avatar Ken Raeburn
Browse files

* alloc.c (Fmake_symbol): Set symbol xname field instead of name.

(mark_object, gc_sweep): Use symbol xname field and XSTRING
instead of name field.
parent caeead20
...@@ -2545,7 +2545,7 @@ Its value and function definition are void, and its property list is nil. */) ...@@ -2545,7 +2545,7 @@ Its value and function definition are void, and its property list is nil. */)
} }
p = XSYMBOL (val); p = XSYMBOL (val);
p->name = XSTRING (name); p->xname = name;
p->plist = Qnil; p->plist = Qnil;
p->value = Qunbound; p->value = Qunbound;
p->function = Qunbound; p->function = Qunbound;
...@@ -4690,9 +4690,9 @@ mark_object (argptr) ...@@ -4690,9 +4690,9 @@ mark_object (argptr)
mark_object (&ptr->function); mark_object (&ptr->function);
mark_object (&ptr->plist); mark_object (&ptr->plist);
if (!PURE_POINTER_P (ptr->name)) if (!PURE_POINTER_P (XSTRING (ptr->xname)))
MARK_STRING (ptr->name); MARK_STRING (XSTRING (ptr->xname));
MARK_INTERVAL_TREE (ptr->name->intervals); MARK_INTERVAL_TREE (XSTRING (ptr->xname)->intervals);
/* Note that we do not mark the obarray of the symbol. /* Note that we do not mark the obarray of the symbol.
It is safe not to do so because nothing accesses that It is safe not to do so because nothing accesses that
...@@ -5163,7 +5163,7 @@ gc_sweep () ...@@ -5163,7 +5163,7 @@ gc_sweep ()
/* Check if the symbol was created during loadup. In such a case /* Check if the symbol was created during loadup. In such a case
it might be pointed to by pure bytecode which we don't trace, it might be pointed to by pure bytecode which we don't trace,
so we conservatively assume that it is live. */ so we conservatively assume that it is live. */
int pure_p = PURE_POINTER_P (sym->name); int pure_p = PURE_POINTER_P (XSTRING (sym->xname));
if (!XMARKBIT (sym->plist) && !pure_p) if (!XMARKBIT (sym->plist) && !pure_p)
{ {
...@@ -5178,7 +5178,7 @@ gc_sweep () ...@@ -5178,7 +5178,7 @@ gc_sweep ()
{ {
++num_used; ++num_used;
if (!pure_p) if (!pure_p)
UNMARK_STRING (sym->name); UNMARK_STRING (XSTRING (sym->xname));
XUNMARK (sym->plist); XUNMARK (sym->plist);
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment