You've already forked ada_language_server
mirror of
https://github.com/AdaCore/ada_language_server.git
synced 2026-02-12 12:45:50 -08:00
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.
38 lines
1.7 KiB
Ada
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;
|