Re: SPECjvm98

2002-03-23 Thread Dalibor Topic


On Friday 22 March 2002 11:27, Jukka Santala wrote:
 On Thu, 21 Mar 2002, Dalibor Topic wrote:
 Now you're confusing me, as well. As noted above, modifying code on one
 platform can affect the performance of other platforms (or other code
 paths) negatively, and I doubt most developers bother to benchmark even on
 their own system after every little change that could've slowed things
 down.

 Hence it would be good idea to provide performance history graphs on
 different platforms so that people can see that Aha, so something
 committed on April the 1st turned the Gibbering test 50% slower on both
 platforms X and Y, must have been the new gibber-collector I submitted...

I agree. I test the stuff I (re)implement for performance, but usually don't 
bother testing the performance of small spec conformance fixes.

I would, for example, like to introduce a kaffe.util.param package in a not 
too distant future. There is a lot of parameter checking code in the io 
libraries, and I'd like to factor that out into the param package. The 
package would contain just final classes with static methods. So your typical 
method call to BufferedReader.read(buf, off, len) would call 
kaffe.util.param.Buffer.check(buf, off, len) before it goes on with your read 
request.

Since BufferedReader.read(char [], int, int) already checks its parameters, 
this would in effect de-inline that code out of the read method. The 
resulting performance penalty would be eliminated by a JIT compiler that can 
inline final methods. But it would remain on platforms stuck with an 
interpreter.

The interesting question to ask is: Is the adverse effect on performance on 
those platforms big enough to kill this idea? I could only know if people 
submitted benchmark results for those platforms, once the patch is out.

  In general, if people run kaffe on benchmarks  put the results on the
  web, I assume that Jim will link to them. If people volunteer to do so
  regularly,

 That is somewhat what I had in mind. I'm bit reluctant to volunteer, as I
 don't know how long I can contribute, but I should be able to put up
 performance-tracking for AMD Duron and StrongARM at least. Intel platforms
 should be relatively easy to come by.

Sounds great. I could offer results on a Cyrix Psomething+.

Do you have any specific benchmarks in mind? 

dalibor topic

_
Do You Yahoo!?
Get your free yahoo.com address at http://mail.yahoo.com




Re: Interesting results...

2002-03-23 Thread Dalibor Topic


On Saturday 23 March 2002 00:26, Andrew Dalgleish wrote:
 Should Kaffe's make check include a full test suit for all compilers?

No. There is a project called jacks for that.

I think it would be better if we had an application that loads  links all 
classes from Klasses.jar. That would in turn automatically have them verified 
by the VM. Running that application before checking in a new version of 
Klasses.jar, and as a regression would be a better way to ensure Klasses.jar 
is in a useable state.

Hint: it should be rather easy to code, so if someone feels like devoting a 
couple of minutes to it, go for it.

dalibor topic

_
Do You Yahoo!?
Get your free yahoo.com address at http://mail.yahoo.com




Re: Most popular applications?

2002-03-23 Thread Dalibor Topic


On Friday 22 March 2002 11:16, Jukka Santala wrote:
 look into improving the PocketLinux Kaffe implementation. Speaking purely
 personally, I wouldn't mind seeing framebuffer GUI added to the desktop
 edition, or the GPL released versions merged, and that's something we're
 looking at.

speaking purely personally:
Merging things from pocketlinux' kaffe to kaffe.org sounds interesting to me. 
I've seen that pocketlinux features a lot of new stuff (new mem mgmt, gcs, 
jit, platforms, frambuffer, microwindows, gtk peers, ...) and would like to 
see some of that finding its way into the desktop edition.

dalibor topic

_
Do You Yahoo!?
Get your free yahoo.com address at http://mail.yahoo.com




Re: Jikes 1.15 vs. Verifier

2002-03-23 Thread Dalibor Topic

On Sunday 24 March 2002 04:54, Dalibor Topic wrote:
 I've attached the patch for class-analyse.c that improves the error
 message generated when the verification fails. I hope this will make
 finding that kind of issues with compilers easier.

I have now ...

* kaffe/kaffevm/code-analyse.c:
(verifyBasicBlock) improved error message.


--- kaffe/kaffe/kaffevm/code-analyse.c	Fri Jun  1 21:30:05 2001
+++ patched-kaffe/kaffe/kaffevm/code-analyse.c	Sun Mar 24 04:42:39 2002
 -406,7 +406,8 
 		if (sp  meth-localsz || sp  meth-localsz + meth-stacksz) {
 			failed = true;
 			postExceptionMessage(einfo, JAVA_LANG(VerifyError),
-at pc %d sp %d not in range [%d, %d],
+In class %s in method %s with signature %s at pc %d: sp %d not in range [%d, %d],
+meth-class-name-data, meth-name-data, METHOD_SIGD(meth),
 pc, sp, meth-localsz, 
 meth-localsz + meth-stacksz);
 			break;