wasm32 в расте нет возможности явно трогать wasm'овые memory и я не могу использовать одновременно и ту, что он создаёт неявно, и ту которую wasm-модуль мог бы импортировать и которую я передал бы с хоста?
Что-то гуглю-гуглю, ничего не одупляю.
Почему нет то?
Примера найти не могу :(
https://github.com/rustwasm/wee_alloc
Ну вот он будет управлять той памятью что rust создаст неявно и экспортирует. А если у меня вторая есть, которую я хотел бы передать через импорт?
это в васме что будет?
я не оч помню что конкретно раст неявно экспортирует, но для импортов есть https://www.hellorust.com/demos/import-memory/
О, вот мне такое нужно, только чтобы оно не переключалось с экспорта на импорт, а использовало сразу две памяти. И я мог явно говорить, к какой из них относится указатель. Но похоже действительно придётся заюзать wee_alloc и жить с одной :(
https://github.com/bytecodealliance/wasmtime/issues/4300 да, по ощущениям не оч получается юзать несколько
Ну и ладно. Просто если бы поддерживало, то я бы входные данные по импортированной памяти передавал бы, где не было бы по сути никакого аллокатора, просто каждый раз перезаписывал бы её. А так придётся просить у модуля "дай мне адрес куда можно писать в твоей памяти" и только потом записывать. А потом ещё и дропать просить. А у меня такие ощущения, что чем меньше пересечений границ между хостом и васмом тем лучше.
Чот я там issue нашёл, где оно утекает при некоторых больших аллокациях, теперь стрёмно =/
Обсуждают сегодня