Subject: Re: bug#32405: [PATCH] Turn misc objects into pseudovectors

From: Pip Cet <[email-masked]>
Date: Thu, 9 Aug 2018 06:11:14 +0000

Hello Paul,

I'm still working (as time permits) on precise garbage collection
experiments (my current code doesn't use anything like the Lisp_Type
tag). I think your patch doesn't make things any worse for that,
though it moves special-case code from the main loop of mark_object to
the pseudovector-specific code. Is that right?

I was a bit surprised to see this code:

+      case PVEC_FINALIZER:
+        VECTOR_MARK (ptr);
+        mark_object (XFINALIZER (obj)->function);
+        break;
+

Isn't that precisely what the default code does?

Similarly for bool vectors, misc ptrs, and user ptrs.

Also, I'm curious what ideas you have for the newly freed Lisp_Type tag.