Wednesday, June 21, 2006
STM Progress Report (2)
Done since last report:
- Added read-only PMC support to Parrot for almost all types, and a vtable method to morph a PMC to be shared+read-only with implementations for scalars and arrays.
- Created a more complex (currently failing) test.
- Modernizing Parrot's threading API — probably needs a more OO interface than current and an enumeration of what sharing levels we should provide.
- Fixing threading code enough for test to fail in the STM code. (And/or fixing or working around it in the test?)
- Writing more tests.
- Adding enough infrastructure to STM code to potentially pass some multi-threaded tests.
- Properly copying/placing existing (user-created) classes into new threads.
- Making shared PMCs garbage collect properly — simple (?) first step will probably be to allocate shared objects in a separate pool – or, failing that, support relocating them or changing pool ownership so they can live through interpreter death.
- Sketching what STM's use of the exception interface in development would look like (and probably creating associated macros for PIR).