'From Squeak3.8gamma of ''24 November 2004'' [latest update: #6599] on 27 April 2005 at 11:14:55 am'! "Change Set: VMM38-gc-instrument-image Date: 27 April 2005 Author: tim@rowledge.org derived from original by johnmci@smalltalkconsulting.com and andreas.raab@gmx.de Image side methods to support revised GC handling of weak pointers and GC instrumentation. See SystemDictionary>forceTenure, isYoung: etc. Needs to go into update stream asap"! !SystemDictionary methodsFor: 'memory space' stamp: 'JMM 1/27/2005 13:23'! forceTenure "Primitive. Tell the GC logic to force a tenure on the next increment GC." ^self primitiveFailed! ! !SystemDictionary methodsFor: 'memory space' stamp: 'ar 1/18/2005 16:46'! isRoot: oop "Primitive. Answer whether the object is currently a root for youngSpace." ^self primitiveFailed! ! !SystemDictionary methodsFor: 'memory space' stamp: 'ar 1/18/2005 16:47'! isYoung: oop "Primitive. Answer whether the object currently resides in youngSpace." ^self primitiveFailed! ! !SystemDictionary methodsFor: 'memory space' stamp: 'ar 1/18/2005 16:48'! rootTable "Primitive. Answer a snapshot of the VMs root table. Keep in mind that the primitive may itself cause GC." ^self primitiveFailed! ! !SystemDictionary methodsFor: 'memory space' stamp: 'ar 1/18/2005 16:49'! rootTableAt: index "Primitive. Answer the nth element of the VMs root table" ^nil! ! !SystemDictionary methodsFor: 'memory space' stamp: 'JMM 1/27/2005 13:12'! setGCBiasToGrow: aNumber "Primitive. Indicate that the GC logic should be bias to grow" ^self primitiveFailed "Example: Smalltalk setGCBiasToGrowGCLimit: 16*1024*1024. Smalltalk setGCBiasToGrow: 1. "! ! !SystemDictionary methodsFor: 'memory space' stamp: 'JMM 1/27/2005 12:27'! setGCBiasToGrowGCLimit: aNumber "Primitive. Indicate that the bias to grow logic should do a GC after aNumber Bytes" ^self primitiveFailed "Example: Smalltalk setGCBiasToGrowGCLimit: 16*1024*1024. "! ! !SystemDictionary methodsFor: 'memory space' stamp: 'ar 1/18/2005 16:54'! setGCSemaphore: semaIndex "Primitive. Indicate the GC semaphore index to be signaled on GC occurance." ^self primitiveFailed "Example: | index sema process | sema := Semaphore new. index := Smalltalk registerExternalObject: sema. Smalltalk setGCSemaphore: index. process := [ [[true] whileTrue:[ sema wait. Smalltalk beep. ]] ensure:[ Smalltalk setGCSemaphore: 0. Smalltalk unregisterExternalObject: sema. ]. ] fork. process inspect. "! !