Skip to content

Commit 9ae5735

Browse files
committed
gas64 : fixing a bug due to freeing registers too quickly...... (previous commit in memcopy)
1 parent 7a00dfc commit 9ae5735

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/compiler/ir-gas64.bas

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1753,9 +1753,6 @@ private sub memcopy(byval bytestoclear as Integer,byref src as string, byref dst
17531753
end if
17541754
end if
17551755

1756-
if regsrc<>src then reghandle(rsrc)=KREGFREE :asm_info("hidden freeing register="+*regstrq(rsrc))''free registers
1757-
if regdst<>dst then reghandle(rdst)=KREGFREE :asm_info("hidden freeing register="+*regstrq(rdst))
1758-
17591756
nb8=nbbytes\8
17601757

17611758
''copy by 8 bytes step
@@ -1817,6 +1814,10 @@ private sub memcopy(byval bytestoclear as Integer,byref src as string, byref dst
18171814
asm_code("mov al, byte ptr ["+regsrc+"]")
18181815
asm_code("mov byte ptr ["+regdst+"], al")
18191816
end if
1817+
1818+
if regsrc<>src then reghandle(rsrc)=KREGFREE :asm_info("hidden freeing register="+*regstrq(rsrc))''free registers
1819+
if regdst<>dst then reghandle(rdst)=KREGFREE :asm_info("hidden freeing register="+*regstrq(rdst))
1820+
18201821
end sub
18211822

18221823
private sub _init( )

0 commit comments

Comments
 (0)