Size: a a a

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

2020 November 22

RB

Rustem B. in WebAssembly — русскоговорящее сообщество
Вот чо вам в воскресенье не спится?
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Логично что будет работать, если он на других армах работает, интерпретатор же
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Rustem B.
Вот чо вам в воскресенье не спится?
У меня вечер субботы :)
источник

RB

Rustem B. in WebAssembly — русскоговорящее сообщество
👀
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
Petr Penzin
Логично что будет работать, если он на других армах работает, интерпретатор же
логично)
источник

RB

Rustem B. in WebAssembly — русскоговорящее сообщество
Petr Penzin
У меня вечер субботы :)
Америка?
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
а я просто 5 часов назад проснулся =)
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Rustem B.
Америка?
Ога
источник

TS

Timoschenko Slavik in WebAssembly — русскоговорящее сообщество
diabolo
@rustlang_ru
там в описании чата ссылка на другие
+
источник

Б

Борис in WebAssembly — русскоговорящее сообщество
@maxgraey

Привет!

читаю доку https://www.assemblyscript.org/memory.html#importing-memory

а конкретно:
One thing to take care of is that if the module defines data segments, it will place these into the imported memory upon instantiation of the module


можно ли как то этого избежать?
хотелось бы сделать так, чтоб та память, которую импортит васм модуль вообще никак им не модифицировалась
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Борис
@maxgraey

Привет!

читаю доку https://www.assemblyscript.org/memory.html#importing-memory

а конкретно:
One thing to take care of is that if the module defines data segments, it will place these into the imported memory upon instantiation of the module


можно ли как то этого избежать?
хотелось бы сделать так, чтоб та память, которую импортит васм модуль вообще никак им не модифицировалась
В смысле? Что бы в память ничего не писалось? Или писалось, но линейная память не росла (что бы не было вызова memory.grow под капотом)?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Вообще так можно, но тогда нужно забыть о рантайме и использовать только load / store, никаких слассов (разве что полностью статические). В KhronosGroup например именно так и делают:
https://github.com/KhronosGroup/Universal-Texture-Transcoders
https://github.com/KhronosGroup/BC6H-Decoder-WASM
источник

Б

Борис in WebAssembly — русскоговорящее сообщество
MaxGraey
В смысле? Что бы в память ничего не писалось? Или писалось, но линейная память не росла (что бы не было вызова memory.grow под капотом)?
хочется единожды инициализировать кусок памяти на стороне хоста и подсовывать его множеству wasm инстансов, импортируя память.

но судя по документации, при наличии data сегментов их содержимое запишется в импортируемую память.

хочется этого избежать )
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Вроде ж offset можно выставить?.. 🤔
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Борис
хочется единожды инициализировать кусок памяти на стороне хоста и подсовывать его множеству wasm инстансов, импортируя память.

но судя по документации, при наличии data сегментов их содержимое запишется в импортируемую память.

хочется этого избежать )
В AssemblyScript можно задать свое смещение для __heap_base (см --memoryBase флаг). И рантайм будет начинать сегмент для данных и хипа с него. А все что до этого значения будет нетронуто
источник

Б

Борис in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
Вроде ж offset можно выставить?.. 🤔
верно, но мне казалось что всё равно все операции будут происходить над импортируемой памятью
источник

Б

Борис in WebAssembly — русскоговорящее сообщество
на самом деле, видимо я хочу иметь возможность импортить несколько кусков памяти. одна - рид онли, во второй - пусть происходит что угодно
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Борис
верно, но мне казалось что всё равно все операции будут происходить над импортируемой памятью
То что ты хочешь будет только после multi-memory пропозала. Сейчас ты максимум что можешь - это зарезервировать область в импортируемой памяти которая будет нетронута, сместив memoryBase на нужное тебе значение
источник

Б

Борис in WebAssembly — русскоговорящее сообщество
понял, спасибо за ответы
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
MaxGraey
То что ты хочешь будет только после multi-memory пропозала. Сейчас ты максимум что можешь - это зарезервировать область в импортируемой памяти которая будет нетронута, сместив memoryBase на нужное тебе значение
Но из модуля же можно принудительно прочитать память до memoryBase, если мы знаем что там и где лежит?
источник