[jsc-dev] [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


Thanks!

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/jsc-dev/attachments/20180829/e63e97fd/attachment-0001.html>


More information about the jsc-dev mailing list