Optimize It
I am back from the holidays for sometime now, but I got swamped instantly by the work in my daytime job. I had very little energy on the project in the nights, which was spent on two things: chasing that #@!% bug which is killing me and implementing the data-flow optimization.
JamVM in the making
I have actually received a few donations! I'd like to start by saying thank you, you know who you are!
After a much needed vacation on the French Riviera, I still have a few days off work, and I can put a wee bit more effort into JAmiga/JamVM.
Deluxe Paint
As an Amiga fan, many years ago I used Deluxe paint from Electronic Arts.
Today I still dream that one day, someone, somewhere will create Deluxe Paint for the Amiga.
Looking at JamVM again
In 2009 I had some attempts at JamVM. Now I have actually managed to get JamVM running on AmigaOS 4. You can read more on what was the turning point at amigans.net. So currently I'm going JamVM, all in!
What does this then mean, exactly?
Summertime!
JIT Goes Blue
Byte off more than one can buffer
This is more of a mental note to self. But it gives a small insight to what I'm battling with.
I've just traced in which way VMNetChannel allocates its ByteBuffer (ByteBuffers are used for pretty much anything handling data, not only network stuff, so its a pretty crucial thing to have).
Starting in VMNetChannel, we find a ByteBuffer.allocate(int capacity). It goes something like this:
Back to net stuff
After my latest musings with JNI and JVM interfaces, I am finally back at implementing the network support. I have implemented it pretty like described in previous entry and also made the necessary classpath changes. Furthermore, the classpath implementation, java-net library, now fully depends on the various JVM_-functions exported by the main JAmiga engine, i.e. JVM_Socket, JVM_Bind and so on.
Lies, Damned Lies, Statistics and Benchmarks
A4000: Installing Indivision AGA mk2
Hey peepz, long time no see, but I had a really good excuse :)
On 26th of May my lovely daughter was born and for that matter I was fully devoted to her and my wife :)
I'm really happy that everything worked out just fine, and that a new girly Amigan was born.
Anywayz... this weekend I found some time between her sleeps to tinker my lovely A4000 and my newly acquired Indivision AGA mk2 (for A4000/CD32).
Many have already made some reviews and troubleshoots via the known forums but here I will present my own POV.
So, this is what the package includes
Janus-UAE v1.2 released
Nearly a year after 1.1 was released, I found the time to fix some of the v1.1 bugs. Some of them appeared because of recent AROS changes and bug fixes. There are no new features in this release.
Bug fixes:
God Save the Queen
Thank you dear Queen Elizabeth II that Your Majesty has birthday, just like us, puny humans do. Even if it is not on this day yet we got a day off to celebrate in New Zealand too. (Well, logic is not a strong point of human society.)
So, I decided to celebrate Her Majesty's birthday by doing some coding.
The update is a little bit short and not too interesting, just a couple more instructions implemented:
JNI and JVM interface
Currently I am working on implementing the JVM interface from OpenJDK. This work is done in parallell with GNU Classpath. I.e. I will try to use OpenJDK's JVM interface in JAmiga's GNU Classpath implementation. Basically I have refactored the classpath specific code from the JAmiga binary into its own library, gnuclasspath.library (an upcoming library will of course be openjdk.library). This will then in turn get access to the JAmiga VM's exported JVM interface, in the same way OpenJDK would do it.