A cool, though shy, Andrew Haley.
(Originally posted on Advogato.)
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.)
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.)
Labels:
advogato diary,
gcc,
gcj,
iit
2004-03-26
Tromey
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!
(Originally posted on Advogato.)
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!
(Originally posted on Advogato.)
Labels:
advogato diary,
blogging,
gcj
2004-03-15
2004-03-08
Tree-SSA
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.
(Originally posted on Advogato.)
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.
(Originally posted on Advogato.)
Labels:
advogato diary,
gcc
2003-11-01
APM and Graphics Card Again
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.
(Originally posted on Advogato.)
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.
(Originally posted on Advogato.)
Labels:
advogato diary,
hardware,
linux
2003-10-31
APM and Graphics Card
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.
(Originally posted on Advogato.)
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.
(Originally posted on Advogato.)
Labels:
advogato diary,
hardware,
linux
2003-10-29
nVidia GeForce 3 Ti 200
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?).
(Originally posted on Advogato.)
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?).
(Originally posted on Advogato.)
Labels:
advogato diary,
hardware
2003-09-17
"Expert C Programming"
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". :-)
(Originally posted on Advogato.)
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". :-)
(Originally posted on Advogato.)
Labels:
advogato diary,
books,
programming
2003-09-09
Replacements
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!
(Originally posted on Advogato.)
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!
(Originally posted on Advogato.)
Labels:
advogato diary,
hardware
Subscribe to:
Comments (Atom)
