On Fri, Mar 4, 2022 at 10:06 PM Александр Гурьянов <caiiiy...@gmail.com>
wrote:

> I tried set SHARED_MEMORY=1 both for compile and linking, but now I have
> this error from linker:
> wasm-ld: error: --shared-memory is disallowed by lto.tmp because it was
> not compiled with 'atomics' or 'bulk-memory' features
>
> Seems that I need to set PTHREADS anyway. I don't want use PTHREADS
> because I don't know how it affects performance of wasm, can it slowdown
> the overall performance?
>

No it shouldn't slow down anything.. there could be come JS code size
bloat.. but performance should not suffer significantly.


>
>
> сб, 5 мар. 2022 г. в 03:27, 'Thomas Lively' via emscripten-discuss <
> emscripten-discuss@googlegroups.com>:
>
>> Also note that you probably do want to use atomic operations to read and
>> write to the shared memory, even if you're using JS on one thread and Wasm
>> on another. If you don't use atomics, there's no guarantee that the values
>> written on one thread will actually become visible on the other thread when
>> you expect them to.
>>
>> On Fri, Mar 4, 2022 at 11:49 AM 'Sam Clegg' via emscripten-discuss <
>> emscripten-discuss@googlegroups.com> wrote:
>>
>>> Historically the `-pthead` flag (or `-s USE_PTHREADS`) is the way to get
>>> shared memory.   Is there some reason you have not wanted to use that
>>> flag?  (is it code size
>>> of the resulting JS.. if so we are working on reducing that).
>>>
>>> As it happens we just today landed a new `-s SHARED_MEMORY` flag I think
>>> gives you exactly what you want without the overhead of the pthread JS
>>> library code: https://github.com/emscripten-core/emscripten/pull/16419.
>>>
>>> cheers,
>>> sam
>>>
>>> On Fri, Mar 4, 2022 at 10:29 AM Александр Гурьянов <caiiiy...@gmail.com>
>>> wrote:
>>>
>>>> https://github.com/WebAssembly/binaryen/pull/4525
>>>>
>>>>
>>>> пт, 4 мар. 2022 г. в 15:43, Александр Гурьянов <caiiiy...@gmail.com>:
>>>>
>>>>> Hi, I want to use shared memory for my WebAssembly module. It's needed
>>>>> for js-dos. Currently emulation works in worker and frame updates are send
>>>>> using postMessage. I want to use SharedArrayBuffer to avoid 
>>>>> copying/sending
>>>>> big rgba data.
>>>>>
>>>>> I dont' need to use pthread or threading, I just want to share memory
>>>>> between worker and main process. How I can say emscripten to generate
>>>>> "shared" memory imort.
>>>>>
>>>>> I found similar question here:
>>>>> https://github.com/emscripten-core/emscripten/issues/12098
>>>>> As suggested I tried wasm2wat and then wat2wasm, but it not working
>>>>> for me. Looks like it affects  -s INVOKE_RUN=0, because after wasm2wat my
>>>>> module immediately starts and I can't provide own memory.
>>>>>
>>>>> Without wasm2wat I have this error:
>>>>>
>>>>> LinkError: WebAssembly.instantiate(): mismatch in shared state of
>>>>> memory, declared = *0*, imported = *1*
>>>>>
>>>>> After wasm2wat this:
>>>>>
>>>>> LinkError: WebAssembly.instantiate(): mismatch in shared state of
>>>>> memory, declared = *1*, imported = *0*
>>>>>
>>>>> Can we add some pass to binaryen for turning non-shared memory into
>>>>> shared?
>>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "emscripten-discuss" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to emscripten-discuss+unsubscr...@googlegroups.com.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/emscripten-discuss/CAKOm%3DVE24Q4%2Bewi5QBSdmuuRf7F-FCk_1TM7tZxexwrMOzXdqw%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/emscripten-discuss/CAKOm%3DVE24Q4%2Bewi5QBSdmuuRf7F-FCk_1TM7tZxexwrMOzXdqw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "emscripten-discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to emscripten-discuss+unsubscr...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2_UWBhM-2yOG_6aUDPa_%3DX%3DmDJOxaC00Bo8CbQa6cDbYw%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2_UWBhM-2yOG_6aUDPa_%3DX%3DmDJOxaC00Bo8CbQa6cDbYw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "emscripten-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to emscripten-discuss+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/emscripten-discuss/CAJZD_EWNu%3Di0%3DACiKbuPyTOUAckT1SDceosApBvJj6VCo8-WYQ%40mail.gmail.com
>> <https://groups.google.com/d/msgid/emscripten-discuss/CAJZD_EWNu%3Di0%3DACiKbuPyTOUAckT1SDceosApBvJj6VCo8-WYQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to emscripten-discuss+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/emscripten-discuss/CAKOm%3DVFgLTrfXrMBjSyUy_eczWoaAF2L4zWQKPPAr3uizNWt1g%40mail.gmail.com
> <https://groups.google.com/d/msgid/emscripten-discuss/CAKOm%3DVFgLTrfXrMBjSyUy_eczWoaAF2L4zWQKPPAr3uizNWt1g%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to emscripten-discuss+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2-ZZeRzBjnjjHfE5QTukxPSOZ5coY6YCV1Voiv9Ft6pJA%40mail.gmail.com.

Reply via email to