/** * Low-level GC interaction code. * * License: * This Source Code Form is subject to the terms of * the Mozilla Public License, v. 2.0. If a copy of * the MPL was not distributed with this file, You * can obtain one at http://mozilla.org/MPL/2.0/. * * Authors: * Vladimir Panteleev <vladimir@thecybershadow.net> */ module ae.sys.gc; /// Warning: This structure is currently internal, and may change arbitrarily. struct GCStats { size_t poolsize; // total size of pool size_t usedsize; // bytes allocated size_t freeblocks; // number of blocks marked FREE size_t freelistsize; // total of memory on free lists size_t pageblocks; // number of blocks marked PAGE } /// Warning: This function is currently internal, and may change arbitrarily. extern (C) GCStats gc_stats(); void GC_getStats(ref GCStats stats) { stats = gc_stats(); }