[wasm] Import table only after checks
With recent spec changes (I think in the bulk memory proposal), WebAssembly instances exist and can be used even when instantiation itself fails. Therefore the order of checks and assignents during instantiation may matter. That's why I move the table import after the checks of the import in this CL. Note that I'm not aware that this is a problem yet. I think in the worst case this CL has no effect. In the best case it helps. R=clemensh@chromium.org Bug: v8:9396 Change-Id: I83998ff98bded443b3f015cee778fa29a3374534 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1678656 Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#62409}
This commit is contained in:
parent
d82b2455ae
commit
a1f8153092
@ -941,7 +941,6 @@ bool InstanceBuilder::ProcessImportedTable(Handle<WasmInstanceObject> instance,
|
||||
}
|
||||
const WasmTable& table = module_->tables[table_index];
|
||||
|
||||
instance->tables().set(table_index, *value);
|
||||
auto table_object = Handle<WasmTableObject>::cast(value);
|
||||
|
||||
int imported_table_size = table_object->entries().length();
|
||||
@ -985,6 +984,7 @@ bool InstanceBuilder::ProcessImportedTable(Handle<WasmInstanceObject> instance,
|
||||
return false;
|
||||
}
|
||||
|
||||
instance->tables().set(table_index, *value);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user