* make the size parameter of thlcgobj.location_force_mmregscalar() a

var-parameter, as the size sometimes gets changed in this routine and
    high level code generators don't use the location.size but the def

git-svn-id: trunk@40633 -
This commit is contained in:
Jonas Maebe 2018-12-24 22:10:02 +00:00
parent f3d831b480
commit 377d4e1b58
2 changed files with 5 additions and 4 deletions

View File

@ -304,7 +304,7 @@ unit hlcg2ll;
procedure location_force_reg(list:TAsmList;var l:tlocation;src_size,dst_size:tdef;maybeconst:boolean);override;
procedure location_force_mem(list:TAsmList;var l:tlocation;size:tdef);override;
procedure location_force_mmregscalar(list:TAsmList;var l: tlocation;size:tdef;maybeconst:boolean);override;
procedure location_force_mmregscalar(list:TAsmList;var l: tlocation;var size:tdef;maybeconst:boolean);override;
// procedure location_force_mmreg(list:TAsmList;var l: tlocation;size:tdef;maybeconst:boolean);override;
procedure maketojumpboollabels(list: TAsmList; p: tnode; truelabel, falselabel: tasmlabel); override;
@ -1250,7 +1250,7 @@ implementation
end;
end;
procedure thlcg2ll.location_force_mmregscalar(list: TAsmList; var l: tlocation; size: tdef; maybeconst: boolean);
procedure thlcg2ll.location_force_mmregscalar(list: TAsmList; var l: tlocation; var size: tdef; maybeconst: boolean);
var
reg : tregister;
href : treference;

View File

@ -575,7 +575,7 @@ unit hlcgobj;
procedure location_force_reg(list:TAsmList;var l:tlocation;src_size,dst_size:tdef;maybeconst:boolean);virtual;
procedure location_force_fpureg(list:TAsmList;var l: tlocation;size: tdef;maybeconst:boolean);virtual;
procedure location_force_mem(list:TAsmList;var l:tlocation;size:tdef);virtual;
procedure location_force_mmregscalar(list:TAsmList;var l: tlocation;size:tdef;maybeconst:boolean);virtual;
procedure location_force_mmregscalar(list:TAsmList;var l: tlocation;var size:tdef;maybeconst:boolean);virtual;
// procedure location_force_mmreg(list:TAsmList;var l: tlocation;size:tdef;maybeconst:boolean);virtual;abstract;
{ Retrieve the location of the data pointed to in location l, when the location is
@ -4100,7 +4100,7 @@ implementation
end;
end;
procedure thlcgobj.location_force_mmregscalar(list: TAsmList; var l: tlocation; size: tdef; maybeconst: boolean);
procedure thlcgobj.location_force_mmregscalar(list: TAsmList; var l: tlocation; var size: tdef; maybeconst: boolean);
var
reg : tregister;
href : treference;
@ -4145,6 +4145,7 @@ implementation
l.size:=def_cgsize(newsize);
location_freetemp(list,l);
location_reset(l,LOC_MMREGISTER,l.size);
size:=newsize;
l.register:=reg;
end;
end;