Re: [cc65] Optimization ideas

From: Ullrich von Bassewitz <uz1musoftware.de>
Date: 2007-06-21 23:38:14
On Thu, Jun 21, 2007 at 12:16:54AM -0700, Dan wrote:
> 1. Save/restore "register" (zero page) variables with
> a JSR to a subroutine, such as:

That will not work, since the offset in the register bank is not always 0..n,
but may also be 3..5 or something else.

> 2. Implement a second "register" area in zero page
> that would only be used by leaf functions (i.e.
> functions that don't call other functions). These
> would not need to be saved/restored.

No way with the current compiler. There is no immediate representation, so the
save code is generated *before* the compiler knows it's a leaf function.
Besides that, the current zeropage footprint is already a problem for some
systems. Increasing zero page usage will limit the number of target systems.

> 3. Automatically assign local pointer/char/int
> "register" status, and increase the default maximum
> (only 6 bytes?)

See answer for 2.

Regards


        Uz


-- 
Ullrich von Bassewitz                                  uz@musoftware.de
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Thu Jun 21 23:38:31 2007

This archive was generated by hypermail 2.1.8 : 2007-06-21 23:38:34 CEST