root@revere.UUCP (Admin) (02/09/90)
I'm looking for a way to save the active part of the current process stack possibly into a save area, then copying the saved stack of the new process onto the real stack, and resetting the processor's stack pointer and frame pointer registers to point to the new stack. The Frame Pointer, Stack Pointer, and Program Counter are usually accessable on some BSD type machines like a Sun. It is very easy to do context switching upon these types of machines because it is supported through the setjmp/longjmp system calls. However the stack environment is not saved for programmer's use nor is it accessable on an AT&T 6386 running System V R3.2. Does anyone know of a way, either through "C" or "C++" or "asm", that it could be done. I'm trying to build a "C++" class library, and want to do context switching for the classes "Heap" and "Stack", so that "garbage" compaction could be done. Eugene E. Galarneau uunet!sharkey!teemc!revere!eeg