mirror of
https://github.com/cc65/cc65.git
synced 2025-02-09 17:33:00 +00:00
Changed g_addaddr_local() codegen to reduce code size.
This commit is contained in:
parent
8eeaaa3f36
commit
b02838439c
@ -2112,6 +2112,14 @@ void g_addaddr_local (unsigned flags attribute ((unused)), int offs)
|
||||
|
||||
/* Add the offset */
|
||||
offs -= StackPtr;
|
||||
if (IS_Get (&CodeSizeFactor) <= 100) {
|
||||
if (offs != 0) {
|
||||
/* We cannot address more then 256 bytes of locals anyway */
|
||||
g_inc (CF_INT | CF_CONST, offs);
|
||||
}
|
||||
/* Add the current stackpointer value */
|
||||
AddCodeLine ("jsr leaaxsp");
|
||||
} else {
|
||||
if (offs != 0) {
|
||||
/* We cannot address more then 256 bytes of locals anyway */
|
||||
L = GetLocalLabel();
|
||||
@ -2135,6 +2143,7 @@ void g_addaddr_local (unsigned flags attribute ((unused)), int offs)
|
||||
AddCodeLine ("adc sp+1");
|
||||
AddCodeLine ("tax");
|
||||
AddCodeLine ("tya");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user