On Mon, 18 Dec 2000, Joseph Shraibman wrote:

> In at least a few instances that I know of, jikes produces slower code. 
> But I don't think javac is a really great optimizing compiler either.

That does not matter. Java code should be optimized by
the JIT not the Java compiler. On a pure interpreted JVM
it might matter a bit, but who uses those these days?
Besides, you could just switch to javac when you compile
the final executable, if it mattered.

> There is at least one bug that causes jikes to crash where javac
> compiles the code.  Don't remember exactly what it was, I think it was
> something like private inner classes.  I just made them non-private and
> they compiled fine.

That is a known bug, it is covered by this Jacks regression test:

8.8.5.1-accessible-explicit-super-invocation-args-3

class T8851aesia3_super {
    private T8851aesia3_super(int i) {}

    static class T8851aesia3 extends T8851aesia3_super {
        T8851aesia3() { super(1); }
    }
}

It should be fixed in the 1.13 release.

There are also cases where javac compiles your
code even though it is not legal. For example:

class T8851mti2 {
T8851mti2() { this(0); }
T8851mti2(int i) { this(); }
}

Jikes correctly prints an error in this
case, since the function would loop forever.

Javac does not.

cheers
Mo DeJong
Red Hat Inc


----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to