Bacek++ fixed TT #1994 so that .INTERPINFO_ACTIVE_PMCS works again
(thanks!); while playing with it I noticed that creating the first
instance of a PMC type such as Integer or Float results in the
creation of 38 extra PMCs somewhere. (Creating the second and
subsequent instances doesn't seem to result in this extra allocation.)
pmichaud@orange:~/parrot$ cat activepmc-2.pir
.sub 'main'
.include 'interpinfo.pasm'
sweep 1
collect
$I0 = interpinfo .INTERPINFO_ACTIVE_PMCS
say $I0
.local pmc a, b
a = new ['Integer']
$I0 = interpinfo .INTERPINFO_ACTIVE_PMCS
say $I0
b = new ['Integer']
$I0 = interpinfo .INTERPINFO_ACTIVE_PMCS
say $I0
.end
pmichaud@orange:~/parrot$ ./parrot activepmc-2.pir
1173
1212
1213
pmichaud@orange:~/parrot$
I'm sure that some of the PMCs are being created to support the PMCProxy
instances.... but *38*? That number seems surprisingly high, so I
thought I'd bring it up to the list and see if anyone has any ideas
about why and where so many extra PMCs are being created.
The 38 extra PMCs seems to be per-type; for example, if after
creating the two Integers above I then create a new Float object,
another 38 PMCs get created somewhere.
Thanks,
Pm
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev