CrossBridge is an open-source toolset developed by Adobe Systems, that cross-compiles C and C++ code to run in Adobe Flash Player or Adobe AIR. Projects compiled with CrossBridge run up to 10 times faster than ActionScript 3 projects. CrossBridge was also known as "Alchemy" and the "Flash Runtime C++ Compiler", or "FlasCC".
CrossBridge uses high-performance memory-access opcodes in the Flash Player (known as "Domain Memory") to work with in-memory data quickly. CrossBridge uses the LLVM and GCC as compiler backends, in order to compile C++ code, optimize it, and transform it to run within AVM2 (the ActionScript Virtual Machine). Programs built with CrossBridge are up to 10 times faster than normal ActionScript code, but up to 2× to 10× slower than native C++ code.
CrossBridge can generate Flash Player movies (.swf files), or Flash Libraries (.swc files), which can then be used by larger projects written in ActionScript 3 and compiled using the free Apache Flex SDK (formerly the Adobe Flex SDK). CrossBridge also uses the GPU-based 3D rendering acceleration present in Flash Player 11 (known as Stage3D).
Using CrossBridge, Adobe ported OpenGL for use within Flash Player Stage3D and released it as an open-source project in 2012. The Lua programming language (version 5.1) was also ported to run in Flash Player using CrossBridge, and released on Google Code. CrossBridge-compiled projects also enabled running client-side digital signal processing in real-time, including Fast Fourier Transform and Mexican hat wavelet transform.