Re: Register allocation/spilling and register volitility

2004-11-12 Thread Bill Coffman
On Mon, 8 Nov 2004 12:20:19 +0100, Leopold Toetsch [EMAIL PROTECTED] wrote: Jeff Clites [EMAIL PROTECTED] wrote: On Nov 8, 2004, at 1:34 AM, Leopold Toetsch wrote: If frames aren't adjacent, normal argument copying can be done anyway. This would seem to require the same types of runtime

Re: Register allocation/spilling and register volitility

2004-11-12 Thread Leopold Toetsch
Bill Coffman wrote: In that case, I'll focus on the register renaming, live-range analysis, etc. Great. In light of this, I think I'll send in my patch, in case it is helpful. The problem is that some routine outside of imc_reg_alloc() is sending in conflicting register preallocation. Yep.

Re: Register allocation/spilling and register volitility

2004-11-12 Thread Michel Pelletier
Date: Fri, 12 Nov 2004 04:10:20 -0800 From: Bill Coffman [EMAIL PROTECTED] And spilling? Well, I'm proposing a variable-sized register frame. With very little additions we could run with more then 32 registers per kind (there are a few bitmasks currently that would need adaptions,

Re: Register allocation/spilling and register volitility

2004-11-12 Thread Dan Sugalski
At 10:51 AM -0800 11/12/04, Michel Pelletier wrote: Date: Fri, 12 Nov 2004 04:10:20 -0800 From: Bill Coffman [EMAIL PROTECTED] And spilling? Well, I'm proposing a variable-sized register frame. With very little additions we could run with more then 32 registers per kind (there are a

Register allocation/spilling and register volitility

2004-11-08 Thread Jeff Clites
From other threads: Now we are placing arguments or return values in registers according to PDD03 and the other end has immediately access to the placed values, because the register file is in the interpreter. With the indirect addressing of the register frame, this argument passing is

Re: Register allocation/spilling and register volitility

2004-11-08 Thread Leopold Toetsch
Jeff Clites [EMAIL PROTECTED] wrote: OTOH it doesn't really matter, if the context structure is in the frame too. We'd just need to skip that gap. REG_INT(64) or I64 is as valid as I0 or I4, as long as it's assured, that it's exactly addressing the incoming argument area of the called

Re: Register allocation/spilling and register volitility

2004-11-08 Thread Jeff Clites
On Nov 8, 2004, at 1:34 AM, Leopold Toetsch wrote: Jeff Clites [EMAIL PROTECTED] wrote: OTOH it doesn't really matter, if the context structure is in the frame too. We'd just need to skip that gap. REG_INT(64) or I64 is as valid as I0 or I4, as long as it's assured, that it's exactly addressing

Re: Register allocation/spilling and register volitility

2004-11-08 Thread Leopold Toetsch
Jeff Clites [EMAIL PROTECTED] wrote: On Nov 8, 2004, at 1:34 AM, Leopold Toetsch wrote: If frames aren't adjacent, normal argument copying can be done anyway. This would seem to require the same types of runtime checks that you are objecting to below, Not runtime. The register allocator