Howdy.
I'm attempting to port the SmallEiffel Eiffel compiler to the PalmOS
platform. Most everything is going well, but the Garbage Collector
needs a bit of help--I have to write a routine which will look at the
application stack and processor registers to see if any pointers to
GC'able objects are located therein.
For other architectures, this procedure consists of:
1) Push the registers onto the stack
2) Start at the top or bottom of the stack with a pointer to a pointer
3) Increment (or decrement) the pointer-to-pointer, and send the
dereferenced contents to a marking function
4) Marking function determines if the dereferenced pointer points to a
GC-able object and marks it if that's the case.
How do I do this in the PalmOS platform? I tried getting the stack
parameters with SysGetStackInfo, but I'm not sure how to check the
registers... and since pointers are 32-bit, is stepping through the
stack with a "pointer to a pointer" really a good idea? Are stack
pushes aligned to 16 or 32 bits?
Any help would be, well... helpful. It's just not right without the
garbage collector.
-->VPutz
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/