v8/firefox RegExp 实现是基于有限自动机还是递归回溯?

Is v8/firefox RegExp implementation based on finite automata or recursive backtrace?

我看到了这份文件:https://swtch.com/~rsc/regexp/regexp1.html 这声称 Perl、Java 和许多其他语言使用基于递归回溯的 "slow" RegExp,但 grep 和 awk(还有 Go)使用更快的有限自动机。 IE。正则表达式转换为 FA 然后执行。该论文还声称,所有语言都应该改用 FA 技术,尽管它的实现更为复杂。我很好奇当前的 JavaScript 实现是否有这种或另一种方式。

V8 的正则表达式引擎 "Irregexp" 基于自动机,参见 https://blog.chromium.org/2009/02/irregexp-google-chromes-new-regexp.html

Firefox 现在使用 V8 的 Irregexp 的分支,参见 https://bugzilla.mozilla.org/show_bug.cgi?id=976446,因此它也基于自动机。