free method
Free a specific pointer and remove from tracking
Implementation
void free(Pointer pointer) {
if (_disposed) {
_logWarning('Attempted to free pointer after MemoryManager disposed');
return;
}
try {
if (_allocatedPointers.remove(pointer)) {
calloc.free(pointer);
} else {
_logWarning('Attempted to free untracked pointer at address: ${pointer.address}');
}
} catch (e) {
_logError('Failed to free pointer at address ${pointer.address}: $e');
// Don't throw - best effort cleanup
}
}