On Aug 20, 2007, at 18:37 , Andreas Raab wrote:
Adrian Lienhard wrote:
Out of curiosity, does anybody know why in... primitiveNew "Allocate a new fixed-size instance. Fail if the allocation would leave less than lowSpaceThreshold bytes free. May cause a GC" | class spaceOkay | class := self stackTop. "The following may cause GC!" spaceOkay := self sufficientSpaceToInstantiate: class indexableSize: 0. self success: spaceOkay. successFlag ifTrue: [ self push: (self instantiateClass: self popStack indexableSize: 0) ] ... there is the call to #sufficientSpaceToInstantiate:indexableSize: although #instantiateClass:indexableSize: also indirectly calls #sufficientSpaceToAllocate:?
Where does it do that?
instantiateClass:indexableSize: -> allocate:headerSize:h1:h2:h3:doFill:with: -> allocateChunk: -> sufficientSpaceToAllocate:
Adrian