|
Smalltalk/X WebserverDocumentation of class 'CheapBlock': |
|
|
Class: CheapBlockInheritance:Object | +--ExecutableFunction | +--CompiledCode | +--Block | +--CheapBlock | +--VarArgCheapBlock
Description:
CheapBlocks are blocks which do not need their home-context
(i.e. blocks that do not access any method arguments
or method locals).
CheapBlocks are never created explicitely; the only creation
is done by the compilers, when some sourceCode is compiled to either
machine or byteCode, and the generated block is found to neither access
any variables from its homeContext nor does a method-return.
CheapBlocks create less overhead to the runtime system, in that they
do not keep the creating context from being reclaimed (but, don't expect
too much of a difference ;-)
Since they have no reference to the home, they must store their
creating method explicitely - otherwise, the system had no
chance of finding the source-position of the block.
[Instance variables:]
selfValue <Object> copied self value
(if it's a copying block)
method <Method> method where block was created
NOTICE: layout known by runtime system and compiler - do not change
Related information:
Block
Context
Method
[contexts, stacks & unwinding]
Class protocol:queries
Instance protocol:accessing
|
|
|
ST/X 7.1.0.0; WebServer 1.663 at exept.de:8081; Wed, 17 Dec 2025 08:36:56 GMT
|