[kaffe] arm/linux jit3 status report

2007-07-31 Thread Kiyo Inaba
Still it does not work, but I finally found where the bug is...

According to the assembler listing of the method 'loadClass' (which
is attached at the very end of this mail), the argument one (which is
passed by register r1) is once stored in register r6, and has a copy
in [r11, #-72]. But at adress 0x68d910, the saved area are contaminated
by register r7, rather than r6. It is also true for the 'hidden'
argument ('this' variable) passed by register r0, and stored in r5.

Maybe some register spill portions should have bug, and I need extra
time to fix it. The register allocation algorithm in kaffe is tough
to debug ;-<

Kiyo
-

0x68d830:   mov r12, sp
0x68d834:   stmdb   sp!, {r4, r5, r6, r7, r8, r9, r10, r11, r12, lr, pc}
0x68d838:   subsr9, pc, #16 ; 0x10
0x68d83c:   sub r11, r12, #4; 0x4
0x68d840:   subssp, sp, #48 ; 0x30
0x68d844:   mov r5, r0
0x68d848:   mov r6, r1  ; == 'HelloWorldApp'
0x68d84c:   mov r7, r2
0x68d850:   cmp sp, r3
0x68d854:   bhi 0x68d864
0x68d858:   ldr r3, [r9, #-56]
0x68d85c:   mov lr, pc
0x68d860:   mov pc, r3
0x68d864:   str r3, [r11, #-56]
0x68d868:   mov r0, r5
0x68d86c:   ldr r1, [r9, #-48]
0x68d870:   mov lr, pc
0x68d874:   mov pc, r1 ; lockObject
0x68d878:   str r5, [r11, #-76]
0x68d87c:   str r6, [r11, #-72]
0x68d880:   cmp r5, #0  ; 0x0
0x68d884:   bne 0x68d894
0x68d888:   ldr r1, [r9, #-40]
0x68d88c:   mov lr, pc
0x68d890:   mov pc, r1
0x68d894:   ldr r1, [r11, #-76]
0x68d898:   cmp r1, #0  ; 0x0
0x68d89c:   bne 0x68d8ac
0x68d8a0:   ldr r2, [r9, #-40]
0x68d8a4:   mov lr, pc
0x68d8a8:   mov pc, r2
0x68d8ac:   ldr r2, [r11, #-56]
0x68d8b0:   ldr r1, [r11, #-72]
0x68d8b4:   ldr r0, [r11, #-76]
0x68d8b8:   ldr r3, [r9, #-32]
0x68d8bc:   ldr r3, [r3]
0x68d8c0:   mov lr, pc
0x68d8c4:   mov pc, r3
0x68d8c8:   mov r4, r0
0x68d8cc:   cmp r4, #0  ; 0x0
0x68d8d0:   bne 0x68da70
0x68d8d4:   str r5, [r11, #-76]
0x68d8d8:   cmp r5, #0  ; 0x0
0x68d8dc:   bne 0x68d8fc
0x68d8e0:   str r4, [r11, #-60]
0x68d8e4:   str r7, [r11, #-52]
0x68d8e8:   str r6, [r11, #-48]
0x68d8ec:   str r5, [r11, #-44]
0x68d8f0:   ldr r0, [r9, #-40]
0x68d8f4:   mov lr, pc
0x68d8f8:   mov pc, r0
0x68d8fc:   ldr r0, [r11, #-76]
0x68d900:   ldr r0, [r0, #16]
0x68d904:   cmp r0, #0  ; 0x0
0x68d908:   bne 0x68d960
0x68d90c:   ldr r2, [r11, #-56]
0x68d910:   str r7, [r11, #-72]
0x68d914:   ldr r1, [r11, #-72] ; <<<=== BAD VALUE
0x68d918:   str r6, [r11, #-76]
0x68d91c:   ldr r0, [r11, #-76]
0x68d920:   str r4, [r11, #-60]
0x68d924:   ldr r3, [r9, #-24]
0x68d928:   ldr r3, [r3]
0x68d92c:   mov lr, pc
0x68d930:   mov pc, r3
0x68d934:   mov r4, r0
0x68d938:   cmp r4, #0  ; 0x0
0x68d93c:   beq 0x68d95c
0x68d940:   mov r0, r5
0x68d944:   ldr r1, [r9, #-16]
0x68d948:   mov lr, pc
0x68d94c:   mov pc, r1
0x68d950:   mov r0, r4
0x68d954:   b   0x68dae0
0x68d958:   str r4, [r11, #-76]
0x68d95c:   b   0x68d9f8
0x68d960:   str r5, [r11, #-76]
0x68d964:   cmp r5, #0  ; 0x0
0x68d968:   bne 0x68d97c
0x68d96c:   str r4, [r11, #-60]
0x68d970:   ldr r1, [r9, #-40]
0x68d974:   mov lr, pc
0x68d978:   mov pc, r1
0x68d97c:   ldr r1, [r11, #-76]
0x68d980:   ldr r1, [r1, #16]
0x68d984:   str r1, [r11, #-76]
0x68d988:   str r6, [r11, #-72]
0x68d98c:   str r7, [r11, #-68]
0x68d990:   cmp r1, #0  ; 0x0
0x68d994:   bne 0x68d9a8
0x68d998:   str r4, [r11, #-60]
0x68d99c:   ldr r1, [r9, #-40]
0x68d9a0:   mov lr, pc
0x68d9a4:   mov pc, r1
0x68d9a8:   ldr r1, [r11, #-76]
0x68d9ac:   ldr r2, [r1]
0x68d9b0:   ldr r2, [r2, #32]
0x68d9b4:   ldr r3, [r11, #-56]
0x68d9b8:   str r2, [r11, #-80]
0x68d9bc:   ldr r2, [r11, #-68]
0x68d9c0:   ldr r1, [r11, #-72]
0x68d9c4:   ldr r0, [r11, #-76]
0x68d9c8:   str r4, [r11, #-60]
0x68d9cc:   ldr r10, [r11, #-80]
0x68d9d0:   mov lr, pc
0x68d9d4:   mov pc, r10
0x68d9d8:   str r0, [r11, #-76]
0x68d9dc:   mov r0, r5
0x68d9e0:   ldr r1, [r9, #-16]
0x68d9e4:   mov lr, pc
0x68d9e8:   mov pc, r1
0x68d9ec:   ldr r1, [r11, #-76]
0x68d9f0:   mov r0, r1
0x68d9f4:   b   0x68dae0
0x68d9f8:   b   0x68da28
0x68d9fc:   mov r12, r11
0x68da00

[kaffe] CVS kaffe (alper): Code update for new Xynth graphics api.

2007-07-31 Thread Kaffe CVS
PatchSet 7502 
Date: 2007/07/31 19:53:31
Author: alper
Branch: HEAD
Tag: (none) 
Log:
Code update for new Xynth graphics api.

Members: 
ChangeLog:1.5001->1.5002 
libraries/clib/awt/xynth/graphic.c:1.3->1.4 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.5001 kaffe/ChangeLog:1.5002
--- kaffe/ChangeLog:1.5001  Sat Jul 21 17:39:26 2007
+++ kaffe/ChangeLog Tue Jul 31 19:53:31 2007
@@ -1,3 +1,7 @@
+2007-07-31 Alper Akcan <[EMAIL PROTECTED]>
+
+   * libraries/clib/awt/xynth/graphic.c: Code update for new GRLib API.
+
 2007-07-22  Kiyo Inaba <[EMAIL PROTECTED]>
 
* config/arm/jit-arm.def: FP reg numbering fix for jit.
Index: kaffe/libraries/clib/awt/xynth/graphic.c
diff -u kaffe/libraries/clib/awt/xynth/graphic.c:1.3 
kaffe/libraries/clib/awt/xynth/graphic.c:1.4
--- kaffe/libraries/clib/awt/xynth/graphic.c:1.3Wed Feb 14 13:50:51 2007
+++ kaffe/libraries/clib/awt/xynth/graphic.cTue Jul 31 19:53:32 2007
@@ -160,8 +160,6 @@
int x1;
int y1;
int iw;
-   char *vbufs;
-   char *vbufi;
s_rect_t coor;
s_rect_t inter;
graphics_t *gr;
@@ -182,12 +180,12 @@
if (sx1 < 0) sx1 = 0;
if (sx0 >= iw) sx0 = iw - 1;
if (sx1 >= iw) sx1 = iw - 1;
-   srfs = (s_surface_t *) AWT_MALLOC(sizeof(s_surface_t));
-   vbufs = (char *) AWT_MALLOC((x1 - x0 + 1) * (y1 - y0 + 1) * 
gr->surface->bytesperpixel);
-   s_getsurfacevirtual(srfs, x1 - x0 + 1, y1 - y0 + 1, 
gr->surface->bitsperpixel, vbufs);
-   srfi = (s_surface_t *) AWT_MALLOC(sizeof(s_surface_t));
-   vbufi = (char *) AWT_MALLOC(img->w * img->h * 
gr->surface->bytesperpixel);
-   s_getsurfacevirtual(srfi, img->w, img->h, gr->surface->bitsperpixel, 
vbufi);
+   if (s_surface_create(&srfs, x1 - x0 + 1, y1 - y0 + 1, 
gr->surface->bitsperpixel)) {
+   goto out0;
+   }
+   if (s_surface_create(&srfi, img->w, img->h, gr->surface->bitsperpixel)) 
{
+   goto out1;
+   }
s_fillbox(srfi, 0, 0, img->w, img->h, gr->bg);
s_putboxrgba(srfi, 0, 0, img->w, img->h, img->rgba);
s_scalebox(gr->surface, srfi->width, srfi->height, srfi->vbuf, 
srfs->width, srfs->height, srfs->vbuf);
@@ -198,11 +196,10 @@
if (s_rect_intersect(&(gr->clip), &coor, &inter) == 0) {
s_putboxpart(gr->surface, inter.x, inter.y, inter.w, inter.h, 
srfs->width, srfs->height, srfs->vbuf, inter.x - coor.x, inter.y - coor.y);
}
-   AWT_FREE(vbufs);
-   AWT_FREE(vbufi);
-   AWT_FREE(srfs);
-   AWT_FREE(srfi);
-   DEBUGF("Leave");
+   s_surface_destroy(srfi);
+out1:  s_surface_destroy(srfs);
+out0:  DEBUGF("Leave");
+   return;
 }
 
 KAFFE_GR_FUNC_DECL(void, Java_java_awt_Toolkit_graDraw3DRect, jint x, jint y, 
jint width, jint height, jboolean raised, jint rgb)

___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe


Re: [kaffe] tomcat-4.1 & kaffe; IllegalArgumentException: Attribute must be readable or writable

2007-07-31 Thread Craig Skinner
On Mon, Jul 30, 2007 at 10:50:53AM -0400, Joe Phillips wrote:
> Based on the exception stack it looks like the problem is with some
> JMX functionality
> either in Tomcat proper or one of your webapps.  Note the mention of
> "MBean"
> in the stack trace.
>
> I run Tomcat 5.0.30 on a SPARC with Kaffe 1.1.7 and Debian etch.  It
> works.
> I've seen similar exceptions in the past when I attempted to use
> webapps with JMX
> features.
>
> I think the JMX support is broken in Kaffe.  I've seen posts on the
> 'net consistent
> with this conclusion.  For example:
> http://activemq.apache.org/how-do-i-run-activemq-under-the-kaffe-jvm.html
>
> For me, I could get my application working with kaffe by removing any
> jmx jar files from tomcat's
> path.  Perhaps this will work for you?
>

Thanks for the help Joe.

Did not work in this case.

The best I got was by using the server-noexamples.xml.config with a
disabled connectionTimeout:

2007 7 30 21:17:43 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Starting service Tomcat-Apache
Apache Tomcat/4.1.31
StandardServer.await: accept: java.net.SocketTimeoutException: Accept
timed out
java.net.SocketTimeoutException: Accept timed out
   at gnu.java.net.PlainSocketImpl.socketAccept (PlainSocketImpl.java)
   at gnu.java.net.PlainSocketImpl.accept (PlainSocketImpl.java:87)
   at java.net.ServerSocket.implAccept (ServerSocket.java:369)
   at java.net.ServerSocket.accept (ServerSocket.java:321)
   at org.apache.catalina.core.StandardServer.await (StandardServer.java:480)
   at org.apache.catalina.startup.Catalina.start (Catalina.java:472)
   at org.apache.catalina.startup.Catalina.execute (Catalina.java:350)
   at org.apache.catalina.startup.Catalina.process (Catalina.java:129)
   at java.lang.reflect.Method.invoke0 (Method.java)
   at java.lang.reflect.Method.invoke (Method.java:255)
   at org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:156)
Stopping service Tomcat-Standalone
2007 7 30 21:17:47 org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080
Stopping service Tomcat-Apache

___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe