MV
Size: a a a
MV
lp
MV
memory.grow
вызыватьMV
lp
memory.grow
вызыватьlp
lp
MV
__heap_base
. Но тут есть проблема в том, что dlmalloc и прочие аллокаторы могут только линейно расти из-за того, что есть в васме есть только одна инструкция для управления памятью. И эта область одного модуля растёт по дефолту до тех пор, пока grow
не вернёт -1. Таким образом, она может зайти на соседние области, лежащие справа от неё, т.к. -1 возвращается, когда вм упирается в max mem size, заданный в васм файле (ну или указываемый при создании памяти).lp
lp
lp
lp
MV
lp
AS
MV
memory.grow
/memory.size
lp
lp
lp
lp