Основано на чудесном шаблоне Дениса https://github.com/pyos/re2jit-template/ Идея развита и доработана Александром Седовым, группа БПМИ143.
JIT-компилятор, полностью понимающий опкоды RE2, даже всякие милые бесполезности типа неюникодной "границы слов". Принцип работы фактически такой же, как у RE2 NFA: у нас есть состояния, к которым прикреплён capture state. В отличие от RE2, процесс использует один массив (связную область памяти) и два указателя - чтения и записи. Память выделяется один раз из расчёта "чтобы точно хватило", обращения к памяти сведены к минимуму: почти все переменные хранятся в регистрах, никаких внешних функций не вызывается вообще. Задача состояла в том, чтобы быть максимально дружелюбными к кэшу.
JIT-компилятор работает только для x86-64, потому что использует всякую тёмную магию типа списков указателей на код (что недоступно чудесной библиотеке libjit) и RIP-relative addressing.