What happens to the process when it is reactivated i.e. it becomes the “arising” process in “swtch”?
The stack and environment pointers are restored from “u.u_rsav” (Note that a pointer to “u” is also a pointer to “u.u_rsav” (0415) but ...
If the core image was swapped out e.g. by “expand” ...
No reliance is placed on the values of the stack and environment pointers, and they are reset
The question is if the values stored in “u.u_ssav” at line 2284 are the same as values stored in “u.u_rsav” at line 2281, how did they get to be different?
Presumably this is what “you are not expected to understand” (line 2238) ... clearly “xswap” should be investigated ... the trail finally ends at Chapter Fifteen ... in the meantime you may wish to investigate for yourself so that you may join the “2238” club that much sooner.