editcore: Bail when extracting non-structure instances from core.

This allows editcore to work even when the core contains compiled
debug info objects containing complicated clos instances such as
EQL-SPECIALIZERS (which might appear in the CONTEXTS slot).
This commit is contained in:
Charles Zhang 2024-07-25 23:17:11 +02:00
parent 45bbdcad94
commit 72de58a428

View file

@ -1589,7 +1589,12 @@
(let* ((layout
(truly-the layout
(translate (%instance-layout (translated-obj)) spacemap)))
(id (%layout-id layout))
(id
(cond ((logtest +structure-layout-flag+
(layout-flags (truly-the layout layout)))
(%layout-id layout))
(t
(return-from recurse '%instance-too-hairy-to-extract%))))
(allowed (position id *allowed-instance-type-ids*)))
(cond
(allowed