1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
use core:lang;
use core:asm;
/**
* Ability to mark allocations as "leakable" (i.e. they need to be tracked with extra care). Exports
* this information as a "pseudo-instruction" that can be used to mark leaks. This instruction will
* expand to a function call, so should be considered to clobber registers, even if that may not
* always happen.
*/
class LeakableAlloc {
init(Operand alloc) {
init { alloc = alloc; }
}
Operand alloc;
void toS(StrBuf to) : override {
to << "Leakable allocation: " << alloc;
}
}
|