[Gc] Running Boehm-Demers-Weiser gc on a simulator
jiwon at stanford.edu
Wed Nov 29 14:14:49 PST 2006
On 11/29/06, Boehm, Hans <hans.boehm at hp.com> wrote:
> If you haven't done so already, have a look at the last section in
> http://www.hpl.hp.com/personal/Hans_Boehm/gc/debugging.html .
Yup, just did that. Strange thing is, right before
GC_finish_collection is called, the object whose field will have wrong
value afterward is actually marked. (confirmed with
Is it possible that the object is marked but still corrupted by the
allocator or the collector?
> It sounds like it's also worth checking specifically that stacks are
> traced. Assuming that this a single-threaded application, and you are
> using gc6.8 built without thread support, step through
> GC_push_current_stack() to make sure it's doing the right thing.
> What's the simulated architecture? Could it be a value that's only in a
> register that is not being traced?
It's simulating power pc 64, and the register values are actually
pushed on the stack by gcc's __builtin_unwind_init() . So I believe
all the necessary registers are pushed on the stack.
More information about the Gc