World Library  
Flag as Inappropriate
Email this Article


Article Id: WHEBN0042302470
Reproduction Date:

Title: CrossBridge  
Author: World Heritage Encyclopedia
Language: English
Subject: Adobe Flash, Free software, Cross-compilers, RTMPDump, FXG
Collection: Adobe Flash, Adobe Software, Cross-Compilers, Free Software, Free Software Programmed in C++
Publisher: World Heritage Encyclopedia


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.[1] Projects compiled with CrossBridge run up to 10 times faster than ActionScript 3 projects.[2][3][4][5][6] CrossBridge was also known as "Alchemy" and the "Flash Runtime C++ Compiler", or "FlasCC".[7][8][9]

CrossBridge uses high-performance memory-access opcodes in the Flash Player (known as "Domain Memory") to work with in-memory data quickly.[10] 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,[4][5][6] but up to 2× to 10× slower than native C++ code.[11]

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).[12]

Using CrossBridge, Adobe ported OpenGL for use within Flash Player Stage3D and released it as an open-source project in 2012.[13] The Lua programming language (version 5.1) was also ported to run in Flash Player using CrossBridge, and released on Google Code.[14] CrossBridge-compiled projects also enabled running client-side digital signal processing in real-time,[15] including Fast Fourier Transform and Mexican hat wavelet transform.


  • History 1
  • See also 2
  • References 3
  • External links 4


In 2008, CrossBridge was released by Adobe as "Project Alchemy", on the Adobe Labs website. It enabled compilation of specially modified C++ projects to SWF, using the LLVM and GCC compilers.[7]

In 2012, in an attempt to monetize Flash Player, Adobe restricted use of the Stage3D and Domain Memory features of Flash Player under the "Premium Features" brand. The "Premium Features" were licensed for use and publishers were to pay royalties to Adobe for use of the same.[16] Project Alchemy was commercially released as the Flash Runtime C++ Compiler.[9]

In 2013, Adobe open-sourced the Flash Runtime C++ Compiler as CrossBridge, and released it on the GitHub code hosting website.[17] The "Premium Features" were also made free for use, and no longer required licensing or royalties.[18]

See also


  1. ^ CrossBridge by Adobe, at GitHub
  2. ^ Alchemy:FAQ at the Wayback Machine (archived May 5, 2012), Adobe Labs, "ASC performs few optimizations at this time"
  3. ^
  4. ^ a b Alchemy:FAQ, Adobe Labs
  5. ^ a b Optimizing ActionScript Bytecode using LLVM, Adobe
  6. ^ a b Adobe Alchemy, is it ActionScript heresy?, Unit Zero One
  7. ^ a b Alchemy Released on Labs, Adobe Blogs, November 17, 2008
  8. ^ Alchemy Updates Released on Labs, Adobe Blogs, December 11, 2008
  9. ^ a b Project “Alchemy” is now the Flash Runtime C++ Compiler (FlasCC), Adobe Blogs, October 8, 2012
  10. ^ FlasCC for Flash Player, Adobe Gaming
  11. ^ Alchemy, Adobe Labs
  12. ^ XC APIs, Adobe Gaming
  13. ^ OpenGL for Stage3D, GitHub project hosting
  14. ^ lua-alchemy, Port of the Lua programming language for ActionScript using Alchemy, Google Code
  15. ^ Real-time pitch detection in AVM2, Temptonik, January 2015
  16. ^ Premium Features for Flash Player, Adobe Flash Team Blog, Adobe
  17. ^ Open Source Flash C++ Compiler, CrossBridge, Adobe Blogs, June 25, 2013
  18. ^ Adobe Premium Features for Flash Player, Adobe Devnet

External links

  • Official website
  • Adobe Flash C++ Compiler (FlasCC) from Adobe devnet
  • adobe-flash / crossbridge on GitHub
  • CrossBridge on
  • vpmedia / crossbridge on GitHub
  • CrossBridge-Community on
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.