Current Ongoing Work - Sept 2013

88 views
Skip to first unread message

Ben Cooley

unread,
Sep 17, 2013, 3:35:18 PM9/17/13
to plays...@googlegroups.com
Current work ongoing on PlayScript

Android

The Android port is now fully working and is more or less at parity with iOS.   Stage 3D support is fully supported now on both platforms and the same projects work on both without any serious modification.

Mono 3.2.0 Support

We have merged with the latest mono 3.2.0 and the 3.2 branch is stable and working.  We will push 3.2 to master as soon as we verify that everything is fully working for us.

Conformance

We have added untyped variable, method parameters, and return types to allow us to compile the AS3 acceptance test suite.  We have also merged the Xamarin playscript branch's support for comma operator, which was missing in our version.  Right now the Xamarin playscript branch is far more conformant than ours from a proper language implementation perspective, and we are merging their changes into our branch as we can to try to address some of the more serious issues.  

Optimization

Further work has been done optimizing basic types such as ByteArray, Vector.<>  and Array.  We have also done a deep dive on VM performance and are pretty satisfied that the Mono VM generates really great code vs both AIR and C++.  There were only two issues that we found involving inlining and trampolines, and the trampoline issue turned out to be an incorrect build setting by us.  The inlining issue is generally not a problem but we did add an AOT parameter to the AOT compiler to test a fix for our code.   

Further work is needed however, particularly in the AOT dynamic runtime which is substantially slower than Adobe AIR.  However these optimizations require deeper modifications to the VM and our approach so far has been to simply use the [ForbitDynamic] and [PermitDynamic] attributes to identify dynamic code and remove it from the hot paths of our projects.





Reply all
Reply to author
Forward
0 new messages