#ifndef __DISABLE_ADD_REMOVE_LOGFN_AH__ #define __DISABLE_ADD_REMOVE_LOGFN_AH__ /* Hack to prevent Bochs' logfunctions list (bochs.h) to overflow if the * experiment restores simulator state more than ~1000 times. * * The "proper" fix would be to completely unregister all log functions before * restore, i.e. to destroy all objects deriving from class logfunctions. We * decided to simply ignore this tiny memory leak and to hack around the * problem by disabling iofunctions::add/remove_logfn(). */ aspect DisableLogFunctions { pointcut add_remove_logfn() = "void iofunctions::add_logfn(...)" || "void iofunctions::remove_logfn(...)"; advice execution (add_remove_logfn()) : around () { } }; #endif // __DISABLE_ADD_REMOVE_LOGFN_AH__