V8 (движок JavaScript)

  • История и разработка V8

    • V8 — это JavaScript и WebAssembly движок от Google, используемый в браузере Chrome. 
    • Создан в 2008 году Ларсом Баком, назван в честь автомобильного двигателя. 
    • Изначально был быстрее других браузеров, но со временем его скорость была улучшена. 
  • Архитектура и оптимизация

    • Основан на ассемблере Strongtalk, в 2010 году добавлена новая инфраструктура компиляции Crankshaft. 
    • В 2015 году добавлен проект ТРДД для повышения производительности сложных рабочих нагрузок. 
    • Вдохновлен Java Hotspot, имеет новые исполнительные конвейеры. 
  • Поддержка WebAssembly и Ignition

    • Поддержка WebAssembly началась в 2015 году. 
    • В 2016 году добавлен интерпретатор Ignition для сокращения использования памяти на Android. 
    • В 2017 году выпущен новый компилятор, включающий Ignition и TurboFan. 
  • Изменения в компиляции и профилировании

    • С версии 5.9 отказались от использования Full-codegen и Crankshaft, так как они не успевали за новыми возможностями JavaScript. 
    • В 2021 году представлен новый многоуровневый конвейер компиляции SparkPlug. 
    • В 2023 году добавлен компилятор Maglev SSA для оптимизации менее часто запускаемых циклов. 
  • Дизайн и оптимизация

    • Сначала генерируется абстрактное синтаксическое дерево, затем Ignition генерирует байт-код, а TurboFan компилирует его в машинный код. 
    • Компилируется «точно в срок», оптимизируется динамически на основе профиля выполнения. 
    • Используются методы оптимизации, включая встраивание и кэширование. 
  • Использование и портирование

    • Компилируется для различных архитектур, включая x86, ARM, MIPS, PowerPC и IBM ESA/390. 
    • Используется в различных браузерах, серверных базах данных, средах выполнения и мобильных приложениях. 
  • Дополнительные ресурсы

    • Ссылки на официальный веб-сайт и другие ресурсы доступны в статье. 

Полный текст статьи:

V8 (движок JavaScript) — Википедия

Оставьте комментарий

Прокрутить вверх