From owner-java@jp.FreeBSD.org Wed Aug  7 11:51:14 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g772pEq86244;
	Wed, 7 Aug 2002 11:51:14 +0900 (JST)
	(envelope-from owner-java@jp.FreeBSD.org)
Received: from ongs.co.jp (ns.ongs.co.jp [202.216.232.58])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with SMTP/inet id g772pDn86237
	for <java@jp.FreeBSD.org>; Wed, 7 Aug 2002 11:51:13 +0900 (JST)
	(envelope-from daichi@ongs.co.jp)
Received: (qmail 1684 invoked from network); 7 Aug 2002 02:52:28 -0000
Received: from unknown (HELO parancell.ongs.co.jp) (202.216.232.62)
  by ns.ongs.co.jp with SMTP; 7 Aug 2002 02:52:28 -0000
Date: Wed, 7 Aug 2002 11:51:03 +0900
From: daichi <daichi@ongs.co.jp>
To: java@jp.FreeBSD.org
Message-Id: <20020807115103.379b1b3c.daichi@ongs.co.jp>
In-Reply-To: <5565z2rcqm.wl@dittohead.is.titech.ac.jp>
References: <20020726035044.A10113@misty.eyesbeyond.com>
	<20020726115219.38253da8.daichi@jp.freebsd.org>
	<20020726120336.795c381a.daichi@jp.freebsd.org>
	<20020726125711.3610c575.daichi@jp.freebsd.org>
	<5565z2rcqm.wl@dittohead.is.titech.ac.jp>
Organization: ONGS Inc.
X-Mailer: Sylpheed version 0.8.1 (GTK+ 1.2.10; i386-portbld-freebsd4.6)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
Reply-To: java@jp.FreeBSD.org
Precedence: list
X-Sequence: java 155
Subject: [java 155] JDK131 HotSpot on -stable (Re: 1.3.1 patchset 7)
Errors-To: owner-java@jp.FreeBSD.org
Sender: owner-java@jp.FreeBSD.org
X-Originator: daichi@ongs.co.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020727

$BBgCO$G$9!#(B

