Files
ada_language_server/source/memory/s-memory.adb
Anthony Leonardo Gracio 0cae6eb2d3 T306-021: Add memory usage monitor based on GNATCOLL.Memory
when the DEBUG.ADA_MEMORY trace is enabled, we now monitor the
memory usage consumption and dump it in the logs.

This allows to identify which parts of the program are the
biggest memory usage consumers.

The stacktrace addresses are resolved using GNAT.Symbolic.Traceback
because we link the ALS with relocatable libraries.
2020-03-25 17:26:03 +01:00

38 lines
1.7 KiB
Ada

------------------------------------------------------------------------------
-- Language Server Protocol --
-- --
-- Copyright (C) 2020, AdaCore --
-- --
-- This is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. This software is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- --
-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
-- License for more details. You should have received a copy of the GNU --
-- General Public License distributed with this software; see file --
-- COPYING3. If not, go to http://www.gnu.org/licenses for a complete copy --
-- of the license. --
------------------------------------------------------------------------------
with GNATCOLL.Memory;
package body System.Memory is
package M renames GNATCOLL.Memory;
function Alloc (Size : size_t) return System.Address is
begin
return M.Alloc (M.size_t (Size));
end Alloc;
procedure Free (Ptr : System.Address) renames M.Free;
function Realloc
(Ptr : System.Address;
Size : size_t)
return System.Address is
begin
return M.Realloc (Ptr, M.size_t (Size));
end Realloc;
end System.Memory;