[squeak-dev] About a object life
Edgar J. De Cleene
edgardec2005 at gmail.com
Mon Nov 5 11:38:18 UTC 2012
On 11/5/12 10:28 AM, "Bert Freudenberg" <bert at freudenbergs.de> wrote:
> On 2012-11-03, at 22:45, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
>
>> On Sat, Nov 3, 2012 at 3:26 PM, Edgar J. De Cleene <edgardec2005 at gmail.com>
>> wrote:
>>> Folks:
>>>
>>> I wish know how old a object is.
>>>
>> The VM can know if an object is in the young or old area. You could modify
>> the VM and make a primitive that answers this (#isYoung: anOop).
>
> What's wrong with the existing primitiveIsYoung? ;)
>
> SmalltalkImage current isYoung: true
> ==> false
>
> SmalltalkImage current isYoung: Object new
> ==> true
>
>
> Also, since our GC does not change the order of objects when compacting, you
> can tell if an object is older than another by enumerating all objects. The
> oldest ones are of course nil, false, and true (more than 30 years old now):
>
> (1 to: 20) inject: self someObject into: [:obj :i |
> Transcript show: i; space; show: (obj printString contractTo: 60); cr.
> obj nextObject]
> ==>
> 1 nil
> 2 false
> 3 true
> 4 #Processor->a ProcessorScheduler
> 5 #(#+ 1 #- 1 #< 1 #> 1 #<= 1 #... 1 #new 0 #new: 1 #x 0 #y 0)
> 6 {Character value: 0 . Charact...$ú . $û . $ü . $ý . $þ . $ÿ}
> 7 {CompiledMethod . nil . Array...nil . nil . nil . nil . nil}
> 8 #Transcript->a TranscriptStream ' '
> 9 #SourceFiles->an ExpandedSour...s/Work/Frank/frank.changes')
> 10 #Display->DisplayScreen(1920x1200x32)
> 11 #Sensor->an EventSensor
> 12 $'
> 13 $,
> 14 $-
> 15 $.
> 16 $0
> 17 $;
> 18 $=
> 19 $[
> 20 $_
>
>
> - Bert -
Bert:
Very thanks for this
Edgar
More information about the Squeak-dev
mailing list
|