rhug failure on alpha

Tom Tromey tromey@redhat.com
Tue Mar 19 00:26:00 GMT 2002


>>>>> "Jeff" == Jeff Sturm <jsturm@one-point.com> writes:

Jeff> Sounds reasonable, but I don't know why fold-const would be
Jeff> target-specific unless there's something I don't understand.

Here's an example from fold-const.c:

   If we have p->a == q->a && p->b == q->b, we may be able to use bit masking
   operations to do this with one comparison.

These masking operations would be target-dependent, since they would
depend on the size of the fields and the sizes the target can
manipulate.

For instance, comparing two adjacent `jint' fields might optimize to a
single compare on the alpha but not the x86.  (I made this example
up.)

Debugging shows that we are indeed generating the bit field operation
in fold_truthop().  I doubt I'll be fixing this for 3.1.

One fix might be to simply teach gcj how to undo the bit field
optimizations.  This would be a workaround.  Long term either we have
to add java-specific hooks to fold-const, or we have to write our own
fold().

Tom



More information about the Java mailing list