Removes context parameter from instruction-scoped operations (#923)

We originally had a `context.Context` for anything that might be
traced, but it turned out to be only useful for lifecycle and host functions.

For instruction-scoped aspects like memory updates, a context parameter is too
fine-grained and also invisible in practice. For example, most users will use
the compiler engine, and its memory, global or table access will never use go's
context.

Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Crypt Keeper
2022-12-14 16:08:07 +09:00
committed by GitHub
parent 0ed4002549
commit 126bd9050d
59 changed files with 526 additions and 578 deletions

View File

@@ -107,7 +107,7 @@ func loadValue(ctx context.Context, ref ref) interface{} { // nolint
func loadArgs(ctx context.Context, mod api.Module, sliceAddr, sliceLen uint32) []interface{} { // nolint
result := make([]interface{}, 0, sliceLen)
for i := uint32(0); i < sliceLen; i++ { // nolint
iRef := mustReadUint64Le(ctx, mod.Memory(), "iRef", sliceAddr+i*8)
iRef := mustReadUint64Le(mod.Memory(), "iRef", sliceAddr+i*8)
result = append(result, loadValue(ctx, ref(iRef)))
}
return result