mirror of
https://codeberg.org/superseriousbusiness/gotosocial.git
synced 2024-12-25 10:28:18 +03:00
42 lines
1.4 KiB
Go
42 lines
1.4 KiB
Go
|
// Package experimental includes features we aren't yet sure about. These are enabled with context.Context keys.
|
||
|
//
|
||
|
// Note: All features here may be changed or deleted at any time, so use with caution!
|
||
|
package experimental
|
||
|
|
||
|
import (
|
||
|
"github.com/tetratelabs/wazero/api"
|
||
|
)
|
||
|
|
||
|
// InternalModule is an api.Module that exposes additional
|
||
|
// information.
|
||
|
type InternalModule interface {
|
||
|
api.Module
|
||
|
|
||
|
// NumGlobal returns the count of all globals in the module.
|
||
|
NumGlobal() int
|
||
|
|
||
|
// Global provides a read-only view for a given global index.
|
||
|
//
|
||
|
// The methods panics if i is out of bounds.
|
||
|
Global(i int) api.Global
|
||
|
}
|
||
|
|
||
|
// ProgramCounter is an opaque value representing a specific execution point in
|
||
|
// a module. It is meant to be used with Function.SourceOffsetForPC and
|
||
|
// StackIterator.
|
||
|
type ProgramCounter uint64
|
||
|
|
||
|
// InternalFunction exposes some information about a function instance.
|
||
|
type InternalFunction interface {
|
||
|
// Definition provides introspection into the function's names and
|
||
|
// signature.
|
||
|
Definition() api.FunctionDefinition
|
||
|
|
||
|
// SourceOffsetForPC resolves a program counter into its corresponding
|
||
|
// offset in the Code section of the module this function belongs to.
|
||
|
// The source offset is meant to help map the function calls to their
|
||
|
// location in the original source files. Returns 0 if the offset cannot
|
||
|
// be calculated.
|
||
|
SourceOffsetForPC(pc ProgramCounter) uint64
|
||
|
}
|