svn commit: r417048 - head/java/openjdk8/files
Greg Lewis
glewis at FreeBSD.org
Sat Jun 18 05:44:37 UTC 2016
Author: glewis
Date: Sat Jun 18 05:44:35 2016
New Revision: 417048
URL: https://svnweb.freebsd.org/changeset/ports/417048
Log:
. Regenerate patch-bsd and patch-bsd-test. This obsoletes another patch
and should also fix ppc64 support.
Deleted:
head/java/openjdk8/files/patch-jdk-src-solaris-native-java-net-bsd_close.c
Modified:
head/java/openjdk8/files/patch-bsd
head/java/openjdk8/files/patch-bsd-test
Modified: head/java/openjdk8/files/patch-bsd
==============================================================================
--- head/java/openjdk8/files/patch-bsd Sat Jun 18 05:09:50 2016 (r417047)
+++ head/java/openjdk8/files/patch-bsd Sat Jun 18 05:44:35 2016 (r417048)
@@ -1067,20 +1067,20 @@
ifneq (,$$($1_BIN))
$$(error BIN has been replaced with OBJECT_DIR)
--- ./hotspot/make/bsd/Makefile Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/Makefile Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/Makefile Fri Jun 17 22:08:33 2016 -0700
@@ -66,6 +66,10 @@
FORCE_TIERED=1
endif
endif
+# C1 is not ported on ppc64, so we cannot build a tiered VM:
-+ifeq ($(ARCH),ppc64)
++ifneq (,$(findstring $(ARCH), ppc ppc64))
+ FORCE_TIERED=0
+endif
ifdef LP64
ifeq ("$(filter $(LP64_ARCH),$(BUILDARCH))","")
--- ./hotspot/make/bsd/makefiles/build_vm_def.sh Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/build_vm_def.sh Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/build_vm_def.sh Fri Jun 17 22:08:33 2016 -0700
@@ -1,12 +1,28 @@
#!/bin/sh
@@ -1117,7 +1117,7 @@
+ }' | sort -u ;;
+esac
--- ./hotspot/make/bsd/makefiles/debug.make Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/debug.make Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/debug.make Fri Jun 17 22:08:33 2016 -0700
@@ -35,7 +35,10 @@
# to inhibit the effect of the previous line on CFLAGS.
@@ -1131,8 +1131,8 @@
VERSION = debug
SYSDEFS += -DASSERT
--- ./hotspot/make/bsd/makefiles/defs.make Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/defs.make Mon May 09 17:15:53 2016 -0400
-@@ -29,7 +29,10 @@
++++ ./hotspot/make/bsd/makefiles/defs.make Fri Jun 17 22:08:33 2016 -0700
+@@ -29,7 +29,15 @@
SLASH_JAVA ?= /java
# Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
@@ -1140,27 +1140,41 @@
+# ARCH can be set explicitly in spec.gmk
+ifndef ARCH
+ ARCH := $(shell uname -m)
++ # Fold little endian PowerPC64 into big-endian (if ARCH is set in
++ # hotspot-spec.gmk, this will be done by the configure script).
++ ifeq ($(ARCH),ppc64le)
++ ARCH := ppc64
++ endif
+endif
PATH_SEP = :
ifeq ($(LP64), 1)
ARCH_DATA_MODEL ?= 64
-@@ -124,6 +127,15 @@
- HS_ARCH = ppc
+@@ -117,11 +125,19 @@
+ endif
+
+ # PPC
+-ifeq ($(ARCH), ppc)
+- ARCH_DATA_MODEL = 32
+- PLATFORM = bsd-ppc
+- VM_PLATFORM = bsd_ppc
+- HS_ARCH = ppc
++# Notice: after 8046471 ARCH will be 'ppc' for top-level ppc64 builds but
++# 'ppc64' for HotSpot-only ppc64 builds. Need to detect both variants here!
++ifneq (,$(findstring $(ARCH), ppc ppc64))
++ ifeq ($(ARCH_DATA_MODEL), 64)
++ MAKE_ARGS += LP64=1
++ PLATFORM = bsd-ppc64
++ VM_PLATFORM = bsd_ppc64
++ else
++ ARCH_DATA_MODEL = 32
++ PLATFORM = bsd-ppc
++ VM_PLATFORM = bsd_ppc
++ endif
++ HS_ARCH = ppc
endif
-+# PPC64
-+ifeq ($(ARCH), ppc64)
-+ ARCH_DATA_MODEL = 64
-+ MAKE_ARGS += LP64=1
-+ PLATFORM = bsd-ppc64
-+ VM_PLATFORM = bsd_ppc64
-+ HS_ARCH = ppc
-+endif
-+
# On 32 bit bsd we build server and client, on 64 bit just server.
- ifeq ($(JVM_VARIANTS),)
- ifeq ($(ARCH_DATA_MODEL), 32)
-@@ -321,6 +333,18 @@
+@@ -321,6 +337,18 @@
ifeq ($(JVM_VARIANT_MINIMAL1),true)
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX)
@@ -1180,7 +1194,7 @@
# Serviceability Binaries
--- ./hotspot/make/bsd/makefiles/fastdebug.make Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/fastdebug.make Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/fastdebug.make Fri Jun 17 22:08:33 2016 -0700
@@ -56,7 +56,10 @@
# to inhibit the effect of the previous line on CFLAGS.
@@ -1194,7 +1208,7 @@
VERSION = fastdebug
SYSDEFS += -DASSERT -DCHECK_UNHANDLED_OOPS
--- ./hotspot/make/bsd/makefiles/gcc.make Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/gcc.make Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/gcc.make Fri Jun 17 22:08:33 2016 -0700
@@ -168,6 +168,9 @@
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
endif
@@ -1321,7 +1335,7 @@
endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/make/bsd/makefiles/launcher.make Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/launcher.make Fri Jun 17 22:08:33 2016 -0700
@@ -0,0 +1,117 @@
+#
+# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -1441,7 +1455,7 @@
+ $(QUIETLY) chmod +x $@
+
--- ./hotspot/make/bsd/makefiles/mapfile-vers-debug Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug Fri Jun 17 22:08:33 2016 -0700
@@ -21,246 +21,254 @@
# questions.
#
@@ -1449,16 +1463,10 @@
-# Only used for OSX/Darwin builds
# Define public interface.
-+
-+SUNWprivate_1.1 {
-+ global:
- # _JNI
+- # _JNI
- _JNI_CreateJavaVM
- _JNI_GetCreatedJavaVMs
- _JNI_GetDefaultJavaVMInitArgs
-+ JNI_CreateJavaVM;
-+ JNI_GetCreatedJavaVMs;
-+ JNI_GetDefaultJavaVMInitArgs;
- # _JVM
- _JVM_Accept
@@ -1677,6 +1685,17 @@
- _JVM_Write
- _JVM_Yield
- _JVM_handle_bsd_signal
++SUNWprivate_1.1 {
++ global:
++ # _JNI
++ JNI_CreateJavaVM;
++ JNI_GetCreatedJavaVMs;
++ JNI_GetDefaultJavaVMInitArgs;
+
+- # debug _JVM
+- _JVM_AccessVMBooleanFlag
+- _JVM_AccessVMIntFlag
+- _JVM_VMBreakPoint
+ # JVM
+ JVM_Accept;
+ JVM_ActiveProcessorCount;
@@ -1894,11 +1913,7 @@
+ JVM_Write;
+ JVM_Yield;
+ JVM_handle_bsd_signal;
-
-- # debug _JVM
-- _JVM_AccessVMBooleanFlag
-- _JVM_AccessVMIntFlag
-- _JVM_VMBreakPoint
++
+ # debug JVM
+ JVM_AccessVMBooleanFlag;
+ JVM_AccessVMIntFlag;
@@ -1929,7 +1944,7 @@
+ *;
+};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug.macosx Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug.macosx Fri Jun 17 22:08:33 2016 -0700
@@ -0,0 +1,266 @@
+#
+# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
@@ -2198,7 +2213,7 @@
+ # INSERT VTABLE SYMBOLS HERE
+
--- ./hotspot/make/bsd/makefiles/mapfile-vers-product Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/mapfile-vers-product Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/mapfile-vers-product Fri Jun 17 22:08:33 2016 -0700
@@ -21,241 +21,249 @@
# questions.
#
@@ -2206,16 +2221,10 @@
-# Only used for OSX/Darwin builds
# Define public interface.
-+
-+SUNWprivate_1.1 {
-+ global:
- # _JNI
+- # _JNI
- _JNI_CreateJavaVM
- _JNI_GetCreatedJavaVMs
- _JNI_GetDefaultJavaVMInitArgs
-+ JNI_CreateJavaVM;
-+ JNI_GetCreatedJavaVMs;
-+ JNI_GetDefaultJavaVMInitArgs;
- # _JVM
- _JVM_Accept
@@ -2434,6 +2443,13 @@
- _JVM_Write
- _JVM_Yield
- _JVM_handle_bsd_signal
++SUNWprivate_1.1 {
++ global:
++ # _JNI
++ JNI_CreateJavaVM;
++ JNI_GetCreatedJavaVMs;
++ JNI_GetDefaultJavaVMInitArgs;
++
+ # JVM
+ JVM_Accept;
+ JVM_ActiveProcessorCount;
@@ -2677,7 +2693,7 @@
+ *;
+};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/make/bsd/makefiles/mapfile-vers-product.macosx Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/mapfile-vers-product.macosx Fri Jun 17 22:08:33 2016 -0700
@@ -0,0 +1,261 @@
+#
+# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
@@ -2941,7 +2957,7 @@
+ # INSERT VTABLE SYMBOLS HERE
+
--- ./hotspot/make/bsd/makefiles/optimized.make Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/optimized.make Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/optimized.make Fri Jun 17 22:08:33 2016 -0700
@@ -38,6 +38,9 @@
# to inhibit the effect of the previous line on CFLAGS.
@@ -2954,59 +2970,8 @@
VERSION = optimized
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/make/bsd/makefiles/ppc64.make Mon May 09 17:15:53 2016 -0400
-@@ -0,0 +1,102 @@
-+#
-+# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
-+# Copyright 2012, 2013 SAP AG. All rights reserved.
-+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+#
-+# This code is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License version 2 only, as
-+# published by the Free Software Foundation.
-+#
-+# This code is distributed in the hope that it will be useful, but WITHOUT
-+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+# version 2 for more details (a copy is included in the LICENSE file that
-+# accompanied this code).
-+#
-+# You should have received a copy of the GNU General Public License version
-+# 2 along with this work; if not, write to the Free Software Foundation,
-+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+#
-+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+# or visit www.oracle.com if you need additional information or have any
-+# questions.
-+#
-+#
-+
-+# make c code know it is on a 64 bit platform.
-+CFLAGS += -D_LP64=1
-+
-+ifeq ($(origin OPENJDK_TARGET_CPU_ENDIAN),undefined)
-+ # This can happen during hotspot standalone build. Set endianness from
-+ # uname. We assume build and target machines are the same.
-+ OPENJDK_TARGET_CPU_ENDIAN:=$(if $(filter ppc64le,$(shell uname -m)),little,big)
-+endif
-+
-+ifeq ($(filter $(OPENJDK_TARGET_CPU_ENDIAN),big little),)
-+ $(error OPENJDK_TARGET_CPU_ENDIAN value should be 'big' or 'little')
-+endif
-+
-+ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big)
-+ # fixes `relocation truncated to fit' error for gcc 4.1.
-+ CFLAGS += -mminimal-toc
-+
-+ # finds use ppc64 instructions, but schedule for power5
-+ CFLAGS += -mcpu=powerpc64 -mtune=power5 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string
-+else
-+ # Little endian machine uses ELFv2 ABI.
-+ CFLAGS += -DVM_LITTLE_ENDIAN -DABI_ELFv2
-+
-+ # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI.
-+ CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string
-+endif
++++ ./hotspot/make/bsd/makefiles/ppc64.make Fri Jun 17 22:08:33 2016 -0700
+@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -3059,7 +3024,7 @@
+ CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string
+endif
--- ./hotspot/make/bsd/makefiles/product.make Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/product.make Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/product.make Fri Jun 17 22:08:33 2016 -0700
@@ -38,7 +38,10 @@
# to inhibit the effect of the previous line on CFLAGS.
@@ -3073,7 +3038,7 @@
SYSDEFS += -DPRODUCT
VERSION = optimized
--- ./hotspot/make/bsd/makefiles/rules.make Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/rules.make Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/rules.make Fri Jun 17 22:08:33 2016 -0700
@@ -34,7 +34,7 @@
CC_COMPILE = $(CC) $(CXXFLAGS) $(CFLAGS)
CXX_COMPILE = $(CXX) $(CXXFLAGS) $(CFLAGS)
@@ -3084,7 +3049,7 @@
COMPILE.CC = $(CC_COMPILE) -c
GENASM.CC = $(CC_COMPILE) -S
--- ./hotspot/make/bsd/makefiles/vm.make Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/make/bsd/makefiles/vm.make Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/make/bsd/makefiles/vm.make Fri Jun 17 22:08:33 2016 -0700
@@ -107,7 +107,7 @@
# File specific flags
CXXFLAGS += $(CXXFLAGS/BYFILE)
@@ -3095,25 +3060,8 @@
endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/make/bsd/platform_ppc64 Mon May 09 17:15:53 2016 -0400
-@@ -0,0 +1,34 @@
-+os_family = bsd
-+
-+arch = ppc
-+
-+arch_model = ppc_64
-+
-+os_arch = bsd_ppc
-+
-+os_arch_model = bsd_ppc_64
-+
-+lib_arch = ppc64
-+
-+compiler = gcc
-+
-+gnu_dis_arch = ppc64
-+
-+sysdefs = -DBSD -D_ALLBSD_SOURCE -D_GNU_SOURCE -DPPC64
++++ ./hotspot/make/bsd/platform_ppc64 Fri Jun 17 22:08:33 2016 -0700
+@@ -0,0 +1,17 @@
+os_family = bsd
+
+arch = ppc
@@ -3132,7 +3080,7 @@
+
+sysdefs = -DBSD -D_ALLBSD_SOURCE -D_GNU_SOURCE -DPPC64
--- ./hotspot/src/cpu/ppc/vm/bytes_ppc.hpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/cpu/ppc/vm/bytes_ppc.hpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/cpu/ppc/vm/bytes_ppc.hpp Fri Jun 17 22:08:33 2016 -0700
@@ -277,5 +277,9 @@
#if defined(TARGET_OS_ARCH_linux_ppc)
#include "bytes_linux_ppc.inline.hpp"
@@ -3144,7 +3092,7 @@
#endif // CPU_PPC_VM_BYTES_PPC_HPP
--- ./hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -307,6 +307,8 @@
// Although AIX runs on big endian CPU, float is in most significant
// word of an argument slot.
@@ -3154,8 +3102,19 @@
#else
#error "unknown OS"
#endif
+--- ./hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp Fri Jun 17 22:08:33 2016 -0700
+@@ -778,6 +778,8 @@
+ // Although AIX runs on big endian CPU, float is in the most
+ // significant word of an argument slot.
+ #define FLOAT_WORD_OFFSET_IN_SLOT 0
++#elif defined(BSD)
++#define FLOAT_WORD_OFFSET_IN_SLOT 1
+ #else
+ #error "unknown OS"
+ #endif
--- ./hotspot/src/cpu/x86/vm/jni_x86.h Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/cpu/x86/vm/jni_x86.h Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/cpu/x86/vm/jni_x86.h Fri Jun 17 22:08:33 2016 -0700
@@ -34,7 +34,7 @@
#ifndef __has_attribute
#define __has_attribute(x) 0
@@ -3166,7 +3125,7 @@
#define JNIIMPORT __attribute__((visibility("default")))
#else
--- ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -2266,7 +2266,7 @@
if (!is_critical_native) {
// reset handle block
@@ -3177,7 +3136,7 @@
// Any exception pending?
__ cmpptr(Address(thread, in_bytes(Thread::pending_exception_offset())), (int32_t)NULL_WORD);
--- ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -1293,7 +1293,7 @@
// reset handle block
@@ -3188,7 +3147,7 @@
// If result was an oop then unbox and save it in the frame
{ Label L;
--- ./hotspot/src/cpu/x86/vm/x86_32.ad Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/cpu/x86/vm/x86_32.ad Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/cpu/x86/vm/x86_32.ad Fri Jun 17 22:08:33 2016 -0700
@@ -1250,6 +1250,7 @@
@@ -3198,7 +3157,7 @@
#ifndef PRODUCT
--- ./hotspot/src/os/aix/vm/os_aix.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/aix/vm/os_aix.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/aix/vm/os_aix.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -5236,6 +5236,10 @@
return 0;
}
@@ -3211,7 +3170,7 @@
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/src/os/bsd/vm/decoder_bsd.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/bsd/vm/decoder_bsd.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -3267,7 +3226,7 @@
+}
+#endif
--- ./hotspot/src/os/bsd/vm/jsig.c Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/bsd/vm/jsig.c Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/bsd/vm/jsig.c Fri Jun 17 22:08:33 2016 -0700
@@ -165,9 +165,8 @@
}
@@ -3281,7 +3240,7 @@
static int call_os_sigaction(int sig, const struct sigaction *act,
struct sigaction *oact) {
--- ./hotspot/src/os/bsd/vm/jvm_bsd.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/bsd/vm/jvm_bsd.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/bsd/vm/jvm_bsd.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -50,6 +50,7 @@
case INTERRUPT_SIGNAL:
case SIGFPE:
@@ -3392,7 +3351,7 @@
+ return true;
}
--- ./hotspot/src/os/bsd/vm/jvm_bsd.h Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/bsd/vm/jvm_bsd.h Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/bsd/vm/jvm_bsd.h Fri Jun 17 22:08:33 2016 -0700
@@ -112,20 +112,6 @@
#define SHUTDOWN2_SIGNAL SIGINT
#define SHUTDOWN3_SIGNAL SIGTERM
@@ -3415,7 +3374,7 @@
#endif // OS_BSD_VM_JVM_BSD_H
--- ./hotspot/src/os/bsd/vm/osThread_bsd.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/bsd/vm/osThread_bsd.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/bsd/vm/osThread_bsd.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -30,7 +30,7 @@
void OSThread::pd_initialize() {
@@ -3426,7 +3385,7 @@
#else
_thread_id = NULL;
--- ./hotspot/src/os/bsd/vm/os_bsd.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/bsd/vm/os_bsd.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/bsd/vm/os_bsd.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -97,16 +97,31 @@
# include <sys/shm.h>
#ifndef __APPLE__
@@ -3989,7 +3948,7 @@
#ifndef PRODUCT
--- ./hotspot/src/os/bsd/vm/os_bsd.hpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/bsd/vm/os_bsd.hpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/bsd/vm/os_bsd.hpp Fri Jun 17 22:08:33 2016 -0700
@@ -58,12 +58,16 @@
// For signal flags diagnostics
static int sigflags[MAXSIGNUM];
@@ -4018,7 +3977,7 @@
static void set_page_size(int val) { _page_size = val; }
--- ./hotspot/src/os/bsd/vm/vmError_bsd.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/bsd/vm/vmError_bsd.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/bsd/vm/vmError_bsd.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -33,30 +33,50 @@
#include <sys/syscall.h>
#include <unistd.h>
@@ -4081,7 +4040,7 @@
yes = false;
}
--- ./hotspot/src/os/linux/vm/os_linux.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/linux/vm/os_linux.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/linux/vm/os_linux.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -6048,6 +6048,10 @@
return 0;
}
@@ -4094,7 +4053,7 @@
}
--- ./hotspot/src/os/posix/vm/os_posix.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/posix/vm/os_posix.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/posix/vm/os_posix.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -53,12 +53,11 @@
n = get_core_path(buffer, bufferSize);
@@ -4158,7 +4117,7 @@
#ifdef SI_TKILL
{ SI_TKILL, "SI_TKILL", "Signal sent by tkill (pthread_kill)" },
--- ./hotspot/src/os/solaris/vm/os_solaris.cpp Tue Mar 22 11:05:52 2016 -0700
-+++ ./hotspot/src/os/solaris/vm/os_solaris.cpp Mon May 09 17:15:53 2016 -0400
++++ ./hotspot/src/os/solaris/vm/os_solaris.cpp Fri Jun 17 22:08:33 2016 -0700
@@ -6375,6 +6375,10 @@
return 0;
}
@@ -4171,8 +4130,8 @@
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/src/os_cpu/bsd_ppc/vm/atomic_bsd_ppc.inline.hpp Mon May 09 17:15:53 2016 -0400
-@@ -0,0 +1,800 @@
++++ ./hotspot/src/os_cpu/bsd_ppc/vm/atomic_bsd_ppc.inline.hpp Fri Jun 17 22:08:33 2016 -0700
+@@ -0,0 +1,400 @@
+/*
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -4573,6 +4532,108 @@
+#undef strasm_nobarrier_clobber_memory
+
+#endif // OS_CPU_BSD_PPC_VM_ATOMIC_BSD_PPC_INLINE_HPP
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ ./hotspot/src/os_cpu/bsd_ppc/vm/bytes_bsd_ppc.inline.hpp Fri Jun 17 22:08:33 2016 -0700
+@@ -0,0 +1,39 @@
++/*
++ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
++ * Copyright 2014 Google Inc. All rights reserved.
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ *
++ * This code is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 only, as
++ * published by the Free Software Foundation.
++ *
++ * This code is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++ * or visit www.oracle.com if you need additional information or have any
++ * questions.
++ *
++ */
++
++#ifndef OS_CPU_BSD_PPC_VM_BYTES_BSD_PPC_INLINE_HPP
++#define OS_CPU_BSD_PPC_VM_BYTES_BSD_PPC_INLINE_HPP
++
++#if defined(VM_LITTLE_ENDIAN)
++#include <byteswap.h>
++
++// Efficient swapping of data bytes from Java byte
++// ordering to native byte ordering and vice versa.
++inline u2 Bytes::swap_u2(u2 x) { return bswap_16(x); }
++inline u4 Bytes::swap_u4(u4 x) { return bswap_32(x); }
++inline u8 Bytes::swap_u8(u8 x) { return bswap_64(x); }
++#endif // VM_LITTLE_ENDIAN
++
++#endif // OS_CPU_BSD_PPC_VM_BYTES_BSD_PPC_INLINE_HPP
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ ./hotspot/src/os_cpu/bsd_ppc/vm/globals_bsd_ppc.hpp Fri Jun 17 22:08:33 2016 -0700
+@@ -0,0 +1,54 @@
++/*
++ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
++ * Copyright 2012, 2013 SAP AG. All rights reserved.
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ *
++ * This code is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 only, as
++ * published by the Free Software Foundation.
++ *
++ * This code is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++ * or visit www.oracle.com if you need additional information or have any
++ * questions.
++ *
++ */
++
++#ifndef OS_CPU_BSD_PPC_VM_GLOBALS_BSD_PPC_HPP
++#define OS_CPU_BSD_PPC_VM_GLOBALS_BSD_PPC_HPP
++
++// Sets the default values for platform dependent flags used by the runtime system.
++// (see globals.hpp)
++
++define_pd_global(bool, DontYieldALot, false);
++define_pd_global(intx, ThreadStackSize, 2048); // 0 => use system default
++define_pd_global(intx, VMThreadStackSize, 2048);
++
++// if we set CompilerThreadStackSize to a value different than 0, it will
++// be used in os::create_thread(). Otherwise, due the strange logic in os::create_thread(),
++// the stack size for compiler threads will default to VMThreadStackSize, although it
++// is defined to 4M in os::Bsd::default_stack_size()!
++define_pd_global(intx, CompilerThreadStackSize, 4096);
++
++// Allow extra space in DEBUG builds for asserts.
++define_pd_global(uintx,JVMInvokeMethodSlack, 8192);
++
++define_pd_global(intx, StackYellowPages, 6);
++define_pd_global(intx, StackRedPages, 1);
++define_pd_global(intx, StackShadowPages, 6 DEBUG_ONLY(+2));
++
++// Only used on 64 bit platforms
++define_pd_global(uintx,HeapBaseMinAddress, 2*G);
++// Only used on 64 bit Windows platforms
++define_pd_global(bool, UseVectoredExceptions, false);
++
++#endif // OS_CPU_BSD_PPC_VM_GLOBALS_BSD_PPC_HPP
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ ./hotspot/src/os_cpu/bsd_ppc/vm/orderAccess_bsd_ppc.inline.hpp Fri Jun 17 22:08:33 2016 -0700
+@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2012, 2013 SAP AG. All rights reserved.
@@ -4598,1543 +4659,133 @@
+ *
+ */
+
-+#ifndef OS_CPU_BSD_PPC_VM_ATOMIC_BSD_PPC_INLINE_HPP
-+#define OS_CPU_BSD_PPC_VM_ATOMIC_BSD_PPC_INLINE_HPP
++#ifndef OS_CPU_BSD_PPC_VM_ORDERACCESS_BSD_PPC_INLINE_HPP
++#define OS_CPU_BSD_PPC_VM_ORDERACCESS_BSD_PPC_INLINE_HPP
+
-+#include "runtime/atomic.hpp"
-+#include "runtime/os.hpp"
++#include "runtime/orderAccess.hpp"
+#include "vm_version_ppc.hpp"
+
+#ifndef PPC64
-+#error "Atomic currently only implemented for PPC64"
++#error "OrderAccess currently only implemented for PPC64"
+#endif
+
-+// Implementation of class atomic
-+
-+inline void Atomic::store (jbyte store_value, jbyte* dest) { *dest = store_value; }
-+inline void Atomic::store (jshort store_value, jshort* dest) { *dest = store_value; }
-+inline void Atomic::store (jint store_value, jint* dest) { *dest = store_value; }
-+inline void Atomic::store (jlong store_value, jlong* dest) { *dest = store_value; }
-+inline void Atomic::store_ptr(intptr_t store_value, intptr_t* dest) { *dest = store_value; }
-+inline void Atomic::store_ptr(void* store_value, void* dest) { *(void**)dest = store_value; }
-+
-+inline void Atomic::store (jbyte store_value, volatile jbyte* dest) { *dest = store_value; }
-+inline void Atomic::store (jshort store_value, volatile jshort* dest) { *dest = store_value; }
-+inline void Atomic::store (jint store_value, volatile jint* dest) { *dest = store_value; }
-+inline void Atomic::store (jlong store_value, volatile jlong* dest) { *dest = store_value; }
-+inline void Atomic::store_ptr(intptr_t store_value, volatile intptr_t* dest) { *dest = store_value; }
-+inline void Atomic::store_ptr(void* store_value, volatile void* dest) { *(void* volatile *)dest = store_value; }
-+
-+inline jlong Atomic::load(volatile jlong* src) { return *src; }
++// Implementation of class OrderAccess.
+
+//
-+// machine barrier instructions:
++// Machine barrier instructions:
+//
-+// - sync two-way memory barrier, aka fence
++// - sync Two-way memory barrier, aka fence.
+// - lwsync orders Store|Store,
+// Load|Store,
+// Load|Load,
+// but not Store|Load
-+// - eieio orders memory accesses for device memory (only)
-+// - isync invalidates speculatively executed instructions
-+// From the POWER ISA 2.06 documentation:
-+// "[...] an isync instruction prevents the execution of
-+// instructions following the isync until instructions
-+// preceding the isync have completed, [...]"
-+// From IBM's AIX assembler reference:
-+// "The isync [...] instructions causes the processor to
-+// refetch any instructions that might have been fetched
-+// prior to the isync instruction. The instruction isync
-+// causes the processor to wait for all previous instructions
-+// to complete. Then any instructions already fetched are
-+// discarded and instruction processing continues in the
-+// environment established by the previous instructions."
-+//
-+// semantic barrier instructions:
-+// (as defined in orderAccess.hpp)
-+//
-+// - release orders Store|Store, (maps to lwsync)
-+// Load|Store
-+// - acquire orders Load|Store, (maps to lwsync)
-+// Load|Load
-+// - fence orders Store|Store, (maps to sync)
-+// Load|Store,
-+// Load|Load,
-+// Store|Load
-+//
-+
-+#define strasm_sync "\n sync \n"
-+#define strasm_lwsync "\n lwsync \n"
-+#define strasm_isync "\n isync \n"
-+#define strasm_release strasm_lwsync
-+#define strasm_acquire strasm_lwsync
-+#define strasm_fence strasm_sync
-+#define strasm_nobarrier ""
-+#define strasm_nobarrier_clobber_memory ""
-+
-+inline jint Atomic::add (jint add_value, volatile jint* dest) {
-+
-+ unsigned int result;
-+
-+ __asm__ __volatile__ (
-+ strasm_lwsync
-+ "1: lwarx %0, 0, %2 \n"
-+ " add %0, %0, %1 \n"
-+ " stwcx. %0, 0, %2 \n"
-+ " bne- 1b \n"
-+ strasm_isync
-+ : /*%0*/"=&r" (result)
-+ : /*%1*/"r" (add_value), /*%2*/"r" (dest)
-+ : "cc", "memory" );
-+
-+ return (jint) result;
-+}
-+
-+
-+inline intptr_t Atomic::add_ptr(intptr_t add_value, volatile intptr_t* dest) {
-+
-+ long result;
-+
-+ __asm__ __volatile__ (
-+ strasm_lwsync
-+ "1: ldarx %0, 0, %2 \n"
-+ " add %0, %0, %1 \n"
-+ " stdcx. %0, 0, %2 \n"
-+ " bne- 1b \n"
-+ strasm_isync
-+ : /*%0*/"=&r" (result)
-+ : /*%1*/"r" (add_value), /*%2*/"r" (dest)
-+ : "cc", "memory" );
-+
-+ return (intptr_t) result;
-+}
-+
-+inline void* Atomic::add_ptr(intptr_t add_value, volatile void* dest) {
-+ return (void*)add_ptr(add_value, (volatile intptr_t*)dest);
-+}
-+
-+
-+inline void Atomic::inc (volatile jint* dest) {
-+
-+ unsigned int temp;
-+
-+ __asm__ __volatile__ (
-+ strasm_nobarrier
-+ "1: lwarx %0, 0, %2 \n"
-+ " addic %0, %0, 1 \n"
-+ " stwcx. %0, 0, %2 \n"
-+ " bne- 1b \n"
-+ strasm_nobarrier
-+ : /*%0*/"=&r" (temp), "=m" (*dest)
-+ : /*%2*/"r" (dest), "m" (*dest)
-+ : "cc" strasm_nobarrier_clobber_memory);
-+
-+}
-+
-+inline void Atomic::inc_ptr(volatile intptr_t* dest) {
-+
-+ long temp;
-+
-+ __asm__ __volatile__ (
-+ strasm_nobarrier
-+ "1: ldarx %0, 0, %2 \n"
-+ " addic %0, %0, 1 \n"
-+ " stdcx. %0, 0, %2 \n"
-+ " bne- 1b \n"
-+ strasm_nobarrier
-+ : /*%0*/"=&r" (temp), "=m" (*dest)
-+ : /*%2*/"r" (dest), "m" (*dest)
-+ : "cc" strasm_nobarrier_clobber_memory);
-+
-+}
-+
-+inline void Atomic::inc_ptr(volatile void* dest) {
-+ inc_ptr((volatile intptr_t*)dest);
-+}
-+
-+
-+inline void Atomic::dec (volatile jint* dest) {
-+
-+ unsigned int temp;
-+
-+ __asm__ __volatile__ (
-+ strasm_nobarrier
-+ "1: lwarx %0, 0, %2 \n"
-+ " addic %0, %0, -1 \n"
-+ " stwcx. %0, 0, %2 \n"
-+ " bne- 1b \n"
-+ strasm_nobarrier
-+ : /*%0*/"=&r" (temp), "=m" (*dest)
-+ : /*%2*/"r" (dest), "m" (*dest)
-+ : "cc" strasm_nobarrier_clobber_memory);
-+
-+}
-+
-+inline void Atomic::dec_ptr(volatile intptr_t* dest) {
-+
-+ long temp;
-+
-+ __asm__ __volatile__ (
-+ strasm_nobarrier
-+ "1: ldarx %0, 0, %2 \n"
-+ " addic %0, %0, -1 \n"
-+ " stdcx. %0, 0, %2 \n"
-+ " bne- 1b \n"
-+ strasm_nobarrier
-+ : /*%0*/"=&r" (temp), "=m" (*dest)
-+ : /*%2*/"r" (dest), "m" (*dest)
-+ : "cc" strasm_nobarrier_clobber_memory);
-+
-+}
-+
-+inline void Atomic::dec_ptr(volatile void* dest) {
-+ dec_ptr((volatile intptr_t*)dest);
-+}
-+
-+inline jint Atomic::xchg(jint exchange_value, volatile jint* dest) {
-+
-+ // Note that xchg_ptr doesn't necessarily do an acquire
-+ // (see synchronizer.cpp).
-+
-+ unsigned int old_value;
-+ const uint64_t zero = 0;
-+
-+ __asm__ __volatile__ (
-+ /* lwsync */
-+ strasm_lwsync
-+ /* atomic loop */
-+ "1: \n"
-+ " lwarx %[old_value], %[dest], %[zero] \n"
-+ " stwcx. %[exchange_value], %[dest], %[zero] \n"
-+ " bne- 1b \n"
-+ /* isync */
-+ strasm_sync
-+ /* exit */
-+ "2: \n"
-+ /* out */
-+ : [old_value] "=&r" (old_value),
-+ "=m" (*dest)
-+ /* in */
-+ : [dest] "b" (dest),
-+ [zero] "r" (zero),
-+ [exchange_value] "r" (exchange_value),
-+ "m" (*dest)
-+ /* clobber */
-+ : "cc",
-+ "memory"
-+ );
-+
-+ return (jint) old_value;
-+}
-+
-+inline intptr_t Atomic::xchg_ptr(intptr_t exchange_value, volatile intptr_t* dest) {
-+
-+ // Note that xchg_ptr doesn't necessarily do an acquire
-+ // (see synchronizer.cpp).
-+
-+ long old_value;
-+ const uint64_t zero = 0;
-+
-+ __asm__ __volatile__ (
-+ /* lwsync */
-+ strasm_lwsync
-+ /* atomic loop */
-+ "1: \n"
-+ " ldarx %[old_value], %[dest], %[zero] \n"
-+ " stdcx. %[exchange_value], %[dest], %[zero] \n"
-+ " bne- 1b \n"
-+ /* isync */
-+ strasm_sync
-+ /* exit */
-+ "2: \n"
-+ /* out */
-+ : [old_value] "=&r" (old_value),
-+ "=m" (*dest)
-+ /* in */
-+ : [dest] "b" (dest),
-+ [zero] "r" (zero),
-+ [exchange_value] "r" (exchange_value),
-+ "m" (*dest)
-+ /* clobber */
-+ : "cc",
-+ "memory"
-+ );
-+
-+ return (intptr_t) old_value;
-+}
-+
-+inline void* Atomic::xchg_ptr(void* exchange_value, volatile void* dest) {
-+ return (void*)xchg_ptr((intptr_t)exchange_value, (volatile intptr_t*)dest);
-+}
-+
-+inline jint Atomic::cmpxchg(jint exchange_value, volatile jint* dest, jint compare_value) {
-+
-+ // Note that cmpxchg guarantees a two-way memory barrier across
-+ // the cmpxchg, so it's really a a 'fence_cmpxchg_acquire'
-+ // (see atomic.hpp).
-+
-+ unsigned int old_value;
-+ const uint64_t zero = 0;
-+
-+ __asm__ __volatile__ (
-+ /* fence */
-+ strasm_sync
-+ /* simple guard */
-+ " lwz %[old_value], 0(%[dest]) \n"
-+ " cmpw %[compare_value], %[old_value] \n"
-+ " bne- 2f \n"
-+ /* atomic loop */
-+ "1: \n"
-+ " lwarx %[old_value], %[dest], %[zero] \n"
-+ " cmpw %[compare_value], %[old_value] \n"
-+ " bne- 2f \n"
-+ " stwcx. %[exchange_value], %[dest], %[zero] \n"
-+ " bne- 1b \n"
-+ /* acquire */
-+ strasm_sync
-+ /* exit */
-+ "2: \n"
-+ /* out */
-+ : [old_value] "=&r" (old_value),
-+ "=m" (*dest)
-+ /* in */
-+ : [dest] "b" (dest),
-+ [zero] "r" (zero),
-+ [compare_value] "r" (compare_value),
-+ [exchange_value] "r" (exchange_value),
-+ "m" (*dest)
-+ /* clobber */
-+ : "cc",
-+ "memory"
-+ );
-+
-+ return (jint) old_value;
-+}
-+
-+inline jlong Atomic::cmpxchg(jlong exchange_value, volatile jlong* dest, jlong compare_value) {
-+
-+ // Note that cmpxchg guarantees a two-way memory barrier across
-+ // the cmpxchg, so it's really a a 'fence_cmpxchg_acquire'
-+ // (see atomic.hpp).
-+
-+ long old_value;
-+ const uint64_t zero = 0;
-+
-+ __asm__ __volatile__ (
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-ports-head
mailing list