I think it would be beneficial. Inlining at the AVM2 level can help with optimizations, things that the JS engine cannot reason about. Getters, setters and construct super calls will benefit a lot from inlining. There are two ways to do this at the moment:
1. Currently, AVM2 bytecode is transformed into an IR that is consumed by the C4 compiler. The C4 compiler is meant to be used general purpose JIT (although it's not completely decoupled from Shumway, but it will be). Performing inlining at this phase means other applications that target this IR will benefit from inlining).
2. You can perform inlining when generating the C4 IR (in builder.js). There are some optimizations that happen at this stage that can benefit from inlining.
I would go with option 1.
- Michael