aboutsummaryrefslogtreecommitdiffstats
path: root/translate/grt/grt-processes.adb
diff options
context:
space:
mode:
authorgingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7>2005-10-24 19:53:59 +0000
committergingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7>2005-10-24 19:53:59 +0000
commit729ff8c7d5c4c93bc67bd496ef398adfc980df22 (patch)
tree019cae33a7c06632c5ad599a6b6d8e63a7281522 /translate/grt/grt-processes.adb
parent37b4ff57b54a81d56dddf36945afe26841527b8f (diff)
downloadghdl-729ff8c7d5c4c93bc67bd496ef398adfc980df22.tar.gz
ghdl-729ff8c7d5c4c93bc67bd496ef398adfc980df22.tar.bz2
ghdl-729ff8c7d5c4c93bc67bd496ef398adfc980df22.zip
support of ia64 added, more stats added
Diffstat (limited to 'translate/grt/grt-processes.adb')
-rw-r--r--translate/grt/grt-processes.adb17
1 files changed, 17 insertions, 0 deletions
diff --git a/translate/grt/grt-processes.adb b/translate/grt/grt-processes.adb
index c0dee2bcb..1e8b183ef 100644
--- a/translate/grt/grt-processes.adb
+++ b/translate/grt/grt-processes.adb
@@ -134,6 +134,18 @@ package body Grt.Processes is
return Natural (Process_Table.Last);
end Get_Nbr_Processes;
+ function Get_Nbr_Sensitized_Processes return Natural
+ is
+ Res : Natural := 0;
+ begin
+ for I in Process_Table.First .. Process_Table.Last loop
+ if Process_Table.Table (I).State = State_Sensitized then
+ Res := Res + 1;
+ end if;
+ end loop;
+ return Res;
+ end Get_Nbr_Sensitized_Processes;
+
procedure Process_Register (This : System.Address;
Proc : System.Address;
Ctxt : Rti_Context;
@@ -616,6 +628,7 @@ package body Grt.Processes is
Update_Signals;
if Options.Flag_Stats then
Stats.End_Update;
+ Stats.Start_Resume;
end if;
-- d) For each process P, if P is currently sensitive to a signal S and
@@ -659,6 +672,10 @@ package body Grt.Processes is
end;
end loop;
+ if Options.Flag_Stats then
+ Stats.End_Resume;
+ end if;
+
-- e) Each nonpostponed that has resumed in the current simulation cycle
-- is executed until it suspends.
Status := Run_Processes (Postponed => False);