- The real reason was in the register allocator, where one live
variable (the memmory size of the bytevector) was not marked live
across the call to do-overflow. When the overflow returned, the
value of that variable (which was in the %ebx register) was
trashed, leading to an incorrect bump in the allocation pointer.
- Note to self, never blame anything on cache coherency again!