*** MOVED ***

NOTE: I have merged the contents of this blog with my web-site. I will not be updating this blog any more.

2004-03-29

History of GCJ

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.


(Originally posted on Advogato.)

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.