Comments 14
Уважаемые читатели! Планируете ли вы анализировать байт-код ваших JS-программ?
Можно было бы сделать голосование в статье.
Статья очень интересная, но анализировать байт-код я буду вряд ли. Для меня это имело бы смысл, если бы я мог какой-то кусок непосредственно поменять. Есть конечно возможность переписать немного исходного кода, но ведь не зная полностью потроха — далеко не сразу угадаешь же что получится, верно?
Реально польза могла бы быть, будь конструктор по типу JetBrains MPS в этот байткод. Уже был бы и Typescript -> байткод, и много чего.
V8 имеет несколько сотен байт-кодов.
Не путайте опкоды и байт-код
Но так их называют в оригинальной статье, и сами разработчики.
The name bytecode stems from instruction sets that have one-byte opcodes followed by optional parameters.
я не понимаю сути притензий.
UFO just landed and posted this here
Где-то можно найти информацию о том как в конвейере V8 обрабатывается asm.js и wasm?
Для asm.js нет отдельного пайплайна (в отличие от SpiderMonkey), wasm вообще никакого отношения к V8 не имеет.
Как это никакого?
github.com/v8/v8/tree/master/src/wasm в 2017 уже существовал, и до сих пор там же.
github.com/v8/v8/tree/master/src/wasm в 2017 уже существовал, и до сих пор там же.
Блин, классно конечно это всё, но было бы круче, если бы можно было эти байткоды загружать отдельно. То есть если браузер хром, то он загружает уже готовые байткоды, что и легче и для конечного пользователя практичнее. А остальные пусть загружают исходник...
Ну это так, идея просто.
Да знаю я про wasm)
Ну так это ж прям то что вы описываете. Еще и не только под хром.
Это не совсем то, что я описываю. У wasm вся соль на том, что он быстрый, потому что изначально нативный. Ну короче говоря это просто асм. А вот байткод бы дал те же преимущества, что и в яве даёт. То бишь выше по по реализации, ибо байткод изначально умеет работать с дом, он имеет доступ к api всем. Это по сути полнофункциональный js, вот только ниже и не нужно ждать пока браузер его скомпилит в байткод)
Но это к сожалению относится только к хрому. В лисаньке такое уже не прокатит, у них честный интерпретатор.
Поэтому я и говорю, что это просто идея, часть работы сделать при билдинге, и клиенту выдавать уже отчасти пережёванный код.
Но это к сожалению относится только к хрому. В лисаньке такое уже не прокатит, у них честный интерпретатор.
Поэтому я и говорю, что это просто идея, часть работы сделать при билдинге, и клиенту выдавать уже отчасти пережёванный код.
Sign up to leave a comment.
Путь к пониманию байт-кода V8