aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt/grt-waves.adb
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2015-12-16 09:38:00 +0100
committerTristan Gingold <gingold@adacore.com>2015-12-18 17:16:27 +0100
commite8a965f0f42749f7fbcaaee966e24a55fb45d886 (patch)
tree448d507f7074f78e80dd4afe5b983609a08396ca /src/grt/grt-waves.adb
parent4680da5edb910910c4a31438798bff0bc6e51380 (diff)
downloadghdl-e8a965f0f42749f7fbcaaee966e24a55fb45d886.tar.gz
ghdl-e8a965f0f42749f7fbcaaee966e24a55fb45d886.tar.bz2
ghdl-e8a965f0f42749f7fbcaaee966e24a55fb45d886.zip
Pass signal values to interfaces. 'sigptr' optimization.
Improve simulation speed by about 20%.
Diffstat (limited to 'src/grt/grt-waves.adb')
-rw-r--r--src/grt/grt-waves.adb6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/grt/grt-waves.adb b/src/grt/grt-waves.adb
index 34124e2fc..250d596d1 100644
--- a/src/grt/grt-waves.adb
+++ b/src/grt/grt-waves.adb
@@ -238,7 +238,7 @@ package body Grt.Waves is
Put (Wave_Stream, Str);
end Wave_Puts;
- procedure Write_Value (Value : Value_Union; Mode : Mode_Type) is
+ procedure Write_Value (Value : Ghdl_Value_Ptr; Mode : Mode_Type) is
begin
case Mode is
when Mode_B1 =>
@@ -830,7 +830,7 @@ package body Grt.Waves is
when others =>
Internal_Error ("bad iterator type");
end case;
- Write_Value (To_Ghdl_Value_Ptr (Addr).all, Mode);
+ Write_Value (To_Ghdl_Value_Ptr (Addr), Mode);
end Write_Generate_Type_And_Value;
type Step_Type is (Step_Name, Step_Hierarchy);
@@ -1549,7 +1549,7 @@ package body Grt.Waves is
procedure Write_Signal_Value (Sig : Ghdl_Signal_Ptr) is
begin
-- FIXME: for some signals, the significant value is the driving value!
- Write_Value (Sig.Value, Sig.Mode);
+ Write_Value (Sig.Value_Ptr, Sig.Mode);
end Write_Signal_Value;
procedure Write_Snapshot is