Front page | perl.perl6.internals |
Postings from July 2004
Re: semi-stack code
From: Dan Sugalski
July 14, 2004 11:44
Re: semi-stack code
Message ID: email@example.com
At 7:43 PM +0200 7/14/04, Leopold Toetsch wrote:
>Dan Sugalski <firstname.lastname@example.org> wrote:
>> Okay, here's a really, really evil idea. (And yes, bluntly, it's
>> triggered by the pie-thon bytecode translator's needs) I need a
>Do you? I've converted all stack stuff at compile time, till now. I
>don't see the point, why this might not work for all opcodes.
There's the issue of basic block analysis which, bluntly, I'm not
comfortable counting on being able to do in the time I've got. I may
do a quick scan tonight, if I have time to hack it up, to see what
the stack looks like going into the blocks. If a block's got multiple
entry points then I need to coordinate register usage across all the
places that could call it, which I'm not sure I've time for.
> > ... and one that's faster than our current stack which, while
>> snappy for what it does, is still burdened by generality. I also need
>> a stack that's generally not very big. So...
>Generally. Have a look at BUILD_TUPLE or BUILD_LIST. The limited stack
>will not work, you have to do overflow checking all the time and you'll
>have 2 addressing modes, one in registers and one in overflow.
I know there are a few nasty ones. I'm sorely tempted to toss the
alignment bit and make the stack the same number of registers as we
use for calling conventions, and turn those two into subs, in which
case the setup for the call is a quick copy of the stack registers to
the calling registers, with the overflow array matching for both.
> > iset Px, Iy
>> This does a set of register Px to PMC register #Y.
>C<setp_ind> *is* in set.ops. If above is the other direction, then that
>should be named accordingly.
I thought that was in there, but I missed that one. I'll add in its complement.
--------------------------------------it's like this-------------------
Dan Sugalski even samurai
email@example.com have teddy bears and even
teddy bears get drunk