Archive for January, 2004

Crossroads Mall

Here in Boulder the ominously-named Crossroads Mall, a place where
one supposes that a modern-day Robert Johnson might well trade in his
soul for a new pair of Nikes, sits like a cancer mid-town. The mall
has hardly seen worse days, even as a cow pasture. There’s one store
remaining and the remainder is sits dark. Lately I’ve come to realize
that there aren’t simply economic reasons for this. No, the town’s
vampire community has long needed a place to rest during the day, and
they’ve outgrown their former accomodations on North Broadway. Plus,
the food is better downtown.

We can only hope that Boulder High is training our own Buffy to
save us. Else we are doomed.

Big Fish

For me this movie was a sentimental and emotional experience,
touching on the themes of the meaning of life, friendship, courage,
communication, etc. The various whimsical fantasy scenes were the
best part overall. In the end this was missing a little something,
hard to say what. I probably won’t watch it again. Still, I
recommend it.

Gcj as JIT

I’ve been talking with Andrew more about using gcj as a JIT. This
seems not only feasible, but attractive, at this point.

First, we can easily hook into libgcj. We simply override
ClassLoader.defineClass to call into our special code.
There we compute a crypto hash of the class and use this to look in a
cache for the corresponding shared library.

If we don’t find the library, we write out and compile the class
file. We do this by adding a special mode to gcj so that it doesn’t
have to load any extra classes. It just compiles exactly what is in
the class file with very little interpretation.

We can make this safe quite easily. First, we do as much
verification as possible in gcj itself. However, we don’t do any
checking of reference types — in fact we can’t do this, since the
compile time environment might be different from the runtime
environment. Instead we have the gcj verifier emit a list of
verification assertions, and then when loading the shared object we
run through this list and check each one. This means that the class
cache is perfectly safe even if we load the class via a strange class
loader.

Gcj JIT Information

I’ve been researching the simplest way to get a JIT for gcj for a
while.

I investigated using either ORP or Kaffe. ORP looked possible,
since it was written to be VM-independent, but difficult due to
mismatches between its exception handling and gcc’s. Kaffe had a
similar problem, with licensing difficulty to boot.

Tonight I looked into Mono’s new “mini” JIT a bit. Aside from the
ugliness of the code, it seems pretty reasonable. It appears to
integrate well with Dwarf-style exception handling. I’d imagine we
could write a libgcj port of it in a couple weeks (of solid time, not
spare time).

I still suspect Andrew’s gcj-as-jit
idea will prove to be the winner. Still, it is worth exploring our
options.

I’ve also got a short document on the requirements for JIT
pluggability. I’ll post that to the Classpath list soon-ish.

More Compiler News

Yesterday the new front end broke the 20,000 LOC barrier. So,
that’s progress.

The new work is mostly in bytecode generation, since that is
pretty easy, and fun, and I’m avoiding dealing with classification of
expression names.

At this point I’m considering setting up a new project on
Savannah. One problem is Savannah doesn’t seem to have processed new
registrations for a couple of months.

Elephant

I had heard from a friend that this was good. I didn’t know quite
enough about it or I would have refused to go, I think. Gus Van Sant
stays relentlessly on the surface of things, providing us with an
essentially insight-free depiction of Columbine. Thanks, but my
imagination had already filled in all those details. I’d prefer a
deeper work. My first reaction to this movie was anger, I was tempted
to review it with the single word “exploitive”.

Paycheck

About what I expected. The only other person in the theater
expressed his disappointment to me, but I think his expectations were
set too high. It’s hard to believe much will come from a Ben Affleck
action movie based on one of Philip K. Dick’s second-rate
stories.

Return of the King

This movie was everything I had expected of it. Though of course
I would have seen it even if it had gotten bad reviews, seeing as I’d
already committed to the first two in the series. Let’s hope the same
team makes The Hobbit, as has been rumored.

At various times, though, I had to avert my eyes. Something I
discovered while watching Independence Day is that it’s hard for me
to watch massacres on-screen. This movie was no different, and even
the stylized and obviously-computerized battle scenes were too much
for my temperament.

Also disturbing was the efficacy of the pre-battle motivational
talks given by various kings and heros. Sometimes it seems we’re all
just a rousing speech away from mass destruction. Perhaps I was just
in a susceptible mood that day.