1.40.3 ContextPart: accessing
- Answer the client of this context, that is, the object that sent the
message that created this context. Fail if the receiver has no parent
- Answer the name of the file where the method source code is
- To create a valid execution environment for the interpreter even before
it starts, GST creates a fake context whose selector is nil and which
can be used as a marker for the current execution environment. This
method answers that context.
For processes, it answers the process block itself
- Answer the MethodContext to which the receiver refers
- Answer the value of the instruction pointer when execution starts
in the current context
- Answer the current instruction pointer into the receiver
- ip: newIP
- Set the instruction pointer for the receiver
- Answer whether the receiver is a block context
- Answers whether the context is skipped when doing a return. Contexts
are marked as disabled whenever a non-local return is done (either by
returning from the enclosing method of a block, or with the
#continue: method of ContextPart) and there are unwind contexts such
as those created by #ensure:. All non-unwind contexts are then
marked as disabled.
- To create a valid execution environment for the interpreter even
before it starts, GST creates a fake context which invokes a special
“termination” method. Such a context can be used as a marker for
the current execution environment. Answer whether the receiver is
that kind of context.
- Answer whether the receiver represents a process context, i.e. a context
created by BlockClosure>>#newProcess. Such a context can be recognized
because it has no parent but its flags are different from those of the
contexts created by the VM's prepareExecutionEnvironment function.
- Answers whether the context must continue execution even after a
non-local return (a return from the enclosing method of a block, or
a call to the #continue: method of ContextPart). Such contexts are
created by #ensure:.
- Return the CompiledMethod being executed
- Return the class in which the CompiledMethod being executed is defined
- Answer the number of arguments passed to the receiver
- Answer the number of temporaries used by the receiver
- Answer the context that called the receiver
- parentContext: aContext
- Set the context to which the receiver will return
- push: anObject
- Push an object on the receiver's stack.
- Return the receiver (self) for the method being executed
- Return the selector for the method being executed
- Answer the number of valid fields for the receiver. Any read
access from (self size + 1) to (self basicSize) has undefined
results - even crashing
- Answer the current stack pointer into the receiver
- sp: newSP
- Set the stack pointer for the receiver.
- Answer how many elements in the receiver should be inspected