mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 15:29:14 +02:00
* small optimisation for r14449: check whether the routine is a pure
assembler routine before checking whether an identifier may represent a register parameter, instead of afterwards git-svn-id: trunk@14843 -
This commit is contained in:
parent
30406d3a14
commit
f90768ed6a
@ -230,11 +230,12 @@ Unit Rax86int;
|
|||||||
begin
|
begin
|
||||||
is_register:=false;
|
is_register:=false;
|
||||||
actasmregister:=masm_regnum_search(lower(s));
|
actasmregister:=masm_regnum_search(lower(s));
|
||||||
if (actasmregister=NR_NO) and (current_procinfo.procdef.proccalloption=pocall_register) then
|
if (actasmregister=NR_NO) and
|
||||||
|
(current_procinfo.procdef.proccalloption=pocall_register) and
|
||||||
|
(po_assembler in current_procinfo.procdef.procoptions) then
|
||||||
begin
|
begin
|
||||||
entry := current_procinfo.procdef.parast.Find(s);
|
entry:=current_procinfo.procdef.parast.Find(s);
|
||||||
if assigned(entry) and
|
if assigned(entry) and
|
||||||
(po_assembler in current_procinfo.procdef.procoptions) and
|
|
||||||
(entry.typ=paravarsym) and
|
(entry.typ=paravarsym) and
|
||||||
assigned(tparavarsym(entry).paraloc[calleeside].Location) and
|
assigned(tparavarsym(entry).paraloc[calleeside].Location) and
|
||||||
(tparavarsym(entry).paraloc[calleeside].Location^.Loc=LOC_REGISTER) then
|
(tparavarsym(entry).paraloc[calleeside].Location^.Loc=LOC_REGISTER) then
|
||||||
|
Loading…
Reference in New Issue
Block a user