2019-03-27 14:43:35 +01:00

44 lines
868 B
TypeScript

// A dummy reference counting GC for testing.
export var collect_count = 0;
// @ts-ignore: decorator
@global @unsafe
function __ref_collect(): void {
trace("gc.collect");
collect_count++;
}
export var register_count = 0;
export var register_ref: usize = 0;
// @ts-ignore: decorator
@global @unsafe
function __ref_register(ref: usize): void {
trace("gc.register", 1, ref);
register_count++;
register_ref = ref;
}
export var retain_count = 0;
export var retain_ref: usize = 0;
// @ts-ignore: decorator
@global @unsafe
function __ref_retain(ref: usize): void {
trace("gc.retain", 1, ref);
retain_count++;
retain_ref = ref;
}
export var release_count = 0;
export var release_ref: usize = 0;
// @ts-ignore: decorator
@global @unsafe
function __ref_release(ref: usize): void {
trace("gc.release", 1, ref);
release_count++;
release_ref = ref;
}