CheapBlk.st
author Claus Gittinger <cg@exept.de>
Thu, 02 Sep 1999 23:44:11 +0200
changeset 4670 21eec331e1e9
parent 2694 46ba8cbdc013
permissions -rw-r--r--
checkin from browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
     1
"
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1994 by Claus Gittinger
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
     3
	      All Rights Reserved
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
     4
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    11
"
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    12
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    13
Block subclass:#CheapBlock
1181
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    14
	instanceVariableNames:'selfValue method'
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    15
	classVariableNames:''
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    16
	poolDictionaries:''
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    17
	category:'Kernel-Methods'
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    18
!
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    19
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    20
!CheapBlock class methodsFor:'documentation'!
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    21
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    22
copyright
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    23
"
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    24
 COPYRIGHT (c) 1994 by Claus Gittinger
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    25
	      All Rights Reserved
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    26
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    27
 This software is furnished under a license and may be used
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    28
 only in accordance with the terms of that license and with the
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    29
 inclusion of the above copyright notice.   This software may not
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    30
 be provided or otherwise made available to, or used by, any
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    31
 other person.  No title to or ownership of the software is
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    32
 hereby transferred.
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    33
"
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    34
!
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    35
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    36
documentation
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    37
"
222
85fee82884dd commenting
claus
parents: 213
diff changeset
    38
    CheapBlocks are blocks which do not need their home-context
1254
48c2748b5197 commentary
Claus Gittinger <cg@exept.de>
parents: 1181
diff changeset
    39
    (i.e. blocks that do not access any method arguments 
48c2748b5197 commentary
Claus Gittinger <cg@exept.de>
parents: 1181
diff changeset
    40
     or method locals).
48c2748b5197 commentary
Claus Gittinger <cg@exept.de>
parents: 1181
diff changeset
    41
48c2748b5197 commentary
Claus Gittinger <cg@exept.de>
parents: 1181
diff changeset
    42
    CheapBlocks are never created explicitely; the only creation
48c2748b5197 commentary
Claus Gittinger <cg@exept.de>
parents: 1181
diff changeset
    43
    is done by the compilers, when some sourceCode is compiled to either
2243
adf9680a593e commentary
Claus Gittinger <cg@exept.de>
parents: 1852
diff changeset
    44
    machine or byteCode, and the generated block is found to neither access
adf9680a593e commentary
Claus Gittinger <cg@exept.de>
parents: 1852
diff changeset
    45
    any variables from its homeContext nor does a method-return.
adf9680a593e commentary
Claus Gittinger <cg@exept.de>
parents: 1852
diff changeset
    46
    CheapBlocks create less overhead to the runtime system, in that they
adf9680a593e commentary
Claus Gittinger <cg@exept.de>
parents: 1852
diff changeset
    47
    do not keep the creating context from being reclaimed (but, dont expect
adf9680a593e commentary
Claus Gittinger <cg@exept.de>
parents: 1852
diff changeset
    48
    too much of a difference ;-)
1254
48c2748b5197 commentary
Claus Gittinger <cg@exept.de>
parents: 1181
diff changeset
    49
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    50
    Since they have no reference to the home, they must store their
1254
48c2748b5197 commentary
Claus Gittinger <cg@exept.de>
parents: 1181
diff changeset
    51
    creating method explicitely - otherwise, the system had no 
48c2748b5197 commentary
Claus Gittinger <cg@exept.de>
parents: 1181
diff changeset
    52
    chance of finding the source-position of the block.
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    53
1293
02fb05148c98 documentation
Claus Gittinger <cg@exept.de>
parents: 1264
diff changeset
    54
    [Instance variables:]
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    55
1254
48c2748b5197 commentary
Claus Gittinger <cg@exept.de>
parents: 1181
diff changeset
    56
      selfValue   <Object>          copied self value
48c2748b5197 commentary
Claus Gittinger <cg@exept.de>
parents: 1181
diff changeset
    57
                                    (if its a copying block)
222
85fee82884dd commenting
claus
parents: 213
diff changeset
    58
85fee82884dd commenting
claus
parents: 213
diff changeset
    59
      method      <Method>          method where block was created 
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    60
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    61
    NOTICE: layout known by runtime system and compiler - do not change
1293
02fb05148c98 documentation
Claus Gittinger <cg@exept.de>
parents: 1264
diff changeset
    62
02fb05148c98 documentation
Claus Gittinger <cg@exept.de>
parents: 1264
diff changeset
    63
    [author:]
02fb05148c98 documentation
Claus Gittinger <cg@exept.de>
parents: 1264
diff changeset
    64
        Claus Gittinger
02fb05148c98 documentation
Claus Gittinger <cg@exept.de>
parents: 1264
diff changeset
    65
02fb05148c98 documentation
Claus Gittinger <cg@exept.de>
parents: 1264
diff changeset
    66
    [see also:]
02fb05148c98 documentation
Claus Gittinger <cg@exept.de>
parents: 1264
diff changeset
    67
        Block Context Method
02fb05148c98 documentation
Claus Gittinger <cg@exept.de>
parents: 1264
diff changeset
    68
        ( contexts, stacks & unwinding :html: programming/contexts.html )
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    69
"
1181
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    70
! !
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    71
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    72
!CheapBlock class methodsFor:'queries'!
623
6795a71e39d1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 528
diff changeset
    73
1181
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    74
isBuiltInClass
1264
8d916aa63bce commentary
Claus Gittinger <cg@exept.de>
parents: 1254
diff changeset
    75
    "return true if this class is known by the run-time-system.
