Просмотр исходного кода

* allocate a temp addressreg instead of a temp intreg in callnode. improves code generation on m68k for these cases

git-svn-id: trunk@30080 -
Károly Balogh 10 лет назад
Родитель
Сommit
a71fcd290b
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      compiler/ncgcal.pas

+ 2 - 2
compiler/ncgcal.pas

@@ -947,7 +947,7 @@ implementation
                  callref:=can_call_ref(href);
                  callref:=can_call_ref(href);
                  if not callref then
                  if not callref then
                    begin
                    begin
-                     pvreg:=cg.getintregister(current_asmdata.CurrAsmList,proc_addr_size);
+                     pvreg:=hlcg.getaddressregister(current_asmdata.CurrAsmList,proc_addr_voidptrdef);
                      cg.a_load_ref_reg(current_asmdata.CurrAsmList,proc_addr_size,proc_addr_size,href,pvreg);
                      cg.a_load_ref_reg(current_asmdata.CurrAsmList,proc_addr_size,proc_addr_size,href,pvreg);
                    end;
                    end;
 
 
@@ -1026,7 +1026,7 @@ implementation
               secondpass(right);
               secondpass(right);
               callref:=false;
               callref:=false;
 
 
-              pvreg:=cg.getintregister(current_asmdata.CurrAsmList,proc_addr_size);
+              pvreg:=hlcg.getaddressregister(current_asmdata.CurrAsmList,proc_addr_voidptrdef);
               { Only load OS_ADDR from the reference (when converting to hlcg:
               { Only load OS_ADDR from the reference (when converting to hlcg:
                 watch out with procedure of object) }
                 watch out with procedure of object) }
               if po_is_block in procdefinition.procoptions then
               if po_is_block in procdefinition.procoptions then