Дмитрий Бежецков, Владимир Ануфриенко — Портирование JS на Эльбрус (звук синхронизирован)
Описание
Оригинал https://www.youtube.com/watch?v=1zWUN6y2WbI (Исправил рассинхрон звука)
Дмитрий и Владимир поделятся уникальным опытом портирования Node.js платформы на архитектуру VLIW / EPIC. Мы услышим про структуру и особенности V8, SpiderMonkey, поговорим о деоптимизации и рассмотрим, как движки работают с регистрами. Услышим о новой надежде HolyJit. Хмм… Интересно, в честь какой конференции ребята из Mozilla выбрали название движка? :)
Эльбрус возвращается, теперь с докладом про JavaScript. Мы в Unipro не сидели сложа руки и за прошедшие полтора года портировали SpiderMonkey, V8 и даже NodeJS.
В докладе мы расскажем про:
Эльбрус и его особенности;
подводные камни портирования SpiderMonkey Baseline и V8 FullCodegen;
переиспользование кода из Java для реализации оптимизирующего компилятора, SpiderMonkey Ion;
реализацию деоптимизации.
Первый доклад на HolyJS, в котором расскажем не только про Chrome и V8, но еще и про Firefox! Доклад будет полезен всем, кто хочет познакомиться с внутренним устройством виртуальных JS-машин, понять, как JS преобразуется в бинарный код, и узнать, с какими задачами придется столкнуться при портировании виртуальных машин и как с ними справлялись мы. И конечно, доклад будет полезен всем, кому интересно развитие российских технологий.
00:00 Введение и цели доклада
01:11 Сравнение архитектур x86 и Эльбрус
03:06 Пример кода для Эльбрус
05:55 Особенности стеков и предсказателей переходов
06:52 Зачем нужен JavaScript на Эльбрус
07:49 Реализация компилятора
09:39 Проблемы и решения
11:34 Тестирование и результаты FullCodeGen
12:30 Заключение о V8
13:25 Введение в разработку Firefox
14:23 Уровни исполнения SpiderMonkey
15:21 Основы baseline
17:13 Преимущества и недостатки baseline
19:06 Портирование baseline
20:59 Обработка исключений
23:46 Оптимизация и сборщик мусора
25:42 Оптимизация кода на JavaScript
27:36 Использование библиотеки Tango
29:26 Проблемы оптимизации на JavaScript
32:17 Реализация режима пойнт на Эльбрусе
34:12 Результаты и выводы
38:41 Спекуляция и зависимые чтения
39:37 Использование инфраструктуры и бэкендов
41:31 Архитектура Эльбруса и компиляторы
43:22 Оптимизация и тестирование кода
45:15 Производительность и оптимизация
48:13 Оптимизация на этапе компиляции
#Эльбрус #ЭльбрусПроцессор #Эльбрус Процессор #импортозамещение #МЦСТ #Процессоры #Эльбрус16С #VLIW #Baikal #РоссийскиеПроцессоры #Микропроцессор #SoC #TSMC #e2k
Рекомендуемые видео




















