A succession of ECMAScript engines have been used with Opera. (For the origin of their names, see
Cultural notes below.) Pre-Presto versions of Opera used the Linear A engine. Opera versions based on the Core
fork of Presto,
Opera 7.0 through 9.27, used the Linear B engine. The Futhark engine is used in some versions on the Core 2 fork of Presto, namely Opera 9.5 to Opera 10.10. When released it was the fastest engine around, but in 2008 a new generation of ECMAScript engines from
Google (
V8),
Mozilla (
SpiderMonkey), and
Apple (
JavaScriptCore) took one more step, introducing native code generation. This opened up for potential heavy computations on the client side and Futhark, though still fast and efficient, was unable to keep up. In early 2009, Opera introduced the Carakan engine. It featured register-based
bytecode, native code generation, automatic object classification, and overall performance improvements. ==History and development==