Как WebAssembly может работать на любой машине? - PullRequest
0 голосов
/ 24 сентября 2018

За последнее время видел пару презентаций WebAssembly (Wasm).Я понял, что Wasm - это цель компиляции, из которой статически типизированные языки, такие как C / C ++, могут компилироваться.Затем браузер может запустить код Wasm и каким-то образом преобразовать его в машинный код соответствующего компьютера.Например:

Wasm WebAssembly

Вопрос:

Как браузер может преобразовать Wasm в соответствующий машинный код?

1 Ответ

0 голосов
/ 24 сентября 2018

Браузеры имеют как интерпретаторы, так и JIT-компиляторы для JavaScript.Как правило, они довольно сложны, поскольку браузеру приходится выполнять большую «работу» по созданию оптимизированного кода JIT для машины, которую нужно выполнить.

С веб-сборкой это на самом деле мало чем отличается.Браузеры все еще должны JIT код.Однако здесь работа намного проще.Набор инструкций WebAssembly был выбран, чтобы сделать эту задачу относительно простой.Несмотря на это, в браузерах все еще есть «многоуровневая» компиляция для модулей WebAssembly.

Если вы хотите узнать подробности, лучше всего взглянуть на исходный код браузера!

...