[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A plea for a new old language

At 12:48 PM -0400 5/9/03, Geoffrey Knauth wrote:
>On Friday, May 9, 2003, at 11:00 US/Eastern, Dan Sugalski wrote:
>>thinking about it it actually makes long-term expansion of the VM 
>>with backward compatibility easier, since if there are more 
>>lexically scoped things added later (say, event mask/level, or IO 
>>filters, or something) old code will still preserve them right on a 
>>call since the "make CPS thingie" op would get beefed up to know 
>>about the new things
>Is there a danger that "make CPS thingie," done on every call, could 
>become too heavyweight?

Potentially, but since we can't, at compile time, know if the code 
we're calling alters any of the stuff we're interested in, we need to 
preserve it all. OTOH, building a set of constructors that exclude 
particular pieces, since we don't care about them, isn't that tough.

The construction cost should actually be pretty small, as it's just a 
matter of snagging a bunch of pointers and saving them. (Though 
closing off the stack frames could be pricier, but that the compilers 
can do, and probably should anyway) Invoking the CPS thingie is also 
equally quick--restore some pointers and dispatch to the stored 
return location.

The bigger issue, for us at least, is the GC, since I think I'd want 
to special-case the pointer finding code, but that might not be an 
issue with some other tricks.

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
dan@sidhe.org                         have teddy bears and even
                                       teddy bears get drunk