mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-21 02:31:41 +00:00
baseline
This commit is contained in:
24
tests/compiler/gc/rc/global-assign.ts
Normal file
24
tests/compiler/gc/rc/global-assign.ts
Normal file
@ -0,0 +1,24 @@
|
||||
import "allocator/arena";
|
||||
import { register_count, retain_count, retain_ref, release_count, release_ref } from "./_dummy";
|
||||
|
||||
@start export function main(): void {}
|
||||
|
||||
class Ref {}
|
||||
|
||||
// should register and retain
|
||||
|
||||
var global: Ref = new Ref();
|
||||
var globalRef = changetype<usize>(global);
|
||||
assert(register_count == 1);
|
||||
assert(retain_count == 1);
|
||||
assert(retain_ref == globalRef);
|
||||
assert(release_count == 0);
|
||||
|
||||
// should register, release old and retain new
|
||||
|
||||
global = new Ref();
|
||||
assert(register_count == 2);
|
||||
assert(retain_count == 2);
|
||||
assert(retain_ref == changetype<usize>(global));
|
||||
assert(release_count == 1);
|
||||
assert(release_ref == globalRef);
|
Reference in New Issue
Block a user