# HG changeset patch # User ctornqvi # Date 1476793564 0 # Node ID 07042d1b3876e0bd84ecc969ad19ee26d1ef6415 # Parent d2a206359a7b4e8681137d35e909cc461078deda# Parent cfcaf7b4d7ac78f7e7cf39474499a2c462449473 Merge diff -r d2a206359a7b -r 07042d1b3876 hotspot/src/os/windows/vm/perfMemory_windows.cpp --- a/hotspot/src/os/windows/vm/perfMemory_windows.cpp Tue Oct 18 13:24:02 2016 +0200 +++ b/hotspot/src/os/windows/vm/perfMemory_windows.cpp Tue Oct 18 12:26:04 2016 +0000 @@ -1404,12 +1404,14 @@ objectname); /* name for object */ if (fmh == NULL) { + DWORD lasterror = GetLastError(); if (PrintMiscellaneous && Verbose) { warning("OpenFileMapping failed for shared memory object %s:" - " lasterror = %d\n", objectname, GetLastError()); + " lasterror = %d\n", objectname, lasterror); } - THROW_MSG_(vmSymbols::java_lang_Exception(), - "Could not open PerfMemory", INVALID_HANDLE_VALUE); + THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(), + err_msg("Could not open PerfMemory, error %d", lasterror), + INVALID_HANDLE_VALUE); } return fmh;; diff -r d2a206359a7b -r 07042d1b3876 hotspot/test/Makefile --- a/hotspot/test/Makefile Tue Oct 18 13:24:02 2016 +0200 +++ b/hotspot/test/Makefile Tue Oct 18 12:26:04 2016 +0000 @@ -66,6 +66,7 @@ ifeq ($(ARCH), i386) ARCH=i586 endif + NUM_CORES := $(shell LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line) endif ifeq ($(UNAME_S), Linux) PLATFORM = linux @@ -74,6 +75,7 @@ ifeq ($(ARCH), i386) ARCH = i586 endif + NUM_CORES := $(shell cat /proc/cpuinfo | grep -c processor) endif ifeq ($(UNAME_S), Darwin) PLATFORM = bsd @@ -82,6 +84,7 @@ ifeq ($(ARCH), i386) ARCH = i586 endif + NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu) endif ifeq ($(findstring BSD,$(UNAME_S)), BSD) PLATFORM = bsd @@ -115,6 +118,13 @@ endif endif EXESUFFIX = .exe + ifneq ($(NUMBER_OF_PROCESSORS), ) + NUM_CORES := $(NUMBER_OF_PROCESSORS) + else + ifneq ($(HOTSPOT_BUILD_JOBS), ) + NUM_CORES := $(HOTSPOT_BUILD_JOBS) + endif + endif endif ifdef ALT_SLASH_JAVA @@ -308,9 +318,22 @@ TEST_SELECTION = $(TESTDIRS) endif -ifdef CONCURRENCY - JTREG_BASIC_OPTIONS += -concurrency:$(CONCURRENCY) +# Concurrency based on min(cores / 2, 12) +ifdef NUM_CORES + CONCURRENCY := $(shell expr $(NUM_CORES) / 2) + ifeq ($(CONCURRENCY), 0) + CONCURRENCY := 1 + else ifeq ($(shell expr $(CONCURRENCY) \> 12), 1) + CONCURRENCY := 12 + endif +else + CONCURRENCY := 1 endif +JTREG_BASIC_OPTIONS += -concurrency:$(CONCURRENCY) + +# Make sure MaxRAMFraction is high enough to not cause OOM or swapping since we may end up with a lot of JVM's +JTREG_BASIC_OPTIONS += -vmoption:-XX:MaxRAMFraction=$(shell expr $(CONCURRENCY) \* 4) + ifdef EXTRA_JTREG_OPTIONS JTREG_BASIC_OPTIONS += $(EXTRA_JTREG_OPTIONS) endif