I know that Adobe shared the Flash Player source code with Apple, but heard Apple assigned an intern to try porting it to iPhone. The Adobe developer working with Apple told me the ported code Apple sent back to Adobe didn’t even compile, so we don’t know if they even tested it on a real iPhone. We jokingly called the iPhone port “Project Boomerang” because the code that came back was basically the same that we sent them. :)
The Flash Player’s source code was ugly, but you have to remember that its roots trace back before Macromedia to SmartSketch, a vector drawing application for the PenPoint OS in the early 1990s. The core rendering and scripting code has since been ported and squeezed into new platforms and applications. And then the dot com boom happened. The development team grew to about a hundred developers and no one person understood the entire code base. Code was copy/pasted freely for fear of introducing regressions that would break existing Flash content.
Multiple rewrites and grand new engines that would live alongside the legacy engine were attempted but failed due to backwards compatibility, the second system effect, and product management’s pressure for new features.
To make matters more challenging, Adobe was losing interest in funding Flash development because revenue didn’t scale with Flash Player usage, only with sales of the Flash authoring tool to a small audience of Flash content creators. That’s when rev share schemes for 3D APIs, DRM, and asm.js-like C++ cross compilation (Alchemy and CrossBridge) were hatched.