[webkit-dev] Can we drop supporting mixed Wasm::MemoryMode in one process?

Yusuke Suzuki yusukesuzuki at slowstart.org
Tue Aug 28 11:25:54 PDT 2018


On Wed, Aug 29, 2018 at 3:22 Filip Pizlo <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?

> -Filip
> On Aug 28, 2018, at 11:21 AM, Yusuke Suzuki <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>
> 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
> https://lists.webkit.org/mailman/listinfo/webkit-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20180829/e63e97fd/attachment.html>

More information about the webkit-dev mailing list