Сообщение Re[5]: Web 2.0 от 19.11.2019 11:30
Изменено 19.11.2019 12:40 D. Mon
Re[5]: Web 2.0
Здравствуйте, vsb, Вы писали:
DM>>Они отделили стек от "памяти", как теперь языкам с GC сканировать стек на предмет указателей? Кажися, это одна из причин, почему языки с GC пока не спешат компилиться в wasm.
vsb>Я думаю, они сделают опциональный сборщик мусора на уровне VM.
У wasm-апплета память — это линейный массив байтов. Про то, в ней апплет размещает свои объекты, как делает кучу, как освобождает куски и т.д. — VM про это ничего не знает. Где там указатели, а где числа и строки — тоже. Разные нативные языки делают это очень по-разному. При желании можно сделать какой-то GC, который будет управлять такой кучей и знать про ее структуру, но тогда разные языки надо будет специально сильно переделывать внутри, чтобы они могли использовать это фиксированное представление объектов и указателей. Получится как в JVM, когда одни языки (клоны джавы) легко на нее ложатся, а некоторые другие — с большим скрипом.
DM>>Они отделили стек от "памяти", как теперь языкам с GC сканировать стек на предмет указателей? Кажися, это одна из причин, почему языки с GC пока не спешат компилиться в wasm.
vsb>Я думаю, они сделают опциональный сборщик мусора на уровне VM.
У wasm-апплета память — это линейный массив байтов. Про то, в ней апплет размещает свои объекты, как делает кучу, как освобождает куски и т.д. — VM про это ничего не знает. Где там указатели, а где числа и строки — тоже. Разные нативные языки делают это очень по-разному. При желании можно сделать какой-то GC, который будет управлять такой кучей и знать про ее структуру, но тогда разные языки надо будет специально сильно переделывать внутри, чтобы они могли использовать это фиксированное представление объектов и указателей. Получится как в JVM, когда одни языки (клоны джавы) легко на нее ложатся, а некоторые другие — с большим скрипом.
Re[5]: Web 2.0
Здравствуйте, vsb, Вы писали:
DM>>Они отделили стек от "памяти", как теперь языкам с GC сканировать стек на предмет указателей? Кажися, это одна из причин, почему языки с GC пока не спешат компилиться в wasm.
vsb>Я думаю, они сделают опциональный сборщик мусора на уровне VM.
У wasm-апплета память — это линейный массив байтов. Про то, как в ней апплет размещает свои объекты, как делает кучу, как освобождает куски и т.д. — VM про это ничего не знает. Где там указатели, а где числа и строки — тоже. Разные нативные языки делают это очень по-разному. При желании можно сделать какой-то GC, который будет управлять такой кучей и знать про ее структуру, но тогда разные языки надо будет специально сильно переделывать внутри, чтобы они могли использовать это фиксированное представление объектов и указателей. Получится как в JVM, когда одни языки (клоны джавы) легко на нее ложатся, а некоторые другие — с большим скрипом.
DM>>Они отделили стек от "памяти", как теперь языкам с GC сканировать стек на предмет указателей? Кажися, это одна из причин, почему языки с GC пока не спешат компилиться в wasm.
vsb>Я думаю, они сделают опциональный сборщик мусора на уровне VM.
У wasm-апплета память — это линейный массив байтов. Про то, как в ней апплет размещает свои объекты, как делает кучу, как освобождает куски и т.д. — VM про это ничего не знает. Где там указатели, а где числа и строки — тоже. Разные нативные языки делают это очень по-разному. При желании можно сделать какой-то GC, который будет управлять такой кучей и знать про ее структуру, но тогда разные языки надо будет специально сильно переделывать внутри, чтобы они могли использовать это фиксированное представление объектов и указателей. Получится как в JVM, когда одни языки (клоны джавы) легко на нее ложатся, а некоторые другие — с большим скрипом.