[webkit-dev] Can we drop supporting mixed Wasm::MemoryMode in one process?
fpizlo at apple.com
Tue Aug 28 11:26:58 PDT 2018
> On Aug 28, 2018, at 11:25 AM, Yusuke Suzuki <yusukesuzuki at slowstart.org> wrote:
> On Wed, Aug 29, 2018 at 3:22 Filip Pizlo <fpizlo at apple.com <mailto:fpizlo at apple.com>> wrote:
> I don’t like this proposal.
> If we are running low on memory, we should switch to bounds checked memory.
> How about using bound checking mode exclusively for low environment?
That would mean that, paradoxically, having a machine with a lot of memory means being able to spawn fewer wasm instances.
We want to support lightweight wasm instances because it wouldn’t be good to rule that out as a use case.
>> On Aug 28, 2018, at 11:21 AM, Yusuke Suzuki <yusukesuzuki at slowstart.org <mailto:yusukesuzuki at slowstart.org>> wrote:
>> Posted this mail to webkit-dev mailing list too :)
>> On Wed, Aug 29, 2018 at 3:19 AM Yusuke Suzuki <yusukesuzuki at slowstart.org <mailto:yusukesuzuki at slowstart.org>> wrote:
>> Hi JSC folks,
>> In Wasm supported environment, our MemoryMode is a bit dynamic.
>> When we fail to allocate WasmMemory for signaling mode, we fall back to the bound checking memory instead.
>> But Wasm code compiled for signaling / bound checking is incompatible. If the code is compiled
>> as signaling mode, and if we attach the memory for bound checking, we need to recompile the
>> code for bound checking mode. This introduces significant complexity to our wasm compilation.
>> And our WebAssembly.compile is not basically compiling: it is just validating.
>> Actual compiling needs to be deferred until the memory is attached by instantiating.
>> It is not good when we would like to share WasmModule among multiple wasm threads / workers in the future, since the "compiled" Wasm module is not actually compiled.
>> So, my proposal is, can we explore the way to exclusively support one of MemoryMode in a certain architecture?
>> For example, in x64, enable signaling mode, and we report OOM errors if we fail to allocate WasmMemory with signaling mode.
>> Best regards,
>> Yusuke Suzuki
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org <mailto:webkit-dev at lists.webkit.org>
>> https://lists.webkit.org/mailman/listinfo/webkit-dev <https://lists.webkit.org/mailman/listinfo/webkit-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the webkit-dev