Index: src/wasm/wasm-module.h |
diff --git a/src/wasm/wasm-module.h b/src/wasm/wasm-module.h |
index 2376a5feba889b33edd3e41e3b67dd93dfb37e94..3ac410476d7c6fc9a6a0752f1b7fccb5016a384d 100644 |
--- a/src/wasm/wasm-module.h |
+++ b/src/wasm/wasm-module.h |
@@ -133,8 +133,10 @@ struct WasmDataSegment { |
// Static representation of a wasm indirect call table. |
struct WasmIndirectFunctionTable { |
- uint32_t size; // initial table size. |
+ uint32_t min_size; // minimum table size. |
uint32_t max_size; // maximum table size. |
+ bool has_max; // true if there is a maximum size. |
+ // TODO(titzer): Move this to WasmInstance. Needed by interpreter only. |
std::vector<int32_t> values; // function table, -1 indicating invalid. |
bool imported; // true if imported. |
bool exported; // true if exported. |
@@ -173,9 +175,9 @@ class WasmCompiledModule; |
// Static representation of a module. |
struct V8_EXPORT_PRIVATE WasmModule { |
static const uint32_t kPageSize = 0x10000; // Page size, 64kb. |
- static const uint32_t kMaxLegalPages = 65536; // Maximum legal pages |
static const uint32_t kMinMemPages = 1; // Minimum memory size = 64kb |
- static const uint32_t kMaxMemPages = 16384; // Maximum memory size = 1gb |
+ static const size_t kV8MaxPages = 16384; // Maximum memory size = 1gb |
+ static const size_t kV8MaxTableSize = 16 * 1024 * 1024; |
Zone* owned_zone; |
const byte* module_start = nullptr; // starting address for the module bytes |
@@ -557,6 +559,9 @@ int32_t GetInstanceMemorySize(Isolate* isolate, Handle<JSObject> instance); |
int32_t GrowInstanceMemory(Isolate* isolate, Handle<JSObject> instance, |
uint32_t pages); |
+void UpdateDispatchTables(Isolate* isolate, Handle<FixedArray> dispatch_tables, |
+ int index, Handle<JSFunction> js_function); |
+ |
namespace testing { |
void ValidateInstancesChain(Isolate* isolate, Handle<JSObject> wasm_module, |