diff -aruN shujit-0.7.0/ChangeLog shujit/ChangeLog --- shujit-0.7.0/ChangeLog Sun Mar 11 17:00:15 2001 +++ shujit/ChangeLog Mon Mar 19 14:41:52 2001 @@ -1,5 +1,16 @@ $Id$ +[20010319] + +0.7.1 リリース。 + +[20010318] + +throwtableAdd() に引数として与える、バイトコード上の PC を、 +各メソッドの元の値ではなく、 +インライン展開先の最も外側のメソッド上の PC に修整。 +(compile.c) + [20010311] lazy compilation のしきい値 (オプション cmplthreshold) を、 diff -aruN shujit-0.7.0/README shujit/README --- shujit-0.7.0/README Sun Mar 11 16:24:29 2001 +++ shujit/README Mon Mar 19 14:43:58 2001 @@ -14,8 +14,8 @@ - Linux - Blackdown JDK 1.2.2 FCS, gcc 2.95.2, glibc 2.2.1 - and Linux 2.4.2-ac18 - - JDK 1.1.8v3, gcc 2.95.2, glibc 2.2.1 and Linux 2.4.2-ac18 + and Linux 2.4.3-pre4 + - JDK 1.1.8v3, gcc 2.95.2, glibc 2.2.1 and Linux 2.4.3-pre4 - JDK 1.1.7v1a, egcs 1.1.2, libc 5.4.38 and Linux 2.0.35 - FreeBSD diff -aruN shujit-0.7.0/compile.c shujit/compile.c --- shujit-0.7.0/compile.c Sun Mar 11 16:11:05 2001 +++ shujit/compile.c Sun Mar 18 18:06:42 2001 @@ -2183,7 +2183,7 @@ if (nativecode[-1] & OPC_SIGNAL_MASK) { // these native code may send SIGSEGV or SIGFPE throwtableAdd(info, nativeoff, (uint16_t)codep->length, - (uint16_t)pctable->byteoff); + (uint16_t)pctable->increasing_byteoff); #ifdef COMPILE_DEBUG if (compile_debug) { printf("throwtableAdd(): opc %x, byte 0x%x, native 0x%x - 0x%x\n", diff -aruN shujit-0.7.0/invoker.c shujit/invoker.c --- shujit-0.7.0/invoker.c Sun Mar 11 16:11:40 2001 +++ shujit/invoker.c Sun Mar 18 18:13:18 2001 @@ -568,6 +568,7 @@ else if ((!strcmp(cbName(fieldclass(&mb->fb)), "java/lang/System")) && (!strcmp(mb->fb.name, "getProperty"))) debugp = TRUE; +#if 0 else if ((!strcmp(cbName(fieldclass(&mb->fb)), "java/lang/ThreadGroup")) && ( !strcmp(mb->fb.name, "uncaughtException") || @@ -576,6 +577,7 @@ !strcmp(mb->fb.name, "remove") )) debugp = TRUE; +#endif #if 0 else if ((!strcmp(cbName(fieldclass(&mb->fb)), "NET/shudo/metavm/Proxy"))) debugp = TRUE; diff -aruN shujit-0.7.0/optimize.c shujit/optimize.c --- shujit-0.7.0/optimize.c Sun Mar 11 16:12:07 2001 +++ shujit/optimize.c Sun Mar 18 18:04:30 2001 @@ -423,6 +423,22 @@ compileMethod(method, STAGE_INTERNAL_CODE); // make internal codes } +#ifdef COMPILE_DEBUG + if (cc->compile_debug) { + printf(" inlineability of %s#%s %s: ", + cbName(fieldclass(&method->fb)), + method->fb.name, method->fb.signature); + switch (inlined_info->inlineability) { + case INLINE_UNKNOWN: + printf("unknown\n"); break; + case INLINE_DONT: + printf("dont\n"); break; + case INLINE_MAY: + printf("may\n"); break; + } + fflush(stdout); + } +#endif if ((inlined_info->inlineability >= INLINE_MAY) && ((mb->fb.access & ACC_STRICT) == (method->fb.access & ACC_STRICT))) {