--- a/Context.st Wed Jan 27 16:56:06 2016 +0100
+++ b/Context.st Wed Jan 27 16:56:08 2016 +0100
@@ -43,7 +43,7 @@
state of a method or block (i.e. its local variables, temporaries etc.)
Every message send adds a context to a chain, which can be traced back via
the sender field. The context of the currently active method is always
- accessable via the pseuodoVariable called 'thisContext'.
+ accessible via the pseuodoVariable called 'thisContext'.
The actual implementation uses the machines stack for this, building real
contexts on demand only, whenever a contexts is needed. Also, initially these are
allocated on the stack and only moved to the heap, when a context outlives its
@@ -107,58 +107,58 @@
[instance variables:]
- flags <SmallInteger> used by the VM; never touch.
- contains info about number of args,
- locals and temporaries.
-
- sender <Context> the 'calling / sending' context
- This is not directly accessable, since it may
- be a lazy context (i.e. an empty frame).
- The #sender method cares for this.
-
- home <Context> the context, where this block was
- created, or nil if its a method context
- There are also cheap blocks, which do
- not need a reference to the home context,
- for those, its nil too.
-
- receiver <Object> the receiver of this message
-
- selector <Symbol> the selector of this message
-
- searchClass <Class> the class, where the message lookup started
- (for super sends) or nil, for regular sends.
-
- lineNr <SmallInteger> the position where the context left off
- (kind of p-counter). Only the low 16bits
- are valid.
-
- retValTemp nil temporary - always nil, when you see the context
- (used in the VM as temporary)
-
- handle *noObject* used by the VM; not accessable, not an object
-
- method the corresponding method
-
- <indexed> arguments of the send followed by
- locals of the method/block followed by
- temporaries.
+ flags <SmallInteger> used by the VM; never touch.
+ contains info about number of args,
+ locals and temporaries.
+
+ sender <Context> the 'calling / sending' context
+ This is not directly accessible, since it may
+ be a lazy context (i.e. an empty frame).
+ The #sender method cares for this.
+
+ home <Context> the context, where this block was
+ created, or nil if its a method context
+ There are also cheap blocks, which do
+ not need a reference to the home context,
+ for those, its nil too.
+
+ receiver <Object> the receiver of this message
+
+ selector <Symbol> the selector of this message
+
+ searchClass <Class> the class, where the message lookup started
+ (for super sends) or nil, for regular sends.
+
+ lineNr <SmallInteger> the position where the context left off
+ (kind of p-counter). Only the low 16bits
+ are valid.
+
+ retValTemp nil temporary - always nil, when you see the context
+ (used in the VM as temporary)
+
+ handle *noObject* used by the VM; not accessible, not an object
+
+ method the corresponding method
+
+ <indexed> arguments of the send followed by
+ locals of the method/block followed by
+ temporaries.
[errors:]
- CannotReturnError raised when a block tries
- to return ('^') from a method context
- which itself has already returned
- (i.e. there is no place to return to)
+ CannotReturnError raised when a block tries
+ to return ('^') from a method context
+ which itself has already returned
+ (i.e. there is no place to return to)
WARNING: layout and size known by the compiler and runtime system - do not change.
[author:]
- Claus Gittinger
+ Claus Gittinger
[see also:]
- Block Process Method
- ( contexts, stacks & unwinding : programming/contexts.html)
+ Block Process Method
+ ( contexts, stacks & unwinding : programming/contexts.html)
"
! !