[kaffe] SPEC JVM98 Failure with current CVS Sources

Dalibor Topic robilad at yahoo.com
Thu Oct 3 11:55:00 PDT 2002

Hi Kevin,

--- "Kevin D. Kissell" <kevink at mips.com> wrote:
> The new build from CVS (with my MIPS patch)
> passes all the regression tests, including the new
> CatchLimits.class.save test, but it fails the SPEC
> JVM98 _200_check sanity check, on the 
> testObjectArray test, blowing out with:
> java.lang.ArrayStoreException: not arrays
> This arose from an invocation of 
> java.lang.system.arraycopy() by the SPEC code.
> I'd provide the whole exception backtrace, but
> the applet console window doesn't allow me to
> cut and paste to an Xterm. :-(  I hope that this
> clue would be enough to tell someone who had
> made relevant mods between 1.0.7 and today
> where they should re-check their work.

It was me who made the modification. I merged in the
pure java System.arraycopy from pocketlinux as it was
pure java and faster on small cases than the native
method invocation. It made a noticeable difference on
the SciMark benchmark.

In the new code, instanceof destination array is used
to check the type of the array, and call the according
copy loop. I assume that we are mishandling the case
where destination is null, and the check fails for all

Could you confirm that by replacing the throw clause
by a few System.err.println calls with dst and src in
libraries/javalib/java/lang/System.java in method

> When I overrode the sanity check and forced
> the test harness to run the benchmarks anyway,
> they all run to completion, mostly with the
> same elapsed time, though interestingly,
> one of them (mtvt) slowed down by 10%.

that's weird. it's mtrt, btw. it's a raytracer running
in two threads. I can not get hold of a copy of
"Characterizing the SPEC JVM98 benchmarks on the Java
virtual machine" by Bowers and Kaeli from my crappy
internet cafe connection, you might have more luck.
It's on citeseer.

> I cannot redistribute my copy of the SPEC
> code, of course, but I'd recommend that as
> many kaffe developers as possible arrange
> to get a copy, at least of the JVM98 client-side
> Java benchmarks (the server benchmarks are
> much more expensive for some reason).

SpecJVM98 check test is available online as a "teaser"

it's actually available after you accept their
license, but I didn't want to post that link. On a
futher note, kaffe's appletviewer used to throw an
exception downloading the applet this spring, which
was last time I tried it. That might have been cured
in the mean time.

best regards,

dalibor topic

Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!

More information about the kaffe mailing list