How GC Handles Interior Pointer

Because the array slice produced by the first a will have a memory region, Go’s garbage collector will record the range of memory regions. As long as there is a pointer to any part of this memory region, the entire memory region is marked as reachable and is not reclaimed.

Does that mean, for large object, knowing the header of a pointer is not O(1)? Since we need to iterate through all the allocated object to know for sure which one is the header.