1003: <process> - in fact a circular pointer to this process. I
think the design was to have process chunks be linked together when
one was not large enough (no evidence yet in code)
The format of a context frame within a process is...
You can see that if args are pushed on stack (growing toward low
memory) before the receiver, then the top of the stack *is* the
beginning (bottom) of the next context frame
Here is the code where we start execution...
MethodKeeper _ (Vector new: 10) asStream.
externalViews _ Set new vector: 10.
[Dorado · [user currentDisplay: (Form new extent: 640 · 760 bits:
(String new: 640 * 760 / 8) offset: nil)]
DefaultTextStyle NoteTakerize.
user currentDisplay: (Form new extent: 640 · 400 bits: (String
new: 640 * 400 / 8) offset: nil)].
In order to start up, we simply set the pc to zero and fetch the
first byte from the method. My guess is that the value 7 in 'top'
indicates the frame pointer for this top context frame (maybe delta
relative to the end) and I have no idea what the 0, 42, 1 are doing,
but I think we can ignore them for now.