On Aug 28, 7:46 pm, "L. David Baron" <[EMAIL PROTECTED]> wrote:
> Jason Orendorff wrote:
> > * Delete the cycle collector.
>
> Are we dropping the multi-language aspects of the platform (introduced
> in this milestone, at considerable effort in
> https://bugzilla.mozilla.org/show_bug.cgi?id=255942)? Or is there a
> good way for python to use MMgc as well?
You're right, we must decide whether to keep this. If so, I see
several options, none easy:
- Create the opposite of cycle collector: code to walk CPython
(refcounted) object graphs so that MMgc can see through them.
CPython has a cycle collector API that would probably help:
http://docs.python.org/api/supporting-cycle-detection.html
- Patch CPython to use MMgc. Somewhat scary due to the likelihood
of Python code depending on destructors being called in order.
- Create a library to facilitate interop among multiple
language runtimes in a single process, with distributed garbage
collection, etc. Like SWIG, only much better. Implement it for
Tamarin, XPCOM, CPython, and Java.
If the last option sounds crazy, it should, but I'll go ahead and
point
out that we've done interop at least 3 times already (LiveConnect,
XPConnect, PyXPCOM), and we're about to do it 2 more times
(ScreamingMonkey needs Tamarin/MSCOM interop; ActionMonkey
needs Tamarin/XPCOM interop). Maybe it's time to do it in a generic
form that other open source projects can use.
-j
_______________________________________________
dev-tech-xpcom mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-xpcom