Stories
Slash Boxes
Comments

All the Perl that's Practical to Extract and Report

use Perl Log In

Log in

[ Create a new account ]

Ponie Snapshot 3 Released

posted by rafael on 2004.07.22 10:20   Printer-friendly
nicholas writes "A third ponie snapshot is now available from the Fotango opensource site
http://opensource.fotango.com/~nclark/ponie-3.tar.bz2 (16M, or a .gz at 20M)."

Read below for the release notes.

md5sums are:
7a42f87aebc65379fa6c23ba64b6f824 ponie-3.tar.bz2
e9a659e407c6ee7748db8c5b038fb0fe 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 purpose of this release is to make sure this approach keeps on working with the XS modules available on CPAN and to let people test with their own source code.

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.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.