Re[12]: Web 2.0
От: vdimas Россия  
Дата: 24.11.19 10:10
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Разверни мысль, пожалуйста. У васм апплета есть линейный кусок памяти, там он устраивает себе кучу, туда он может ходить по "указателям". У него также есть стек, над которым оперируют все арифметические и логические инструкции. Он живет отдельно от того линейного массива, у его данных нет "адресов" в том пространстве. Что я упускаю?


У wasm 2 стека.
Первый стек — "обычный", используется как стек возвратов или как стек для внутренних/системных вызовов.
Второй стек — это участок в куче, эдакий рукотворный стек данных.
Используется для аргументов при вызове процедур/ф-ий/методов песочницы.
Стек данных тоже растёт в обратную сторону, но это не принципиально, ИМХО.
Принципиально то, что этот стек живёт в обычной куче и адресуется из кода песочницы.

Там идея в том, что не должно быть доступа к памяти кода, поэтому стек возврата не адресуем.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.