Patch Set 5:
I suggested to actually emitif (...) _asyncStartHelper(...)
The code as it is written right now would not actually work - because front-end is running on non-product VM in Flutter.
You're right, CFE should take defines as options instead of relying on the host VM configuration. Environment defines (such as 'dart.vm.product') are used in constants transformation and Flutter should be passing them to front-end already. Does it make sense to pass environment defines through CompilerOptions or Target and use in async transformation as well?