Thinking about the next release.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Thinking about the next release.

Bryce Kampjes

At the moment I'd like to get the following into the next release of
Exupery:
 * A new primitive.
 * A new context class for Exupery's method contexts.
 * Return true and false primitives.
 * Get the stress test running in 3.9

The new primitive should mean that compiling the large explorers
benchmark will always be beneficial. At the moment if it tries to
inline point creation then there's a 5-10% speed loss. New is also a
useful building block because it's used in many other primitives.

The new context class is to interact with the debugger and other
tools. It will also provide an easy place to put decompilation hooks
if a context is being manipulated via reflection. The goal is to have
the debugger and profilers work nicely with Exupery's compiled methods
again. Creating a new context class to do this should make it easier
to add full method inlining in 2.0.

Return true and false primitives are to enable these simple primitives
to be compiled and inlined as they do almost nothing. At the moment
compiled code does a full primitive lookup to execute these primitives
while the interpreter inlines them into commonSend.

The stress test crashes again. This looks like it's because there
are more tests in 3.9 and some of those tests cause Exupery problems.
I also think there may be a bug or two due to upgrading VMMaker to
3.8b6.


That just leaves implementing interrupt checking in compiled code
before Exupery is ready to begin running in the background. I suspect
that the register allocator will need a bit of tuning to speed up
compile times and more bugs will need to be fixed before background
compilation is practical.

Bryce
_______________________________________________
Exupery mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery