summaryrefslogtreecommitdiff
path: root/vendor/github.com/tetratelabs/wazero/experimental/experimental.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/experimental/experimental.go')
-rw-r--r--vendor/github.com/tetratelabs/wazero/experimental/experimental.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/experimental/experimental.go b/vendor/github.com/tetratelabs/wazero/experimental/experimental.go
new file mode 100644
index 000000000..63fd564da
--- /dev/null
+++ b/vendor/github.com/tetratelabs/wazero/experimental/experimental.go
@@ -0,0 +1,41 @@
+// 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
+}