Older blog entries for rmathew (starting at number 15)

Some time back, I stumbled upon "Cygnus Foundry Java Edition - Architecture and Design Manual". This document is somewhat dated and describes the plans more than what really has been implemented in GCJ, but it is still a good read and I would highly recommend it to anyone trying to understand GCJ.

I had my "Aaaahhhh!!" moments of comprehension reading this document, especially with the "Stack Slot Compilation", "Class Metadata", "Debugging Interpreted Java", "C/C++ and Compiled Java", etc sections.

Mark Wielaard (mjw) has created "Planet Classpath", a wonderful consolidation of weblogs maintained by GNU Classpath hackers. Kudos to him.

This weekend I spent time reading "The Java Virtual Machine Specification", something that I should have a done a very long time ago. I didn't finish it and I didn't understand everything, but a lot of things have become much clearer, including the meaning of (ID[Ljava/lang/String;)Ljava/lang/Thread;. ;-)

I also played around with Jasmin, an assembler for the JVM.

In 1995-96, when I was in the final year of my undergraduate studies at IIT-K and Java was this new and cool language for creating web animations, most of us learnt this language and played around with it. "HS" was a guy who went beyond the language and used to play with the class file format and raw JVM instructions - he was promptly labelled a "weirdo" and people used to make fun of him behind his back, but were still in awe of him.

I am such a weirdo myself now. :-)

But seriously, the JVM architecture is quite simple and the instruction set is quite high-level and simple - no decent Java programmer will have much difficulty in understanding it. It is worth a dekko.

26 Mar 2004 (updated 26 Mar 2004 at 12:07 UTC) »
tromey continues to blog albeit elsewhere!

He seems to be working on a new frontend for GCJ.

Now why don't I get to know of such cool things earlier? :-(

BTW, I finally get to see what he looks like!

Who would have thought this was the reason for this!

Tree-SSA is being merged into the GCC mainline! This project brings in an optimisation framework for GCC Trees based on the Static Single Assignment (SSA) form. GCC uses Trees as one of its Intermediate Representations (IRs) - the Register Transfer Language (RTL) being the other IR.

Trees are being cleaned up (simplified and made language independent) into the new "GENERIC" representation, which will then be simplified further into the "GIMPLE" representation. More details can be found in the proceedings of the 2003 Annual GCC Summit. (See the papers "Tree SSA - A New Optimization Infrastructure for GCC" by Diego Novillo and "GENERIC and GIMPLE: A new tree representation for entire functions" by Jason Merrill.)

The current mainline now has "Variable Tracking", that allows GCC to more accurately track and describe variables in the generated debug information even after optimisation - even with -fomit-frame-pointer! As a result, -fomit-frame-pointer will become the default for the x86 backend, freeing up a much-needed register on this starved architecture. You will however minimally need GDB 6.1 to be able to correctly debug with the generated location lists. This version has not yet been released though.

2 Nov 2003 (updated 2 Nov 2003 at 02:14 UTC) »

Since APM was a nice feature to have, especially given the ability to properly power-off the machine with a "shutdown -h now" under APM, I enabled it again in the kernel but turned off the "Enable console blanking using APM" option - this seems to work perfectly well.

31 Oct 2003 (updated 31 Oct 2003 at 19:07 UTC) »

The graphics card upgrade caused me immense trouble with Linux - the machine would freeze whenever the X server exited or when virtual console blanking kicked in.

After much troubleshooting and hunting over the Net, I finally managed to solve the problem by disabling APM in the kernel. Phew!

I was not terribly excited by the knowledge that the card is made by "Robanton", apparently a Taiwanese company whose site works no more.

29 Oct 2003 (updated 29 Oct 2003 at 07:22 UTC) »

After several months, I finally laid my hands on the nVidia GeForce 3 Ti 200 that I had bought off eBay. With this upgrade, my system now scores 3968 on the 3DMark 2001 gaming benchmark - an increase of more than six times over my original configuration!

I hope this is just about enough to play Half-Life 2 and Uru. :-/

I noticed that the LexarMedia JumpDrive 256MB USB drive that I bought sometime back was actually capable of storing only 245MB! Sure enough, this was because they use 1000 bytes per kilobyte and 1000 kilobytes per megabyte to advertise storage space provided by the device like hard disc manufacturers do, instead of 1024 bytes/KB and 1024 KB/MB that is used by almost all operating systems. Uggghhh!!

By the way, the replacement for the defective Visoly Flash Advance Xtreme 128M Card arrived and is working perfectly well. I am extremely pleased with the great service from Success Compu (HongKong).

My hacking on GCJ has been quite erratic and inconsistent - I feel really bad about it. I hope to get to speed on this shortly (don't we all?).

I have been reading Peter van der Linden's excellent book "Expert C Programming: Deep C Secrets" - it is thoroughly enjoyable and is the first book on C after "The C Programming Language", Second Edition, by Kernighan and Ritchie that I really liked. Otherwise one only gets to see such horrendous titles as "Let Us C" (which is sadly a textbook for C in a lot of Indian colleges) and "Teach Yourself C in 24 hours".

van der Linden has a cool and humourous style of writing and obviously knows what he is talking about. Very highly recommended to anyone who likes programming in C.

My LexarMedia JumpDrive Secure USB 256MB Drive arrived yesterday after I won it in an eBay auction - what a cool and really nifty thing! Unfortunately, I had to literally hack out a portion of the drive so that it could fit into the weirdly designed USB port of my office machine, but it works perfectly well otherwise.

I now have "deferred broadband". :-)

I bought a Visoly Flash Advance Xtreme 128M Card for the GBA and it turned out to be defective! Uggghhhhh... I have sent it back to the store for repair or replacement.

I have also bought a Lexar Media JumpDrive 256MB Secure USB Drive off eBay and am waiting for its arrival. Let us hope this one does not turn out to be a dud!

Yay!

I upgraded my home PC with some RAM (512MB that should have been recognised as 784MB - see my previous diary entry) and a 750MHz P3 bought off eBay and I can see the dramatic improvement this upgrade has brought to my system compared to the 128MB RAM and a 450MHz P2 that I had on this PC.

My system now scores 1280 on 3DMark 2001 compared to 585 before the upgrade! More importantly, GCC 3.4 now does a clean bootstrap in ~2 hours instead ~3.5 hours earlier!

I now eagerly await my GeForce 3 graphics card, also bought off eBay, so that I can enjoy Half Life 2!

6 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!