mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-27 16:02:16 +00:00
44 lines
868 B
TypeScript
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;
|
|
}
|