Class wasm::WAVMWasmModule

class wasm::WAVMWasmModule : public wasm::WasmModule, private Resolver

Public Functions

WAVMWasmModule()
WAVMWasmModule(int threadPoolSizeIn)
WAVMWasmModule(const WAVMWasmModule &other)
WAVMWasmModule &operator=(const WAVMWasmModule &other)
~WAVMWasmModule()
virtual void doBindToFunction(faabric::Message &msg, bool cache) override
void bindToFunctionNoZygote(faabric::Message &msg)
virtual void reset(faabric::Message &msg, const std::string &snapshotKey) override
virtual void doThrowException(std::exception &e) override
virtual uint32_t mmapFile(uint32_t fd, size_t length) override
virtual uint8_t *wasmPointerToNative(uint32_t wasmPtr) override
virtual size_t getMemorySizeBytes() override
virtual size_t getMaxMemoryPages() override
virtual uint8_t *getMemoryBase() override
virtual void writeWasmEnvToMemory(uint32_t envPointers, uint32_t envBuffer) override
virtual void printDebugInfo() override
void executeWasmFunction(WAVM::Runtime::Function *func, WAVM::IR::FunctionType funcType, const std::vector<WAVM::IR::UntaggedValue> &arguments, WAVM::IR::UntaggedValue &result)
void executeWasmFunction(WAVM::Runtime::Function *func, const std::vector<WAVM::IR::UntaggedValue> &arguments, WAVM::IR::UntaggedValue &result)
void executeWasmFunction(WAVM::Runtime::Context *ctx, WAVM::Runtime::Function *func, const std::vector<WAVM::IR::UntaggedValue> &arguments, WAVM::IR::UntaggedValue &result)
virtual void writeArgvToMemory(uint32_t wasmArgvPointers, uint32_t wasmArgvBuffer) override
WAVM::Runtime::Function *getFunctionFromPtr(int funcPtr) const
bool resolve(const std::string &moduleName, const std::string &name, WAVM::IR::ExternType type, WAVM::Runtime::Object *&resolved) override
int32_t getGlobalI32(const std::string &globalName, WAVM::Runtime::Context *context)
std::map<std::string, std::string> buildDisassemblyMap()
int dynamicLoadModule(const std::string &path, WAVM::Runtime::Context *context)
uint32_t getDynamicModuleFunction(int handle, const std::string &funcName)
int getDynamicModuleCount()
uint32_t addFunctionToTable(WAVM::Runtime::Object *exportedFunc) const
int getNextMemoryBase()
int getNextStackPointer()
int getNextTableBase()
int getFunctionOffsetFromGOT(const std::string &funcName)
int getDataOffsetFromGOT(const std::string &name)
virtual int32_t executeFunction(faabric::Message &msg) override
virtual int32_t executeOMPThread(int threadPoolIdx, uint32_t stackTop, faabric::Message &msg) override
virtual int32_t executePthread(int threadPoolIdx, uint32_t stackTop, faabric::Message &msg) override

Public Members

WAVM::Runtime::GCPointer<WAVM::Runtime::Memory> defaultMemory
WAVM::Runtime::GCPointer<WAVM::Runtime::Table> defaultTable
WAVM::Runtime::GCPointer<WAVM::Runtime::Context> executionContext
WAVM::Runtime::GCPointer<WAVM::Runtime::Compartment> compartment

Public Static Functions

static void clearCaches()
static WAVM::Runtime::Function *getFunction(WAVM::Runtime::Instance *module, const std::string &funcName, bool strict)
static WAVM::Runtime::Context *createThreadContext(uint32_t stackTop, WAVM::Runtime::ContextRuntimeData *contextRuntimeData)