mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 07:39:25 +02:00
x86: It is more optimal to push some register (NR_FRAME_POINTER_REG) instead of a constant value in a_load_undefined_cgpara().
git-svn-id: trunk@46521 -
This commit is contained in:
parent
e28fca9729
commit
0a34a090e0
@ -43,6 +43,8 @@ interface
|
||||
protected
|
||||
procedure gen_load_uninitialized_function_result(list: TAsmList; pd: tprocdef; resdef: tdef; const resloc: tcgpara); override;
|
||||
procedure a_jmp_external_name(list: TAsmList; const externalname: TSymStr); override;
|
||||
public
|
||||
procedure a_load_undefined_cgpara(list: TAsmList; size: tdef; const cgpara: TCGPara); override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
@ -89,4 +91,14 @@ implementation
|
||||
list.concat(taicpu.op_ref(A_JMP,S_NO,ref));
|
||||
end;
|
||||
|
||||
|
||||
procedure thlcgx86.a_load_undefined_cgpara(list: TAsmList; size: tdef; const cgpara: TCGPara);
|
||||
begin
|
||||
if not (cgpara.Location^.Loc in [LOC_REGISTER,LOC_CREGISTER]) and
|
||||
(cgpara.size=OS_ADDR) then
|
||||
a_load_reg_cgpara(list,size,NR_FRAME_POINTER_REG,cgpara)
|
||||
else
|
||||
inherited;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user