Dan Sugalski <[EMAIL PROTECTED]> wrote: > No. If any object has a destructor it should be called as the last > interpreter is shut down. We're not guaranteeing dead-on immediate > destruction, or if the timely flag isn't set timely destruction, but we > *are* guaranteeing eventual destruction.
Oha. That explains the reasoning. That adds a third category to "destruction" IMHO: 1) timely destruction on scope exits 2) eventual destruction on exit of interpreters 3) memory destruction for leak tests and such or for intermediate interpreters. For 1) we have opcode support C<needs_destroy>. 2) seems to be the case where IO objects jump in - and HLL destructors. > We don't need to free memory, but we do need to call destructors. So we'd better separate 2) and 3) This would simplify destruction ordering and speedup interpreter shutdown. > Dan leo
