-#define MARK_ALLOC_INCR 1024 // # bytes to alloc for more mark space
-#define MIN_MARK_MEM (3*sizeof(WORD)+2*sizeof(LONG))
+// A mark is of the form:
+// .W <to+flags> section mark is relative to, and flags in upper byte
+// .L <loc> location of mark in "from" section
+// .W [from] new from section
+// .L[L] [symbol] symbol involved in external reference (LL for 64-bit pointers)
+#define MCHUNK struct _mchunk
+MCHUNK {
+ MCHUNK * mcnext; // Next mark chunk
+ PTR mcptr; // Vector of marks
+ uint16_t mcalloc; // # marks allocted to mark block
+ uint16_t mcused; // # marks used in block
+};