Restructure copy implementation to avoid type-indexed block

This commit is contained in:
2026-03-10 21:25:37 +00:00
parent 118e6af896
commit 5369a0969e

View File

@@ -542,20 +542,25 @@
call $next)
(func $copy (local $src i32) (local $dst i32) (local $n i32)
call $pop local.tee $dst
call $pop local.tee $src
call $pop local.tee $n
call $pop local.set $dst
call $pop local.set $src
call $pop local.set $n
block $done (param i32 i32 i32)
loop $loop (param i32 i32 i32) (result i32 i32 i32)
block $done
loop $loop
local.get $n
i32.eqz br_if $done
local.get $dst
local.get $src
i32.load8_u i32.store8
local.get $dst i32.const 1 i32.add local.tee $dst
local.get $src i32.const 1 i32.add local.tee $src
local.get $n i32.const 1 i32.sub local.tee $n
local.get $dst i32.const 1 i32.add local.set $dst
local.get $src i32.const 1 i32.add local.set $src
local.get $n i32.const 1 i32.sub local.set $n
br $loop
end
drop drop drop
end
call $next)