2
0
Эх сурвалжийг харах

compiler: fixed ctask ppu scheduler waitforcrc, verbose show linenumbers: show mem used after ppu write

mattias 1 өдөр өмнө
parent
commit
a5cfd52cab

+ 1 - 1
compiler/fppu.pas

@@ -2245,7 +2245,7 @@ var
               If an unit of a cycle is recompiled, the whole cycle is recompiled.
 
               If this ppu was compiled with -Ur only check interface_crc, not crc }
-            CRCValid:=(not pu.u.do_reload) and (pu.u.state in [ms_load,ms_compiled,ms_processed]);
+            CRCValid:=(not pu.u.do_reload) and (pu.u.state in [ms_load,ms_compiled_waitcrc,ms_compiled,ms_processed]);
             IntfCRCValid:=CRCValid {or (pu.u.state in [ms_compiling_waitimpl,ms_compiling_waitfinish,ms_compiled_waitcrc])};
 
             if (IntfCRCValid and

+ 9 - 0
compiler/pmodules.pas

@@ -1825,6 +1825,7 @@ type
         store_indirect_crc : cardinal;
         i : longint;
         waitingmodule : tmodule;
+        hstatus : TFPCHeapStatus;
 
       begin
         {$IF defined(Debug_WaitCRC) or defined(Debug_FreeParseMem)}
@@ -1918,6 +1919,14 @@ type
 {$ifdef DEBUG_NODE_XML}
         XMLFinalizeNodeFile('unit');
 {$endif DEBUG_NODE_XML}
+        if ((status.verbosity and V_Status)<>0) then
+        begin
+          {$IF defined(Debug_FreeParseMem)}
+          writeln('finish_unit ',module.realmodulename^,' wrote ppu and freed mem.');
+          {$ENDIF}
+          hstatus:=GetFPCHeapStatus;
+          WriteLn(DStr(hstatus.CurrHeapUsed shr 10),'/',DStr(hstatus.CurrHeapSize shr 10),' Kb Used');
+        end;
       end;
 
     function proc_package(curr: tmodule) : boolean;