2019-03-27 14:43:35 +01:00
|
|
|
// A tracing dummy GC.
|
2019-03-21 17:34:51 +01:00
|
|
|
|
|
|
|
// @ts-ignore: decorator
|
|
|
|
@inline
|
2019-03-27 14:43:35 +01:00
|
|
|
const TRACE = isDefined(GC_TRACE);
|
2019-03-21 17:34:51 +01:00
|
|
|
|
|
|
|
// @ts-ignore: decorator
|
|
|
|
@global @unsafe
|
2019-03-26 23:35:08 +01:00
|
|
|
function __ref_register(ref: usize): void {
|
|
|
|
if (TRACE) trace("dummy.register", 1, ref);
|
2019-03-21 17:34:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
// @ts-ignore: decorator
|
|
|
|
@global @unsafe
|
2019-03-26 23:35:08 +01:00
|
|
|
function __ref_collect(): void {
|
|
|
|
if (TRACE) trace("dummy.collect");
|
2019-03-21 17:34:51 +01:00
|
|
|
}
|
|
|
|
|
2019-03-26 23:35:08 +01:00
|
|
|
// Tracing
|
2019-03-21 17:34:51 +01:00
|
|
|
|
|
|
|
// @ts-ignore: decorator
|
|
|
|
@global @unsafe
|
2019-03-26 23:35:08 +01:00
|
|
|
function __ref_link(ref: usize, parentRef: usize): void {
|
|
|
|
if (TRACE) trace("dummy.link", 2, ref, parentRef);
|
2019-03-21 17:34:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
// @ts-ignore: decorator
|
|
|
|
@global @unsafe
|
2019-03-26 23:35:08 +01:00
|
|
|
function __ref_unlink(ref: usize, parentRef: usize): void {
|
|
|
|
if (TRACE) trace("dummy.unlink", 2, ref, parentRef);
|
2019-03-21 17:34:51 +01:00
|
|
|
}
|
2019-04-02 10:12:57 +02:00
|
|
|
|
|
|
|
// @ts-ignore: decorator
|
|
|
|
@global @unsafe
|
|
|
|
function __ref_mark(ref: usize): void {
|
|
|
|
if (TRACE) trace("dummy.mark", 1, ref);
|
|
|
|
}
|