svn commit: r340870 - in head/java: openjdk6 openjdk6-jre openjdk6/files openjdk6/files/icedtea/openjdk
Jung-uk Kim
jkim at FreeBSD.org
Thu Jan 23 23:34:08 UTC 2014
Author: jkim
Date: Thu Jan 23 23:34:07 2014
New Revision: 340870
URL: http://svnweb.freebsd.org/changeset/ports/340870
QAT: https://qat.redports.org/buildarchive/r340870/
Log:
- Update to b30.
- Implement sigset(2) for libjsig. All supported FreeBSD releases have it.
- Turn UseMembar back on by default until we find better solution.
Deleted:
head/java/openjdk6/files/icedtea/openjdk/
Modified:
head/java/openjdk6-jre/Makefile
head/java/openjdk6/Makefile
head/java/openjdk6/Makefile.icedtea
head/java/openjdk6/distinfo
head/java/openjdk6/files/patch-set
Modified: head/java/openjdk6-jre/Makefile
==============================================================================
--- head/java/openjdk6-jre/Makefile Thu Jan 23 23:13:39 2014 (r340869)
+++ head/java/openjdk6-jre/Makefile Thu Jan 23 23:34:07 2014 (r340870)
@@ -1,6 +1,6 @@
# $FreeBSD$
-PORTREVISION= 7
+PORTREVISION= 0
CATEGORIES= java devel
PKGNAMESUFFIX= -jre
Modified: head/java/openjdk6/Makefile
==============================================================================
--- head/java/openjdk6/Makefile Thu Jan 23 23:13:39 2014 (r340869)
+++ head/java/openjdk6/Makefile Thu Jan 23 23:34:07 2014 (r340870)
@@ -2,13 +2,13 @@
# $FreeBSD$
PORTNAME= openjdk6
-PORTVERSION= b28
-PORTREVISION?= 7
+PORTVERSION= b30
+PORTREVISION?= 0
PORTEPOCH= 1
CATEGORIES= java devel
MASTER_SITES= ${MASTER_SITE_APACHE:S,%SUBDIR%/,ant/binaries/:ant,} \
http://download.java.net/openjdk/jtreg/promoted/4.1/b05/:jtreg \
- https://java.net/projects/openjdk6/downloads/download/ \
+ https://java.net/downloads/openjdk6/ \
LOCAL
MASTER_SITE_SUBDIR= jkim
DISTNAME= openjdk-6-src-${PORTVERSION}-${OPENJDK_BUILDDATE}
@@ -30,7 +30,7 @@ LIB_DEPENDS= libfreetype.so:${PORTSDIR}/
RUN_DEPENDS= javavm:${PORTSDIR}/java/javavmwrapper \
${LOCALBASE}/lib/X11/fonts/dejavu:${PORTSDIR}/x11-fonts/dejavu
-OPENJDK_BUILDDATE= 04_oct_2013
+OPENJDK_BUILDDATE= 21_jan_2014
OPTIONS_DEFINE= ICEDTEA IPV6 POLICY SOUND TZUPDATE
OPTIONS_DEFAULT=ICEDTEA IPV6 TZUPDATE
@@ -51,6 +51,7 @@ TEST_DESC= Add support for running regre
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
PKGINSTALL= ${WRKDIR}/pkg-install
+USE_XZ= yes
USES= compiler gmake iconv motif
.include <bsd.port.options.mk>
@@ -228,6 +229,12 @@ post-patch:
@${REINPLACE_CMD} -e "s|%%CXX_LIBS%%|${CXX_LIBS}|" \
${WRKSRC}/corba/make/common/Defs-bsd.gmk \
${WRKSRC}/jdk/make/common/Defs-bsd.gmk
+.if ${COMPILER_TYPE} == "clang"
+ @${REINPLACE_CMD} -e "s|-fno-omit-frame-pointer|-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer|" \
+ ${WRKSRC}/corba/make/common/Defs-bsd.gmk \
+ ${WRKSRC}/hotspot/make/bsd/makefiles/amd64.make \
+ ${WRKSRC}/jdk/make/common/Defs-bsd.gmk
+.endif
@${REINPLACE_CMD} -e "s|%%ICONV_INC%%|${ICONV_INCLUDE}|" \
-e "s|%%ICONV_LIB%%|${ICONV_LIBS}|" \
${WRKSRC}/Makefile ${WRKSRC}/jdk/make/java/instrument/Makefile \
Modified: head/java/openjdk6/Makefile.icedtea
==============================================================================
--- head/java/openjdk6/Makefile.icedtea Thu Jan 23 23:13:39 2014 (r340869)
+++ head/java/openjdk6/Makefile.icedtea Thu Jan 23 23:34:07 2014 (r340870)
@@ -1,108 +1,6 @@
# $FreeBSD$
-_PATCHES= \
- openjdk/8017196-ensure_proxies_are_handled_appropriately.patch \
- openjdk/8011157-improve_corba_portability.patch \
- openjdk/8022940-enhance_corba_translations.patch \
- openjdk/8013503-improve_stream_factories.patch \
- openjdk/8012425-transform_transformfactory.patch \
- openjdk/8017298-better_xml_support.patch \
- openjdk/8014530-better_dsp.patch \
- openjdk/8021366-jaxp_test_fix-01.patch \
- openjdk/8021933-jaxp_test_fix-02.patch \
- openjdk/8022682-supporting_xom.patch \
- openjdk/8015978-incorrect_transformation.patch \
- openjdk/oj6-20-merge.patch \
- openjdk/8024914-swapped_usage.patch \
- openjdk/8017505-better_client_service.patch \
- openjdk/8015614-update_build.patch \
- openjdk/8016256-finalization_final.patch \
- openjdk/8023683-enhance_class_file_parsing.patch \
- openjdk/8023457-tracing_mutex.patch \
- openjdk/8020943-memory_leak.patch \
- openjdk/8023478-hs_crash.patch \
- openjdk/4075303-javap_update.patch \
- openjdk/6819246-javap_instruction_decoding.patch \
- openjdk/6715767-javap_crash.patch \
- openjdk/6841420-classfile_methods.patch \
- openjdk/6841419-classfile_iterator.patch \
- openjdk/4111861-static_fields.patch \
- openjdk/4884240-javap_additional_option.patch \
- openjdk/6852856-javap_subclasses.patch \
- openjdk/6867671-javap_whitespace.patch \
- openjdk/6868539-constant_pool_tags.patch \
- openjdk/4501661-disallow_mixing.patch \
- openjdk/6824493-experimental.patch \
- openjdk/6843013-missing_experimental.patch \
- openjdk/6902264-fix_indentation.patch \
- openjdk/8016675-robust_javadoc.patch \
- openjdk/8016653-ignoreable_characters.patch \
- openjdk/7196533-timezone_bottleneck.patch \
- openjdk/8006900-new_date_time.patch \
- openjdk/8008589-better_mbean_permission_validation.patch \
- openjdk/8011071-better_crypto_provider_handling.patch \
- openjdk/8011081-improve_jhat.patch \
- openjdk/8011157-improve_corba_portability-jdk.patch \
- openjdk/8012071-better_bean_building.patch \
- openjdk/8012147-improve_tool.patch \
- openjdk/8012277-improve_dataflavour.patch \
- openjdk/8013506-better_pack200.patch \
- openjdk/8013510-augment_image_writing.patch \
- openjdk/8013514-improve_cmap_stability.patch \
- openjdk/8013744-better_tabling.patch \
- openjdk/8014085-better_serialization.patch \
- openjdk/8014093-improve_image_parsing.patch \
- openjdk/8014102-improve_image_conversion.patch \
- openjdk/8014341-better_kerberos_service.patch \
- openjdk/8014534-better_profiling.patch \
- openjdk/8014987-augment_serialization.patch \
- openjdk/8015731-auth_improvements.patch \
- openjdk/8015743-address_internet_addresses.patch \
- openjdk/8016357-update_hs_diagnostic_class.patch \
- openjdk/8002070-remove_logger_stack_search.patch \
- openjdk/6708729-javap_makefile_update.patch \
- openjdk/8010118-caller_sensitive.patch \
- openjdk/oj6-19-fix_8010118_test_cases.patch \
- openjdk/8010727-empty_logger_name.patch \
- openjdk/8010939-logmanager_deadlock.patch \
- openjdk/8011990-logger_test_urls.patch \
- openjdk/8013380-logger_stack_walk_glassfish.patch \
- openjdk/8014745-logger_stack_walk_switch.patch \
- openjdk/8012243-serial_regression.patch \
- openjdk/8014718-remove_logging_suntoolkit.patch \
- openjdk/8011139-revise_checking_getenclosingclass.patch \
- openjdk/8017196-ensure_proxies_are_handled_appropriately-jdk.patch \
- openjdk/8017287-better_resource_disposal.patch \
- openjdk/8017291-cast_proxies_aside.patch \
- openjdk/7146431-java.security_files.patch \
- openjdk/8006882-jmockit.patch \
- openjdk/8000450-restrict_access.patch \
- openjdk/8019979-better_access_test.patch \
- openjdk/8004188-rename_java.security.patch \
- openjdk/8017566-backout_part_of_8000450.patch \
- openjdk/8017300-improve_interface_implementation.patch \
- openjdk/8019292-better_attribute_value_exceptions.patch \
- openjdk/8019617-better_view_of_objects.patch \
- openjdk/8012617-arrayindexoutofbounds_linebreakmeasurer.patch \
- openjdk/8020293-jvm_crash.patch \
- openjdk/8013739-better_ldap_resource_management.patch \
- openjdk/8014349-getdeclaredclass_fix.patch \
- openjdk/6954275-big_xml_signatures.patch \
- openjdk/8021290-signature_validation.patch \
- openjdk/8012453-runtime.exec.patch \
- openjdk/8015965-typo_in_property_name.patch \
- openjdk/8015144-performance_regression.patch \
- openjdk/8019969-inet6_test_case_fix.patch \
- openjdk/8019584-invalid_notification_fix.patch \
- openjdk/8021577-bean_serialization_fix.patch \
- openjdk/8021969-jnlp_load_failure.patch \
- openjdk/8021355-splashscreen_regression.patch \
- openjdk/8022661-writeobject_flush.patch \
- openjdk/8023964-ignore_test.patch \
- openjdk/8003992-embedded_nulls.patch \
- openjdk/8013827-createtempfile_hang.patch \
- openjdk/8025128-createtempfile_absolute_prefix.patch \
- openjdk/oj6-21-overrides.patch
+_PATCHES=
.if ${PORT_OPTIONS:MICEDTEA}
_PATCHES+= \
Modified: head/java/openjdk6/distinfo
==============================================================================
--- head/java/openjdk6/distinfo Thu Jan 23 23:13:39 2014 (r340869)
+++ head/java/openjdk6/distinfo Thu Jan 23 23:34:07 2014 (r340870)
@@ -1,6 +1,6 @@
SHA256 (apache-ant-1.9.3-bin.tar.bz2) = ca14a31b2b47edd069624520f64957ad502c0905421da5f46dd41229b8ba4cbf
SIZE (apache-ant-1.9.3-bin.tar.bz2) = 4320310
-SHA256 (openjdk-6-src-b28-04_oct_2013.tar.gz) = ac4fceed060ad61dab938c41181455fb0910f58f6944f820f0637b0f0c64bf75
-SIZE (openjdk-6-src-b28-04_oct_2013.tar.gz) = 53599044
+SHA256 (openjdk-6-src-b30-21_jan_2014.tar.xz) = ebd9fdf39c8590cd620cb78c481ca233f5919f2819237b5d2b440666f1dd3475
+SIZE (openjdk-6-src-b30-21_jan_2014.tar.xz) = 33106516
SHA256 (jtreg-4.1-bin-b05_29_nov_2012.zip) = 9291eb4a14501232b35614e88686ff66ad8b69d0098dbd4322b28f97b672653d
SIZE (jtreg-4.1-bin-b05_29_nov_2012.zip) = 5993382
Modified: head/java/openjdk6/files/patch-set
==============================================================================
--- head/java/openjdk6/files/patch-set Thu Jan 23 23:13:39 2014 (r340869)
+++ head/java/openjdk6/files/patch-set Thu Jan 23 23:34:07 2014 (r340870)
@@ -579,23 +579,34 @@
HOSTCXX = $(CXX)
HOSTCC = $(CC)
endif
---- hotspot/src/cpu/x86/vm/globals_x86.hpp
-+++ hotspot/src/cpu/x86/vm/globals_x86.hpp
-@@ -70,11 +70,7 @@
- define_pd_global(bool, RewriteBytecodes, true);
- define_pd_global(bool, RewriteFrequentPairs, true);
+--- hotspot/src/os/bsd/vm/jsig.c
++++ hotspot/src/os/bsd/vm/jsig.c
+@@ -140,9 +140,13 @@
+ }
--#ifdef _ALLBSD_SOURCE
--define_pd_global(bool, UseMembar, true);
--#else
- define_pd_global(bool, UseMembar, false);
--#endif
+ sa_handler_t sigset(int sig, sa_handler_t disp) {
++#ifdef __FreeBSD__
++ return set_signal(sig, disp, true);
++#else
+ printf("sigset() is not supported by BSD");
+ exit(0);
+- }
++#endif
++}
- // GC Ergo Flags
- define_pd_global(intx, CMSYoungGenPerWorker, 64*M); // default max size of CMS young gen, per GC worker thread
+ static int call_os_sigaction(int sig, const struct sigaction *act,
+ struct sigaction *oact) {
--- hotspot/src/os/bsd/vm/jvm_bsd.cpp
+++ hotspot/src/os/bsd/vm/jvm_bsd.cpp
-@@ -110,71 +110,30 @@
+@@ -50,6 +50,7 @@
+ case INTERRUPT_SIGNAL:
+ case SIGFPE:
+ case SIGILL:
++ case SIGBUS:
+ case SIGSEGV:
+
+ /* The following signal is used by the VM to dump thread stacks unless
+@@ -110,71 +111,29 @@
JVM_END
/*
@@ -617,9 +628,8 @@
- CLD, CHLD, CONT, TSTP, TTIN, TTOU, URG, XCPU, XFSZ, VTALRM, PROF,
- WINCH, POLL, IO, PWR, SYS
-
-+ HUP, INT, TRAP, ABRT, EMT, BUS, SYS, PIPE, ALRM, TERM, URG, TSTP,
-+ CONT, CHLD, TTIN, TTOU, IO, XCPU, XFSZ, VTALRM, PROF, WINCH, INFO,
-+ USR2
++ HUP, INT, TRAP, ABRT, EMT, SYS, PIPE, ALRM, TERM, URG, TSTP, CONT,
++ CHLD, TTIN, TTOU, IO, XCPU, XFSZ, VTALRM, PROF, WINCH, INFO, USR2
*/
-struct siglabel {
@@ -780,7 +790,31 @@
#if defined(__FreeBSD__) || defined(__NetBSD__)
# include <elf.h>
#endif
-@@ -205,6 +217,28 @@
+@@ -162,8 +174,10 @@
+ #endif
+
+ int (*os::Bsd::_clock_gettime)(clockid_t, struct timespec *) = NULL;
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ int (*os::Bsd::_pthread_getcpuclockid)(pthread_t, clockid_t *) = NULL;
++#endif
++#ifndef _ALLBSD_SOURCE
+ Mutex* os::Bsd::_createThread_lock = NULL;
+ #endif
+ pthread_t os::Bsd::_main_thread;
+@@ -171,7 +185,11 @@
+ #ifndef _ALLBSD_SOURCE
+ bool os::Bsd::_is_floating_stack = false;
+ bool os::Bsd::_is_NPTL = false;
++#endif
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ bool os::Bsd::_supports_fast_thread_cpu_time = false;
++#endif
++#ifndef _ALLBSD_SOURCE
+ const char * os::Bsd::_glibc_version = NULL;
+ const char * os::Bsd::_libpthread_version = NULL;
+ #endif
+@@ -205,6 +223,28 @@
julong os::Bsd::available_memory() {
#ifdef _ALLBSD_SOURCE
@@ -809,7 +843,7 @@
// XXXBSD: this is just a stopgap implementation
return physical_memory() >> 2;
#else
-@@ -221,6 +255,17 @@
+@@ -221,6 +261,17 @@
}
julong os::allocatable_physical_memory(julong size) {
@@ -827,7 +861,7 @@
#ifdef _LP64
return size;
#else
-@@ -308,16 +353,22 @@
+@@ -308,16 +359,22 @@
#define COMPILER_VARIANT "client"
#endif
@@ -854,7 +888,7 @@
int rslt = syscall(SYS_gettid);
if (rslt == -1) {
// old kernel, no NPTL support
-@@ -325,6 +376,7 @@
+@@ -325,6 +382,7 @@
} else {
return (pid_t)rslt;
}
@@ -862,7 +896,7 @@
}
// Most versions of bsd have a bug where the number of processors are
-@@ -337,7 +389,35 @@
+@@ -337,7 +395,35 @@
"environment on Bsd when /proc filesystem is not mounted.";
#endif
@@ -899,7 +933,7 @@
void os::Bsd::initialize_system_info() {
int mib[2];
size_t len;
-@@ -452,7 +532,7 @@
+@@ -452,7 +538,7 @@
* 7: The default directories, normally /lib and /usr/lib.
*/
#ifndef DEFAULT_LIBPATH
@@ -908,7 +942,7 @@
#endif
#define EXTENSIONS_DIR "/lib/ext"
-@@ -997,7 +1077,7 @@
+@@ -997,7 +1083,7 @@
return NULL;
}
@@ -917,7 +951,7 @@
#ifdef __APPLE__
// thread_id is mach thread on macos
osthread->set_thread_id(::mach_thread_self());
-@@ -1009,6 +1089,7 @@
+@@ -1009,6 +1095,7 @@
// thread_id is kernel thread id (similar to Solaris LWP id)
osthread->set_thread_id(os::Bsd::gettid());
@@ -925,7 +959,7 @@
if (UseNUMA) {
int lgrp_id = os::numa_get_group_id();
if (lgrp_id != -1) {
-@@ -1016,6 +1097,7 @@
+@@ -1016,6 +1103,7 @@
}
}
#endif
@@ -933,7 +967,16 @@
// initialize signal mask for this thread
os::Bsd::hotspot_sigmask(thread);
-@@ -1194,7 +1276,7 @@
+@@ -1105,7 +1193,7 @@
+ // let pthread_create() pick the default value.
+ }
+
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ // glibc guard page
+ pthread_attr_setguardsize(&attr, os::Bsd::default_guard_size(thr_type));
+ #endif
+@@ -1194,7 +1282,7 @@
}
// Store pthread info into the OSThread
@@ -942,7 +985,27 @@
#ifdef __APPLE__
osthread->set_thread_id(::mach_thread_self());
#else
-@@ -1817,8 +1899,10 @@
+@@ -1630,7 +1718,10 @@
+ }
+ #endif
+
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
++#ifdef __FreeBSD__
++#define sys_clock_getres clock_getres
++#else
+ #ifndef SYS_clock_getres
+
+ #if defined(IA32) || defined(AMD64)
+@@ -1644,6 +1735,7 @@
+ #else
+ #define sys_clock_getres(x,y) ::syscall(SYS_clock_getres, x, y)
+ #endif
++#endif
+
+ void os::Bsd::fast_thread_clock_init() {
+ if (!UseBsdPosixThreadCPUClocks) {
+@@ -1817,8 +1909,10 @@
}
intx os::current_thread_id() {
@@ -954,7 +1017,7 @@
#else
return (intx)::pthread_self();
#endif
-@@ -2341,14 +2425,16 @@
+@@ -2341,14 +2435,16 @@
}
void os::print_os_info_brief(outputStream* st) {
@@ -973,7 +1036,7 @@
os::Posix::print_uname_info(st);
-@@ -2366,7 +2452,23 @@
+@@ -2366,7 +2462,23 @@
st->print("Memory:");
st->print(" %dk page", os::vm_page_size()>>10);
@@ -998,7 +1061,7 @@
// values in struct sysinfo are "unsigned long"
struct sysinfo si;
sysinfo(&si);
-@@ -2376,17 +2478,22 @@
+@@ -2376,17 +2488,22 @@
os::physical_memory() >> 10);
st->print("(" UINT64_FORMAT "k free)",
os::available_memory() >> 10);
@@ -1023,7 +1086,25 @@
st->cr();
}
-@@ -2533,10 +2640,17 @@
+@@ -2399,7 +2516,7 @@
+
+ const char *fpe_names[] = { "FPE0", "FPE_INTDIV", "FPE_INTOVF", "FPE_FLTDIV",
+ "FPE_FLTOVF", "FPE_FLTUND", "FPE_FLTRES",
+- "FPE_FLTINV", "FPE_FLTSUB", "FPE_FLTDEN" };
++ "FPE_FLTINV", "FPE_FLTSUB" };
+
+ const char *segv_names[] = { "SEGV0", "SEGV_MAPERR", "SEGV_ACCERR" };
+
+@@ -2425,7 +2542,7 @@
+ st->print(", si_addr=" PTR_FORMAT, si->si_addr);
+ break;
+ case SIGFPE:
+- st->print(", si_code=%d (%s)", c, c > 9 ? "" : fpe_names[c]);
++ st->print(", si_code=%d (%s)", c, c > 8 ? "" : fpe_names[c]);
+ st->print(", si_addr=" PTR_FORMAT, si->si_addr);
+ break;
+ case SIGSEGV:
+@@ -2533,10 +2650,17 @@
jrelib_p = buf + len;
// Add the appropriate library subdir
@@ -1041,7 +1122,7 @@
// Add the appropriate client or server subdir
len = strlen(buf);
-@@ -2997,9 +3111,10 @@
+@@ -2997,9 +3121,10 @@
flags |= MAP_FIXED;
}
@@ -1055,7 +1136,7 @@
flags, -1, 0);
if (addr != MAP_FAILED) {
-@@ -3156,7 +3271,9 @@
+@@ -3156,7 +3281,9 @@
static size_t _large_page_size = 0;
void os::large_page_init() {
@@ -1066,7 +1147,7 @@
if (!UseLargePages) {
UseHugeTLBFS = false;
UseSHM = false;
-@@ -3654,8 +3771,8 @@
+@@ -3654,8 +3781,8 @@
return OS_OK;
#else
int ret = setpriority(PRIO_PROCESS, thread->osthread()->thread_id(), newpri);
@@ -1076,7 +1157,25 @@
}
OSReturn os::get_native_priority(const Thread* const thread, int *priority_ptr) {
-@@ -4634,6 +4751,20 @@
+@@ -4171,7 +4298,7 @@
+ }
+ }
+
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ // This is the fastest way to get thread cpu time on Bsd.
+ // Returns cpu time (user+sys) for any thread, not only for current.
+ // POSIX compliant clocks are implemented in the kernels 2.6.16+.
+@@ -4450,7 +4577,7 @@
+ // this is called _after_ the global arguments have been parsed
+ jint os::init_2(void)
+ {
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ Bsd::fast_thread_clock_init();
+ #endif
+
+@@ -4634,6 +4761,20 @@
int os::active_processor_count() {
#ifdef _ALLBSD_SOURCE
@@ -1097,9 +1196,110 @@
return _processor_count;
#else
// Bsd doesn't yet have a (official) notion of processor sets,
+@@ -5033,7 +5174,7 @@
+ return munmap(addr, bytes) == 0;
+ }
+
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ static jlong slow_thread_cpu_time(Thread *thread, bool user_sys_cpu_time);
+
+ static clockid_t thread_cpu_clockid(Thread* thread) {
+@@ -5057,7 +5198,7 @@
+ jlong os::current_thread_cpu_time() {
+ #ifdef __APPLE__
+ return os::thread_cpu_time(Thread::current(), true /* user + sys */);
+-#elif !defined(_ALLBSD_SOURCE)
++#elif !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ if (os::Bsd::supports_fast_thread_cpu_time()) {
+ return os::Bsd::fast_thread_cpu_time(CLOCK_THREAD_CPUTIME_ID);
+ } else {
+@@ -5068,7 +5209,7 @@
+ }
+
+ jlong os::thread_cpu_time(Thread* thread) {
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ // consistent with what current_thread_cpu_time() returns
+ if (os::Bsd::supports_fast_thread_cpu_time()) {
+ return os::Bsd::fast_thread_cpu_time(thread_cpu_clockid(thread));
+@@ -5081,7 +5222,7 @@
+ jlong os::current_thread_cpu_time(bool user_sys_cpu_time) {
+ #ifdef __APPLE__
+ return os::thread_cpu_time(Thread::current(), user_sys_cpu_time);
+-#elif !defined(_ALLBSD_SOURCE)
++#elif !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ if (user_sys_cpu_time && os::Bsd::supports_fast_thread_cpu_time()) {
+ return os::Bsd::fast_thread_cpu_time(CLOCK_THREAD_CPUTIME_ID);
+ } else {
+@@ -5110,7 +5251,7 @@
+ } else {
+ return ((jlong)tinfo.user_time.seconds * 1000000000) + ((jlong)tinfo.user_time.microseconds * (jlong)1000);
+ }
+-#elif !defined(_ALLBSD_SOURCE)
++#elif !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ if (user_sys_cpu_time && os::Bsd::supports_fast_thread_cpu_time()) {
+ return os::Bsd::fast_thread_cpu_time(thread_cpu_clockid(thread));
+ } else {
+@@ -5119,12 +5260,15 @@
+ #endif
+ }
+
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ //
+ // -1 on error.
+ //
+
+ static jlong slow_thread_cpu_time(Thread *thread, bool user_sys_cpu_time) {
++#ifdef __FreeBSD__
++ return -1;
++#else
+ static bool proc_pid_cpu_avail = true;
+ static bool proc_task_unchecked = true;
+ static const char *proc_stat_path = "/proc/%d/stat";
+@@ -5208,6 +5352,7 @@
+ } else {
+ return (jlong)user_time * (1000000000 / clock_tics_per_sec);
+ }
++#endif
+ }
+ #endif
+
+@@ -5226,7 +5371,7 @@
+ }
+
+ bool os::is_thread_cpu_time_supported() {
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(__FreeBSD__)
+ return true;
+ #elif defined(_ALLBSD_SOURCE)
+ return false;
--- hotspot/src/os/bsd/vm/os_bsd.hpp
+++ hotspot/src/os/bsd/vm/os_bsd.hpp
-@@ -112,13 +112,15 @@
+@@ -56,9 +56,11 @@
+ static int sigflags[MAXSIGNUM];
+
+ static int (*_clock_gettime)(clockid_t, struct timespec *);
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ static int (*_pthread_getcpuclockid)(pthread_t, clockid_t *);
++#endif
+
++#ifndef _ALLBSD_SOURCE
+ static address _initial_thread_stack_bottom;
+ static uintptr_t _initial_thread_stack_size;
+
+@@ -67,6 +69,8 @@
+
+ static bool _is_floating_stack;
+ static bool _is_NPTL;
++#endif
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ static bool _supports_fast_thread_cpu_time;
+ #endif
+
+@@ -112,13 +116,15 @@
#endif
static pthread_t main_thread(void) { return _main_thread; }
@@ -1116,7 +1316,13 @@
static void hotspot_sigmask(Thread* thread);
#ifndef _ALLBSD_SOURCE
-@@ -202,7 +204,7 @@
+@@ -197,12 +203,12 @@
+ // Real-time clock functions
+ static void clock_init(void);
+
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ // fast POSIX clocks support
static void fast_thread_clock_init(void);
#endif
@@ -1125,6 +1331,15 @@
return _clock_gettime != NULL;
}
+@@ -210,7 +216,7 @@
+ return _clock_gettime ? _clock_gettime(clock_id, tp) : -1;
+ }
+
+-#ifndef _ALLBSD_SOURCE
++#if !defined(_ALLBSD_SOURCE) || defined(__FreeBSD__)
+ static int pthread_getcpuclockid(pthread_t tid, clockid_t *clock_id) {
+ return _pthread_getcpuclockid ? _pthread_getcpuclockid(tid, clock_id) : -1;
+ }
--- hotspot/src/os/bsd/vm/threadCritical_bsd.cpp
+++ hotspot/src/os/bsd/vm/threadCritical_bsd.cpp
@@ -33,35 +33,36 @@
@@ -1945,6 +2160,17 @@
void* result = (void*) tp->area_top;
tp->area_top += size;
+--- hotspot/src/share/vm/runtime/globals.hpp
++++ hotspot/src/share/vm/runtime/globals.hpp
+@@ -1125,7 +1125,7 @@
+ product(intx, hashCode, 0, \
+ "(Unstable) select hashCode generation algorithm" ) \
+ \
+- product(intx, WorkAroundNPTLTimedWaitHang, 1, \
++ product(intx, WorkAroundNPTLTimedWaitHang, 0, \
+ "(Unstable, Linux-specific)" \
+ " avoid NPTL-FUTEX hang pthread_cond_timedwait" ) \
+ \
--- hotspot/src/share/vm/runtime/interfaceSupport.hpp
+++ hotspot/src/share/vm/runtime/interfaceSupport.hpp
@@ -67,7 +67,7 @@
More information about the svn-ports-all
mailing list