Fix bug in the GC's ephemeron scanning.
authorTaylor R Campbell <campbell@mumble.net>
Fri, 20 Aug 2010 02:57:01 +0000 (02:57 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Fri, 20 Aug 2010 02:57:01 +0000 (02:57 +0000)
commitfc162302ef6c68e49a9ff75d0fa8998e115e3f45
tree46a2e77f6e9892345974656d77036973ac0496bf
parent4e41d54757ffcc202e9eff5a73a92f5081849ad9
Fix bug in the GC's ephemeron scanning.

When queueing ephemerons for the key stored at some address, compare
the address to the weak referent address of each ephemeron's key --
not to the object address of each ephemeron's key, which causes us to
miss ephemerons whose keys are compiled entries, because we pass the
addresses of compiled blocks, never those of the compiled entries
stored in them, to queue_ephemerons_for_key.
src/microcode/gcloop.c