> $B4];3$G$9!#(B
(snip)
> 4-STABLE$BI8=`$N(Bgcc-2.95.x$B$G%3%s%Q%$%k$9$k$?$a$K$O99$K!"(B
> hotspot1.3.1/build/linux/platform_i486$B$N!V(Bcompiler = gcc31$B!W$H$$$&$N$r(B
> $B!V(Bcompiler = gcc$B!W$HJQ99$9$kI,MW$,$"$j$^$9!#(B

$B$3$A$i$G$b(BHotSpot$B$,F0:n$9$k$3$H$r3NG'$7$^$7$?!#(BHotSpot$B$,F0:n(B
$B$9$k$h$&$K$9$k<j=g$r$^$H$a$F$*$-$^$9!#(B

---------------------------------------------------------------------------
$B8!>Z$7$?%7%9%F%`(B(uname -a):
  FreeBSD parancell.ongs.co.jp 4.6-PRERELEASE-20020511-JPSNAP 
    FreeBSD 4.6-PRERELEASE-20020511-JPSNAP #0: 
    Thu Aug  1 19:53:25 JST 2002

$B;vA0=`Hw(B:
   o /stand/sysinstall$B$+$i%=!<%9%3!<%I$r%$%s%9%H!<%k$7$F$*$/(B
     /usr/src/lib/libc_r/uthread/$B$K%=!<%9%3!<%I$,$"$k$3$H$r(B
     $B3NG'$7$F$*$/$3$H!#(B
   o Linux JDK131(/usr/ports/java/linux-sun-jdk13/)$B$r%$%s%9%H!<(B
     $B%k$7$F$*$/!#(B
     $B$3$3$G$O(Blinux_base6 + ja-linux_locate $B$N4D6-$r;HMQ(B
   o open-motif-2.1.30_3$B0J9_$r%$%s%9%H!<%k(B
   o ja-kochi-ttfonts-20020727$B0J9_$r%$%s%9%H!<%k(B
   o gcc-3.1.1_20020726$B$r%$%s%9%H!<%k(B
   o 2002/08/06$B%"%C%W%G!<%H0J9_$N(BJDK13 ports
     (/usr/ports/java/jdk13/)$B$rMQ0U$9$k(B

  $BElIw%U%)%s%H2s$j$G(Bja-kochi-ttfonts, jdk13$B$N(Bports$B$r99?7$7$F(B
  $B$b$i$C$?$N$G!"$=$l$>$lA0=R$7$?0J9_$N%P!<%8%g%s$r;HMQ$7$F(B
  $B$/$@$5$$!#(B

$B%S%k%I(B:

  $B0J2<$NFs$D$N%Q%C%A(Baruyama_san-os_linux.cpp.diff$B$H(Bpthread_private.h.diff
  $B$O(B/tmp/$B$K$*$$$F$"$k$b$N$H$7$^$9!#(B

Maruyama_san-os_linux.cpp.diff: 
--- hotspot1.3.1/src/os/linux/vm/os_linux.cpp   14 Jul 2002 03:02:53 -0000
+++ hotspot1.3.1/src/os/linux/vm/os_linux.cpp   26 Jul 2002 10:36:11 -0000
@@ -68,6 +68,16 @@
 
 // Port Specific Routines
 //
+#if defined(__FreeBSD__) && __FreeBSD_version <= 500000
+static int
+pthread_main_np()
+{
+       if (!_thread_initial)
+               return (-1);
+       else
+               return (pthread_equal(pthread_self(), _thread_initial) ? 1 : 0);
+}
+#endif
 
 extern "C"
 {

pthread_private.h.diff:
--- pthread_private.h.orig  Mon Aug  5 21:01:59 2002
+++ pthread_private.h       Mon Aug  5 22:30:32 2002
@@ -1004,6 +1004,7 @@
 #endif
 
 /* Default thread attributes: */
+#undef pthread_attr_default
 SCLASS struct pthread_attr pthread_attr_default
 #ifdef GLOBAL_PTHREAD_PRIVATE
 = { SCHED_RR, 0, TIMESLICE_USEC, PTHREAD_DEFAULT_PRIORITY, PTHREAD_CREATE_RUNNI
NG,
@@ -1013,6 +1014,7 @@
 #endif
 
 /* Default mutex attributes: */
+#undef pthread_mutexattr_default
 SCLASS struct pthread_mutex_attr pthread_mutexattr_default
 #ifdef GLOBAL_PTHREAD_PRIVATE
 = { PTHREAD_MUTEX_DEFAULT, PTHREAD_PRIO_NONE, 0, 0 };
@@ -1021,6 +1023,7 @@
 #endif
 
 /* Default condition variable attributes: */
+#undef pthread_condattr_default
 SCLASS struct pthread_cond_attr pthread_condattr_default
 #ifdef GLOBAL_PTHREAD_PRIVATE
 = { COND_TYPE_FAST, 0 };

  $B<!$N$h$&$K%S%k%I$r9T$$$^$9!#(B

    # cd /usr/ports/java/jdk13/
    # make patch
    # cd work
    # patch < /tmp/Maruyama_san-os_linux.cpp.diff
    # cd /usr/src/lib/libc_r/uthread/
    # patch < /tmp/pthread_private.h.diff
    # cd /usr/ports/java/jdk13/
    # make WITH_NATIVE_THREADS=yes install
    # cd hotspot1.3.1/build/linux/
    # setenv ALT_BOOTDIR /usr/local/linux-jdk1.3.1/
    # gmake core
    # gmake compiler1
    # gmake compiler2 
    # mkdir -p /usr/local/jdk1.3.1/jre/lib/i386/hotspot/

$BMxMQ(B:

  $B;0$D$N(BHotSpot$B$,%S%k%I$5$l$^$9!#$=$l$>$lMxMQ$9$k$K$O<!$N$h$&$K$7$^$9!#(B

  [core HotSpot]
    # cd /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/
    # cp linux_i486_core/product/libjvm.so /usr/local/jdk1.3.1/jre/lib/i386/hotspot/
    # cp linux_i486_core/jvmg/libjvm_g.so /usr/local/jdk1.3.1/jre/lib/i386/hotspot/

  [compiler1 HotSpot]
    # cd /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/
    # cp linux_i486_compiler1/product/libjvm.so /usr/local/jdk1.3.1/jre/lib/i386/hotspot/
    # cp linux_i486_compiler1/jvmg/libjvm_g.so /usr/local/jdk1.3.1/jre/lib/i386/hotspot/

  [compiler2 HotSpot]
    # cd /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/
    # cp linux_i486_compiler2/product/libjvm.so /usr/local/jdk1.3.1/jre/lib/i386/hotspot/
    # cp linux_i486_compiler2/jvmg/libjvm_g.so /usr/local/jdk1.3.1/jre/lib/i386/hotspot/

  $B%U%!%$%k$r%3%T!<$7$?8e$KDL>oDL$j(Bjava$B%3%^%s%I$rMxMQ$9$k$H(BHotSpot$B$,F0:n$7(B
  $B$F$$$k$3$H$r3NG'$9$k$3$H$,$G$-$^$9!#(B

    > java -version
    java version "1.3.1-p7"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-p7-root-020806-17:02)
    Java HotSpot(TM) Client VM (build 1.3.1-internal, mixed mode)

  $B$3$l$O(Bcompiler1$B$rMxMQ$7$F$$$kNc$G$9!#(B

$B<B9TB.EY$NHf3S(B:

  CaffeineMark 3.0$B$GB.EYHf3S$r9T$$$^$7$?!#Am9g7k2L$r:\$;$F$*$-$^$9!#(B

        Caffeine-JDK118-nojit                   score = 2519
        Caffeine-JDK122-nojit                   score = 2490
        Caffeine-JDK131-hotspot-compiler1       score = 26949
        Caffeine-JDK131-hotspot-core            score = 2217
        Caffeine-JDK131-nohotspot               score = 2495
        Caffeine-LinuxBDJDK131-hotspot          score = 28304
        Caffeine-LinuxBDJDK131-nohotspot        score = 2471
        Caffeine-LinuxIBMJDK131-jit             score = 144050
        Caffeine-LinuxSunJDK122-nojit           score = 2491
        Caffeine-LinuxSunJDK131-hotspot         score = 28499
        Caffeine-LinuxSunJDK131-nohotspot       score = 2481
        Caffeine-LinuxSunJDK140-clienthotspot   score = 26947

  Linux IBM JDK131$B$O7e0c$$$N<B9TB.EY$G$9!#%3!<%I%Y!<%9$,(BSun$B$N$b$N(B
  $B$G$O$J$$$N$G$7$g$&$M!#6C0[E*$JB.EY$GF0$-$^$9!#(B
  $BB>$N7k2L$rMWLs$7$^$9$H!"F1$8%3!<%I$,%Y!<%9$K$J$C$F$$$k$@$1$"$C(B
  $B$F!"<B9TFC@-(B(CaffeineMark$B$,JV$9%Y%s%A%^!<%/$N9`L\$4$H$NCM(B)$B$O$I(B
  $B$l$b;w$F$$$^$9!#(BFreeBSD$BHG$H(BLinux$BHG$K$5$7$?$k0c$$$O$G$^$;$s!#(B
  HotSpot$B$NM-L5$G<B9TB.EY$O(B10$BG\JQ$o$C$F$$$^$9!#(BHotSpot$B$d(BJIT$B$,L58z(B
  $B$N>uBV$N(BJDK$B$O!"(BFreeBSD/Linux$BHG$H$b$K(BFreeBSD JDK118$B$h$j$b@-G=$,Nt(B
  $B$j$^$7$?!#(BFreeBSD JDK118$B$O$?$7$+(BNate$B$,%$%s%?%W%j%?$N%"%;%s%V%i(B
  $B$r$A$g$C$H2~NI$7$?ItJ,$,$"$C$F!"$=$l$,1F6A$7$F$$$k$N$G$7$g$&!#(B
  HotSpot$B$NM-MQ@-$,<B46$G$-$k7k2L$H$J$j$^$7$?!#(B

$BIT6q9g(B:

  Java2D$B%G%b$,%+%/%+%/F0$-$^$9!#%?%$%^2s$j$KLdBj$,$"$k$H;W$o$l$^(B
  $B$9(B($B%=!<%9L$3NG'(B)$B!#(BSwingSet2$B%G%b$G%=!<%9%3!<%I$,I=<($5$l$^$;$s!#(B
  Forte$B$d(BArgoUML$B$H$$$C$?%X%S!<(BJFC/Swing$B%"%W%j$O5/F0$7$^$;$s!#$J$I(B
  $B$J$I!#(B

$B46A[(B:

  $B;W$C$?0J>e$KF0$-$^$9!#(BForte$B$d(BArgoUML$B$OB>$N(BLinux JDK$B$bA4LG$J$N$G!"(B
  $B$=$l$HF1$8$/$i$$$OF0$$$F$$$^$9!#(B
  $B$^$?(BBill$B$N8@$C$?DL$j!"(B10$BG\$N@-G=:9$,=P$F$$$^$9!#(B
  $B%=!<%9$rD4$Y$F$J$$$N$GLdBj$,$I$3$K$"$k$N$+$o$+$j$^$;$s$,!"=$@5(B
  $B$7$F(BForte$B$d(BArgoUML$B$,$^$H$b$KF0$/$h$&$K$J$k$H!"$+$J$j2wE,$K$J$j$=(B
  $B$&$G$9!#(BUML$B4XO"$N:n6H$,A}$($F$$$k$N$G!"(BArgoUML$B$NF0:n8~>e$,8+9~$a(B
  $B$k$3$H$O4r$7$$$3$H$G$9!#(B
  $B$"$H(Bpthread_private.h$B$NL>A0$N$D$1J}$K5?LdItJ,$,$A$i$[$i$"$j$^$7(B
  $B$?!#(Bgcc$B$N%P!<%8%g%s$,8E$$$H%3%s%Q%$%k$G$-$J$$$H$3$m$,$A$i$[$i(B
  $B$"$j$^$7$?!#(B

---------------------------------------------------------------------------

$B$b$7%S%k%I$K<:GT$9$k$h$&$@$H!"$?$V$s(B/usr/src/lib/libc_r/uthread/pthread_private.h
$B$GLdBj$,=P$k$@$m$&$H;W$$$^$9!#K\<AE*$JLdBj$O$H$b$+$/!"$H$j$"$($:(B
pthread_private.h$B$NLdBj$O%/%$%C%/%O%C%/$G2sHr$7$F$*$$$FF0$/$h$&$K(B
$B$J$j$^$9!#(B
# $B%7%9%F%`IUB0$N(Bgcc$B$G%S%k%I$9$k$K$O!"KM$N$H$3$m$@$H$5$i$K(Bpthread_private.h
# $B$K=$@5$,I,MW$G$7$?!#(B

--
Daichi GOTO
    http://www.ongs.net/daichi, daichi@jp.freebsd.org
