|
@@ -35,6 +35,8 @@ unit cgcpu;
|
|
|
type
|
|
|
tcgx86_64 = class(tcgx86)
|
|
|
procedure init_register_allocators;override;
|
|
|
+ procedure done_register_allocators;override;
|
|
|
+
|
|
|
procedure g_proc_exit(list : TAsmList;parasize:longint;nostackframe:boolean);override;
|
|
|
procedure g_intf_wrapper(list: TAsmList; procdef: tprocdef; const labelname: string; ioffset: longint);override;
|
|
|
|
|
@@ -94,6 +96,14 @@ unit cgcpu;
|
|
|
end;
|
|
|
|
|
|
|
|
|
+ procedure Tcgx86_64.done_register_allocators;
|
|
|
+ begin
|
|
|
+ inherited done_register_allocators;
|
|
|
+ setlength(saved_standard_registers,0);
|
|
|
+ setlength(saved_mm_registers,0);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
procedure tcgx86_64.a_param_ref(list : TAsmList;size : tcgsize;const r : treference;const paraloc : TCGPara);
|
|
|
var
|
|
|
tmpref, ref: treference;
|