Re: Another issue with pdd03

2004-11-16 Thread Leopold Toetsch
Leopold Toetsch <[EMAIL PROTECTED]> wrote: > Jeff Clites <[EMAIL PROTECTED]> wrote: >> But that loops back to a previous proposal of mine: If they're not >> being preserved, and in fact need to be "synced" between caller and >> callee, then having these registers physically located in the >> inter

Re: Another issue with pdd03

2004-11-16 Thread Leopold Toetsch
Jeff Clites <[EMAIL PROTECTED]> wrote: > But that loops back to a previous proposal of mine: If they're not > being preserved, and in fact need to be "synced" between caller and > callee, then having these registers physically located in the > interpreter structure, rather than in the bp-reference

Re: Another issue with pdd03

2004-11-16 Thread Leopold Toetsch
Jeff Clites <[EMAIL PROTECTED]> wrote: [ PPC ABI ] > Not that parrot has to necessarily work this way, but it at least has > precedent, so it's not totally strange behavior. Sure it's neither strnge nor unsimilar. Except that the PPC ABI defines more preserved registers (r13..r31) assuming press

Re: Another issue with pdd03

2004-11-16 Thread Jeff Clites
On Nov 14, 2004, at 9:32 AM, Leopold Toetsch wrote: Defining now that P5 has to be preserved in main, because it's a possible return result of foo() and therefore may be clobbered by foo() is meaning, that we have effectively just 16 registers per kind available for allocation around a function

Re: Another issue with pdd03

2004-11-16 Thread Jeff Clites
On Nov 15, 2004, at 12:38 AM, Leopold Toetsch wrote: Bill Coffman <[EMAIL PROTECTED]> wrote: [ pdd03 ] The way I read it, paragraph one implies that when you print P5 after calling foo(), you are expecting to get the return value. You didn't save and restore register P5, so you wanted foo() to do

Re: Another issue with pdd03

2004-11-15 Thread Leopold Toetsch
Bill Coffman <[EMAIL PROTECTED]> wrote: [ pdd03 ] > The way I read it, paragraph one implies that when you print P5 after > calling foo(), you are expecting to get the return value. You didn't > save and restore register P5, so you wanted foo() to do something to > it. The nasty thing of a func

Re: Another issue with pdd03

2004-11-14 Thread Bill Coffman
PDD03: Responsibility for environment preservation PDD03: PDD03: The caller is responsible for preserving any environment it is interested PDD03: in keeping. This includes any and all registers, lexical scoping and PDD03: scratchpads, opcode libraries, and so forth. PDD03: PDD03: Use of the save