My plan is to release a 1.0 as soon as possible. That's a release of Exupery that is generally useful, even if only for a single platform. The road map to 1.0 is: 0.08: * Compiled blocks * Super Sends 0.09: * Point>>@ * Compiled Object>>new * Fully integrated dynamic primitive inlining. Other likely items before 1.0: * A compiled ExuperyBlockContext>>value * Natively compiled String primitives (at least #at: and #at:put:) * Removal of SmallInteger tagging in expression trees. * Compiled inlined code to call Slang primitives 2.0 will probably just have full dynamically inlined messages. I'd really like have them as soon as possible because they will really change the costs of sends. I'd rather not do too much tuning of compiled sends until they are in place because hopefully most sends will be dynamically inlined. 3.0 is likely to have an SSA based optimiser. That should first provide another 2-4 times increase in bytecode performance then provide a good platform for further optimisations. The changes are I've slipped the Point>>@ and object creation work to 0.09 and full dynamically inlined messages to 2.0. This isn't really delaying either feature. Just focussing on improving the stability and usefulness of the entire system first. Dynamically inlined primitives are something that's been nearly fully working for a few releases now. They allow primitives to be inlined into a calling method which means that a primitive that's called frequently will be as fast as if it was implemented as a bytecode. Because they are dynamically inlined, they will be specialised for the actual types used by the sender. I've been using them for #at: and #at:put: in the bytecode benchmark. The only thing missing is finishing the type feedback mechanism. Bryce _______________________________________________ Exupery mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery |
> My plan is to release a 1.0 as soon as possible.
> That's a release of > Exupery that is generally useful, even if only for a > single platform. That's good news Bryce! A blazing Squeak, if stable, would be truly compelling. Are you planning support for all three major platforms? I take it there is no (Slangy) way to make Exupery platform-independent? Regards, Chris _______________________________________________ Exupery mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery |
Chris Muller writes:
> That's good news Bryce! A blazing Squeak, if stable, > would be truly compelling. Thanks > Are you planning support for all three major > platforms? I take it there is no (Slangy) way to make > Exupery platform-independent? Do you mean the three main x86 platforms? An operating system port should be easy. There's only a few things that are likely to be different. The most likely difference is the call to allocate executable memory. There's a small chance that the C calling conventions are different. The biggest problem may be building a regular VM to port into. I'm hoping that other people will step forward to do the ports. I'd like there to be ports, but it's really up to you. For Exupery to be fully accepted by the community, other people will need to be able to maintain it. Bryce _______________________________________________ Exupery mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery |
Free forum by Nabble | Edit this page |