On Tue, 23 Nov 2004 23:26:39 +0100, Leopold Toetsch <[EMAIL PROTECTED]> wrote:
Keep in mind that you don't actually have to add all those CFG edges. You already know precisely the effects of adding them. All
non-volatile symbols (those crossing subs that might make continuation
invocations) are garanteed to interfere. This is garanteed to be a
clique in the interference graph. No need to actually add the CFG
edges to know how the interference graph is effected.
Possible, but just another special cased exception. With that you get two possible interferences of different kinds, with additional coding overhead ...
It bothers me that this discussion is not including the concept of subs that don't call/invoke continuations. Remember the previous posts about adding a label, or setting a pragma?
Sure. But I've no confirmation of a compiler writer that its possible. Annotating PIR can only work for nested closures. If libraries are involved you are out of luck.
And we have such code already in library/Streams/Sub.imc.
... Also, if that sub is defined in the same imc source code, we can analyze it to see if there is a continuation there or not.
And if not - see above.
Another interesting thing about this problem is that these new CFG
edges are rarely, or at least with low probability, ever travelled.
We just don't know it, rare or not doesn't matter.
~Bill
leo