如何理解WebAssembly函数体中的“最小索引”?

问题描述 投票:1回答:1

enter image description here

如何理解我用红色矩形区分的句子?

webassembly
1个回答
3
投票

通过相同的index space访问本地和函数参数。索引空间是一个抽象实体 - 实现者可以根据需要自由放置参数和本地,但是应该通过相同的索引访问参数和本地。

这个带有参数$ px和$ py的add2函数将在索引0处访问$ px,在索引1处访问$ py:

(func $add2 (param $px i32) (param $py i32) 
 get_local 0
 get_local 1
 i32.add)

这个仅包含一个参数的add_local函数将在索引0处具有$ px,在索引1处具有本地$ z。

   (func $add_local (param $px i32) (local $z i32)
     get_local 0
     get_local 1
     i32.add)

所以函数的索引空间包括

  • [0] = param0
  • [1] = param1
  • ...
  • [N] =参数
  • [N + 1] = local0
  • [N + 2] = local1
  • ...
  • [N + M] = localM
© www.soinside.com 2019 - 2024. All rights reserved.