Add comments about vmctx pointers in various datastructures. (#2925)

This forward-ports the relevant parts of #1396.
This commit is contained in:
Dan Gohman
2021-07-27 07:33:27 -07:00
committed by GitHub
parent 5deda27977
commit 784a380e5f
2 changed files with 6 additions and 3 deletions

View File

@@ -159,6 +159,10 @@ mod test_vmmemory_import {
/// The fields compiled code needs to access to utilize a WebAssembly global
/// variable imported from another instance.
///
/// Note that unlike with functions, tables, and memories, `VMGlobalImport`
/// doesn't include a `vmctx` pointer. Globals are never resized, and don't
/// require a `vmctx` pointer to access.
#[derive(Debug, Copy, Clone)]
#[repr(C)]
pub struct VMGlobalImport {
@@ -744,8 +748,6 @@ mod test_vminterrupts {
/// The struct here is empty, as the sizes of these fields are dynamic, and
/// we can't describe them in Rust's type system. Sufficient memory is
/// allocated at runtime.
///
/// TODO: We could move the globals into the `vmctx` allocation too.
#[derive(Debug)]
#[repr(C, align(16))] // align 16 since globals are aligned to that and contained inside
pub struct VMContext {