[kaffe] arm/linux jit3 status report
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.
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
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