类 CachedCallStack

用于 FFI 调用的辅助调用栈。

调用栈的生命周期。

  • 调用 allocXX 分配空间,并混合调用 storeXXX 存储数据。
  • 调用 ptrFromOffset,不再进行分配(因为 ptrFromOffset 可能会更改),仍然可以调用 storeXX
  • 调用 commitToWasmMemory 一次。
  • 重置。

继承关系

  • CachedCallStack

实现

构造函数

属性

tempArgs: Disposable[] = []

可在重置期间释放的临时参数列表。

方法

  • 为指针分配空间。

    参数

    • count: number

      指针的数量。

    返回值 number

    已分配的指针数组。

  • 按字节数分配空间

    注意

    此函数总是分配对齐到 64 位的空间。

    参数

    • nbytes: number

      字节数。

    返回值 number

  • 分配空间,然后使用 TVMByteArray 设置参数位置。为字节分配新的临时空间。

    参数

    • offset: number

      设置数据指针的偏移量。

    • data: Uint8Array

      字符串内容。

    返回值 void

  • 分配空间,然后设置 C 字符串指针到偏移量。此函数将调用 allocBytes 来分配必要的数据。地址不会立即设置(因为 basePtr 可能发生变化),而是在提交数据时填充。

    参数

    • offset: number

      设置数据指针的偏移量。

    • data: string

      字符串内容。

    返回值 void

  • 将所有缓存的数据提交到 WasmMemory。此函数只能调用一次。之后不应再调用任何存储函数。

    参数

    • nbytes: number = ...

      要存储的字节数。

    返回值 void

  • 释放内部资源。此函数可以多次调用,但只有第一次调用会生效。

    返回值 void

  • 从偏移量值获取真实指针。请注意,如果在堆栈上调用 alloc,则返回的值将变得过时。

    参数

    • offset: number

      已分配的偏移量。

    返回值 number

  • 重置调用栈,以便可以再次使用。

    返回值 void

  • 参数

    • offset: number
    • value: number

    返回值 void

  • 参数

    • offset: number
    • value: number

    返回值 void

  • 参数

    • offset: number
    • value: number

    返回值 void

  • 参数

    • offset: number
    • value: number

    返回值 void

  • 参数

    • offset: number
    • bytes: Uint8Array

    返回值 void

  • 参数

    • offset: number
    • value: number

    返回值 void

  • 参数

    • offset: number
    • value: number

    返回值 void

使用 TypeDoc 生成