Hey guys, The hero Jeremy Zurcher has been playing around and looking for ways to improve Eo and address all the issues that have been raised by everyone. We revisited some old ideas, tried some new ideas and changed our compromises and preferences to better suit our needs (followed by the extensive trial period). We think we made things better and we'd like to hear your thoughts and suggestions.
The code resides in devs/tasn/eo2. The differences are not major usage-wise (i.e eo_do), but are major internally and class-creation-wise. There's an example of the usage of the new API in the eo2test directory. The existing code-base hasn't been changed to use the new API, so there's not a lot to review. Eo2 is not complete, we'd like to hear your thoughts before finishing things. Major changes: 1. No more va_args, good ol' normal functions instead. 2. Functions are resolved in eo and then called directly, creating a "flatter" backtrace. 3. We can have return values (to some extent). 4. Less boiler-plate. 5. Looks like we'll be able to get rid of some code thanks to this change. 6. Possibly (probably) faster on platforms that pass parameters in registers. 7. Easier to do breakpoint on a specific eo_do call, instead of an implementation. What we'd still like to achieve: 1. Being able to drop the IDs in favour for more "friendly" IDs. It'd be best to find a way to use the function pointers (for example) as the IDs, but the problem is, that because function pointers are more "unknown" we can do less optimisations on them which we'd like to avoid. 2. Reduce more boiler-plate. Haven't been implemented yet: eo_do_super (among many other things). Additional comments: EO_FUNC - this one creates a function that resolves and returns the appropriate function. The functions created using this macro should be used instead of the current eo macros. This one can potentially be improved. eo2_do_start/end are just the entry/exit hooks of eo2_do (ref/unref and possibly other stuff in the future). Looking forward to hearing what you have to say. -- Tom. ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel