Message from discussion
Register spilling needs a last-gasp give-up scheme
Newsgroups: perl.perl6.internals
Path: controlnews3.google.com!news1.google.com!newsfeed.stanford.edu!nntp.perl.org
Return-Path: <d...@sidhe.org>
Mailing-List: contact perl6-internals-h...@perl.org; run by ezmlm
Delivered-To: mailing list perl6-intern...@perl.org
Received: (qmail 48720 invoked from network); 25 May 2004 15:21:04 -0000
Received: from x1.develooper.com (63.251.223.170)
by onion.develooper.com with SMTP; 25 May 2004 15:21:04 -0000
Received: (qmail 26984 invoked by uid 225); 25 May 2004 15:21:04 -0000
Delivered-To: perl6-intern...@perl.org
Received: (qmail 26971 invoked by alias); 25 May 2004 15:21:01 -0000
X-Spam-Status: No, hits=-3.0 required=7.0
tests=RT_TAG
X-Spam-Check-By: la.mx.develooper.com
Received: from 178.94.252.64.snet.net (HELO sprite.sidhe.org) (64.252.94.178)
by la.mx.develooper.com (qpsmtpd/0.27.1) with SMTP; Tue, 25 May 2004 08:20:59 -0700
Received: (qmail 4937 invoked from network); 25 May 2004 15:18:41 -0000
X-Scanned-By: AMaViS-ng at sidhe.org
Received: from unknown (HELO ?10.0.1.3?) (d...@157.130.220.242)
by 178.94.252.64.snet.net with SMTP; 25 May 2004 15:18:38 -0000
Mime-Version: 1.0
X-Sender: dan@localhost
Message-ID: <a06110405bcd9142b6fe8@[10.0.1.3]>
In-Reply-To: <200405251429.i4PETPv25487@thu8.leo.home>
References: <rt-29837@perl>
<rt-3.0.9-29837-88076.5.39698439413385@perl.org>
<200405250743.i4P7hd716355@thu8.leo.home>
<a06110401bcd8f4ca1c0c@[10.0.1.3]>
<200405251429.i4PETPv25487@thu8.leo.home>
Date: Tue, 25 May 2004 11:20:02 -0400
To: l...@toetsch.at
Subject: Re: [perl #29837] Register spilling needs a last-gasp give-up
scheme
Cc: perl6-intern...@perl.org
Content-Type: text/plain; charset="us-ascii" ; format="flowed"
X-Spam-Rating: onion.develooper.com 1.6.2 0/1000/N
Approved: n...@nntp.perl.org
From: d...@sidhe.org (Dan Sugalski)
At 4:29 PM +0200 5/25/04, Leopold Toetsch wrote:
>Dan Sugalski <d...@sidhe.org> wrote:
>
>> I can see that helping in some circumstances (though not mine) but
>> the code that the register allocator's having fits with has no .local
>> declarations at all. It's all $x register usage from beginning to end.
>
>Don't you have something like variables, which could be stored as
>globals?
>
>If you code looked like ...
>
> $Px = global "foo"
> # some temps
> $Px += temp
>
>... it would automatically cut down the life range of $Px.
Yes, I know. I've done that. Everything is in globals, everything is
fetched only when actually needed, and only lives for the duration of
the basic block. (The compiler keeps a cache and flushes it every
label)
>One more remark: do you use the same "$Px" in different places (for
>different temps/vars) or do you increase "x" for different temps? The
>latter should be much better.
I do the latter. There's no reuse of the $Px temps for different values.
--
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
d...@sidhe.org have teddy bears and even
teddy bears get drunk