summaryrefslogtreecommitdiff
path: root/vendor/github.com/tetratelabs/wazero/internal/engine/wazevo/module_engine.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2024-10-06 20:53:03 +0000
committerLibravatar GitHub <noreply@github.com>2024-10-06 20:53:03 +0000
commitbd1866ad8a860e1b6d43c7fc988cf8c346f19f33 (patch)
tree6726f95b30b73baa4e5a7feed5c0b41bf46116db /vendor/github.com/tetratelabs/wazero/internal/engine/wazevo/module_engine.go
parent[chore/themes] Tweak colors on new themes (#3397) (diff)
downloadgotosocial-bd1866ad8a860e1b6d43c7fc988cf8c346f19f33.tar.xz
update go-ffmpreg to v0.3.1 (pulls in latest wazero too) (#3398)
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/internal/engine/wazevo/module_engine.go')
-rw-r--r--vendor/github.com/tetratelabs/wazero/internal/engine/wazevo/module_engine.go28
1 files changed, 3 insertions, 25 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/internal/engine/wazevo/module_engine.go b/vendor/github.com/tetratelabs/wazero/internal/engine/wazevo/module_engine.go
index efa1b9bba..8811feed7 100644
--- a/vendor/github.com/tetratelabs/wazero/internal/engine/wazevo/module_engine.go
+++ b/vendor/github.com/tetratelabs/wazero/internal/engine/wazevo/module_engine.go
@@ -237,7 +237,7 @@ func (m *moduleEngine) putLocalMemory() {
}
// ResolveImportedFunction implements wasm.ModuleEngine.
-func (m *moduleEngine) ResolveImportedFunction(index, indexInImportedModule wasm.Index, importedModuleEngine wasm.ModuleEngine) {
+func (m *moduleEngine) ResolveImportedFunction(index, descFunc, indexInImportedModule wasm.Index, importedModuleEngine wasm.ModuleEngine) {
executableOffset, moduleCtxOffset, typeIDOffset := m.parent.offsets.ImportedFunctionOffset(index)
importedME := importedModuleEngine.(*moduleEngine)
@@ -245,12 +245,12 @@ func (m *moduleEngine) ResolveImportedFunction(index, indexInImportedModule wasm
indexInImportedModule -= wasm.Index(len(importedME.importedFunctions))
} else {
imported := &importedME.importedFunctions[indexInImportedModule]
- m.ResolveImportedFunction(index, imported.indexInModule, imported.me)
+ m.ResolveImportedFunction(index, descFunc, imported.indexInModule, imported.me)
return // Recursively resolve the imported function.
}
offset := importedME.parent.functionOffsets[indexInImportedModule]
- typeID := getTypeIDOf(indexInImportedModule, importedME.module)
+ typeID := m.module.TypeIDs[descFunc]
executable := &importedME.parent.executable[offset]
// Write functionInstance.
binary.LittleEndian.PutUint64(m.opaque[executableOffset:], uint64(uintptr(unsafe.Pointer(executable))))
@@ -261,28 +261,6 @@ func (m *moduleEngine) ResolveImportedFunction(index, indexInImportedModule wasm
m.importedFunctions[index] = importedFunction{me: importedME, indexInModule: indexInImportedModule}
}
-func getTypeIDOf(funcIndex wasm.Index, m *wasm.ModuleInstance) wasm.FunctionTypeID {
- source := m.Source
-
- var typeIndex wasm.Index
- if funcIndex >= source.ImportFunctionCount {
- funcIndex -= source.ImportFunctionCount
- typeIndex = source.FunctionSection[funcIndex]
- } else {
- var cnt wasm.Index
- for i := range source.ImportSection {
- if source.ImportSection[i].Type == wasm.ExternTypeFunc {
- if cnt == funcIndex {
- typeIndex = source.ImportSection[i].DescFunc
- break
- }
- cnt++
- }
- }
- }
- return m.TypeIDs[typeIndex]
-}
-
// ResolveImportedMemory implements wasm.ModuleEngine.
func (m *moduleEngine) ResolveImportedMemory(importedModuleEngine wasm.ModuleEngine) {
importedME := importedModuleEngine.(*moduleEngine)