Перейти к основному содержимому

Запуск интерпретатора Ignition

· 4 мин. чтения
Росс МакИлрой, стартер V8 Ignition

V8 и другие современные движки JavaScript достигают своей скорости благодаря компиляции "на лету" (JIT) скриптов в нативный машинный код непосредственно перед выполнением. Код сначала компилируется базовым компилятором, который может быстро генерировать неоптимизированный машинный код. Скомпилированный код анализируется во время выполнения и при необходимости динамически перекомпилируется с использованием более продвинутого оптимизирующего компилятора для максимальной производительности. В V8 этот процесс выполнения скриптов имеет множество специальных случаев и условий, которые требуют сложной логики для переключения между базовым компилятором и двумя оптимизирующими компиляторами, Crankshaft и TurboFan.

V8 на конференции BlinkOn 6

· 2 мин. чтения
команда V8

BlinkOn — это проходящая дважды в год встреча участников Blink, V8, и Chromium. BlinkOn 6 состоялся в Мюнхене 16 и 17 июня. Команда V8 представила несколько презентаций об архитектуре, дизайне, инициативах по повышению производительности и реализации языка.

Релиз V8 v5.3

· 3 мин. чтения
Команда V8

Примерно каждые шесть недель мы создаем новую ветку V8 в рамках нашего процесса релизов. Каждая версия создается из главной ветки Git V8 сразу перед созданием ветки Chrome для этапа Chrome Beta. Сегодня мы рады объявить о создании нашей новой ветки, версии V8 5.3, которая будет находиться в beta-версии до выпуска в стабильной версии Chrome 53. V8 v5.3 наполнен множеством улучшений для разработчиков, поэтому мы хотели бы дать вам предварительный обзор некоторых ключевых моментов в ожидании релиза через несколько недель.

Релиз V8 версии v5.2

· 2 мин. чтения
Команда V8

Примерно каждые шесть недель мы создаем новую ветку V8 в рамках нашего процесса выпуска. Каждая версия создается из основной ветки репозитория V8 сразу перед созданием ветки Chrome для этапа Chrome Beta. Сегодня мы рады объявить о нашей новой ветке, версии V8 5.2, которая будет находиться в стадии бета-тестирования до выпуска в стабильной версии Chrome 52. V8 5.2 наполнена различными улучшениями для разработчиков, поэтому мы хотели бы поделиться с вами некоторыми из основных моментов в ожидании выпуска через несколько недель.

ES2015, ES2016 и далее

· 8 мин. чтения
команда V8, энтузиасты ECMAScript

Команда V8 придает большое значение эволюции JavaScript в все более выразительный и четко определенный язык, который упрощает написание быстрых, безопасных и правильных веб-приложений. В июне 2015 года комитетом стандартизации TC39 была ратифицирована спецификация ES2015, что стало крупнейшим обновлением языка JavaScript. Новые функции включают классы, стрелочные функции, обещания (promises), итераторы/генераторы, прокси, общеизвестные символы, а также дополнительный синтаксический сахар. TC39 также ускорил процесс выпуска новых спецификаций и в феврале 2016 года выпустил кандидат на ES2016, который будет ратифицирован этим летом. Хотя это обновление не такое обширное, как ES2015 из-за более короткого цикла выпуска, ES2016 примечательно вводит оператор возведения в степень и Array.prototype.includes.

V8 выпуск v5.1

· 3 мин. чтения
команда V8

Первым шагом в процессе выпуска V8 является создание новой ветки из главной ветки Git непосредственно перед ветвлением Chromium для этапа Chrome Beta (примерно каждые шесть недель). Наша новейшая ветка выпуска — V8 v5.1, которая останется в бета-версии, пока мы не выпустим стабильную сборку вместе с Chrome 51 Stable. Вот основные особенности версии V8, предназначенные для разработчиков.

Jank Busters Part Two: Orinoco

· 5 мин. чтения
охотники за джанком: Улан Дегенбаев, Михаэль Липпаутц и Ханнес Пайер

В предыдущем посте в блоге мы рассмотрели проблему джанка, вызванного сборкой мусора, которая прерывает плавный процесс просмотра. В этом посте мы представляем три оптимизации, которые являются основой для нового сборщика мусора в V8, кодовое название которого — Orinoco. Orinoco основан на идее реализации преимущественно параллельного и конкурентного сборщика мусора без строгих границ поколений, что позволит уменьшить джанк от сборки мусора и снизить потребление памяти, обеспечивая при этом высокую пропускную способность. Вместо того чтобы реализовывать Orinoco в виде отдельного сборщика мусора с флагом, мы решили постепенно вводить его функции в основной ветке V8, чтобы пользователи могли сразу извлечь из этого пользу. Три функции, обсуждаемые в этом посте, — это параллельная компактация, параллельная обработка запомненного набора и черное выделение.

Релиз V8 версии v5.0

· 2 мин. чтения
команда V8

Первым шагом в процессе выпуска V8 является создание новой ветки из главной ветки Git сразу перед появлением ветки Chromium для этапа Chrome Beta (примерно каждые шесть недель). Наша новейшая ветка релиза - V8 v5.0, которая останется в бета-версии до выпуска стабильной сборки вместе с Chrome 50 Stable. Вот ключевые нововведения для разработчиков в этой версии V8.

Экспериментальная поддержка WebAssembly в V8

· 3 мин. чтения
Сет Томпсон, ведущий разработки WebAssembly

Для всестороннего обзора WebAssembly и дорожной карты будущего сотрудничества сообщества, смотрите Веха WebAssembly в блоге Mozilla Hacks.

С июня 2015 года сотрудники из Google, Mozilla, Microsoft, Apple и сообщества WebAssembly W3C активно работают над проектированием, спецификацией и реализацией (1, 2, 3, 4) WebAssembly — нового времени выполнения и целевого компилятора для веба. WebAssembly — это низкоуровневый переносимый байткод, который разработан для кодирования в компактном бинарном формате и выполнения с почти нативной скоростью в безопасной песочнице памяти. Как развитие существующих технологий, WebAssembly тесно интегрирован с веб-платформой, а также быстрее загружается через сеть и быстрее создается, чем asm.js, низкоуровневый подмножество JavaScript.

Утверждения с обратным просмотром в регулярных выражениях

· 3 мин. чтения
Янг Гуо, инженер по регулярным выражениям

Регулярные выражения были введены в третьей редакции спецификации ECMA-262 и являются частью JavaScript с 1999 года. Функциональность и выразительность реализации регулярных выражений в JavaScript примерно совпадает с тем, что доступно в других языках программирования.