develooper Front page | perl.perl6.internals | Postings from July 2004

Re: semi-stack code

Thread Previous | Thread Next
From:
Dan Sugalski
Date:
July 14, 2004 11:44
Subject:
Re: semi-stack code
Message ID:
a06110404bd1b2e52ae30@[10.0.1.3]
At 7:43 PM +0200 7/14/04, Leopold Toetsch wrote:
>Dan Sugalski <dan@sidhe.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
>>  stack,
>
>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.
-- 
				Dan

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

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About