Webassembly意义为0x40字节?

时间:2017-12-27 20:05:33

标签: webassembly

规范说0x40是:

  

用于表示空block_type的伪类型

现在我不完全确定他们的意思。即使我的块不为空,编译器也会在操作码0x02之后给出0x40。

0x40是否类似于“void”?

1 个答案:

答案 0 :(得分:2)

是的,就像void。我们的想法是块可以返回一个值(i32i64f32f64,或者根本没有值。这些类型列在language types下,block type限制了它可以容纳的有效类型。这意味着指令可以使用块推送到执行堆栈的值,因此块在这个意义上类似于函数。您可能希望块将值推送到堆栈,因此void可能很有用。或者编译器可能根本不够聪明,不能使用块的属性,而是在某些情况下使用本地。

最终,将支持multi-value,这将允许函数和块将多个值压入堆栈。