diff --git a/std/assembly/collector/itcm.ts b/std/assembly/collector/itcm.ts index 61e1ac96..6c12ef48 100644 --- a/std/assembly/collector/itcm.ts +++ b/std/assembly/collector/itcm.ts @@ -130,7 +130,7 @@ class ManagedObjectSet extends ManagedObject { } /** Performs a single step according to the current state. */ -export function step(): bool { +function step(): void { var obj: ManagedObject; switch (state) { case State.INIT: { @@ -191,7 +191,6 @@ export function step(): bool { break; } } - return state != State.IDLE; } @inline function refToObj(ref: usize): ManagedObject { diff --git a/tests/compiler/std/gc.optimized.wat b/tests/compiler/std/gc.optimized.wat index e2a9b015..3443e5fc 100644 --- a/tests/compiler/std/gc.optimized.wat +++ b/tests/compiler/std/gc.optimized.wat @@ -1,11 +1,11 @@ (module (type $iv (func (param i32))) (type $iii (func (param i32 i32) (result i32))) - (type $i (func (result i32))) + (type $v (func)) (type $ii (func (param i32) (result i32))) (type $iiv (func (param i32 i32))) (type $iiiiv (func (param i32 i32 i32 i32))) - (type $v (func)) + (type $i (func (result i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) @@ -275,7 +275,7 @@ (get_local $0) ) ) - (func $~lib/collector/itcm/step (; 14 ;) (type $i) (result i32) + (func $~lib/collector/itcm/step (; 14 ;) (type $v) (local $0 i32) (block $break|0 (block $case3|0 @@ -435,10 +435,6 @@ ) ) ) - (i32.ne - (get_global $~lib/collector/itcm/state) - (i32.const 1) - ) ) (func $~lib/collector/itcm/__gc_allocate (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -449,9 +445,7 @@ ) (unreachable) ) - (drop - (call $~lib/collector/itcm/step) - ) + (call $~lib/collector/itcm/step) (i32.store offset=8 (tee_local $2 (call $~lib/memory/memory.allocate @@ -501,9 +495,7 @@ ) (br $break|0) ) - (drop - (call $~lib/collector/itcm/step) - ) + (call $~lib/collector/itcm/step) ) (loop $continue|1 (if @@ -512,9 +504,7 @@ (i32.const 1) ) (block - (drop - (call $~lib/collector/itcm/step) - ) + (call $~lib/collector/itcm/step) (br $continue|1) ) ) diff --git a/tests/compiler/std/gc.untouched.wat b/tests/compiler/std/gc.untouched.wat index e5357ed0..5b930839 100644 --- a/tests/compiler/std/gc.untouched.wat +++ b/tests/compiler/std/gc.untouched.wat @@ -1,11 +1,11 @@ (module (type $iv (func (param i32))) (type $iii (func (param i32 i32) (result i32))) - (type $i (func (result i32))) + (type $v (func)) (type $ii (func (param i32) (result i32))) (type $iiv (func (param i32 i32))) (type $iiiiv (func (param i32 i32 i32 i32))) - (type $v (func)) + (type $i (func (result i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (global $~lib/internal/allocator/AL_BITS i32 (i32.const 3)) (global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8)) @@ -331,7 +331,7 @@ ) (return) ) - (func $~lib/collector/itcm/step (; 15 ;) (type $i) (result i32) + (func $~lib/collector/itcm/step (; 15 ;) (type $v) (local $0 i32) (local $1 i32) (block $break|0 @@ -522,10 +522,6 @@ (br $break|0) ) ) - (i32.ne - (get_global $~lib/collector/itcm/state) - (get_global $~lib/collector/itcm/State.IDLE) - ) ) (func $~lib/collector/itcm/__gc_allocate (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -539,9 +535,7 @@ ) (unreachable) ) - (drop - (call $~lib/collector/itcm/step) - ) + (call $~lib/collector/itcm/step) (set_local $2 (call $~lib/memory/memory.allocate (i32.add @@ -600,9 +594,7 @@ (br $break|0) ) ) - (drop - (call $~lib/collector/itcm/step) - ) + (call $~lib/collector/itcm/step) ) (block $break|1 (loop $continue|1 @@ -612,9 +604,7 @@ (get_global $~lib/collector/itcm/State.IDLE) ) (block - (drop - (call $~lib/collector/itcm/step) - ) + (call $~lib/collector/itcm/step) (br $continue|1) ) )