Change layout bitmap so that 0 = raw, 1 = tagged
For structures containing a mixture of raw and non-raw slots, integer-length
of the bitmap suffices to determine the upper bound of tagged slots, without
having to look at instance-length. The special case of -1 indicates zero raw
slots. These changes make uses of the bitmap from C more natural,
because you usually care abouts slots to examine, not slots to skip,
and 1 is the obvious bit value for this purpose.
Also fix a bug in print_struct that shifted an integer by a larger count
than the size of the type, which is undefined behavior.
15 files changed: