Diff of /src/runtime/purify.c [f2126a] .. [f3f677] Maximize Restore

  Switch to side-by-side view

--- a/src/runtime/purify.c
+++ b/src/runtime/purify.c
@@ -33,6 +33,7 @@
 #include "thread.h"
 #include "genesis/primitive-objects.h"
 #include "genesis/static-symbols.h"
+#include "genesis/layout.h"
 
 #define PRINTNOISE
 
@@ -1392,6 +1393,18 @@
 		count = pscav_fdefn((struct fdefn *)addr);
 		break;
 
+	      case INSTANCE_HEADER_WIDETAG:
+		{
+		    struct instance *instance = (struct instance *) addr;
+		    struct layout *layout
+			= (struct layout *) native_pointer(instance->slots[0]);
+		    long nuntagged = fixnum_value(layout->n_untagged_slots);
+		    long nslots = HeaderValue(*addr);
+		    pscav(addr + 1, nslots - nuntagged, constant);
+		    count = CEILING(1 + nslots, 2);
+		}
+		break;
+
               default:
                 count = 1;
                 break;