instanceof (and checkcast, etc) are fairly slow in gcj currently. Here are a couple of papers on the topic of speeding this up: http://lambda-the-ultimate.org/node/view/1218 http://people.csail.mit.edu/jrb/pve/index.htm
Confirmed.
Now I think we don't need to do anything here. We already handle the common cases. For instance, if the target is an interface we will use the IDT to do this test. This is reasonably fast. Also if both classes in question are concrete, we will use the 'ancestors' array to do a constant-time check.
Nothing to do -- not sure why I didn't close it earlier.