mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-08 04:06:00 +02:00
* fixed register allocation for threadvar loads with newra
This commit is contained in:
parent
4e7fac9e7e
commit
3bbea08997
@ -151,15 +151,13 @@ implementation
|
||||
{$endif}
|
||||
reference_reset_symbol(href,objectlibrary.newasmsymboldata(tvarsym(symtableentry).mangledname),0);
|
||||
cg.a_param_ref(exprasmlist,OS_ADDR,href,paramanager.getintparaloc(exprasmlist,1));
|
||||
{$ifdef newra}
|
||||
rg.ungetregisterint(exprasmlist,hregister);
|
||||
r:=rg.getexplicitregisterint(exprasmlist,NR_FUNCTION_RESULT_REG);
|
||||
{$endif}
|
||||
{ the called procedure isn't allowed to change }
|
||||
{ any register except EAX }
|
||||
cg.a_call_reg(exprasmlist,hregister);
|
||||
paramanager.freeintparaloc(exprasmlist,1);
|
||||
{$ifdef newra}
|
||||
rg.ungetregisterint(exprasmlist,hregister);
|
||||
r:=rg.getexplicitregisterint(exprasmlist,NR_FUNCTION_RESULT_REG);
|
||||
rg.ungetregisterint(exprasmlist,r);
|
||||
hregister:=rg.getregisterint(exprasmlist,OS_ADDR);
|
||||
{$else}
|
||||
@ -953,7 +951,10 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.71 2003-06-13 21:19:30 peter
|
||||
Revision 1.72 2003-06-15 15:13:12 jonas
|
||||
* fixed register allocation for threadvar loads with newra
|
||||
|
||||
Revision 1.71 2003/06/13 21:19:30 peter
|
||||
* current_procdef removed, use current_procinfo.procdef instead
|
||||
|
||||
Revision 1.70 2003/06/12 16:43:07 peter
|
||||
|
Loading…
Reference in New Issue
Block a user