Thanks! Is there a working version for the current emscripten? I won't be 
using emscripten FS.

On Sunday, December 18, 2022 at 12:08:23 AM UTC-8 caiiiycuk wrote:

> I also tried to do this, and it's work:
>
> https://groups.google.com/g/emscripten-discuss/c/IocUaiwWctQ/m/ItCLe5lVDQAJ
>
> The only problem is emscripten FS, you need keep fs state too (it might be 
> hard).
>
> вс, 18 дек. 2022 г. в 02:45, 'Sam Clegg' via emscripten-discuss <
> emscripte...@googlegroups.com>:
>
>> Inside the instance there are wasm globals (emscripten doesn't make heavy 
>> use of them but they exist) and the indirect function table. 
>>
>> On the JS there are a lot of potential things... but it sounds like you 
>> are planning to avoid them so maybe it won't be an issue for you.
>>
>> On Sat, Dec 17, 2022 at 1:58 PM Steve Dekorte <st...@dekorte.com> wrote:
>>
>>>
>>> For my use case, I only want to use HTML/JS to start WASM and hand it a 
>>> canvas and events. Things like i/o contexts would have to be reconstructed 
>>> if possible. Is there anything else?
>>>
>>> On Dec 17, 2022, at 1:40 PM, 'Sam Clegg' via emscripten-discuss <
>>> emscripte...@googlegroups.com> wrote:
>>>
>>> 
>>> Neat!  That might work for the linear memory, but as I said in an 
>>> earlier reply there is more to the state of a running module than just its 
>>> memory.
>>>
>>> On Sat, Dec 17, 2022 at 10:40 AM Steve Dekorte <st...@dekorte.com> 
>>> wrote:
>>>
>>>>
>>>> Just for fun, I tried asking ChatGPT:
>>>>
>>>> [[Please write some Javascript code which stores the state of a 
>>>> WebAssembly instance to a byte array.]]
>>>>
>>>> // First, create a WebAssembly instance and obtain a reference to its 
>>>> memory object
>>>> const wasmInstance = new WebAssembly.Instance(wasmModule);
>>>> const memory = wasmInstance.exports.memory;
>>>>
>>>> // Next, create a JavaScript typed array to hold the contents of the 
>>>> memory object
>>>> const memoryArray = new Uint8Array(memory.buffer);
>>>>
>>>> // Finally, use the copy method to copy the contents of the memory 
>>>> object to the typed array
>>>> memory.copy(memoryArray);
>>>>
>>>> [[Thanks. Could you also write some Javascript code which creates a new 
>>>> WebAssembly instance and uses this byte array to restore the previous 
>>>> state?]]
>>>>
>>>> // First, create a WebAssembly module using the WebAssembly.compile 
>>>> function
>>>> const wasmModule = await WebAssembly.compile(wasmCode);
>>>>
>>>> // Next, create a new WebAssembly instance and obtain a reference to 
>>>> its memory object
>>>> const wasmInstance = new WebAssembly.Instance(wasmModule);
>>>> const memory = wasmInstance.exports.memory;
>>>>
>>>> // Use the copy method to copy the contents of the byte array into the 
>>>> memory object of the WebAssembly instance
>>>> memory.copy(byteArray);
>>>>
>>>> // Now, the WebAssembly instance has been restored to the previous state
>>>>
>>>> //...It is important to note that the byte array must be the same size 
>>>> as the memory object of the WebAssembly instance, and it must contain a 
>>>> valid snapshot of the state of the WebAssembly instance. If the byte array 
>>>> is not the correct size or does not contain a valid snapshot, the 
>>>> WebAssembly instance may not be restored correctly.
>>>>
>>>> I haven’t had a chance to give it a try yet. Does it look reasonable?
>>>>
>>>> Steve
>>>>
>>>>
>>>> -- 
>>>> 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-disc...@googlegroups.com.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/emscripten-discuss/f1967bf2cf0d44dc90bd7557a64839f4%40smtp.hushmail.com
>>>> .
>>>>
>>> -- 
>>> You received this message because you are subscribed to a topic in the 
>>> Google Groups "emscripten-discuss" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/emscripten-discuss/-b2JbVbsfo4/unsubscribe
>>> .
>>> To unsubscribe from this group and all its topics, send an email to 
>>> emscripten-disc...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/emscripten-discuss/CAL_va28VFRxNwFGv2R6f2rDhYpTie0e8Pie%3Dt5hb4y2G5%3Dgzzw%40mail.gmail.com
>>>  
>>> <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va28VFRxNwFGv2R6f2rDhYpTie0e8Pie%3Dt5hb4y2G5%3Dgzzw%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-disc...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/emscripten-discuss/305a50dba3817de2b1b876b9ca9a1a58%40smtp.hushmail.com
>>>  
>>> <https://groups.google.com/d/msgid/emscripten-discuss/305a50dba3817de2b1b876b9ca9a1a58%40smtp.hushmail.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-disc...@googlegroups.com.
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2_Uu4Ec6UdnnS2EBRUTEDbpu4%3Dk2VUUPq8d3mYTN6zcBg%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2_Uu4Ec6UdnnS2EBRUTEDbpu4%3Dk2VUUPq8d3mYTN6zcBg%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/0cc51471-7ec7-4927-8a41-5396fcf96758n%40googlegroups.com.

Reply via email to