瀏覽代碼

Improve inlining of generic routines (no matter whether they belong to a generic type or a generics themselves).

psub.pas, read_proc_body: 
  * also try to generate pending specializations before generating a routine's code so that these might be inlined as well

git-svn-id: trunk@33827 -
svenbarth 9 年之前
父節點
當前提交
ac95dcd7fa
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      compiler/psub.pas

+ 6 - 1
compiler/psub.pas

@@ -2028,7 +2028,12 @@ implementation
         if not isnestedproc then
           begin
             if not(df_generic in current_procinfo.procdef.defoptions) then
-              tcgprocinfo(current_procinfo).generate_code_tree;
+              begin
+                { also generate the bodies for all previously done
+                  specializations so that we might inline them }
+                generate_specialization_procs;
+                tcgprocinfo(current_procinfo).generate_code_tree;
+              end;
           end;
 
         { reset _FAIL as _SELF normal }