[Vm-dev] I think I've found a bug in the 64-bit Squeak VM memory compactor

Jecel Assumpcao Jr. jecel at merlintec.com
Tue Jun 15 01:05:47 UTC 2010


Dave,

> The workaround for my VM is simply to skip those first free words, so that the
> first word in the heap is a non-free object. (The snapshot code does a GC so all
> real free objects are gone by this time).

Doesn't the image start with some header bytes (512 in the case of Unix)
which end up loaded into the start of the heap? Or do these get stripped
away at some point?

This reminds me of an OS I created for the iAPX286. I don't know if that
particular processor was bad or if it was a design flaw, but jumping or
calling to byte 0 of a segment didn't work in protected mode. So I moved
the class pointer to the first two bytes of every segment (we had one
object per segment and the class pointer had previously been a part of
the object table) and the bug didn't bother us anymore.

-- Jecel



More information about the Vm-dev mailing list