WebAssembly:复制栈顶

WebAssembly: Duplicating the top of stack

没有 dup 指令,可以让我复制堆栈的顶部。我可以使用哪个指令序列来复制此行为?

Wasm 没有堆栈杂耍原语,因为它有局部变量。要复制操作数栈的顶部,您需要定义一个正确类型的局部变量。然后你可以,例如使用以下指令序列:

(tee_local $x) (get_local $x)

其中 $x 是您的变量。