Публикации по теме 'v8'


Отладка V8 в ядре Node.js с помощью GDB
Или в других проектах, которые включают V8 Если вы вносите свой вклад в ядро ​​Node, вам в конечном итоге потребуется отлаживать код C ++ в / node / src / . Если вы делали это раньше, то могли заметить, что команда GDB print бесполезна при работе с кодом V8. TL;DR Use .gdbinit from V8. (gdb) job obj # Print v8::HeapObject*. (gdb) jlh obj # Print v8::Local handle. # Somewhere in the code v8::Local<v8::String> class_name = FIXED_ONE_BYTE_STRING(env->isolate(),..

Давайте разберемся с Chrome V8: понимание байт-кода и его отладка
Давайте разберемся с Chrome V8 (глава 18): подробности о байт-коде. Добро пожаловать в другие главы Давайте разберемся с Chrome V8 Байт-код реализован с помощью CodeStubAssembler (CSA), который можно грубо рассматривать как сборку. Байт-код загружается в десериализованном виде во время запуска V8 без таблицы символов. Итак, я хочу вам сказать: CAS непонятен в статическом анализе. Более того, мы не можем получить исходный код байт-кода при отладке. В этой статье будет..

Давайте разберемся с Chrome V8
Добро пожаловать в другие главы Давайте разберемся с Chrome V8 В этом документе объясняется генерация функции JsPrint из двух токен-слов, а также показан код ядра, рабочий процесс и важные структуры данных сканера. 1. Тестовый пример Примечание. Тестовый пример очень простой, поэтому он не может охватить весь поток сканера. 2. Токен: функция, JsPrint V8_INLINE Token::Value Scanner::ScanSingleToken() — это начало сканирования токена. Мы уже знаем, что c0_ уже..

Повышение производительности Javascript за счет понимания V8
Прежде чем перейти к советам по оптимизации производительности, давайте обсудим, что такое V8? V8 - это высокопроизводительный движок Javascript с открытым исходным кодом, созданный Ларсом Баком (датский программист, работающий в настоящее время в Google). * Он был написан на C ++ и использовался в больших проектах, таких как Couchbase, Node.js и т. Д. * Он реализует ECMAScript (ECMA-262) * Он стал самым известным Механизм Javascript, поскольку основные различия между V8 и..

Приветствуя JavaScript
Javascript всегда был проблемой для каждого внутреннего разработчика. Вам это может не понравиться, но иногда нам все же приходится писать JS. В этой статье речь пойдет о цикле событий , небольшой, но очень важной части всего механизма V8 . Если вы не знаете о V8, то это механизм выполнения javascript. V8 компилирует javascript непосредственно в машинный код перед его выполнением. Скомпилированный код дополнительно оптимизируется (и повторно оптимизируется) динамически во время..

Давайте разберемся с Chrome V8  — Глава 7: Фрейм стека
Добро пожаловать в другие главы Давайте разберемся с Chrome V8 В этой статье мы поговорим о фрейме стека двух распространенных вызовов функций: «аргументы меньше объявленных параметров» и «аргументы больше объявленных параметров». Объясните, почему эти два вызова функций ( несоответствие аргументов ) не вызывают переполнения стека, но могут выполняться и правильно выводить результаты. 1. Введение Фрейм стека используется для хранения аргументов, возврата вызываемого объекта,..

Функции генератора - до бесконечности и дальше
Введение Вы, наверное, сталкивались с этим раньше - вам хотелось сохранить в памяти действительно большой список. После тщательного рассмотрения вы пришли к выводу, что это либо невозможно, поскольку память является ценным и ограниченным ресурсом, либо даже не нужно, поскольку нам нужен только один элемент за раз. Это когда « Генераторы ». Что такое генераторы? Генераторы - это функции, которые создают элементы последовательности, один за другим. Это дает нам возможность..