CheapBlk.st
changeset 2243 adf9680a593e
parent 1852 89b2328f4203
child 2247 3e227e6ea1fb
equal deleted inserted replaced
2242:5037033b8002 2243:adf9680a593e
    39     (i.e. blocks that do not access any method arguments 
    39     (i.e. blocks that do not access any method arguments 
    40      or method locals).
    40      or method locals).
    41 
    41 
    42     CheapBlocks are never created explicitely; the only creation
    42     CheapBlocks are never created explicitely; the only creation
    43     is done by the compilers, when some sourceCode is compiled to either
    43     is done by the compilers, when some sourceCode is compiled to either
    44     machine or byteCode.
    44     machine or byteCode, and the generated block is found to neither access
       
    45     any variables from its homeContext nor does a method-return.
       
    46     CheapBlocks create less overhead to the runtime system, in that they
       
    47     do not keep the creating context from being reclaimed (but, dont expect
       
    48     too much of a difference ;-)
    45 
    49 
    46     Since they have no reference to the home, they must store their
    50     Since they have no reference to the home, they must store their
    47     creating method explicitely - otherwise, the system had no 
    51     creating method explicitely - otherwise, the system had no 
    48     chance of finding the source-position of the block.
    52     chance of finding the source-position of the block.
    49 
    53 
   134 ! !
   138 ! !
   135 
   139 
   136 !CheapBlock class methodsFor:'documentation'!
   140 !CheapBlock class methodsFor:'documentation'!
   137 
   141 
   138 version
   142 version
   139     ^ '$Header: /cvs/stx/stx/libbasic/Attic/CheapBlk.st,v 1.16 1996-11-01 16:15:44 cg Exp $'
   143     ^ '$Header: /cvs/stx/stx/libbasic/Attic/CheapBlk.st,v 1.17 1997-01-23 12:45:23 cg Exp $'
   140 ! !
   144 ! !