mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 22:06:40 +02:00
* Fixed bug in register preservation tracking
This commit is contained in:
parent
6453af40d8
commit
5cdef8050b
@ -2729,8 +2729,8 @@ implementation
|
|||||||
begin
|
begin
|
||||||
a_load_reg_ref(list,OS_ADDR,OS_ADDR,newreg(R_INTREGISTER,regs_to_save_int[r],R_SUBWHOLE),href);
|
a_load_reg_ref(list,OS_ADDR,OS_ADDR,newreg(R_INTREGISTER,regs_to_save_int[r],R_SUBWHOLE),href);
|
||||||
inc(href.offset,sizeof(aint));
|
inc(href.offset,sizeof(aint));
|
||||||
|
include(rg[R_INTREGISTER].preserved_by_proc,regs_to_save_int[r]);
|
||||||
end;
|
end;
|
||||||
include(rg[R_INTREGISTER].preserved_by_proc,regs_to_save_int[r]);
|
|
||||||
end;
|
end;
|
||||||
current_procinfo.saved_regs_int := rg[R_INTREGISTER].preserved_by_proc;
|
current_procinfo.saved_regs_int := rg[R_INTREGISTER].preserved_by_proc;
|
||||||
|
|
||||||
@ -2742,8 +2742,8 @@ implementation
|
|||||||
begin
|
begin
|
||||||
a_load_reg_ref(list,OS_ADDR,OS_ADDR,newreg(R_ADDRESSREGISTER,regs_to_save_address[r],R_SUBWHOLE),href);
|
a_load_reg_ref(list,OS_ADDR,OS_ADDR,newreg(R_ADDRESSREGISTER,regs_to_save_address[r],R_SUBWHOLE),href);
|
||||||
inc(href.offset,sizeof(aint));
|
inc(href.offset,sizeof(aint));
|
||||||
|
include(rg[R_ADDRESSREGISTER].preserved_by_proc,regs_to_save_address[r]);
|
||||||
end;
|
end;
|
||||||
include(rg[R_ADDRESSREGISTER].preserved_by_proc,regs_to_save_address[r]);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
current_procinfo.saved_regs_mm := rg[R_MMREGISTER].preserved_by_proc;
|
current_procinfo.saved_regs_mm := rg[R_MMREGISTER].preserved_by_proc;
|
||||||
@ -2766,8 +2766,8 @@ implementation
|
|||||||
begin
|
begin
|
||||||
a_loadmm_reg_ref(list,OS_VECTOR,OS_VECTOR,newreg(R_MMREGISTER,regs_to_save_mm[r],R_SUBMMWHOLE),href,nil);
|
a_loadmm_reg_ref(list,OS_VECTOR,OS_VECTOR,newreg(R_MMREGISTER,regs_to_save_mm[r],R_SUBMMWHOLE),href,nil);
|
||||||
inc(href.offset,tcgsize2size[OS_VECTOR]);
|
inc(href.offset,tcgsize2size[OS_VECTOR]);
|
||||||
|
include(rg[R_MMREGISTER].preserved_by_proc,regs_to_save_mm[r]);
|
||||||
end;
|
end;
|
||||||
include(rg[R_MMREGISTER].preserved_by_proc,regs_to_save_mm[r]);
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user