8d916aa63bce commentary
Claus Gittinger <cg@exept.de>
parents: 1254
diff changeset
    76
     Here, true is returned for myself, false for subclasses."
1181
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    77
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    78
    ^ self == CheapBlock
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    79
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    80
    "Created: 16.4.1996 / 11:25:23 / cg"
1264
8d916aa63bce commentary
Claus Gittinger <cg@exept.de>
parents: 1254
diff changeset
    81
    "Modified: 23.4.1996 / 15:56:46 / cg"
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    82
! !
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    83
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    84
!CheapBlock methodsFor:'accessing'!
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
    85
2694
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
    86
homeMethod
213
3b56a17534fd *** empty log message ***
claus
parents: 161
diff changeset
    87
    "return the receivers home method.
161
ed36169f354d *** empty log message ***
claus
parents: 156
diff changeset
    88
     Thats the method where the block was created."
ed36169f354d *** empty log message ***
claus
parents: 156
diff changeset
    89
ed36169f354d *** empty log message ***
claus
parents: 156
diff changeset
    90
    ^ method
2694
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
    91
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
    92
    "Created: 19.6.1997 / 16:14:35 / cg"
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
    93
    "Modified: 19.6.1997 / 16:15:44 / cg"
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
    94
!
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
    95
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
    96
method
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
    97
    "return the receivers home method.
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
    98
     Thats the method where the block was created.
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
    99
     Obsolete: use #homeMethod for ST80 compatibility."
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
   100
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
   101
    ^ method
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
   102
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
   103
    "Modified: 19.6.1997 / 16:15:58 / cg"
623
6795a71e39d1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 528
diff changeset
   104
!
6795a71e39d1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 528
diff changeset
   105
6795a71e39d1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 528
diff changeset
   106
selfValue
6795a71e39d1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 528
diff changeset
   107
    "return the copied self"
6795a71e39d1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 528
diff changeset
   108
6795a71e39d1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 528
diff changeset
   109
    ^ selfValue
1796
f67d9ea87a45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1293
diff changeset
   110
!
f67d9ea87a45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1293
diff changeset
   111
f67d9ea87a45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1293
diff changeset
   112
setMethod:aMethod
f67d9ea87a45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1293
diff changeset
   113
    "set the receivers home method.
f67d9ea87a45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1293
diff changeset
   114
     This is a private entry for the compiler"
f67d9ea87a45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1293
diff changeset
   115
f67d9ea87a45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1293
diff changeset
   116
    method := aMethod
f67d9ea87a45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1293
diff changeset
   117
f67d9ea87a45 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1293
diff changeset
   118
    "Created: 21.10.1996 / 13:58:29 / cg"
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   119
! !
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   120
2247
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   121
!CheapBlock methodsFor:'conversion'!
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   122
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   123
beVarArg
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   124
    "convert myself into a varArg block;
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   125
     this one has 1 formal argument, which gets the list
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   126
     of actual arguments when evaluated."
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   127
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   128
    nargs ~~ 1 ifTrue:[
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   129
        self error:'vararg blocks must take exactly 1 argument - the arg list'.
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   130
        ^ nil
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   131
    ].
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   132
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   133
    self changeClassTo:VarArgCheapBlock.
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   134
    ^ self
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   135
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   136
    "
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   137
     |b|
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   138
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   139
     b := [:argList | argList printCR] beVarArg.
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   140
     b value.
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   141
     b value:'arg1' value:'arg2' value:'arg3' value:'arg4'
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   142
    "
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   143
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   144
    "Created: 23.1.1997 / 13:35:28 / cg"
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   145
    "Modified: 23.1.1997 / 13:35:48 / cg"
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   146
! !
3e227e6ea1fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2243
diff changeset
   147
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   148
!CheapBlock methodsFor:'printing & storing'!
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   149
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   150
printOn:aStream
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   151
    "append a a printed representation of the block to aStream"
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   152
1852
89b2328f4203 use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   153
    |who|
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   154
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   155
    "
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   156
     cheap blocks have no home context, but a method instead
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   157
    "
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   158
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   159
    aStream nextPutAll:'[] in '.
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   160
    "
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   161
     find out, for which class this method was for ...
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   162
    "
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   163
    method notNil ifTrue:[
1852
89b2328f4203 use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   164
        who := method who.
89b2328f4203 use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   165
        who notNil ifTrue:[
89b2328f4203 use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   166
            aStream nextPutAll:(who methodClass name , '-' , who methodSelector).
89b2328f4203 use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   167
            aStream nextPutAll:' (optimized)'.
89b2328f4203 use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   168
            ^ self
89b2328f4203 use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   169
        ].
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   170
    ].
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   171
    "
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   172
     currently, some cheap blocks don't know where they have been created
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   173
    "
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   174
    aStream nextPutAll:' ??? (optimized)'.
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   175
    ^ self
1852
89b2328f4203 use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   176
89b2328f4203 use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 1796
diff changeset
   177
    "Modified: 1.11.1996 / 16:21:19 / cg"
156
f03b8fb5e778 Initial revision
claus
parents:
diff changeset
   178
! !
1181
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   179
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   180
!CheapBlock class methodsFor:'documentation'!
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   181
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   182
version
2694
46ba8cbdc013 added #homeMethod for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 2247
diff changeset
   183
    ^ '$Header: /cvs/stx/stx/libbasic/Attic/CheapBlk.st,v 1.19 1997-06-19 14:17:25 cg Exp $'
1181
6637fee79d7b only Block & CheapBlock are fixed - subclasses may look different
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   184
! !