Ponie snapshot 3
[email protected] (Nicholas Clark) Wed, 21 Jul 2004 16:26:36 +0100
| Newsgroups | perl.ponie.dev |
|---|---|
| Message-ID | <[email protected]> |
I've made a ponie snapshot; ponie development snapshot 3. Get it from Fotango's opensource web server: http://opensource.fotango.com/~nclark/ponie-3.tar.bz2 (.bs2 is 16M, or .gz if you really want 20M) md5sums are: 7a42f87aebc65379fa6c23ba64b6f824 ponie-3.tar.bz2 e9a659e407c6ee7748db8c5b038fb0fe ponie-3.tar.gz From the README: 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. Known gotchas: t/op/alarm.t fails test 4 on FreeBSD 5.1. I don't know why. Explanations welcome. The ICU in parrot won't build on AIX without the IBM C++ compiler, so I've not been able to test there. The whole ponie Configure.pl assumes you can run perl's Configure (a shell script) so ponie isn't going to build on any platform where this isn't the case (eg Win32). I don't have access to a Win32 machine with compiler, so I'm not in a position to fix this. The short-term plan from here is * 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. which will allow all the perl data structures currently dangling off the PMCs to be eliminated. You can check the latest ponie out from CVS with cvs -d :pserver:[email protected]:/cvs/public co ponie cd ponie cvs -d :pserver:[email protected]:/cvs/public co parrot Nicholas Clark