Inquiring minds want to know.
Cheers,
Joshua Gatcomb
a.k.a. Limbic~Region
Latest news
Ponie Snapshot 3
A third ponie snapshot is now avilable from the Fotango opensource
site: http://opensource.fotango.com/~nclark/ponie-3.tar.gz.
With this release the C type of the perl core's data pointer, SV *, is
actually PMC *, the C type of parrot's data pointer. The functions
emulating the macros perl traditionally used to access its data
structures now retrieve data from the parrot PMCs. Some values are now
retrieved and set via parrot's keyed lookup methods in the PMC vtable.
Other values are now intentionally stored in other locations - the
integer and floating point values (IVX and NVX) are now moved to the SV
head structure, and any references are pointed to from the core parrot
PMC structure, rather than sharing the space used by perl's PVX
pointer. The latter change will allow parrot to directly track perl
references with its dead object detection routines, once the switch is
made from perl's reference counting to parrot's garbage collection. All
this has been hidden by changing just the functions emulating perl's
access macros - there has been no need to change any other part of the
core code, or the core's XS modules.
The next few steps are:
Make ponie's PMCs dynamically loaded
Make ponie's PMCs properly inherit in the perl5 class hierarchy
Move all the data access to PMC methods
Completing these will allow all the perl data structures currently
dangling off the PMCs to be eliminated.