From: Philipp K. K. <pk...@sp...> - 2012-06-21 12:49:39
|
In gen.c, commitPair(), line 2820, a pair is stored to the stack using the ex (sp), hl or ex (sp), iy instruction. However the pair is not marked as spilt, which can result in code generation for later iCodes to falsely assume that the pair still contains the old value. I noticed this bug while working on the smallopts branch, and already fixed it there, but would like to fix it in trunk before the release. This fix only affects the z80-related ports. It is unlikely to result in further bugs, since since a spilt pair is just reloaded with the desired value where needed. Philipp |
From: Borut R. <bor...@gm...> - 2012-06-21 13:51:14
|
On 21. 06. 2012 14:50, Philipp Klaus Krause wrote: > In gen.c, commitPair(), line 2820, a pair is stored to the stack using > the ex (sp), hl or ex (sp), iy instruction. However the pair is not > marked as spilt, which can result in code generation for later iCodes to > falsely assume that the pair still contains the old value. > > I noticed this bug while working on the smallopts branch, and already > fixed it there, but would like to fix it in trunk before the release. > This fix only affects the z80-related ports. It is unlikely to result in > further bugs, since since a spilt pair is just reloaded with the desired > value where needed. > > Philipp OK for me. Borut |
From: Philipp K. K. <pk...@sp...> - 2012-06-21 14:11:25
|
Am 21.06.2012 15:50, schrieb Borut Ražem: > On 21. 06. 2012 14:50, Philipp Klaus Krause wrote: >> In gen.c, commitPair(), line 2820, a pair is stored to the stack using >> the ex (sp), hl or ex (sp), iy instruction. However the pair is not >> marked as spilt, which can result in code generation for later iCodes to >> falsely assume that the pair still contains the old value. >> >> I noticed this bug while working on the smallopts branch, and already >> fixed it there, but would like to fix it in trunk before the release. >> This fix only affects the z80-related ports. It is unlikely to result in >> further bugs, since since a spilt pair is just reloaded with the desired >> value where needed. >> >> Philipp > > OK for me. How about the simulator bug fixed by Lee in the smallopts beranch, that I asked about in "Re: [sdcc-devel] rl de Rabbit problem?" from Thu, 21 Jun 2012 10:48:16 +0200? Philipp |
From: Borut R. <bor...@gm...> - 2012-06-21 15:03:19
|
On Thu, Jun 21, 2012 at 4:11 PM, Philipp Klaus Krause <pk...@sp...> wrote: > Am 21.06.2012 15:50, schrieb Borut Ražem: > > On 21. 06. 2012 14:50, Philipp Klaus Krause wrote: > >> In gen.c, commitPair(), line 2820, a pair is stored to the stack using > >> the ex (sp), hl or ex (sp), iy instruction. However the pair is not > >> marked as spilt, which can result in code generation for later iCodes to > >> falsely assume that the pair still contains the old value. > >> > >> I noticed this bug while working on the smallopts branch, and already > >> fixed it there, but would like to fix it in trunk before the release. > >> This fix only affects the z80-related ports. It is unlikely to result in > >> further bugs, since since a spilt pair is just reloaded with the desired > >> value where needed. > >> > >> Philipp > > > > OK for me. > > How about the simulator bug fixed by Lee in the smallopts beranch, that > I asked about in "Re: [sdcc-devel] rl de Rabbit problem?" from Thu, 21 > Jun 2012 10:48:16 +0200? > > OK too. Borut |