Dan Sugalski <[EMAIL PROTECTED]> wrote: > At 10:35 AM +0200 7/20/04, Leopold Toetsch wrote:
> And yes, this will, with sufficient call depth, result in an > all-bits-set dirty mask, which is also why we allow bytecode to > *unset* bits in the dirty frame marker, but only if those bits are > set in the sub's mask of frames it uses. How is the dirty mask usuable, when bits are reset? Anyway, any code making use of Parrot native register types will have to preserve all most of the time. >> whenever a subroutine or >>method will use some native S or N registers, we end up saving 640 >>bytes. In *each* function call. And restore 640 bytes on each return. >> >>My proposal did show a way, how to copy ~640 bytes *once* per subroutine >>creation. You didn't even comment that. > Well, it seemed obviously wrong, Why? > ... and inefficient in most cases, so I > didn't. Copying 640 bytes once, or 640 bytes * 2 * nr of calls? What is inefficient? > ... If you don't like the scheme I outlined above I can go into > more detail. I'm all for a better scheme. Moving P0-P2, S0, I0-I4 somewhere else is fine. BTW five registers (I0-I4) for information that fits into one is overkill anyway. leo