Re: ia64 and garbage collection
IA-64 has a register stack. This is somewhat like the register windows
on sparcs. If you want to be able to view all of the registers, you need
to flush the register stack to memory somehow. This can be done by calling
getcontext as David Mosberger mentioned, but can also be done by using the
flushrs instruction, either directly via a builtin, or by a small assembly
language stub (which is what boehm-gc does).
IA-64 has two stacks. One is the regular stack that holds procedure activation
frames. The other stack is called the backing store, and holds the part of
the register stack that has been flushed to memory. (This is unlike the sparc
which uses a single stack for both.) You will have to search both stacks.
In order to get your GC working, you will have to spend a little time reading
IA-64 architecture manuals to understand how all of this stuff works. Or
alternatively study a working example. boehm-gc for instance already supports