(as described above) are pushed on the
stack by <TT>GC_push_roots</tt>. (Registers and eagerly processed
stack sections are processed by pushing the referenced objects instead
-of the stack section itself.) If <TT>ALL_INTERIOR_PTRS</tt> is not
+of the stack section itself.) If <TT>ALL_INTERIOR_POINTERS</tt> is not
defined, then stack roots require special treatment. In this case, the
normal marking code ignores interior pointers, but <TT>GC_push_all_stack</tt>
explicitly checks for interior pointers and pushes descriptors for target
HBLKSIZE | |--------------- | (words)
(bytes) | | v MAX_OFFSET
| + - - - - - - - - - - -+ --- (bytes)
- | | | !All_INTERIOR_PTRS ^ |
+ | | | !ALL_INTERIOR_POINTERS ^ |
| | | sets j only for hb_sz |
| | Object N | valid object offsets. | |
v | | All objects WORDSZ v v
#endif
/* Set hhdr to the header for p. Analogous to GET_HDR below, */
-/* except that in the case of large objects, it */
-/* gets the header for the object beginning, if GC_all_interior_ptrs */
-/* is set. */
+/* except that in the case of large objects, it gets the header for */
+/* the object beginning if GC_all_interior_pointers is set. */
/* Returns zero if p points to somewhere other than the first page */
/* of an object, and it is not a valid pointer to the object. */
#define HC_GET_HDR(p, hhdr, source) \