From: Leopold Toetsch <[EMAIL PROTECTED]> Date: Sun, 8 Oct 2006 13:14:22 +0200
Am Sonntag, 8. Oktober 2006 03:52 schrieb Bob Rogers: > Sounds good to me. But in that case, outer_ctx is not much better > . . . but that's probably a much bigger job. > > In any case, I discovered that Lua fails ~300 test cases with this > patch. So, if we still consider it worth dropping this feature, it > might be better to give it a period of deprecation before we break it > permanently. How does this sound? Hmm. Let's trying to keep autoclose then maybe. Given that I'm trying to propose a different strategy . . . It seems to me that the original issue was that the Sub PMC, which ought to be "pure" in some sense, was pointing to "impure" runtime data. Having the sub point indirectly to impure data doesn't seem like an improvement. And, unless care is taken to allocate keys globally, a given outer sub can only point (directly or indirectly) to one context at a time. So code that wants to be thread-safe in the Parrot sense must create closures explicitly anyway. (1) As stored items are currently a mixture of PMCs and other pointers, this array would not be marked during DOD. If there's some PMC stored into it, which isn't anchored elsewhere, it would need marking through dod_egister_pmc(). The array would be more a RVA (*Voidp*). leo Is it really worth all of this? -- Bob