diff --git a/compiler/aarch64/cgcpu.pas b/compiler/aarch64/cgcpu.pas index 4f1225dfc5..7c41ed645c 100644 --- a/compiler/aarch64/cgcpu.pas +++ b/compiler/aarch64/cgcpu.pas @@ -1800,9 +1800,9 @@ implementation paraloc1.init; paraloc2.init; paraloc3.init; - paramanager.getintparaloc(list,pd,1,paraloc1); - paramanager.getintparaloc(list,pd,2,paraloc2); - paramanager.getintparaloc(list,pd,3,paraloc3); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,2,paraloc2); + paramanager.getcgtempparaloc(list,pd,3,paraloc3); a_load_const_cgpara(list,OS_SINT,len,paraloc3); a_loadaddr_ref_cgpara(list,dest,paraloc2); a_loadaddr_ref_cgpara(list,source,paraloc1); diff --git a/compiler/arm/cgcpu.pas b/compiler/arm/cgcpu.pas index f1ab4b0530..26d7039bb1 100644 --- a/compiler/arm/cgcpu.pas +++ b/compiler/arm/cgcpu.pas @@ -2611,9 +2611,9 @@ unit cgcpu; paraloc1.init; paraloc2.init; paraloc3.init; - paramanager.getintparaloc(list,pd,1,paraloc1); - paramanager.getintparaloc(list,pd,2,paraloc2); - paramanager.getintparaloc(list,pd,3,paraloc3); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,2,paraloc2); + paramanager.getcgtempparaloc(list,pd,3,paraloc3); a_load_const_cgpara(list,OS_SINT,len,paraloc3); a_loadaddr_ref_cgpara(list,dest,paraloc2); a_loadaddr_ref_cgpara(list,source,paraloc1); diff --git a/compiler/arm/cpupara.pas b/compiler/arm/cpupara.pas index 519dc09b03..f341e76b75 100644 --- a/compiler/arm/cpupara.pas +++ b/compiler/arm/cpupara.pas @@ -40,7 +40,7 @@ unit cpupara; function get_saved_registers_int(calloption : tproccalloption):tcpuregisterarray;override; function push_addr_param(varspez:tvarspez;def : tdef;calloption : tproccalloption) : boolean;override; function ret_in_param(def:tdef;pd:tabstractprocdef):boolean;override; - procedure getintparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);override; + procedure getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);override; function create_paraloc_info(p : tabstractprocdef; side: tcallercallee):longint;override; function create_varargs_paraloc_info(p : tabstractprocdef; side: tcallercallee; varargspara:tvarargsparalist):longint;override; function get_funcretloc(p : tabstractprocdef; side: tcallercallee; forcetempdef: tdef): tcgpara;override; @@ -94,7 +94,7 @@ unit cpupara; end; - procedure tcpuparamanager.getintparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara); + procedure tcpuparamanager.getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara); var paraloc : pcgparalocation; psym : tparavarsym; diff --git a/compiler/avr/cgcpu.pas b/compiler/avr/cgcpu.pas index 27697a3775..3006d29c9b 100644 --- a/compiler/avr/cgcpu.pas +++ b/compiler/avr/cgcpu.pas @@ -2101,8 +2101,8 @@ unit cgcpu; pd:=search_system_proc(name); paraloc1.init; paraloc2.init; - paramanager.getintparaloc(list,pd,1,paraloc1); - paramanager.getintparaloc(list,pd,2,paraloc2); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,2,paraloc2); a_load_reg_cgpara(list,OS_8,src1,paraloc2); a_load_reg_cgpara(list,OS_8,src2,paraloc1); paramanager.freecgpara(list,paraloc2); @@ -2198,8 +2198,8 @@ unit cgcpu; pd:=search_system_proc(name); paraloc1.init; paraloc2.init; - paramanager.getintparaloc(list,pd,1,paraloc1); - paramanager.getintparaloc(list,pd,2,paraloc2); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,2,paraloc2); a_load_reg_cgpara(list,OS_16,src1,paraloc2); a_load_reg_cgpara(list,OS_16,src2,paraloc1); paramanager.freecgpara(list,paraloc2); @@ -2445,9 +2445,9 @@ unit cgcpu; paraloc1.init; paraloc2.init; paraloc3.init; - paramanager.getintparaloc(list,pd,1,paraloc1); - paramanager.getintparaloc(list,pd,2,paraloc2); - paramanager.getintparaloc(list,pd,3,paraloc3); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,2,paraloc2); + paramanager.getcgtempparaloc(list,pd,3,paraloc3); a_load_const_cgpara(list,OS_SINT,len,paraloc3); a_loadaddr_ref_cgpara(list,dest,paraloc2); a_loadaddr_ref_cgpara(list,source,paraloc1); diff --git a/compiler/cgexcept.pas b/compiler/cgexcept.pas index 7c06004212..4ad5a86dc1 100644 --- a/compiler/cgexcept.pas +++ b/compiler/cgexcept.pas @@ -162,9 +162,9 @@ unit cgexcept; { fpc_pushexceptaddr(exceptionframetype, setjmp_buffer, exception_address_chain_entry) } pd:=search_system_proc('fpc_pushexceptaddr'); - paramanager.getintparaloc(list,pd,1,paraloc1); - paramanager.getintparaloc(list,pd,2,paraloc2); - paramanager.getintparaloc(list,pd,3,paraloc3); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,2,paraloc2); + paramanager.getcgtempparaloc(list,pd,3,paraloc3); if pd.is_pushleftright then begin { type of exceptionframe } @@ -197,7 +197,7 @@ unit cgexcept; { fpc_setjmp(result_of_pushexceptaddr_call) } pd:=search_system_proc('fpc_setjmp'); - paramanager.getintparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); hlcg.a_load_reg_cgpara(list,pushexceptres.def,tmpresloc.register,paraloc1); paramanager.freecgpara(list,paraloc1); @@ -302,7 +302,7 @@ unit cgexcept; reference_reset_symbol(href2, current_asmdata.RefAsmSymbol(excepttype.vmt_mangledname, AT_DATA, indirect), 0, sizeof(pint), []); if otherunit then current_module.add_extern_asmsym(excepttype.vmt_mangledname, AB_EXTERNAL, AT_DATA); - paramanager.getintparaloc(list, pd, 1, paraloc1); + paramanager.getcgtempparaloc(list, pd, 1, paraloc1); hlcg.a_loadaddr_ref_cgpara(list, excepttype.vmt_def, href2, paraloc1); paramanager.freecgpara(list, paraloc1); fpc_catches_res:=hlcg.g_call_system_proc(list, pd, [@paraloc1], nil); diff --git a/compiler/hlcgobj.pas b/compiler/hlcgobj.pas index 628915eae0..1b06c0cd4a 100644 --- a/compiler/hlcgobj.pas +++ b/compiler/hlcgobj.pas @@ -3296,7 +3296,7 @@ implementation current_asmdata.getjumplabel(oklabel); a_cmp_const_reg_label(list,selftype,OC_NE,0,reg,oklabel); cgpara1.init; - paramanager.getintparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); a_load_const_cgpara(list,s32inttype,aint(210),cgpara1); paramanager.freecgpara(list,cgpara1); g_call_system_proc(list,pd,[@cgpara1],nil).resetiftemp; @@ -3329,9 +3329,9 @@ implementation cgpara1.init; cgpara2.init; cgpara3.init; - paramanager.getintparaloc(list,pd,1,cgpara1); - paramanager.getintparaloc(list,pd,2,cgpara2); - paramanager.getintparaloc(list,pd,3,cgpara3); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,2,cgpara2); + paramanager.getcgtempparaloc(list,pd,3,cgpara3); if pd.is_pushleftright then begin a_loadaddr_ref_cgpara(list,strdef,dest,cgpara1); @@ -3361,8 +3361,8 @@ implementation pd:=search_system_proc('fpc_variant_copy_overwrite'); cgpara1.init; cgpara2.init; - paramanager.getintparaloc(list,pd,1,cgpara1); - paramanager.getintparaloc(list,pd,2,cgpara2); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,2,cgpara2); if pd.is_pushleftright then begin a_loadaddr_ref_cgpara(list,vardef,source,cgpara1); @@ -3405,7 +3405,7 @@ implementation if incrfunc<>'' then begin pd:=search_system_proc(incrfunc); - paramanager.getintparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); { widestrings aren't ref. counted on all platforms so we need the address to create a real copy } if is_widestring(t) then @@ -3419,8 +3419,8 @@ implementation else begin pd:=search_system_proc('fpc_addref'); - paramanager.getintparaloc(list,pd,1,cgpara1); - paramanager.getintparaloc(list,pd,2,cgpara2); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,2,cgpara2); if is_open_array(t) then InternalError(201103054); reference_reset_symbol(href,RTTIWriter.get_rtti_label(t,initrtti,def_needs_indirect(t)),0,sizeof(pint),[]); @@ -3459,7 +3459,7 @@ implementation else if t.typ=variantdef then begin pd:=search_system_proc('fpc_variant_init'); - paramanager.getintparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); a_loadaddr_ref_cgpara(list,t,ref,cgpara1); paramanager.freecgpara(list,cgpara1); g_call_system_proc(list,pd,[@cgpara1],nil).resetiftemp; @@ -3469,8 +3469,8 @@ implementation if is_open_array(t) then InternalError(201103052); pd:=search_system_proc('fpc_initialize'); - paramanager.getintparaloc(list,pd,1,cgpara1); - paramanager.getintparaloc(list,pd,2,cgpara2); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,2,cgpara2); reference_reset_symbol(href,RTTIWriter.get_rtti_label(t,initrtti,def_needs_indirect(t)),0,sizeof(pint),[]); if pd.is_pushleftright then begin @@ -3519,8 +3519,8 @@ implementation pd:=search_system_proc('fpc_dynarray_clear') else pd:=search_system_proc('fpc_finalize'); - paramanager.getintparaloc(list,pd,1,cgpara1); - paramanager.getintparaloc(list,pd,2,cgpara2); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,2,cgpara2); reference_reset_symbol(href,RTTIWriter.get_rtti_label(t,initrtti,def_needs_indirect(t)),0,sizeof(pint),[]); if pd.is_pushleftright then begin @@ -3541,7 +3541,7 @@ implementation end; pd:=search_system_proc(decrfunc); cgpara1.init; - paramanager.getintparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); a_loadaddr_ref_cgpara(list,t,ref,cgpara1); paramanager.freecgpara(list,cgpara1); g_call_system_proc(list,pd,[@cgpara1],nil).resetiftemp; @@ -3559,9 +3559,9 @@ implementation cgpara2.init; cgpara3.init; pd:=search_system_proc(name); - paramanager.getintparaloc(list,pd,1,cgpara1); - paramanager.getintparaloc(list,pd,2,cgpara2); - paramanager.getintparaloc(list,pd,3,cgpara3); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,2,cgpara2); + paramanager.getcgtempparaloc(list,pd,3,cgpara3); reference_reset_symbol(href,RTTIWriter.get_rtti_label(t,initrtti,def_needs_indirect(t)),0,sizeof(pint),[]); { if calling convention is left to right, push parameters 1 and 2 } @@ -3857,7 +3857,7 @@ implementation { do getmem call } pd:=search_system_proc('fpc_getmem'); cgpara1.init; - paramanager.getintparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); a_load_reg_cgpara(list,sinttype,sizereg,cgpara1); paramanager.freecgpara(list,cgpara1); getmemres:=g_call_system_proc(list,pd,[@cgpara1],ptrarrdef); @@ -3872,9 +3872,9 @@ implementation cgpara1.init; cgpara2.init; cgpara3.init; - paramanager.getintparaloc(list,pd,1,cgpara1); - paramanager.getintparaloc(list,pd,2,cgpara2); - paramanager.getintparaloc(list,pd,3,cgpara3); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,2,cgpara2); + paramanager.getcgtempparaloc(list,pd,3,cgpara3); if pd.is_pushleftright then begin { load source } @@ -3911,7 +3911,7 @@ implementation { do freemem call } pd:=search_system_proc('fpc_freemem'); cgpara1.init; - paramanager.getintparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); { load source } a_load_loc_cgpara(list,cpointerdef.getreusable(arrdef),l,cgpara1); paramanager.freecgpara(list,cgpara1); @@ -5367,7 +5367,7 @@ implementation begin pd:=search_system_proc('fpc_stackcheck'); paraloc1.init; - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); hlcg.a_load_const_cgpara(list,paraloc1.def,current_procinfo.calc_stackframe_size,paraloc1); paramanager.freecgpara(list,paraloc1); paraloc1.done; @@ -5382,7 +5382,7 @@ implementation paraloc1.init; { The parameter to fpc_stackcheck is loaded seperately via gen_stack_check_size_para() } - paramanager.getintparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); paramanager.freecgpara(list,paraloc1); { Call the helper } g_call_system_proc(list,pd,[@paraloc1],nil).resetiftemp; diff --git a/compiler/i8086/cpupara.pas b/compiler/i8086/cpupara.pas index b4a27758f1..992b93716b 100644 --- a/compiler/i8086/cpupara.pas +++ b/compiler/i8086/cpupara.pas @@ -53,7 +53,7 @@ unit cpupara; other memory models, this mechanism has to be extended somehow to support 32-bit addresses on a 16-bit CPU. } - procedure getintparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);override; + procedure getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);override; function create_paraloc_info(p : tabstractprocdef; side: tcallercallee):longint;override; function create_varargs_paraloc_info(p : tabstractprocdef; side: tcallercallee; varargspara:tvarargsparalist):longint;override; procedure createtempparaloc(list: TAsmList;calloption : tproccalloption;parasym : tparavarsym;can_use_final_stack_loc : boolean;var cgpara:TCGPara);override; @@ -256,7 +256,7 @@ unit cpupara; end; - procedure tcpuparamanager.getintparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara); + procedure tcpuparamanager.getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara); var paraloc : pcgparalocation; psym: tparavarsym; diff --git a/compiler/i8086/n8086ld.pas b/compiler/i8086/n8086ld.pas index 775f6d7324..7a047a9d2f 100644 --- a/compiler/i8086/n8086ld.pas +++ b/compiler/i8086/n8086ld.pas @@ -136,7 +136,7 @@ implementation if pvd.typ<>procvardef then internalerror(2012120901); paraloc1.init; - paramanager.getintparaloc(current_asmdata.CurrAsmList,tprocvardef(pvd),1,paraloc1); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,tprocvardef(pvd),1,paraloc1); hregister:=hlcg.getaddressregister(current_asmdata.CurrAsmList,pvd); segreg:=cg.getintregister(current_asmdata.CurrAsmList,OS_16); reference_reset_symbol(segref,current_asmdata.RefAsmSymbol('FPC_THREADVAR_RELOCATE',AT_DATA),0,pvd.alignment,[]); diff --git a/compiler/i8086/n8086mem.pas b/compiler/i8086/n8086mem.pas index 77c78e5306..d14d682998 100644 --- a/compiler/i8086/n8086mem.pas +++ b/compiler/i8086/n8086mem.pas @@ -168,7 +168,7 @@ implementation internalerror(2012010601); pd:=tprocdef(tprocsym(sym).ProcdefList[0]); paraloc1.init; - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); hlcg.a_loadaddr_ref_cgpara(current_asmdata.CurrAsmList,resultdef,location.reference,paraloc1); paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1); paraloc1.done; diff --git a/compiler/jvm/cpupara.pas b/compiler/jvm/cpupara.pas index b72853a34b..1a83edf320 100644 --- a/compiler/jvm/cpupara.pas +++ b/compiler/jvm/cpupara.pas @@ -44,7 +44,7 @@ interface {Returns a structure giving the information on the storage of the parameter (which must be an integer parameter) @param(nr Parameter number of routine, starting from 1)} - procedure getintparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);override; + procedure getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);override; function create_paraloc_info(p : TAbstractProcDef; side: tcallercallee):longint;override; function create_varargs_paraloc_info(p : tabstractprocdef; side: tcallercallee; varargspara:tvarargsparalist):longint;override; function get_funcretloc(p : tabstractprocdef; side: tcallercallee; forcetempdef: tdef): tcgpara;override; @@ -65,7 +65,7 @@ implementation hlcgobj; - procedure tcpuparamanager.GetIntParaLoc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara); + procedure tcpuparamanager.getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara); begin { not yet implemented/used } internalerror(2010121001); diff --git a/compiler/llvm/hlcgllvm.pas b/compiler/llvm/hlcgllvm.pas index 46a51156dd..b57d604d4e 100644 --- a/compiler/llvm/hlcgllvm.pas +++ b/compiler/llvm/hlcgllvm.pas @@ -1175,19 +1175,19 @@ implementation sizepara.init; alignpara.init; volatilepara.init; - paramanager.getintparaloc(list,pd,1,destpara); - paramanager.getintparaloc(list,pd,2,sourcepara); - paramanager.getintparaloc(list,pd,3,sizepara); + paramanager.getcgtempparaloc(list,pd,1,destpara); + paramanager.getcgtempparaloc(list,pd,2,sourcepara); + paramanager.getcgtempparaloc(list,pd,3,sizepara); if indivalign then begin - paramanager.getintparaloc(list,pd,4,volatilepara); + paramanager.getcgtempparaloc(list,pd,4,volatilepara); destpara.Alignment:=-dest.alignment; sourcepara.Alignment:=-source.alignment; end else begin - paramanager.getintparaloc(list,pd,4,alignpara); - paramanager.getintparaloc(list,pd,5,volatilepara); + paramanager.getcgtempparaloc(list,pd,4,alignpara); + paramanager.getcgtempparaloc(list,pd,5,volatilepara); maxalign:=newalignment(max(source.alignment,dest.alignment),min(source.alignment,dest.alignment)); a_load_const_cgpara(list,u32inttype,maxalign,alignpara); end; diff --git a/compiler/llvm/llvmpara.pas b/compiler/llvm/llvmpara.pas index 3034deff54..9e2e06728e 100644 --- a/compiler/llvm/llvmpara.pas +++ b/compiler/llvm/llvmpara.pas @@ -45,7 +45,7 @@ unit llvmpara; architecture-specific code, or whether we will have to integrate parts into the various tcpuparamanager classes } tllvmparamanager = class(tcpuparamanager) - procedure getintparaloc(list: TAsmList; pd: tabstractprocdef; nr: longint; var cgpara: tcgpara); override; + procedure getcgtempparaloc(list: TAsmList; pd: tabstractprocdef; nr: longint; var cgpara: tcgpara); override; function param_use_paraloc(const cgpara: tcgpara): boolean; override; procedure createtempparaloc(list: TAsmList; calloption: tproccalloption; parasym: tparavarsym; can_use_final_stack_loc: boolean; var cgpara: TCGPara); override; function create_paraloc_info(p: tabstractprocdef; side: tcallercallee): longint; override; @@ -71,7 +71,7 @@ unit llvmpara; { tllvmparamanager } - procedure tllvmparamanager.getintparaloc(list: TAsmList; pd: tabstractprocdef; nr: longint; var cgpara: tcgpara); + procedure tllvmparamanager.getcgtempparaloc(list: TAsmList; pd: tabstractprocdef; nr: longint; var cgpara: tcgpara); begin if (nr<1) or (nr>pd.paras.count) then InternalError(2015040401); diff --git a/compiler/llvm/llvmpi.pas b/compiler/llvm/llvmpi.pas index ce90a689de..aafcf044a2 100644 --- a/compiler/llvm/llvmpi.pas +++ b/compiler/llvm/llvmpi.pas @@ -321,7 +321,7 @@ implementation landingpadtypeiddef:=tfieldvarsym(trecorddef(landingpadstructdef).symtable.symlist[1]).vardef; exceptiontypeidreg:=hlcg.getaddressregister(list,landingpadtypeiddef); pd:=search_system_proc('llvm_eh_typeid_for'); - paramanager.getintparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); reference_reset_symbol(rttiref,rttisym,0,rttidef.alignment,[]); rttiref.refaddr:=addr_full; hlcg.a_load_ref_cgpara(list,cpointerdef.getreusable(rttidef),rttiref,paraloc1); @@ -341,7 +341,7 @@ implementation list.concat(taillvm.extract(la_extractvalue,wrappedexception,landingpadstructdef,landingpadres,0)); pd:=search_system_proc('fpc_psabi_begin_catch'); - paramanager.getintparaloc(list, pd, 1, paraloc1); + paramanager.getcgtempparaloc(list, pd, 1, paraloc1); hlcg.a_load_reg_cgpara(list,voidpointertype,wrappedexception,paraloc1); begincatchres:=hlcg.g_call_system_proc(list,pd,[@paraloc1],nil); location_reset(exceptloc, LOC_REGISTER, def_cgsize(begincatchres.def)); diff --git a/compiler/llvm/tgllvm.pas b/compiler/llvm/tgllvm.pas index d4bee2d3ec..ff30fa07b0 100644 --- a/compiler/llvm/tgllvm.pas +++ b/compiler/llvm/tgllvm.pas @@ -159,8 +159,8 @@ implementation sizepara.init; ptrpara.init; pd:=search_system_proc(procname); - paramanager.getintparaloc(list,pd,1,sizepara); - paramanager.getintparaloc(list,pd,2,ptrpara); + paramanager.getcgtempparaloc(list,pd,1,sizepara); + paramanager.getcgtempparaloc(list,pd,2,ptrpara); hlcg.a_load_const_cgpara(list,sizepara.def,temp^.size,sizepara); hlcg.a_loadaddr_ref_cgpara(list,temp^.def,ref,ptrpara); hlcg.g_call_system_proc(list,pd,[@sizepara,@ptrpara],nil).resetiftemp; diff --git a/compiler/m68k/cgcpu.pas b/compiler/m68k/cgcpu.pas index d33e8055ff..469c407c81 100644 --- a/compiler/m68k/cgcpu.pas +++ b/compiler/m68k/cgcpu.pas @@ -576,8 +576,8 @@ unit cgcpu; pd:=search_system_proc(name); paraloc1.init; paraloc2.init; - paramanager.getintparaloc(list,pd,1,paraloc1); - paramanager.getintparaloc(list,pd,2,paraloc2); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,2,paraloc2); a_load_const_cgpara(list,size,a,paraloc2); a_load_reg_cgpara(list,OS_32,reg,paraloc1); paramanager.freecgpara(list,paraloc2); @@ -600,8 +600,8 @@ unit cgcpu; pd:=search_system_proc(name); paraloc1.init; paraloc2.init; - paramanager.getintparaloc(list,pd,1,paraloc1); - paramanager.getintparaloc(list,pd,2,paraloc2); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,2,paraloc2); a_load_reg_cgpara(list,OS_32,reg1,paraloc2); a_load_reg_cgpara(list,OS_32,reg2,paraloc1); paramanager.freecgpara(list,paraloc2); diff --git a/compiler/mips/cgcpu.pas b/compiler/mips/cgcpu.pas index eae8c7db96..cfb2e450b3 100644 --- a/compiler/mips/cgcpu.pas +++ b/compiler/mips/cgcpu.pas @@ -1489,9 +1489,9 @@ begin paraloc1.init; paraloc2.init; paraloc3.init; - paramanager.getintparaloc(list, pd, 1, paraloc1); - paramanager.getintparaloc(list, pd, 2, paraloc2); - paramanager.getintparaloc(list, pd, 3, paraloc3); + paramanager.getcgtempparaloc(list, pd, 1, paraloc1); + paramanager.getcgtempparaloc(list, pd, 2, paraloc2); + paramanager.getcgtempparaloc(list, pd, 3, paraloc3); a_load_const_cgpara(list, OS_SINT, len, paraloc3); a_loadaddr_ref_cgpara(list, dest, paraloc2); a_loadaddr_ref_cgpara(list, Source, paraloc1); diff --git a/compiler/ncgcal.pas b/compiler/ncgcal.pas index 91b5223562..370629aea7 100644 --- a/compiler/ncgcal.pas +++ b/compiler/ncgcal.pas @@ -1267,7 +1267,7 @@ implementation pd:=search_system_proc('fpc_safecallcheck'); cgpara.init; { fpc_safecallcheck returns its parameter value (= function result of function we just called) } - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,cgpara); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,cgpara); location_reset(tmploc,LOC_REGISTER,def_cgsize(retloc.Def)); tmploc.register:=hlcg.getregisterfordef(current_asmdata.CurrAsmList,retloc.Def); hlcg.gen_load_cgpara_loc(current_asmdata.CurrAsmList,retloc.Def,retloc,tmploc,true); diff --git a/compiler/ncgflw.pas b/compiler/ncgflw.pas index 9b36666a11..e58b87a94d 100644 --- a/compiler/ncgflw.pas +++ b/compiler/ncgflw.pas @@ -888,7 +888,7 @@ implementation nil otherwise. } pd:=search_system_proc('fpc_safecallhandler'); cgpara.init; - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,cgpara); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,cgpara); if is_class(current_procinfo.procdef.struct) then begin selfsym:=tparavarsym(current_procinfo.procdef.parast.Find('self')); diff --git a/compiler/ncgld.pas b/compiler/ncgld.pas index cf6ec014a7..2a005fd7e4 100644 --- a/compiler/ncgld.pas +++ b/compiler/ncgld.pas @@ -336,7 +336,7 @@ implementation reference_reset_base(tvref,hreg_tv_rec,0,ctempposinvalid,tvref.alignment,tvref.volatility) end; paraloc1.init; - paramanager.getintparaloc(current_asmdata.CurrAsmList,tprocvardef(pvd),1,paraloc1); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,tprocvardef(pvd),1,paraloc1); hregister:=hlcg.getaddressregister(current_asmdata.CurrAsmList,pvd); reference_reset_symbol(href,current_asmdata.RefAsmSymbol('FPC_THREADVAR_RELOCATE',AT_DATA,indirect),0,pvd.alignment,[]); if not issystemunit then diff --git a/compiler/ncgmat.pas b/compiler/ncgmat.pas index cacb1d5469..1d7a1dc797 100644 --- a/compiler/ncgmat.pas +++ b/compiler/ncgmat.pas @@ -455,7 +455,7 @@ implementation cg.a_cmp_const_reg_label(current_asmdata.CurrAsmList,OS_INT,OC_NE,0,hdenom,hl); paraloc1.init; pd:=search_system_proc('fpc_handleerror'); - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); cg.a_load_const_cgpara(current_asmdata.CurrAsmList,OS_S32,aint(200),paraloc1); paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1); cg.a_call_name(current_asmdata.CurrAsmList,'FPC_HANDLEERROR',false); diff --git a/compiler/ncgmem.pas b/compiler/ncgmem.pas index c590e7463f..4dc3c563aa 100644 --- a/compiler/ncgmem.pas +++ b/compiler/ncgmem.pas @@ -306,7 +306,7 @@ implementation internalerror(2012010601); pd:=tprocdef(tprocsym(sym).ProcdefList[0]); paraloc1.init; - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); hlcg.a_loadaddr_ref_cgpara(current_asmdata.CurrAsmList,left.resultdef,location.reference,paraloc1); paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1); paraloc1.done; @@ -399,7 +399,7 @@ implementation (sym.typ<>procsym) then internalerror(2012010602); pd:=tprocdef(tprocsym(sym).ProcdefList[0]); - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); hlcg.a_loadaddr_ref_cgpara(current_asmdata.CurrAsmList,left.resultdef,location.reference,paraloc1); paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1); hlcg.allocallcpuregisters(current_asmdata.CurrAsmList); @@ -768,8 +768,8 @@ implementation if is_dynamic_array(left.resultdef) then begin pd:=search_system_proc('fpc_dynarray_rangecheck'); - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,2,paraloc2); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,2,paraloc2); if pd.is_pushleftright then begin hlcg.a_load_loc_cgpara(current_asmdata.CurrAsmList,left.resultdef,left.location,paraloc1); @@ -808,8 +808,8 @@ implementation begin helpername:='fpc_'+tstringdef(left.resultdef).stringtypname+'_rangecheck'; pd:=search_system_proc(helpername); - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,2,paraloc2); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,2,paraloc2); if pd.is_pushleftright then begin hlcg.a_load_loc_cgpara(current_asmdata.CurrAsmList,left.resultdef,left.location,paraloc1); diff --git a/compiler/paramgr.pas b/compiler/paramgr.pas index 7778ab9fdf..56482572d5 100644 --- a/compiler/paramgr.pas +++ b/compiler/paramgr.pas @@ -94,7 +94,9 @@ unit paramgr; function get_saved_registers_fpu(calloption : tproccalloption):tcpuregisterarray;virtual; function get_saved_registers_mm(calloption : tproccalloption):tcpuregisterarray;virtual; - procedure getintparaloc(list: TAsmList; pd: tabstractprocdef; nr : longint; var cgpara: tcgpara);virtual; + { \brief Get a parameter location for calling a procdef directly instead of via a call node } + { \returns parameter location in \c cgpara for parameter \c nr of \c pd } + procedure getcgtempparaloc(list: TAsmList; pd: tabstractprocdef; nr : longint; var cgpara: tcgpara);virtual; {# allocate an individual pcgparalocation that's part of a tcgpara @@ -746,7 +748,7 @@ implementation end; - procedure tparamanager.getintparaloc(list: TAsmList; pd: tabstractprocdef; nr : longint; var cgpara: tcgpara); + procedure tparamanager.getcgtempparaloc(list: TAsmList; pd: tabstractprocdef; nr : longint; var cgpara: tcgpara); begin if (nr<1) or (nr>pd.paras.count) then InternalError(2013060101); diff --git a/compiler/powerpc/cpupara.pas b/compiler/powerpc/cpupara.pas index b837a3aa0c..d7af448661 100644 --- a/compiler/powerpc/cpupara.pas +++ b/compiler/powerpc/cpupara.pas @@ -38,7 +38,7 @@ unit cpupara; function get_saved_registers_int(calloption : tproccalloption):tcpuregisterarray;override; function push_addr_param(varspez:tvarspez;def : tdef;calloption : tproccalloption) : boolean;override; - procedure getintparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);override; + procedure getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);override; function create_paraloc_info(p : tabstractprocdef; side: tcallercallee):longint;override; function create_varargs_paraloc_info(p : tabstractprocdef; side: tcallercallee; varargspara:tvarargsparalist):longint;override; function get_funcretloc(p : tabstractprocdef; side: tcallercallee; forcetempdef: tdef): tcgpara;override; @@ -91,7 +91,7 @@ unit cpupara; end; - procedure tcpuparamanager.getintparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara); + procedure tcpuparamanager.getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara); var paraloc : pcgparalocation; psym : tparavarsym; diff --git a/compiler/powerpc64/cpupara.pas b/compiler/powerpc64/cpupara.pas index 5cd123ec2f..3a09f33ff5 100644 --- a/compiler/powerpc64/cpupara.pas +++ b/compiler/powerpc64/cpupara.pas @@ -43,7 +43,7 @@ type tproccalloption): boolean; override; function ret_in_param(def: tdef; pd: tabstractprocdef): boolean; override; - procedure getintparaloc(list: TAsmList; pd : tabstractprocdef; nr: longint; var cgpara: tcgpara); override; + procedure getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr: longint; var cgpara: tcgpara); override; function create_paraloc_info(p: tabstractprocdef; side: tcallercallee): longint; override; function create_varargs_paraloc_info(p: tabstractprocdef; side: tcallercallee; varargspara: tvarargsparalist): longint; override; function get_funcretloc(p : tabstractprocdef; side: tcallercallee; forcetempdef: tdef): tcgpara;override; @@ -92,7 +92,7 @@ begin result:=saved_regs; end; -procedure tcpuparamanager.getintparaloc(list: TAsmList; pd : tabstractprocdef; nr: longint; var cgpara: tcgpara); +procedure tcpuparamanager.getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr: longint; var cgpara: tcgpara); var paraloc: pcgparalocation; psym: tparavarsym; diff --git a/compiler/ppcgen/cgppc.pas b/compiler/ppcgen/cgppc.pas index 6a40c46fc9..07ffe8ad8d 100644 --- a/compiler/ppcgen/cgppc.pas +++ b/compiler/ppcgen/cgppc.pas @@ -712,7 +712,7 @@ unit cgppc; begin pd:=search_system_proc('mcount'); paraloc1.init; - paramanager.getintparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); a_load_reg_cgpara(list,OS_ADDR,NR_R0,paraloc1); paramanager.freecgpara(list,paraloc1); paraloc1.done; diff --git a/compiler/psabiehpi.pas b/compiler/psabiehpi.pas index 48ba65650a..9886e47b44 100644 --- a/compiler/psabiehpi.pas +++ b/compiler/psabiehpi.pas @@ -642,7 +642,7 @@ implementation pd:=search_system_proc('_unwind_resume'); cgpara1.init; - paramanager.getintparaloc(list,pd,1,cgpara1); + paramanager.getcgtempparaloc(list,pd,1,cgpara1); hlcg.a_load_reg_cgpara(list,voidpointertype,t.unwind_info,cgpara1); paramanager.freecgpara(list,cgpara1); hlcg.g_call_system_proc(list,'_unwind_resume',[@cgpara1],nil).resetiftemp; @@ -741,7 +741,7 @@ implementation (current_procinfo as tpsabiehprocinfo).CurrentAction.AddAction(tobjectdef(-1)); pd:=search_system_proc('fpc_psabi_begin_catch'); - paramanager.getintparaloc(list, pd, 1, paraloc1); + paramanager.getcgtempparaloc(list, pd, 1, paraloc1); hlcg.a_load_reg_cgpara(list,voidpointertype,wrappedexception,paraloc1); begincatchres:=hlcg.g_call_system_proc(list,pd,[@paraloc1],nil); location_reset(exceptloc, LOC_REGISTER, def_cgsize(begincatchres.def)); diff --git a/compiler/riscv32/cgcpu.pas b/compiler/riscv32/cgcpu.pas index 06c167f955..6e99be75b6 100644 --- a/compiler/riscv32/cgcpu.pas +++ b/compiler/riscv32/cgcpu.pas @@ -315,9 +315,9 @@ unit cgcpu; paraloc1.init; paraloc2.init; paraloc3.init; - paramanager.getintparaloc(list, pd, 1, paraloc1); - paramanager.getintparaloc(list, pd, 2, paraloc2); - paramanager.getintparaloc(list, pd, 3, paraloc3); + paramanager.getcgtempparaloc(list, pd, 1, paraloc1); + paramanager.getcgtempparaloc(list, pd, 2, paraloc2); + paramanager.getcgtempparaloc(list, pd, 3, paraloc3); a_load_const_cgpara(list, OS_SINT, len, paraloc3); a_loadaddr_ref_cgpara(list, dest, paraloc2); a_loadaddr_ref_cgpara(list, Source, paraloc1); diff --git a/compiler/riscv32/cpupara.pas b/compiler/riscv32/cpupara.pas index ee8b12f2ba..e10802668c 100644 --- a/compiler/riscv32/cpupara.pas +++ b/compiler/riscv32/cpupara.pas @@ -37,7 +37,7 @@ unit cpupara; function get_volatile_registers_fpu(calloption : tproccalloption):tcpuregisterset;override; function push_addr_param(varspez:tvarspez;def : tdef;calloption : tproccalloption) : boolean;override; - procedure getintparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);override; + procedure getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);override; function create_paraloc_info(p : tabstractprocdef; side: tcallercallee):longint;override; function create_varargs_paraloc_info(p : tabstractprocdef; side: tcallercallee; varargspara:tvarargsparalist):longint;override; function get_funcretloc(p : tabstractprocdef; side: tcallercallee; forcetempdef: tdef): tcgpara;override; @@ -68,7 +68,7 @@ unit cpupara; end; - procedure tcpuparamanager.getintparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara); + procedure tcpuparamanager.getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr : longint; var cgpara : tcgpara); var paraloc : pcgparalocation; psym : tparavarsym; diff --git a/compiler/riscv64/cgcpu.pas b/compiler/riscv64/cgcpu.pas index cd973987f6..c0ca44b752 100644 --- a/compiler/riscv64/cgcpu.pas +++ b/compiler/riscv64/cgcpu.pas @@ -524,9 +524,9 @@ implementation paraloc1.init; paraloc2.init; paraloc3.init; - paramanager.getintparaloc(list, pd, 1, paraloc1); - paramanager.getintparaloc(list, pd, 2, paraloc2); - paramanager.getintparaloc(list, pd, 3, paraloc3); + paramanager.getcgtempparaloc(list, pd, 1, paraloc1); + paramanager.getcgtempparaloc(list, pd, 2, paraloc2); + paramanager.getcgtempparaloc(list, pd, 3, paraloc3); a_load_const_cgpara(list, OS_SINT, len, paraloc3); a_loadaddr_ref_cgpara(list, dest, paraloc2); a_loadaddr_ref_cgpara(list, Source, paraloc1); diff --git a/compiler/riscv64/cpupara.pas b/compiler/riscv64/cpupara.pas index 0e820259b7..caa866ba54 100644 --- a/compiler/riscv64/cpupara.pas +++ b/compiler/riscv64/cpupara.pas @@ -38,7 +38,7 @@ unit cpupara; function push_addr_param(varspez: tvarspez; def: tdef; calloption: tproccalloption): boolean; override; function ret_in_param(def: tdef; pd: tabstractprocdef): boolean; override; - procedure getintparaloc(list: TAsmList; pd : tabstractprocdef; nr: longint; var cgpara: tcgpara); override; + procedure getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr: longint; var cgpara: tcgpara); override; function create_paraloc_info(p: tabstractprocdef; side: tcallercallee): longint; override; function create_varargs_paraloc_info(p: tabstractprocdef; side: tcallercallee; varargspara: tvarargsparalist): longint; override; function get_funcretloc(p : tabstractprocdef; side: tcallercallee; forcetempdef: tdef): tcgpara;override; @@ -68,7 +68,7 @@ implementation result:=[RS_F0..RS_F31]-[RS_F8..RS_F9,RS_F18..RS_F27]; end; - procedure tcpuparamanager.getintparaloc(list: TAsmList; pd : tabstractprocdef; nr: longint; var cgpara: tcgpara); + procedure tcpuparamanager.getcgtempparaloc(list: TAsmList; pd : tabstractprocdef; nr: longint; var cgpara: tcgpara); var paraloc: pcgparalocation; psym: tparavarsym; diff --git a/compiler/sparcgen/cgsparc.pas b/compiler/sparcgen/cgsparc.pas index eaef6ccc84..74732046a1 100644 --- a/compiler/sparcgen/cgsparc.pas +++ b/compiler/sparcgen/cgsparc.pas @@ -1113,9 +1113,9 @@ implementation paraloc1.init; paraloc2.init; paraloc3.init; - paramanager.getintparaloc(list,pd,1,paraloc1); - paramanager.getintparaloc(list,pd,2,paraloc2); - paramanager.getintparaloc(list,pd,3,paraloc3); + paramanager.getcgtempparaloc(list,pd,1,paraloc1); + paramanager.getcgtempparaloc(list,pd,2,paraloc2); + paramanager.getcgtempparaloc(list,pd,3,paraloc3); a_load_const_cgpara(list,OS_SINT,len,paraloc3); a_loadaddr_ref_cgpara(list,dest,paraloc2); a_loadaddr_ref_cgpara(list,source,paraloc1); diff --git a/compiler/x86/nx86ld.pas b/compiler/x86/nx86ld.pas index 50800ead3a..774addd1ca 100644 --- a/compiler/x86/nx86ld.pas +++ b/compiler/x86/nx86ld.pas @@ -65,7 +65,7 @@ implementation begin paraloc1.init; pd:=search_system_proc('fpc_tls_add'); - paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); + paramanager.getcgtempparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1); if not(vo_is_weak_external in gvs.varoptions) then reference_reset_symbol(href,current_asmdata.RefAsmSymbol(gvs.mangledname,AT_DATA,use_indirect_symbol(gvs)),0,sizeof(pint),[]) else diff --git a/compiler/x86_64/cgcpu.pas b/compiler/x86_64/cgcpu.pas index 085922e0ee..409009f46d 100644 --- a/compiler/x86_64/cgcpu.pas +++ b/compiler/x86_64/cgcpu.pas @@ -448,8 +448,8 @@ unit cgcpu; pd:=search_system_proc('_fpc_local_unwind'); para1.init; para2.init; - paramanager.getintparaloc(list,pd,1,para1); - paramanager.getintparaloc(list,pd,2,para2); + paramanager.getcgtempparaloc(list,pd,1,para1); + paramanager.getcgtempparaloc(list,pd,2,para2); reference_reset_symbol(href,l,0,1,[]); { TODO: using RSP is correct only while the stack is fixed!! (true now, but will change if/when allocating from stack is implemented) }