Size: a a a

WebAssembly — русскоговорящее сообщество

2020 May 10

lp

lil pep in WebAssembly — русскоговорящее сообщество
а вот такой вопрос, тебе обязательно wasi использовать? Или не обязательно?
источник

E🤙

Evgεny 🤙 in WebAssembly — русскоговорящее сообщество
скорее да: хотел модулям делегировать чтение и хранение файлов
источник

E🤙

Evgεny 🤙 in WebAssembly — русскоговорящее сообщество
ну либо через хост сделаю если там все плохо
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
ок ясно
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
слушай, я никогда wasi не инстанциировал, но то что у тебя там - выглядит довольно просто
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
во первых
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
а во вторых что происходит - это возможно следующее
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
точнее не
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
давай ка ты попробуешь строку 20 перенести за то место где ты вызываешь kek
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
тоесть куда-нибудь в район 27 строки
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
мне кажеся оно должно срабоать для первого вызова
источник

E🤙

Evgεny 🤙 in WebAssembly — русскоговорящее сообщество
имеешь в виду вызвать кек до инстанцирования модуля2 ?
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
aga
источник

E🤙

Evgεny 🤙 in WebAssembly — русскоговорящее сообщество
не упало, но ничего не напечаталось 🤔
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
ну вот то что ничего не напечаталось это уже другая проблема
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
моя гипотеза что происходит:

ты пытаешься вызвать что-то реализует например Display, или что-то в этом духе - trait object. Trait object обычно представляет собой два элемента - указатель на данные и указатель на vtable, таблицу с функциями для данной реализации trait object. Такие таблицы храняться в статических данных модуля. Это раз

Два, как часть инстанцииации второго модуля происходит копирование дата сегментов - статических данных вроде vtable. Поскольку не сказано иное модуль предполагает что он первый кто инстанциируется
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
Соответственно происходит перезапись всех данных
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
кроме того, даже если это поправить как то у тебя возникнет проблема со стеком, потому что у каждого модуля свой stack_pointer и скорее всего они попадут на одну и ту же область
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
я думаю можно что-то придумать, но это уже будет не тривиальнее
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
то что ты хочешь сделать - похоже на динамическую линковку, и такое, увы не поддерживается из коробки
источник