diff options
author | glewis <glewis@FreeBSD.org> | 2003-12-19 19:00:06 +0000 |
---|---|---|
committer | glewis <glewis@FreeBSD.org> | 2003-12-19 19:00:06 +0000 |
commit | b2553884929e4b1529d33ef0dc6247b6baf4eb42 (patch) | |
tree | 3a1773542c91f47c999a2d0c74b4ac9ea8fd2e03 /java | |
parent | 4b474c71f5aabdae084fb28cc5cd05542827be6a (diff) | |
download | FreeBSD-ports-b2553884929e4b1529d33ef0dc6247b6baf4eb42.zip FreeBSD-ports-b2553884929e4b1529d33ef0dc6247b6baf4eb42.tar.gz |
. Update to 1.3.1 patchset 9.
Diffstat (limited to 'java')
-rw-r--r-- | java/jdk13/Makefile | 29 | ||||
-rw-r--r-- | java/jdk13/distinfo | 2 | ||||
-rw-r--r-- | java/jdk13/files/patch-GNUmakefile | 13 | ||||
-rw-r--r-- | java/jdk13/files/patch-InetAddressImpl.c | 114 | ||||
-rw-r--r-- | java/jdk13/files/patch-common::Defs-bsd.gmk | 20 | ||||
-rw-r--r-- | java/jdk13/files/patch-e_pow.c | 176 | ||||
-rw-r--r-- | java/jdk13/files/patch-javaCalls.cpp | 41 | ||||
-rw-r--r-- | java/jdk13/files/patch-java_wrapper_bsd.sh | 81 | ||||
-rw-r--r-- | java/jdk13/files/patch-jni.cpp | 84 | ||||
-rw-r--r-- | java/jdk13/files/patch-jvm.cfg | 13 | ||||
-rw-r--r-- | java/jdk13/files/patch-jvmdiInterfaceSupport.hpp | 13 | ||||
-rw-r--r-- | java/jdk13/files/patch-mutexLocker.cpp | 13 | ||||
-rw-r--r-- | java/jdk13/files/patch-platform_i486 | 13 | ||||
-rw-r--r-- | java/jdk13/files/patch-threads_bsd.c | 726 | ||||
-rw-r--r-- | java/jdk13/files/patch-threads_md.c | 12 | ||||
-rw-r--r-- | java/jdk13/files/patch-vm.make | 13 |
16 files changed, 16 insertions, 1347 deletions
diff --git a/java/jdk13/Makefile b/java/jdk13/Makefile index 6456b71..3f32cc0 100644 --- a/java/jdk13/Makefile +++ b/java/jdk13/Makefile @@ -7,7 +7,6 @@ PORTNAME= jdk PORTVERSION= ${JDK_VERSION}p${JDK_PATCHSET_VERSION} -PORTREVISION= 2 CATEGORIES= java devel MASTER_SITES= # http://www.sun.com/software/java2/download.html # http://www.eyesbeyond.com/freebsddom/java/jdk13.html @@ -44,7 +43,7 @@ RUN_DEPENDS+= ${LOCALBASE}/share/fonts/TrueType/arphic:${PORTSDIR}/chinese/arphi WRKSRC= ${WRKDIR}/j2sdk1.3.1/make JDK_VERSION= 1.3.1 -JDK_PATCHSET_VERSION= 8 +JDK_PATCHSET_VERSION= 9 ONLY_FOR_ARCHS= i386 USE_GMAKE= yes @@ -133,15 +132,6 @@ PTHREAD_FILES= common/Defs.gmk \ ../../hotspot1.3.1/build/linux/makefiles/vm.make .endif -.if defined(WITH_HOTSPOT) && ${OSVERSION} < 500039 -USE_GCC= 3.2 -BUILD_DEPENDS+= gcc32:${PORTSDIR}/lang/gcc32 -MAKE_ENV+= ALT_COMPILER_PATH=${LOCALBASE}/bin -HOTSPOT_BUILD= ../ext/plugin/build/solaris/GNUmakefile \ - ../../hotspot1.3.1/build/linux/makefiles/adlc.make \ - ../../hotspot1.3.1/build/linux/platform_i486 -.endif - .if ${OSVERSION} < 460101 || ( ${OSVERSION} >= 500000 && ${OSVERSION} < 500038 ) EXTRACT_DEPENDS+= gtar:${PORTSDIR}/archivers/gtar TAR= gtar # Necessary for proper extraction of sources @@ -196,20 +186,13 @@ pre-everything:: pre-patch: @cd ${WRKDIR} && \ ${CHMOD} -R u+w * && \ - ${PATCH} -p0 < ${WRKDIR}/jdk131.patches + ${PATCH} -p0 -E < ${WRKDIR}/jdk131.patches post-patch: -.if defined(WITH_HOTSPOT) -.if defined(USE_GCC) && ${USE_GCC} == 3.2 - @for file in ${HOTSPOT_BUILD}; do \ - ${REINPLACE_CMD} -e "s:gcc:gcc32:g ; s:g\+\+:g\+\+32:g" ${WRKSRC}/$${file}; \ - done - @${REINPLACE_CMD} -e "s:PATH[)]gcc:PATH)gcc32:g ; s:PATH[)]g\+\+:PATH)g\+\+32:g" ${WRKSRC}/common/Defs-bsd.gmk -.endif -.endif + @-${FIND} ${WRKDIR} -name SCCS -exec ${RM} -rf {} \; .if defined(WITH_NATIVE_THREADS) || defined(WITH_HOTSPOT) @for file in ${PTHREAD_FILES}; do \ - ${REINPLACE_CMD} -e "s:-pthread:${PTHREAD_LIBS}:g" ${WRKSRC}/$${file}; \ + ${REINPLACE_CMD} -e "s:-pthread:${PTHREAD_LIBS}:g" ${WRKSRC}/$${file}; \ done .endif @@ -243,10 +226,10 @@ pre-build: do-build: # Start of jdk build - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) + (cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) .if defined(WITH_HOTSPOT) # Start of HotSpot build - @(cd ${WRKDIR}/hotspot1.3.1/build/linux ; \ + (cd ${WRKDIR}/hotspot1.3.1/build/linux ; \ ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${HOTSPOT_TARGETS}) .endif diff --git a/java/jdk13/distinfo b/java/jdk13/distinfo index d9abbb0..8ff2dc6 100644 --- a/java/jdk13/distinfo +++ b/java/jdk13/distinfo @@ -1,2 +1,2 @@ MD5 (j2sdk-1_3_1-src.tar.gz) = 787a01655133df85e65eda7deb2ece57 -MD5 (bsd-jdk131-patches-8.tar.gz) = 1fd14cea9ce15e9a7e5ee2f60f50dd01 +MD5 (bsd-jdk131-patches-9.tar.gz) = 29c83880d3555abcf74fc7df9db1959f diff --git a/java/jdk13/files/patch-GNUmakefile b/java/jdk13/files/patch-GNUmakefile deleted file mode 100644 index 439b58e..0000000 --- a/java/jdk13/files/patch-GNUmakefile +++ /dev/null @@ -1,13 +0,0 @@ -$FreeBSD$ - ---- ../ext/plugin/build/solaris/GNUmakefile 7 Feb 2003 23:09:29 -0000 1.11 -+++ ../ext/plugin/build/solaris/GNUmakefile 10 Jul 2003 17:04:51 -0000 -@@ -361,7 +361,7 @@ - -I$(CCLASSHEADERS) \ - -I$(MOZ_HDRS)/solaris/navig4/oji -I$(MOZ_HDRS)/solaris/navig4/plugin \ - -I$(COMMONSRCDIR) -I$(NAVIG4SRCDIR) \ -- -I$(MOTIF_INCLUDE) -I$(BADAPTER) \ -+ -I$(BADAPTER) -I$(MOTIF_INCLUDE) \ - -I$(SHARE_INCLUDE) -I$(SOLARIS_INCLUDE) \ - -I$(X11_INCLUDE) -I$(INTL_INCLUDE) - diff --git a/java/jdk13/files/patch-InetAddressImpl.c b/java/jdk13/files/patch-InetAddressImpl.c deleted file mode 100644 index ddb4f80..0000000 --- a/java/jdk13/files/patch-InetAddressImpl.c +++ /dev/null @@ -1,114 +0,0 @@ -$FreeBSD$ - ---- ../src/solaris/native/java/net/InetAddressImpl.c 25 Jan 2003 23:22:26 -0000 1.7 -+++ ../src/solaris/native/java/net/InetAddressImpl.c 28 Feb 2003 09:34:18 -0000 -@@ -25,6 +25,7 @@ - - #include "java_net_InetAddressImpl.h" - -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) - /* reentrant BIND includes --billh */ - - #include <sys/param.h> -@@ -33,14 +34,16 @@ - - /* forward declarations --billh */ - -+static - HOST_R_RETURN --gethostbyname_r(const char *name, struct hostent *hptr, -- HOST_R_ARGS); -+__j_gethostbyname_r(const char *name, struct hostent *hptr, -+ HOST_R_ARGS); - -+static - HOST_R_RETURN --gethostbyaddr_r(const char *addr, int len, int type, -- struct hostent *hptr, -- HOST_R_ARGS); -+__j_gethostbyaddr_r(const char *addr, int len, int type, -+ struct hostent *hptr, HOST_R_ARGS); -+#endif - - /* - */ -@@ -99,6 +102,8 @@ - - #ifdef __GLIBC__ - gethostbyname_r(hostname, &res, buf, sizeof(buf), &hp, &h_error); -+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) -+ hp = __j_gethostbyname_r(hostname, &res, buf, sizeof(buf), &h_error); - #else - hp = gethostbyname_r(hostname, &res, buf, sizeof(buf), &h_error); - #endif -@@ -106,6 +111,9 @@ - #ifdef __GLIBC__ - gethostbyaddr_r(hp->h_addr, hp->h_length, AF_INET, - &res2, buf2, sizeof(buf2), &hp, &h_error); -+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) -+ hp = __j_gethostbyaddr_r(hp->h_addr, hp->h_length, AF_INET, -+ &res2, buf2, sizeof(buf2), &h_error); - #else - hp = gethostbyaddr_r(hp->h_addr, hp->h_length, AF_INET, - &res2, buf2, sizeof(buf2), &h_error); -@@ -189,6 +197,8 @@ - /* Try once, with our static buffer. */ - #ifdef __GLIBC__ - gethostbyname_r(hostname, &res, buf, sizeof(buf), &hp, &h_error); -+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) -+ hp = __j_gethostbyname_r(hostname, &res, buf, sizeof(buf), &h_error); - #else - hp = gethostbyname_r(hostname, &res, buf, sizeof(buf), &h_error); - #endif -@@ -203,6 +213,9 @@ - #ifdef __GLIBC__ - gethostbyname_r(hostname, &res, tmp, BIG_HENT_BUF_SIZE, - &hp, &h_error); -+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) -+ hp = __j_gethostbyname_r(hostname, &res, tmp, BIG_HENT_BUF_SIZE, -+ &h_error); - #else - hp = gethostbyname_r(hostname, &res, tmp, BIG_HENT_BUF_SIZE, - &h_error); -@@ -283,6 +296,9 @@ - #ifdef __GLIBC__ - gethostbyaddr_r((char *)&addr, sizeof(addr), AF_INET, &hent, - buf, sizeof(buf), &hp, &h_error); -+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) -+ hp = __j_gethostbyaddr_r((char *)&addr, sizeof(addr), AF_INET, &hent, -+ buf, sizeof(buf), &h_error); - #else - hp = gethostbyaddr_r((char *)&addr, sizeof(addr), AF_INET, &hent, - buf, sizeof(buf), &h_error); -@@ -297,6 +313,9 @@ - #ifdef __GLIBC__ - gethostbyaddr_r((char *)&addr, sizeof(addr), AF_INET, - &hent, tmp, BIG_HENT_BUF_SIZE, &hp, &h_error); -+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) -+ hp = __j_gethostbyaddr_r((char *)&addr, sizeof(addr), AF_INET, -+ &hent, tmp, BIG_HENT_BUF_SIZE, &h_error); - #else - hp = gethostbyaddr_r((char *)&addr, sizeof(addr), AF_INET, - &hent, tmp, BIG_HENT_BUF_SIZE, &h_error); -@@ -335,8 +354,9 @@ - static HOST_R_RETURN - copy_hostent(struct hostent *, struct hostent *, HOST_R_COPY_ARGS); - -+static - HOST_R_RETURN --gethostbyname_r(const char *name, struct hostent *hptr, HOST_R_ARGS) { -+__j_gethostbyname_r(const char *name, struct hostent *hptr, HOST_R_ARGS) { - struct hostent *he = gethostbyname(name); - - HOST_R_ERRNO; -@@ -347,8 +367,9 @@ - return (copy_hostent(he, hptr, HOST_R_COPY)); - } - -+static - HOST_R_RETURN --gethostbyaddr_r(const char *addr, int len, int type, -+__j_gethostbyaddr_r(const char *addr, int len, int type, - struct hostent *hptr, HOST_R_ARGS) { - struct hostent *he = gethostbyaddr(addr, len, type); - diff --git a/java/jdk13/files/patch-common::Defs-bsd.gmk b/java/jdk13/files/patch-common::Defs-bsd.gmk index d0c78fa..9ce2386 100644 --- a/java/jdk13/files/patch-common::Defs-bsd.gmk +++ b/java/jdk13/files/patch-common::Defs-bsd.gmk @@ -1,9 +1,8 @@ - $FreeBSD$ ---- common/Defs-bsd.gmk.orig Mon Sep 10 17:02:16 2001 -+++ common/Defs-bsd.gmk Mon Sep 10 17:02:42 2001 -@@ -128,7 +128,7 @@ +--- common/Defs-bsd.gmk.orig Thu Dec 18 22:33:22 2003 ++++ common/Defs-bsd.gmk Thu Dec 18 22:36:46 2003 +@@ -131,7 +131,7 @@ ifeq ($(TRUE_PLATFORM), NetBSD) DEVTOOLS_PATH = /usr/pkg/bin/ else @@ -12,16 +11,15 @@ $FreeBSD$ endif # Allow the user to override the default value... ifdef ALT_DEVTOOLS_PATH -@@ -221,10 +221,10 @@ - else # ARCH - CFLAGS_COMMON = $(GCC_WARNINGS) - endif # ARCH +@@ -266,9 +266,9 @@ + CFLAGS_COMMON += -fsigned-char + CXXFLAGS_COMMON+= -fsigned-char + endif -CFLAGS_OPT = $(POPT) +CFLAGS_OPT = $(POPT) $(SYS_CFLAGS) - CFLAGS_DBG = -g3 - CXXFLAGS_COMMON = $(GCC_WARNINGS) + CFLAGS_DBG = -g3 $(POPT) -CXXFLAGS_OPT = $(POPT) +CXXFLAGS_OPT = $(POPT) $(SYS_CFLAGS) - CXXFLAGS_DBG = -g3 + CXXFLAGS_DBG = -g3 $(POPT) CPPFLAGS_COMMON = -D$(ARCH) -DARCH='"$(ARCH)"' -DSOLARIS2 $(VERSION_DEFINES) \ diff --git a/java/jdk13/files/patch-e_pow.c b/java/jdk13/files/patch-e_pow.c deleted file mode 100644 index 0567cf4..0000000 --- a/java/jdk13/files/patch-e_pow.c +++ /dev/null @@ -1,176 +0,0 @@ -$FreeBSD$ - ---- ../src/share/native/java/lang/fdlibm/src/e_pow.c 11 Jul 2001 21:40:20 -0000 1.1.1.1 -+++ ../src/share/native/java/lang/fdlibm/src/e_pow.c 30 Apr 2003 04:42:09 -0000 -@@ -57,6 +57,9 @@ - */ - - #include "fdlibm.h" -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+#include "math_private.h" -+#endif - - #ifdef __STDC__ - static const double -@@ -108,8 +111,13 @@ - int hx,hy,ix,iy; - unsigned lx,ly; - -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ EXTRACT_WORDS(hx,lx,x); -+ EXTRACT_WORDS(hy,ly,y); -+#else - hx = __HI(x); lx = __LO(x); - hy = __HI(y); ly = __LO(y); -+#endif - ix = hx&0x7fffffff; iy = hy&0x7fffffff; - - /* y==zero: x**0 = 1 */ -@@ -195,14 +203,22 @@ - u = ivln2_h*t; /* ivln2_h has 21 sig. bits */ - v = t*ivln2_l-w*ivln2; - t1 = u+v; -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ SET_LOW_WORD(t1,0); -+#else - __LO(t1) = 0; -+#endif - t2 = v-(t1-u); - } else { - double s2,s_h,s_l,t_h,t_l; - n = 0; - /* take care subnormal number */ - if(ix<0x00100000) -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ {ax *= two53; n -= 53; GET_HIGH_WORD(ix,ax); } -+#else - {ax *= two53; n -= 53; ix = __HI(ax); } -+#endif - n += ((ix)>>20)-0x3ff; - j = ix&0x000fffff; - /* determine interval */ -@@ -210,17 +226,29 @@ - if(j<=0x3988E) k=0; /* |x|<sqrt(3/2) */ - else if(j<0xBB67A) k=1; /* |x|<sqrt(3) */ - else {k=0;n+=1;ix -= 0x00100000;} -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ SET_HIGH_WORD(ax,ix); -+#else - __HI(ax) = ix; -+#endif - - /* compute s = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */ - u = ax-bp[k]; /* bp[0]=1.0, bp[1]=1.5 */ - v = one/(ax+bp[k]); - s = u*v; - s_h = s; -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ SET_LOW_WORD(s_h,0); -+#else - __LO(s_h) = 0; -+#endif - /* t_h=ax+bp[k] High */ - t_h = zero; -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ SET_HIGH_WORD(t_h,((ix>>1)|0x20000000)+0x00080000+(k<<18)); -+#else - __HI(t_h)=((ix>>1)|0x20000000)+0x00080000+(k<<18); -+#endif - t_l = ax - (t_h-bp[k]); - s_l = v*((u-s_h*t_h)-s_h*t_l); - /* compute log(ax) */ -@@ -229,21 +257,33 @@ - r += s_l*(s_h+s); - s2 = s_h*s_h; - t_h = 3.0+s2+r; -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ SET_LOW_WORD(t_h,0); -+#else - __LO(t_h) = 0; -+#endif - t_l = r-((t_h-3.0)-s2); - /* u+v = s*(1+...) */ - u = s_h*t_h; - v = s_l*t_h+t_l*s; - /* 2/(3log2)*(s+...) */ - p_h = u+v; -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ SET_LOW_WORD(p_h,0); -+#else - __LO(p_h) = 0; -+#endif - p_l = v-(p_h-u); - z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */ - z_l = cp_l*p_h+p_l*cp+dp_l[k]; - /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */ - t = (double)n; - t1 = (((z_h+z_l)+dp_h[k])+t); -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ SET_LOW_WORD(t1,0); -+#else - __LO(t1) = 0; -+#endif - t2 = z_l-(((t1-t)-dp_h[k])-z_h); - } - -@@ -252,12 +292,20 @@ - - /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */ - y1 = y; -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ SET_LOW_WORD(y1,0); -+#else - __LO(y1) = 0; -+#endif - p_l = (y-y1)*t1+y*t2; - p_h = y1*t1; - z = p_l+p_h; -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ EXTRACT_WORDS(j,i,z); -+#else - j = __HI(z); - i = __LO(z); -+#endif - if (j>=0x40900000) { /* z >= 1024 */ - if(((j-0x40900000)|i)!=0) /* if z > 1024 */ - return s*huge*huge; /* overflow */ -@@ -281,13 +329,21 @@ - n = j+(0x00100000>>(k+1)); - k = ((n&0x7fffffff)>>20)-0x3ff; /* new k for n */ - t = zero; -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ SET_HIGH_WORD(t,n&~(0x000fffff>>k)); -+#else - __HI(t) = (n&~(0x000fffff>>k)); -+#endif - n = ((n&0x000fffff)|0x00100000)>>(20-k); - if(j<0) n = -n; - p_h -= t; - } - t = p_l+p_h; -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ SET_LOW_WORD(t,0); -+#else - __LO(t) = 0; -+#endif - u = t*lg2_h; - v = (p_l-(t-p_h))*lg2+t*lg2_l; - z = u+v; -@@ -296,9 +352,17 @@ - t1 = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); - r = (z*t1)/(t1-two)-(w+z*w); - z = one-(r-z); -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ GET_HIGH_WORD(j,z); -+#else - j = __HI(z); -+#endif - j += (n<<20); - if((j>>20)<=0) z = scalbn(z,n); /* subnormal output */ -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) -+ else SET_HIGH_WORD(z,j); -+#else - else __HI(z) += (n<<20); -+#endif - return s*z; - } diff --git a/java/jdk13/files/patch-javaCalls.cpp b/java/jdk13/files/patch-javaCalls.cpp deleted file mode 100644 index 9c569bb..0000000 --- a/java/jdk13/files/patch-javaCalls.cpp +++ /dev/null @@ -1,41 +0,0 @@ -$FreeBSD$ - ---- ../../hotspot1.3.1/src/share/vm/runtime/javaCalls.cpp 5 Jun 2002 05:27:48 -0000 1.2 -+++ ../../hotspot1.3.1/src/share/vm/runtime/javaCalls.cpp 27 Jul 2003 10:43:28 -0000 1.3 -@@ -344,36 +344,6 @@ - { JavaCallWrapper link(method, receiver, result, CHECK); - { HandleMark hm(thread); - --#if 0 --fprintf(stderr, " --StubRoutines::call_stub: -- link = 0x%08x, -- result_val_address = 0x%08x, -- result_type = 0x%08x, -- entry_point = 0x%08x, -- method = 0x%08x,", --// args->parameters() = 0x%08x, --// args->size_of_parameters() = 0x%08x\n", -- (address)&link, -- result_val_address, -- result_type, -- entry_point, -- method() --// args->parameters(), --// args->size_of_parameters() -- ); -- --#if 0 --fprintf(stderr, " -- address = %d, -- BasicType = %d, -- jint* = %d\n", -- sizeof(address), -- sizeof(BasicType), -- sizeof(jint*) -- ); --#endif --#endif - - StubRoutines::call_stub()( - (address)&link, diff --git a/java/jdk13/files/patch-java_wrapper_bsd.sh b/java/jdk13/files/patch-java_wrapper_bsd.sh deleted file mode 100644 index 0ca16b9..0000000 --- a/java/jdk13/files/patch-java_wrapper_bsd.sh +++ /dev/null @@ -1,81 +0,0 @@ -$FreeBSD$ - ---- ../src/solaris/bin/java_wrapper_bsd.sh 1 Oct 2001 11:44:43 -0000 1.4 -+++ ../src/solaris/bin/java_wrapper_bsd.sh 17 Apr 2003 15:07:23 -0000 -@@ -71,37 +71,56 @@ - # Select vm type (if classic vm, also select thread type). - unset vmtype - unset ttype -+unset vmopt - DEFAULT_THREADS_FLAG=green --if [ "x$1" = "x-hotspot" ]; then -- vmtype=hotspot -+if [ "x$1" = "x-client" ]; then -+ vmtype=client - ttype=native_threads -+ vmopt=-$vmtype - shift 1 - else - if [ "x$1" = "x-classic" ]; then - vmtype=classic -- ttype=${DEFAULT_THREADS_FLAG}_threads -+ if [ ${THREADS_FLAG:-${DEFAULT_THREADS_FLAG}} = native ]; then -+ ttype=native_threads -+ else -+ ttype=green_threads -+ fi -+ vmopt=-$vmtype - shift 1 - else - if [ "x$1" = "x-green" ]; then - vmtype=classic - ttype=green_threads -+ vmopt=-$vmtype - shift 1 - else - if [ "x$1" = "x-native" ]; then - vmtype=classic - ttype=native_threads -+ vmopt=-$vmtype - shift 1 - else -- if [ -d ${jre}/lib/${proc}/hotspot ]; then -- vmtype=hotspot -+ if [ "x$1" = "x-server" ]; then -+ vmtype=server - ttype=native_threads -- else -- vmtype=classic -- if [ ${THREADS_FLAG:-${DEFAULT_THREADS_FLAG}} = native ] -- then -+ vmopt=-$vmtype -+ shift 1 -+ else -+ if [ "x$1" = "x-hotspot" ]; then -+ vmtype=client - ttype=native_threads -- else -- ttype=green_threads -+ vmopt=-$vmtype -+ shift 1 -+ else -+ vmtype=classic -+ if [ ${THREADS_FLAG:-${DEFAULT_THREADS_FLAG}} = native ] -+ then -+ ttype=native_threads -+ else -+ ttype=green_threads -+ fi -+ vmopt=-$vmtype - fi - fi - fi -@@ -141,7 +160,7 @@ - # Run. - if [ -x "$prog" ] - then -- exec $DEBUG_PROG "$prog" "$@" -+ exec $DEBUG_PROG "$prog" "$vmopt" "$@" - else - echo >&2 "$progname was not found in ${prog}" - exit 1 diff --git a/java/jdk13/files/patch-jni.cpp b/java/jdk13/files/patch-jni.cpp deleted file mode 100644 index 28aeb3f..0000000 --- a/java/jdk13/files/patch-jni.cpp +++ /dev/null @@ -1,84 +0,0 @@ -$FreeBSD$ ---- ../../hotspot1.3.1/src/share/vm/prims/jni.cpp 17 Aug 2001 22:56:37 -0000 1.1.1.2 -+++ ../../hotspot1.3.1/src/share/vm/prims/jni.cpp 27 Jul 2003 10:42:46 -0000 1.2 -@@ -743,7 +743,7 @@ - JNI_ArgumentPusherVaArg ap(methodID, args); \ - jni_invoke(env, &jvalue, obj, JNI_VIRTUAL, methodID, &ap, CHECK_0); \ - va_end(args); \ -- return (ResultType)(jvalue._value.##unionType); \ -+ return (ResultType)(jvalue._value.unionType); \ - JNI_END \ - \ - \ -@@ -753,7 +753,7 @@ - JavaValue jvalue(Tag); \ - JNI_ArgumentPusherVaArg ap(methodID, args); \ - jni_invoke(env, &jvalue, obj, JNI_VIRTUAL, methodID, &ap, CHECK_0); \ -- return (ResultType)(jvalue._value.##unionType); \ -+ return (ResultType)(jvalue._value.unionType); \ - JNI_END \ - \ - \ -@@ -763,7 +763,7 @@ - JavaValue jvalue(Tag); \ - JNI_ArgumentPusherArray ap(methodID, args); \ - jni_invoke(env, &jvalue, obj, JNI_VIRTUAL, methodID, &ap, CHECK_0); \ -- return (ResultType)(jvalue._value.##unionType); \ -+ return (ResultType)(jvalue._value.unionType); \ - JNI_END - - // the runtime type of subword integral basic types is integer -@@ -818,7 +818,7 @@ - JNI_ArgumentPusherVaArg ap(methodID, args); \ - jni_invoke(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_0); \ - va_end(args); \ -- return (ResultType)(jvalue._value.##unionType); \ -+ return (ResultType)(jvalue._value.unionType); \ - JNI_END \ - \ - \ -@@ -828,7 +828,7 @@ - JavaValue jvalue(Tag); \ - JNI_ArgumentPusherVaArg ap(methodID, args); \ - jni_invoke(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_0); \ -- return (ResultType)(jvalue._value.##unionType); \ -+ return (ResultType)(jvalue._value.unionType); \ - JNI_END \ - \ - \ -@@ -838,7 +838,7 @@ - JavaValue jvalue(Tag); \ - JNI_ArgumentPusherArray ap(methodID, args); \ - jni_invoke(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_0); \ -- return (ResultType)(jvalue._value.##unionType); \ -+ return (ResultType)(jvalue._value.unionType); \ - JNI_END - - // the runtime type of subword integral basic types is integer -@@ -893,7 +893,7 @@ - JNI_ArgumentPusherVaArg ap(methodID, args); \ - jni_invoke(env, &jvalue, NULL, JNI_STATIC, methodID, &ap, CHECK_0); \ - va_end(args); \ -- return (ResultType)(jvalue._value.##unionType); \ -+ return (ResultType)(jvalue._value.unionType); \ - JNI_END \ - \ - \ -@@ -903,7 +903,7 @@ - JavaValue jvalue(Tag); \ - JNI_ArgumentPusherVaArg ap(methodID, args); \ - jni_invoke(env, &jvalue, NULL, JNI_STATIC, methodID, &ap, CHECK_0); \ -- return (ResultType)(jvalue._value.##unionType); \ -+ return (ResultType)(jvalue._value.unionType); \ - JNI_END \ - \ - \ -@@ -913,7 +913,7 @@ - JavaValue jvalue(Tag); \ - JNI_ArgumentPusherArray ap(methodID, args); \ - jni_invoke(env, &jvalue, NULL, JNI_STATIC, methodID, &ap, CHECK_0); \ -- return (ResultType)(jvalue._value.##unionType); \ -+ return (ResultType)(jvalue._value.unionType); \ - JNI_END - - // the runtime type of subword integral basic types is integer diff --git a/java/jdk13/files/patch-jvm.cfg b/java/jdk13/files/patch-jvm.cfg deleted file mode 100644 index 0340ae7..0000000 --- a/java/jdk13/files/patch-jvm.cfg +++ /dev/null @@ -1,13 +0,0 @@ -$FreeBSD$ - ---- ../src/solaris/bin/jvm.cfg.orig Mon Feb 24 15:41:30 2003 -+++ ../src/solaris/bin/jvm.cfg Mon Feb 24 15:41:42 2003 -@@ -8,7 +8,7 @@ - # List of JVMs that can be used as the first option to java, javac, etc. - # Order is important -- first in this list is the default JVM. - # -+-classic - -client - -hotspot - -server ---classic diff --git a/java/jdk13/files/patch-jvmdiInterfaceSupport.hpp b/java/jdk13/files/patch-jvmdiInterfaceSupport.hpp deleted file mode 100644 index 1738550..0000000 --- a/java/jdk13/files/patch-jvmdiInterfaceSupport.hpp +++ /dev/null @@ -1,13 +0,0 @@ -$FreeBSD$ - ---- ../../hotspot1.3.1/src/share/vm/runtime/jvmdiInterfaceSupport.hpp 11 Jul 2001 21:32:58 -0000 1.1 -+++ ../../hotspot1.3.1/src/share/vm/runtime/jvmdiInterfaceSupport.hpp 27 Jul 2003 10:42:07 -0000 1.2 -@@ -30,7 +30,7 @@ - result_type JNICALL methodName signature { \ - JavaThread* thread = (JavaThread*) ThreadLocalStorage::thread(); \ - TransitionClass __tiv(thread); \ -- __ENTRY(result_type, methodName##signature, thread) \ -+ __ENTRY(result_type, methodName signature, thread) \ - debug_only(VMNativeEntryWrapper __vew;) \ - debug_only(const char* const _jvmdi_methodName_ = #methodName;) \ - debug_only(bool _trace_ = trace; ); \ diff --git a/java/jdk13/files/patch-mutexLocker.cpp b/java/jdk13/files/patch-mutexLocker.cpp deleted file mode 100644 index 25bea3f..0000000 --- a/java/jdk13/files/patch-mutexLocker.cpp +++ /dev/null @@ -1,13 +0,0 @@ -$FreeBSD$ - ---- ../../hotspot1.3.1/src/share/vm/runtime/mutexLocker.cpp 17 Aug 2001 22:56:20 -0000 1.1.1.2 -+++ ../../hotspot1.3.1/src/share/vm/runtime/mutexLocker.cpp 27 Jul 2003 10:41:16 -0000 1.2 -@@ -90,7 +90,7 @@ - #endif - - #define def(var, type, pri, vm_block) \ -- var = new type(Mutex::##pri, #var, vm_block) -+ var = new type(Mutex::pri, #var, vm_block) - - void mutex_init() { - def(Patching_lock , Mutex , leaf, true ); diff --git a/java/jdk13/files/patch-platform_i486 b/java/jdk13/files/patch-platform_i486 deleted file mode 100644 index 176fe9a..0000000 --- a/java/jdk13/files/patch-platform_i486 +++ /dev/null @@ -1,13 +0,0 @@ -$FreeBSD$ - ---- ../../hotspot1.3.1/build/linux/platform_i486 Thu Jan 23 00:28:52 2003 -+++ ../../hotspot1.3.1/build/linux/platform_i486 Thu Jan 23 01:14:01 2003 -@@ -6,7 +6,7 @@ - - lib_arch = i386 - --compiler = gcc32 -+compiler = gcc - - gnu_dis_arch = i386 - diff --git a/java/jdk13/files/patch-threads_bsd.c b/java/jdk13/files/patch-threads_bsd.c deleted file mode 100644 index 0549832..0000000 --- a/java/jdk13/files/patch-threads_bsd.c +++ /dev/null @@ -1,726 +0,0 @@ -$FreeBSD$ - ---- ../src/solaris/hpi/native_threads/src/threads_bsd.c 7 Feb 2002 05:19:54 -0000 1.12 -+++ ../src/solaris/hpi/native_threads/src/threads_bsd.c 25 Feb 2003 16:31:54 -0000 -@@ -22,32 +22,23 @@ - #include "np.h" - - #include <pthread.h> -+#include <pthread_np.h> - - #if defined(__FreeBSD__) - --#include <pthread_np.h> -+#include <assert.h> - --/* Remove defines from pthread.h so pthread_private.h can be included */ --#undef pthread_condattr_default --#undef pthread_mutexattr_default - #undef pthread_attr_default -+#undef pthread_mutexattr_default -+#undef pthread_condattr_default - #include "pthread_private.h" - --#include <assert.h> --#include <ucontext.h> --#include <machine/ucontext.h> -- --#include <sys/exec.h> --#include <vm/vm.h> --#include <vm/pmap.h> --#include <machine/pmap.h> --#include <machine/vmparam.h> -- - #endif - - #include <string.h> - #include <signal.h> - #include <sys/signal.h> -+#include <sys/time.h> - #include <sys/resource.h> - #include <stdlib.h> - #include <string.h> -@@ -63,14 +54,9 @@ - /* Private functions used to implement native threading. --billh */ - - #ifdef DEBUG_BSD_NATIVE_THREADS --void _pthread_suspend_all_np(void); --void _pthread_resume_all_np(void); --#endif --void record_uc(sys_thread_t *, ucontext_t *); --void record_gc_registers_of(sys_thread_t *); -- --void dumpThreadStates(); - void dumpThreadLogStates(pthread_t); -+void dumpThreadStates(); -+#endif - - /* - * Suspend a thread. Used to implement java.lang.Thread.suspend(), -@@ -108,28 +94,24 @@ - int - np_stackinfo(void **addr, long *sizep) - { -- thread_t self = pthread_self(); -- int base; -- int size; -- -- if (!pthread_equal(self, _thread_initial)) { -- *addr = self->stack; -- *sizep = (long) PTHREAD_STACK_DEFAULT; -- -- } else { -- /* in main()'s thread */ -- struct rlimit r; -- -- if (getrlimit(RLIMIT_STACK, &r) == -1) -- return SYS_ERR; -- -- /* PS_STRINGS is also from sys/exec.h in FreeBSD, but as macro. --billh */ -- -- *addr = (void *) (PS_STRINGS +1); -- *sizep = (long)r.rlim_cur; -- } -+ pthread_attr_t attr; -+ size_t size; - -+ if ((errno = pthread_attr_init(&attr))) -+ return SYS_ERR; -+ if ((errno = pthread_attr_get_np(pthread_self(), &attr))) -+ goto err; -+ if ((errno = pthread_attr_getstackaddr(&attr, addr))) -+ goto err; -+ if ((errno = pthread_attr_getstacksize(&attr, &size))) -+ goto err; -+ *sizep = size; -+ pthread_attr_destroy(&attr); - return SYS_OK; -+ -+err: -+ pthread_attr_destroy(&attr); -+ return SYS_ERR; - } - - /* -@@ -177,7 +159,7 @@ - Do this for the FreeBSD implementation too, since this is a silly - function anyways. --billh - */ -- return TRUE; -+ return TRUE; - } - - -@@ -190,38 +172,54 @@ - static void - record_thread_regs() - { -- sys_thread_t *tid; -+ struct pthread *self = pthread_self(); -+ sys_thread_t *tid = ThreadQueue; - int i; -- int sp; - -- tid = ThreadQueue; -- for (i = 0; i < ActiveThreadCount && tid != 0; i++) { -- int i; -- -- if (tid->sys_thread != 0) { --#ifdef __bsdi__ -- /* if thread has already been initialized */ -- if (pthread_getstackpointer_np(tid->sys_thread, &sp) == 0) -- tid->sp = sp; -- else -- tid->sp = 0; --#elif __FreeBSD__ --#endif -- tid->sp = tid->sys_thread->stack; --//#endif //__FreeBSD__ --/* Potential race here if the stack isn't setup before GC. --billh */ -- } else { -+ for (i = 0; i < ActiveThreadCount && tid != NULL; i++, tid = tid->next) { -+ struct pthread *thread = tid->sys_thread; -+ -+ if (thread == 0) { - /* - * thread is still in the process of being initalized. - * So GC should not care about this thread. Just - * set its sp to 0, and this will force GC to ignore it. - */ - tid->sp = 0; -+ continue; - } - -- record_gc_registers_of(tid); -+ tid->sp = thread->stack; -+/* Potential race here if the stack isn't setup before GC. --billh */ - -- tid = tid->next; -+ /* -+ * The thread that calls this function will alway be the JVM GC thread, -+ * so skip over it in the list of threads. -+ */ -+ if (thread != self && (thread->flags & PTHREAD_FLAGS_PRIVATE) == 0) { -+ register_t *regbase; -+ -+#ifdef DEBUG_BSD_NATIVE_THREADS -+ /* -+ * Got search candidate.. -+ */ -+ if (thread->state != PS_SUSPENDED) -+ dumpThreadLogStates(thread); -+#endif -+ -+ regbase = (register_t*) &thread->ctx.jb[0]; -+ tid->regs[0] = regbase[6]; /* eax */ -+ tid->regs[1] = 0; /* ecx (missing) */ -+ tid->regs[2] = 0; /* edx (missing) */ -+ tid->regs[3] = regbase[1]; /* ebx */ -+ tid->regs[4] = regbase[3]; /* ebp */ -+ tid->regs[5] = regbase[4]; /* esi */ -+ tid->regs[6] = regbase[5]; /* edi */ -+ -+#ifdef DEBUG_BSD_NATIVE_THREADS -+ dumpThreadStates(); -+#endif -+ } - } - - #ifdef DEBUG_BSD_NATIVE_THREADS -@@ -239,14 +237,7 @@ - { - sysAssert(SYS_QUEUE_LOCKED(sysThreadSelf())); - --#ifdef DEBUG_BSD_NATIVE_THREADS -- _pthread_suspend_all_np(); --#else -- pthread_single_np(); --#endif -- --//usleep(100000 *3); -- -+ pthread_suspend_all_np(); - record_thread_regs(); - return SYS_OK; - } -@@ -259,42 +250,13 @@ - np_multi(void) - { - sysAssert(SYS_QUEUE_LOCKED(sysThreadSelf())); --#ifdef DEBUG_BSD_NATIVE_THREADS -- _pthread_resume_all_np(); --#else -- pthread_multi_np(); --#endif -+ pthread_resume_all_np(); - } - -- -- -- -+#ifdef DEBUG_BSD_NATIVE_THREADS - /* pthreads hackery begins --billh */ - --#define ANALRETENTIVE (6 + 1) -- --char SuspendList[ANALRETENTIVE][16] = --{ -- "SUSP_NO", /* Not suspended. */ -- "SUSP_YES", /* Suspended. */ -- "SUSP_JOIN", /* Suspended, joining. */ -- "SUSP_NOWAIT", /* Suspended, was in a mutex or condition queue. */ -- "SUSP_MUTEX_WAIT", /* Suspended, still in a mutex queue. */ -- "SUSP_COND_WAIT", /* Suspended, still in a condition queue. */ -- "susp boundless" --}; -- --char *getSuspendStateString(enum pthread_susp suspendState) --{ -- if (suspendState < ANALRETENTIVE) -- return &SuspendList[suspendState][0]; -- else -- return &SuspendList[ANALRETENTIVE-1][0]; --} -- --#define SATAN (21 + 1) /* for the error string at the end of the list */ -- --char SignalList [SATAN][16] -+char SignalList [][16] - = - { - "PS_RUNNING", -@@ -316,18 +278,17 @@ - "PS_JOIN", - "PS_SUSPENDED", - "PS_DEAD", -- "PS_DEADLCK", -+ "PS_DEADLOCK", - "PS_STATE_MAX", -- "PS_REQUEST_WAITING_SUSPENDED", - "boundless" - }; - - char *getThreadStateString(enum pthread_state threadState) - { - if (threadState < SATAN) -- return &SignalList[threadState][0]; -- else -- return &SignalList[SATAN-1][0]; -+ return SignalList[threadState]; -+ else -+ return SignalList[SATAN-1]; - } - - void dumpThreadStates() -@@ -336,114 +297,29 @@ - struct pthread *thread; - struct pthread *self = pthread_self(); - --#ifdef DEBUG_BSD_NATIVE_THREADS - _thread_kern_sig_defer(); - TAILQ_FOREACH(thread, &_thread_list, tle) { - if (thread != self) { /* special case this --billh */ -- printf("\tthread %d\t%s\t%s\n", -+ printf("\tthread %d\t%s\n", - threadCount, -- getThreadStateString(thread->state), -- getSuspendStateString(thread->suspended)); -+ getThreadStateString(thread->state)); - - if (thread->state != PS_SUSPENDED) - dumpThreadLogStates(thread); -- } -- else -- { -- printf("\tgc thread %d\t%s\t%s\n", -+ } else { -+ printf("\tgc thread %d\t%s\n", - threadCount, -- getThreadStateString(thread->state), -- getSuspendStateString(thread->suspended)); -+ getThreadStateString(thread->state)) - } - ++threadCount; - } - _thread_kern_sig_undefer(); - printf("\n"); --#endif --} -- -- --#ifdef DEBUG_BSD_NATIVE_THREADS --extern void _pthread_suspend_np_by_pthread_common(pthread_t); --extern void _pthread_resume_by_pthread_common(pthread_t, enum pthread_susp); -- --void --_pthread_suspend_all_np(void) --{ -- struct pthread *thread; -- struct pthread *self = pthread_self(); -- --fprintf(stderr, "pthread_suspend_all_np\n"); -- /* -- * Defer signals to protect the scheduling queues from -- * access by the signal handler: -- */ -- _thread_kern_sig_defer(); -- -- /* Suspend all threads other than the current thread: */ -- TAILQ_FOREACH(thread, &_thread_list, tle) { -- if (thread != self) { -- _pthread_suspend_np_by_pthread_common(thread); -- } -- } -- -- /* -- * Undefer and handle pending signals, yielding if necessary: -- */ -- _thread_kern_sig_undefer(); --fprintf(stderr, "pthread_suspend_all_np END\n"); --} -- --/* Resume a thread: */ --void --_pthread_resume_all_np(void) --{ -- enum pthread_susp old_suspended; -- struct pthread *thread; -- struct pthread *self = pthread_self(); -- --fprintf(stderr, "pthread_resume_all_np\n"); -- _thread_kern_sig_defer(); -- -- /* -- Iterate through the thread list and resume suspended threads. -- this is copied from pthread_resume_np(). --billh -- */ -- -- TAILQ_FOREACH(thread, &_thread_list, tle) { -- if (thread != self) { -- /* Cancel any pending suspensions: */ -- -- old_suspended = thread->suspended; -- thread->suspended = SUSP_NO; -- -- _pthread_resume_by_pthread_common(thread, old_suspended); -- -- } // if !thread_self -- } // TAILQ_FOREACH -- -- /* -- * Undefer and handle pending signals, yielding if -- * necessary: -- */ -- _thread_kern_sig_undefer(); --fprintf(stderr, "pthread_resume_all_np END\n"); - } --#endif - - /* - [A snippet from Dan Eichen's email on the subject] - -- It uses _longjmp (non-signal-saving/restoring) for the most part. -- The only exception is when the process (currently running thread) is -- interrupted by a signal. So your context types are a jmp_buf and -- a ucontext_t (if interrupted by a signal). If thread->ctxtype is -- CTX_UC, the context is stored as a ucontext in thread->ctx.uc. -- Otherwise, the context is stored as a jmp_buf in thread->ctx.jb. -- We don't currently use CTX_JB and CTX_SJB, so don't even bother -- with those cases. Those should go away actually; all we need -- to know is if it is a ucontext_t or a jmp_buf. -- - You can also look at src/gnu/usr.bin/binutils/gdb/freebsd-uthread.c. - It knows how to iterate through all the threads and pull out - (and even set) thread contexts. -@@ -462,19 +338,8 @@ - --billh - */ - --void clear_gc_registers(sys_thread_t * jthread) --{ --/* clear out x86 registers for the thread's "self" --billh */ -- -- jthread->regs[0] = 0; jthread->regs[1] = 0; -- jthread->regs[2] = 0; jthread->regs[3] = 0; -- jthread->regs[4] = 0; jthread->regs[5] = 0; -- jthread->regs[6] = 0; --} -- - void dumpThreadLogStates(pthread_t thread) - { --#ifdef DEBUG_BSD_NATIVE_THREADS - int i; - for(i=0; i < STATE_LOG_SIZE; ++i) - { -@@ -494,311 +359,5 @@ - } - } - printf("\t\t***XXX\n"); --#endif --} -- --void record_gc_registers_of(sys_thread_t *javaThread) --{ --struct pthread *self = pthread_self(); --struct pthread *thread = NULL; -- -- assert( javaThread != NULL ); -- assert( javaThread->sys_thread != NULL ); -- -- thread = javaThread->sys_thread; -- -- /* -- * The thread that calls this function will alway be the JVM GC thread, -- * so skip over it in the list of threads. -- */ -- if ( (thread == self) -- || ((thread->flags & PTHREAD_FLAGS_PRIVATE) != 1) -- ) -- { -- record_uc(javaThread, &thread->ctx.uc); --#ifdef DEBUG_BSD_NATIVE_THREADS -- goto Terminate; // And do nothing with this pthread entry. --#endif -- } -- -- /* -- * Got search candiate.. -- */ -- if (thread->state != PS_SUSPENDED) -- dumpThreadLogStates(thread); -- -- switch ((int)thread->ctxtype) -- { -- case CTX_JB_NOSIG: /* 0) jmp_buf context without signal mask for blocking IO, etc... */ -- case CTX_JB: /* 1) should never be CTX_JB */ -- case CTX_SJB: /* 2) should never be CTX_SJB */ -- clear_gc_registers(javaThread); --#ifdef DEBUG_BSD_NATIVE_THREADS -- goto Terminate; --#endif -- break; -- case CTX_UC: /* 3) */ -- /* context is a ucontext_t */ -- record_uc(javaThread, &thread->ctx.uc); --#ifdef DEBUG_BSD_NATIVE_THREADS -- goto Terminate; --#endif -- break; -- default: --#ifdef DEBUG_BSD_NATIVE_THREADS -- fprintf(stderr, "ctxtype failed %d.\n", thread->ctxtype); -- goto TermFailed; --#endif -- break; -- } -- --#ifdef DEBUG_BSD_NATIVE_THREADS --TermFailed: -- fprintf(stderr, "Failed to find pthread struct.\n"); fflush(stderr); -- assert(0); -- --Terminate: -- dumpThreadStates(); --#endif - } -- --void record_uc(sys_thread_t *t, ucontext_t *uc) --{ -- mcontext_t *mc = &(uc->uc_mcontext); -- -- t->regs[0] = mc->mc_eax; -- t->regs[1] = mc->mc_ecx; -- t->regs[2] = mc->mc_edx; -- t->regs[3] = mc->mc_ebx; -- t->regs[4] = mc->mc_ebp; -- t->regs[5] = mc->mc_esi; -- t->regs[6] = mc->mc_edi; --} -- --/* --From /usr/src/lib/libc/i386/gen/_setjmp.S: --ENTRY(_setjmp) -- movl 4(%esp),%eax -- movl 0(%esp),%edx -- movl %edx, 0(%eax) / * rta * / -- movl %ebx, 4(%eax) -- movl %esp, 8(%eax) -- movl %ebp,12(%eax) -- movl %esi,16(%eax) -- movl %edi,20(%eax) -- fnstcw 24(%eax) -- xorl %eax,%eax -- ret -- --typedef JmpBufStruct --{ -- int edx, // Accumulator for operands and results data. -- ebx, // Pointer to data in the DS segment. -- esp, // Stack pointer (in the SS segment). -- ebp, // Pointer to data on the stack (in the SS segment). -- esi, // Pointer to data in the segment pointer to by the DS register; source pointer for string operations. -- edi; // Pointer to data (or destination) in the segment pointer to by the ES register; destination pointer for string operations. -- --} JmpBufStruct; -- -- --void record_jb(sys_thread_t *t, JmpBufStruct *jb) --{ -- t->regs[0] = jb->eax; // What about these two register ? they seem missing in jmp_buf. -- t->regs[1] = / *jb->ecx;* / 0; -- t->regs[2] = jb->edx; // The rest of these registers are defined... -- t->regs[3] = jb->ebx; -- t->regs[4] = jb->ebp; -- t->regs[5] = jb->esi; -- t->regs[6] = jb->edi; --} --*/ -- --#if 0 --static void --finish_suspension(void *arg) --{ -- if (_thread_run->suspended != SUSP_NO) -- _thread_kern_sched_state(PS_SUSPENDED, __FILE__, __LINE__); --} -- --void _pthread_suspend_np_by_pthread_common(pthread_t thread) --{ --struct timeval tv; --struct timespec current_ts; -- -- switch (thread->state) { -- case PS_RUNNING: -- /* -- * Remove the thread from the priority queue and -- * set the state to suspended: -- */ -- PTHREAD_PRIOQ_REMOVE(thread); -- PTHREAD_SET_STATE(thread, PS_SUSPENDED); -- break; -- -- case PS_SPINBLOCK: -- case PS_FDR_WAIT: -- case PS_FDW_WAIT: -- case PS_POLL_WAIT: -- case PS_SELECT_WAIT: -- /* -- * Remove these threads from the work queue -- * and mark the operation as interrupted: -- */ -- if ((thread->flags & PTHREAD_FLAGS_IN_WORKQ) != 0) -- PTHREAD_WORKQ_REMOVE(thread); -- _thread_seterrno(thread,EINTR); -- -- /* FALLTHROUGH */ -- case PS_SLEEP_WAIT: -- thread->interrupted = 1; -- -- /* FALLTHROUGH */ -- case PS_SIGTHREAD: -- case PS_WAIT_WAIT: -- case PS_SIGSUSPEND: -- case PS_SIGWAIT: -- /* -- * Remove these threads from the waiting queue and -- * set their state to suspended: -- */ -- PTHREAD_WAITQ_REMOVE(thread); -- PTHREAD_SET_STATE(thread, PS_SUSPENDED); -- break; -- -- case PS_MUTEX_WAIT: -- /* Mark the thread as suspended and still in a queue. */ -- thread->suspended = SUSP_MUTEX_WAIT; -- -- PTHREAD_SET_STATE(thread, PS_SUSPENDED); -- break; -- case PS_COND_WAIT: --#if 0 -- /* This is for a pthreads_cond_timedwait() --billh */ -- if (thread->wakeup_time.tv_sec != -1) { -- /* (1) Use to restore the waiting-queue time that's left when the -- * thread is resumed. --billh -- */ -- _subtract_timespec3(thread, ¤t_ts, &thread->remaining_wakeup_time); -- -- /* (2) So that it's inserted at the end of the waiting queue and -- * not scanned by the uthreads_kern.c waiting queue logic. It also -- * means to make it wait forever. -- */ -- thread->wakeup_time.tv_sec = -1; -- thread->wakeup_time.tv_nsec = -1; -- -- /* (3) Remove and reinsert it at the end of waiting-queue -- * (automatic on the insertion attempt when (2)). -- */ -- PTHREAD_WORKQ_REMOVE(thread); -- PTHREAD_WORKQ_INSERT(thread); -- } --#endif -- -- /* Mark the thread as suspended and still in a queue. */ -- thread->suspended = SUSP_COND_WAIT; -- -- PTHREAD_SET_STATE(thread, PS_SUSPENDED); -- break; -- case PS_JOIN: -- /* Mark the thread as suspended and joining: */ -- thread->suspended = SUSP_JOIN; -- -- PTHREAD_NEW_STATE(thread, PS_SUSPENDED); -- break; -- case PS_FDLR_WAIT: -- case PS_FDLW_WAIT: -- case PS_FILE_WAIT: -- /* Mark the thread as suspended: */ -- thread->suspended = SUSP_YES; -- -- /* -- * Threads in these states may be in queues. -- * In order to preserve queue integrity, the -- * cancelled thread must remove itself from the -- * queue. Mark the thread as interrupted and -- * set the state to running. When the thread -- * resumes, it will remove itself from the queue -- * and call the suspension completion routine. -- */ -- thread->interrupted = 1; -- _thread_seterrno(thread, EINTR); -- PTHREAD_NEW_STATE(thread, PS_RUNNING); -- thread->continuation = finish_suspension; -- break; -- -- case PS_DEAD: -- case PS_DEADLOCK: -- case PS_STATE_MAX: -- case PS_SUSPENDED: -- /* Nothing needs to be done: */ -- break; -- } --} -- --void _pthread_resume_by_pthread_common(pthread_t thread, enum pthread_susp old_suspended) --{ --struct timeval tv; --struct timespec current_ts, -- remaining_spec; -- -- /* Is it currently suspended? */ -- if (thread->state == PS_SUSPENDED) { -- /* -- * Defer signals to protect the scheduling queues -- * from access by the signal handler: -- */ -- _thread_kern_sig_defer(); -- -- switch (old_suspended) { -- case SUSP_MUTEX_WAIT: -- /* Set the thread's state back. */ -- PTHREAD_SET_STATE(thread,PS_MUTEX_WAIT); -- break; -- case SUSP_COND_WAIT: -- /* For cases where it was doing a pthread_cond_timedwait() -- * Mark the remaining suspend time. -- * --billh -- */ --#if 0 -- if (thread->remaining_wakeup_time.tv_sec != -1) { -- GET_CURRENT_TOD(tv); -- TIMEVAL_TO_TIMESPEC(&tv, ¤t_ts); -- -- _subtract_timespec3(remaining_spec, &thread->wakeup_time, ¤t_ts); -- _thread_kern_set_timeout_by_pthread_timespec(thread, &remaining_spec); -- } --#endif -- -- /* Set the thread's state back. */ -- PTHREAD_SET_STATE(thread,PS_COND_WAIT); -- break; -- case SUSP_JOIN: -- /* Set the thread's state back. */ -- PTHREAD_SET_STATE(thread,PS_JOIN); -- break; -- case SUSP_NOWAIT: -- /* Allow the thread to run. */ -- PTHREAD_SET_STATE(thread,PS_RUNNING); -- PTHREAD_WAITQ_REMOVE(thread); -- PTHREAD_PRIOQ_INSERT_TAIL(thread); -- break; -- case SUSP_NO: -- case SUSP_YES: -- /* Allow the thread to run. */ -- PTHREAD_SET_STATE(thread,PS_RUNNING); -- PTHREAD_PRIOQ_INSERT_TAIL(thread); -- break; -- } -- -- /* -- * Undefer and handle pending signals, yielding if -- * necessary: -- */ -- _thread_kern_sig_undefer(); -- } --} -- - #endif diff --git a/java/jdk13/files/patch-threads_md.c b/java/jdk13/files/patch-threads_md.c deleted file mode 100644 index d29f1c8..0000000 --- a/java/jdk13/files/patch-threads_md.c +++ /dev/null @@ -1,12 +0,0 @@ -$FreeBSD$ - ---- ../src/solaris/hpi/native_threads/src/threads_md.c 21 Nov 2001 04:02:04 -0000 1.4 -+++ ../src/solaris/hpi/native_threads/src/threads_md.c 24 Feb 2003 03:17:30 -0000 -@@ -23,6 +23,7 @@ - #include <setjmp.h>
- #include <signal.h>
- #include <sys/types.h>
-+#include <sys/time.h>
- #include <sys/signal.h>
- #include <sys/resource.h>
- #ifdef __FreeBSD__
diff --git a/java/jdk13/files/patch-vm.make b/java/jdk13/files/patch-vm.make deleted file mode 100644 index 79cd4bc..0000000 --- a/java/jdk13/files/patch-vm.make +++ /dev/null @@ -1,13 +0,0 @@ -$FreeBSD$ - ---- ../../hotspot1.3.1/build/linux/makefiles/vm.make.orig Tue Oct 7 16:47:45 2003 -+++ ../../hotspot1.3.1/build/linux/makefiles/vm.make Tue Oct 7 16:47:57 2003 -@@ -115,7 +115,7 @@ - - #--billh - #LIBS += -lnsl -lm -ldl -lpthread --LIBS = -lm -lc_r -+LIBS = -lm -pthread - - JVM = jvm$(G_SUFFIX) - LIBJVM = lib$(JVM).so |