summaryrefslogtreecommitdiffstats
path: root/js/src/wasm/WasmInstance.h
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/wasm/WasmInstance.h')
-rw-r--r--js/src/wasm/WasmInstance.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/wasm/WasmInstance.h b/js/src/wasm/WasmInstance.h
index 0e4f9745b7..0f9960133a 100644
--- a/js/src/wasm/WasmInstance.h
+++ b/js/src/wasm/WasmInstance.h
@@ -217,6 +217,21 @@ class alignas(16) Instance {
TableInstanceData& tableInstanceData(uint32_t tableIndex) const;
TagInstanceData& tagInstanceData(uint32_t tagIndex) const;
+#ifdef ENABLE_WASM_JSPI
+ public:
+ struct WasmJSPICallImportData {
+ Instance* instance;
+ int32_t funcImportIndex;
+ int32_t argc;
+ uint64_t* argv;
+ static bool Call(WasmJSPICallImportData* data);
+ };
+
+ private:
+ bool isImportAllowedOnSuspendableStack(JSContext* cx,
+ int32_t funcImportIndex);
+#endif
+
// Only WasmInstanceObject can call the private trace function.
friend class js::WasmInstanceObject;
void tracePrivate(JSTracer* trc);
@@ -342,6 +357,9 @@ class alignas(16) Instance {
bool isInterrupted() const;
void resetInterrupt(JSContext* cx);
+ void setTemporaryStackLimit(JS::NativeStackLimit limit);
+ void resetTemporaryStackLimit(JSContext* cx);
+
bool debugFilter(uint32_t funcIndex) const;
void setDebugFilter(uint32_t funcIndex, bool value);