--- a/.hgtags Tue Jan 22 09:24:58 2019 -0500
+++ b/.hgtags Tue Jan 22 09:43:38 2019 -0500
@@ -533,3 +533,7 @@
50677f43ac3df9a8684222b8893543c60f3aa0bd jdk-13+2
de9fd809bb475401aad188eab2264226788aad81 jdk-12+26
642346a11059b9f283110dc301a24ed43b76a94e jdk-13+3
+f15d443f97318e9b40e6f451e327ff69ed4ec361 jdk-12+27
+a47b8125b7cc9ef59619745c163975fe935b57ed jdk-13+4
+659b004b6a1bd8c31e766cbdf328d8f8473fd4d7 jdk-12+28
+
--- a/make/Main.gmk Tue Jan 22 09:24:58 2019 -0500
+++ b/make/Main.gmk Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -484,18 +484,27 @@
exploded-test-$1:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test \
TEST="$1" JDK_IMAGE_DIR=$(JDK_OUTPUTDIR))
-
endef
# ALL_NAMED_TESTS is defined in FindTests.gmk
$(foreach t, $(ALL_NAMED_TESTS), $(eval $(call DeclareRunTestRecipe,$t)))
ALL_TEST_TARGETS := $(addprefix test-, $(ALL_NAMED_TESTS))
+define DeclareRunJCovTestRecipe
+ jcov-test-$1:
+ +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
+ TEST="$1" TEST_OPTS_JCOV=true)
+endef
+
+# jcov-test only makes sense for some of the tests
+$(foreach t, $(JCOV_NAMED_TESTS), $(eval $(call DeclareRunJCovTestRecipe,$t)))
+ALL_JCOV_TEST_TARGETS := $(addprefix jcov-test-, $(JCOV_NAMED_TESTS))
+
# We only support the "exploded-test-gtest" shortcut
ALL_EXPLODED_TESTS := gtest
ALL_EXPLODED_TEST_TARGETS := $(addprefix exploded-test-, $(ALL_EXPLODED_TESTS))
-ALL_TARGETS += $(ALL_TEST_TARGETS) $(ALL_EXPLODED_TEST_TARGETS)
+ALL_TARGETS += $(ALL_TEST_TARGETS) $(ALL_EXPLODED_TEST_TARGETS) $(ALL_JCOV_TEST_TARGETS)
################################################################################
# Build tests and microbenchmarks
@@ -568,7 +577,11 @@
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test \
TEST="$(TEST)" JDK_IMAGE_DIR=$(JDK_OUTPUTDIR))
-ALL_TARGETS += test exploded-test
+jcov-test:
+ +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
+ TEST="$(TEST)" TEST_OPTS_JCOV=true)
+
+ALL_TARGETS += test exploded-test jcov-test
################################################################################
# Bundles
@@ -869,6 +882,8 @@
exploded-test: exploded-image test-image
+ jcov-test: jcov-image test-image
+
test-make: clean-test-make compile-commands
test-make-compile-commands: compile-commands
@@ -876,6 +891,7 @@
# Declare dependency for all generated test targets
$(foreach t, $(filter-out test-make%, $(ALL_TEST_TARGETS)), $(eval $t: jdk-image test-image))
$(foreach t, $(ALL_EXPLODED_TEST_TARGETS), $(eval $t: exploded-image test-image))
+ $(ALL_JCOV_TEST_TARGETS): jcov-image test-image
create-buildjdk-copy: jdk.jlink-java java.base-gendata \
$(addsuffix -java, $(INTERIM_IMAGE_MODULES))
--- a/make/RunTests.gmk Tue Jan 22 09:24:58 2019 -0500
+++ b/make/RunTests.gmk Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -45,7 +45,7 @@
endif
$(eval $(call ParseKeywordVariable, TEST_OPTS, \
- SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR AOT_MODULES, \
+ SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR AOT_MODULES JCOV, \
STRING_KEYWORDS := VM_OPTIONS JAVA_OPTIONS, \
))
@@ -595,9 +595,7 @@
$$(eval $1_TOTAL := 1) \
)
- $1: run-test-$1 parse-test-$1
-
- TARGETS += $1
+ TARGETS += run-test-$1 parse-test-$1
endef
################################################################################
@@ -702,9 +700,7 @@
$$(eval $1_TOTAL := 1) \
)
- $1: run-test-$1 parse-test-$1
-
- TARGETS += $1
+ TARGETS += run-test-$1 parse-test-$1
endef
################################################################################
@@ -879,6 +875,7 @@
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, \
+ $$(JCOV_ENVIRONMENT) \
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
$$($1_JTREG_BASIC_OPTIONS) \
@@ -888,6 +885,7 @@
-workDir:$$($1_TEST_SUPPORT_DIR) \
$$(JTREG_OPTIONS) \
$$(JTREG_FAILURE_HANDLER_OPTIONS) \
+ $$(JTREG_JCOV_OPTIONS) \
$$($1_TEST_NAME) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
@@ -921,9 +919,7 @@
$$(eval $1_TOTAL := 1) \
)
- $1: run-test-$1 parse-test-$1
-
- TARGETS += $1
+ TARGETS += run-test-$1 parse-test-$1
endef
################################################################################
@@ -985,9 +981,7 @@
$$(eval $1_ERROR := 0)
$$(eval $1_TOTAL := 0)
- $1: run-test-$1 parse-test-$1
-
- TARGETS += $1
+ TARGETS += run-test-$1 parse-test-$1
endef
################################################################################
@@ -1099,6 +1093,55 @@
$(ECHO)
################################################################################
+# Setup JCov
+################################################################################
+
+ifeq ($(TEST_OPTS_JCOV), true)
+
+ JCOV_OUTPUT_DIR := $(TEST_RESULTS_DIR)/jcov-output
+ JCOV_GRABBER_LOG := $(JCOV_OUTPUT_DIR)/grabber.log
+ JCOV_RESULT_FILE := $(JCOV_OUTPUT_DIR)/result.xml
+ JCOV_REPORT := $(JCOV_OUTPUT_DIR)/report
+ JCOV_MEM_OPTIONS := -Xms64m -Xmx4g
+
+ ifneq ($(JCOV_IMAGE_DIR), )
+ JDK_IMAGE_DIR := $(JCOV_IMAGE_DIR)
+ endif
+
+ JCOV_ENVIRONMENT := JAVA_TOOL_OPTIONS="$(JCOV_MEM_OPTIONS)" \
+ _JAVA_OPTIONS="$(JCOV_MEM_OPTIONS)"
+ JTREG_JCOV_OPTIONS := -e:JAVA_TOOL_OPTIONS='$(JCOV_MEM_OPTIONS)' \
+ -e:_JAVA_OPTIONS='$(JCOV_MEM_OPTIONS)'
+
+ jcov-do-start-grabber:
+ $(call MakeDir, $(JCOV_OUTPUT_DIR))
+ if $(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -status 1>/dev/null 2>&1 ; then \
+ $(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -stop -stoptimeout 3600 ; \
+ fi
+ $(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar Grabber -v -t \
+ $(JCOV_IMAGE_DIR)/template.xml -o $(JCOV_RESULT_FILE) \
+ 1>$(JCOV_GRABBER_LOG) 2>&1 &
+
+ jcov-start-grabber: jcov-do-start-grabber
+ $(call LogWarn, Starting JCov Grabber...)
+ $(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -t 600 -wait
+
+ jcov-stop-grabber:
+ $(call LogWarn, Stopping JCov Grabber...)
+ $(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -stop -stoptimeout 3600
+
+ jcov-gen-report: run-test jcov-stop-grabber
+ $(call LogWarn, Generating JCov report ...)
+ $(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar RepGen -sourcepath \
+ `$(ECHO) $(TOPDIR)/src/*/share/classes/ | $(TR) ' ' ':'` -fmt html \
+ -o $(JCOV_REPORT) $(JCOV_RESULT_FILE)
+
+ $(TARGETS): jcov-start-grabber
+ all: jcov-gen-report
+
+endif
+
+################################################################################
all: run-test
--- a/make/autoconf/flags-cflags.m4 Tue Jan 22 09:24:58 2019 -0500
+++ b/make/autoconf/flags-cflags.m4 Tue Jan 22 09:43:38 2019 -0500
@@ -527,8 +527,8 @@
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
- TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fcheck-new"
- TOOLCHAIN_CFLAGS_JDK="-pipe"
+ TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fcheck-new -fstack-protector"
+ TOOLCHAIN_CFLAGS_JDK="-pipe -fstack-protector"
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX (but since this gives *worse* performance, use no-strict-aliasing everywhere!)
CXXSTD_CXXFLAG="-std=gnu++98"
@@ -572,10 +572,10 @@
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
# Suggested additions: -qsrcmsg to get improved error reporting
- TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt" # add on both CFLAGS
+ TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt -qstackprotect" # add on both CFLAGS
TOOLCHAIN_CFLAGS_JVM="-qtune=balanced \
-qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
- -qlanglvl=noredefmac -qnortti -qnoeh -qignerrno"
+ -qlanglvl=noredefmac -qnortti -qnoeh -qignerrno -qstackprotect"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -MP"
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:wchar_t-"
--- a/make/common/FindTests.gmk Tue Jan 22 09:24:58 2019 -0500
+++ b/make/common/FindTests.gmk Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -68,6 +68,7 @@
# Add Jtreg test groups to list of named tests (test groups, test list, etc)
# ALL_NAMED_TESTS might have been set by a custom extension
ALL_NAMED_TESTS += $(JTREG_TEST_GROUPS)
+JCOV_NAMED_TESTS += $(JTREG_TEST_GROUPS)
# Add Gtest
ALL_NAMED_TESTS += gtest
--- a/make/lib/Lib-java.base.gmk Tue Jan 22 09:24:58 2019 -0500
+++ b/make/lib/Lib-java.base.gmk Tue Jan 22 09:43:38 2019 -0500
@@ -56,7 +56,7 @@
LIBS_solaris := -lnsl -lsocket $(LIBDL), \
LIBS_aix := $(LIBDL),\
LIBS_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib winhttp.lib \
- delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
+ urlmon.lib delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
LIBS_macosx := -framework CoreFoundation -framework CoreServices, \
))
--- a/make/lib/Lib-jdk.hotspot.agent.gmk Tue Jan 22 09:24:58 2019 -0500
+++ b/make/lib/Lib-jdk.hotspot.agent.gmk Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -66,7 +66,7 @@
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_CFLAGS) $(SA_CXXFLAGS), \
EXTRA_SRC := $(LIBSA_EXTRA_SRC), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(SA_LDFLAGS), \
- LIBS_linux := -lthread_db $(LIBDL), \
+ LIBS_linux := $(LIBDL), \
LIBS_solaris := -ldl -ldemangle -lthread -lproc, \
LIBS_macosx := -framework Foundation -framework JavaNativeFoundation \
-framework JavaRuntimeSupport -framework Security -framework CoreFoundation, \
--- a/src/hotspot/cpu/aarch64/aarch64.ad Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/aarch64.ad Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,6 @@
//
-// Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
-// Copyright (c) 2014, 2018, Red Hat, Inc. All rights reserved.
+// Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
+// Copyright (c) 2014, 2019, Red Hat, 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
@@ -3418,13 +3418,7 @@
}
// Handle existing monitor
- // we can use AArch64's bit test and branch here but
- // markoopDesc does not define a bit index just the bit value
- // so assert in case the bit pos changes
-# define __monitor_value_log2 1
- assert(markOopDesc::monitor_value == (1 << __monitor_value_log2), "incorrect bit position");
- __ tbnz(disp_hdr, __monitor_value_log2, object_has_monitor);
-# undef __monitor_value_log2
+ __ tbnz(disp_hdr, exact_log2(markOopDesc::monitor_value), object_has_monitor);
// Set displaced_header to be (markOop of object | UNLOCK_VALUE).
__ orr(disp_hdr, disp_hdr, markOopDesc::unlocked_value);
@@ -3455,14 +3449,6 @@
__ b(retry_load);
}
- // Formerly:
- // __ cmpxchgptr(/*oldv=*/disp_hdr,
- // /*newv=*/box,
- // /*addr=*/oop,
- // /*tmp=*/tmp,
- // cont,
- // /*fail*/NULL);
-
assert(oopDesc::mark_offset_in_bytes() == 0, "offset of _mark is not 0");
// If the compare-and-exchange succeeded, then we found an unlocked
@@ -3511,42 +3497,18 @@
__ bind(fail);
}
- // Label next;
- // __ cmpxchgptr(/*oldv=*/disp_hdr,
- // /*newv=*/rthread,
- // /*addr=*/tmp,
- // /*tmp=*/rscratch1,
- // /*succeed*/next,
- // /*fail*/NULL);
- // __ bind(next);
-
- // store a non-null value into the box.
- __ str(box, Address(box, BasicLock::displaced_header_offset_in_bytes()));
-
- // PPC port checks the following invariants
- // #ifdef ASSERT
- // bne(flag, cont);
- // We have acquired the monitor, check some invariants.
- // addw(/*monitor=*/tmp, tmp, -ObjectMonitor::owner_offset_in_bytes());
- // Invariant 1: _recursions should be 0.
- // assert(ObjectMonitor::recursions_size_in_bytes() == 8, "unexpected size");
- // assert_mem8_is_zero(ObjectMonitor::recursions_offset_in_bytes(), tmp,
- // "monitor->_recursions should be 0", -1);
- // Invariant 2: OwnerIsThread shouldn't be 0.
- // assert(ObjectMonitor::OwnerIsThread_size_in_bytes() == 4, "unexpected size");
- //assert_mem4_isnot_zero(ObjectMonitor::OwnerIsThread_offset_in_bytes(), tmp,
- // "monitor->OwnerIsThread shouldn't be 0", -1);
- // #endif
+ // Store a non-null value into the box to avoid looking like a re-entrant
+ // lock. The fast-path monitor unlock code checks for
+ // markOopDesc::monitor_value so use markOopDesc::unused_mark which has the
+ // relevant bit set, and also matches ObjectSynchronizer::slow_enter.
+ __ mov(tmp, (address)markOopDesc::unused_mark());
+ __ str(tmp, Address(box, BasicLock::displaced_header_offset_in_bytes()));
__ bind(cont);
// flag == EQ indicates success
// flag == NE indicates failure
-
- %}
-
- // TODO
- // reimplement this with custom cmpxchgptr code
- // which avoids some of the unnecessary branching
+ %}
+
enc_class aarch64_enc_fast_unlock(iRegP object, iRegP box, iRegP tmp, iRegP tmp2) %{
MacroAssembler _masm(&cbuf);
Register oop = as_Register($object$$reg);
@@ -3555,7 +3517,6 @@
Register tmp = as_Register($tmp2$$reg);
Label cont;
Label object_has_monitor;
- Label cas_failed;
assert_different_registers(oop, box, tmp, disp_hdr);
@@ -3570,7 +3531,6 @@
__ cmp(disp_hdr, zr);
__ br(Assembler::EQ, cont);
-
// Handle existing monitor.
__ ldr(tmp, Address(oop, oopDesc::mark_offset_in_bytes()));
__ tbnz(disp_hdr, exact_log2(markOopDesc::monitor_value), object_has_monitor);
@@ -3579,37 +3539,28 @@
// see the stack address of the basicLock in the markOop of the
// object.
- if (UseLSE) {
- __ mov(tmp, box);
- __ casl(Assembler::xword, tmp, disp_hdr, oop);
- __ cmp(tmp, box);
- } else {
- Label retry_load;
- if ((VM_Version::features() & VM_Version::CPU_STXR_PREFETCH))
- __ prfm(Address(oop), PSTL1STRM);
- __ bind(retry_load);
- __ ldxr(tmp, oop);
- __ cmp(box, tmp);
- __ br(Assembler::NE, cas_failed);
- // use stlxr to ensure update is immediately visible
- __ stlxr(tmp, disp_hdr, oop);
- __ cbzw(tmp, cont);
- __ b(retry_load);
- }
-
- // __ cmpxchgptr(/*compare_value=*/box,
- // /*exchange_value=*/disp_hdr,
- // /*where=*/oop,
- // /*result=*/tmp,
- // cont,
- // /*cas_failed*/NULL);
+ if (UseLSE) {
+ __ mov(tmp, box);
+ __ casl(Assembler::xword, tmp, disp_hdr, oop);
+ __ cmp(tmp, box);
+ __ b(cont);
+ } else {
+ Label retry_load;
+ if ((VM_Version::features() & VM_Version::CPU_STXR_PREFETCH))
+ __ prfm(Address(oop), PSTL1STRM);
+ __ bind(retry_load);
+ __ ldxr(tmp, oop);
+ __ cmp(box, tmp);
+ __ br(Assembler::NE, cont);
+ // use stlxr to ensure update is immediately visible
+ __ stlxr(tmp, disp_hdr, oop);
+ __ cbzw(tmp, cont);
+ __ b(retry_load);
+ }
+
assert(oopDesc::mark_offset_in_bytes() == 0, "offset of _mark is not 0");
- __ bind(cas_failed);
-
// Handle existing monitor.
- __ b(cont);
-
__ bind(object_has_monitor);
__ add(tmp, tmp, -markOopDesc::monitor_value); // monitor
__ ldr(rscratch1, Address(tmp, ObjectMonitor::owner_offset_in_bytes()));
@@ -3626,7 +3577,7 @@
__ cbnz(rscratch1, cont);
// need a release store here
__ lea(tmp, Address(tmp, ObjectMonitor::owner_offset_in_bytes()));
- __ stlr(rscratch1, tmp); // rscratch1 is zero
+ __ stlr(zr, tmp); // set unowned
__ bind(cont);
// flag == EQ indicates success
--- a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_ASSEMBLER_AARCH64_HPP
-#define CPU_AARCH64_VM_ASSEMBLER_AARCH64_HPP
+#ifndef CPU_AARCH64_ASSEMBLER_AARCH64_HPP
+#define CPU_AARCH64_ASSEMBLER_AARCH64_HPP
#include "asm/register.hpp"
@@ -1118,7 +1118,7 @@
Register Rn, enum operand_size sz, int op, bool ordered) {
starti;
f(sz, 31, 30), f(0b001000, 29, 24), f(op, 23, 21);
- rf(Rs, 16), f(ordered, 15), rf(Rt2, 10), srf(Rn, 5), rf(Rt1, 0);
+ rf(Rs, 16), f(ordered, 15), rf(Rt2, 10), srf(Rn, 5), zrf(Rt1, 0);
}
void load_exclusive(Register dst, Register addr,
@@ -2754,4 +2754,4 @@
extern "C" void das(uint64_t start, int len);
-#endif // CPU_AARCH64_VM_ASSEMBLER_AARCH64_HPP
+#endif // CPU_AARCH64_ASSEMBLER_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/assembler_aarch64.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,11 +23,11 @@
*
*/
-#ifndef CPU_AARCH64_VM_ASSEMBLER_AARCH64_INLINE_HPP
-#define CPU_AARCH64_VM_ASSEMBLER_AARCH64_INLINE_HPP
+#ifndef CPU_AARCH64_ASSEMBLER_AARCH64_INLINE_HPP
+#define CPU_AARCH64_ASSEMBLER_AARCH64_INLINE_HPP
#include "asm/assembler.inline.hpp"
#include "asm/codeBuffer.hpp"
#include "code/codeCache.hpp"
-#endif // CPU_AARCH64_VM_ASSEMBLER_AARCH64_INLINE_HPP
+#endif // CPU_AARCH64_ASSEMBLER_AARCH64_INLINE_HPP
--- a/src/hotspot/cpu/aarch64/bytecodes_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/bytecodes_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,9 +23,9 @@
*
*/
-#ifndef CPU_AARCH64_VM_BYTECODES_AARCH64_HPP
-#define CPU_AARCH64_VM_BYTECODES_AARCH64_HPP
+#ifndef CPU_AARCH64_BYTECODES_AARCH64_HPP
+#define CPU_AARCH64_BYTECODES_AARCH64_HPP
// No aarch64 specific bytecodes
-#endif // CPU_AARCH64_VM_BYTECODES_AARCH64_HPP
+#endif // CPU_AARCH64_BYTECODES_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/bytes_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/bytes_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_BYTES_AARCH64_HPP
-#define CPU_AARCH64_VM_BYTES_AARCH64_HPP
+#ifndef CPU_AARCH64_BYTES_AARCH64_HPP
+#define CPU_AARCH64_BYTES_AARCH64_HPP
#include "memory/allocation.hpp"
@@ -63,4 +63,4 @@
// The following header contains the implementations of swap_u2, swap_u4, and swap_u8[_base]
#include OS_CPU_HEADER_INLINE(bytes)
-#endif // CPU_AARCH64_VM_BYTES_AARCH64_HPP
+#endif // CPU_AARCH64_BYTES_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_C1_DEFS_AARCH64_HPP
-#define CPU_AARCH64_VM_C1_DEFS_AARCH64_HPP
+#ifndef CPU_AARCH64_C1_DEFS_AARCH64_HPP
+#define CPU_AARCH64_C1_DEFS_AARCH64_HPP
// native word offsets from memory address (little endian)
enum {
@@ -78,4 +78,4 @@
pd_float_saved_as_double = false
};
-#endif // CPU_AARCH64_VM_C1_DEFS_AARCH64_HPP
+#endif // CPU_AARCH64_C1_DEFS_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/c1_FpuStackSim_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/c1_FpuStackSim_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,10 +23,10 @@
*
*/
-#ifndef CPU_AARCH64_VM_C1_FPUSTACKSIM_HPP
-#define CPU_AARCH64_VM_C1_FPUSTACKSIM_HPP
+#ifndef CPU_AARCH64_C1_FPUSTACKSIM_AARCH64_HPP
+#define CPU_AARCH64_C1_FPUSTACKSIM_AARCH64_HPP
// No FPU stack on AARCH64
class FpuStackSim;
-#endif // CPU_AARCH64_VM_C1_FPUSTACKSIM_HPP
+#endif // CPU_AARCH64_C1_FPUSTACKSIM_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/c1_FrameMap_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/c1_FrameMap_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_C1_FRAMEMAP_AARCH64_HPP
-#define CPU_AARCH64_VM_C1_FRAMEMAP_AARCH64_HPP
+#ifndef CPU_AARCH64_C1_FRAMEMAP_AARCH64_HPP
+#define CPU_AARCH64_C1_FRAMEMAP_AARCH64_HPP
// On AArch64 the frame looks as follows:
//
@@ -144,5 +144,4 @@
static int last_cpu_reg() { return pd_last_cpu_reg; }
static int last_byte_reg() { return pd_last_byte_reg; }
-#endif // CPU_AARCH64_VM_C1_FRAMEMAP_AARCH64_HPP
-
+#endif // CPU_AARCH64_C1_FRAMEMAP_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_C1_LIRASSEMBLER_AARCH64_HPP
-#define CPU_AARCH64_VM_C1_LIRASSEMBLER_AARCH64_HPP
+#ifndef CPU_AARCH64_C1_LIRASSEMBLER_AARCH64_HPP
+#define CPU_AARCH64_C1_LIRASSEMBLER_AARCH64_HPP
// ArrayCopyStub needs access to bailout
friend class ArrayCopyStub;
@@ -81,4 +81,4 @@
void store_parameter(jint c, int offset_from_esp_in_words);
void store_parameter(jobject c, int offset_from_esp_in_words);
-#endif // CPU_AARCH64_VM_C1_LIRASSEMBLER_AARCH64_HPP
+#endif // CPU_AARCH64_C1_LIRASSEMBLER_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/c1_LinearScan_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/c1_LinearScan_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_C1_LINEARSCAN_HPP
-#define CPU_AARCH64_VM_C1_LINEARSCAN_HPP
+#ifndef CPU_AARCH64_C1_LINEARSCAN_AARCH64_HPP
+#define CPU_AARCH64_C1_LINEARSCAN_AARCH64_HPP
inline bool LinearScan::is_processed_reg_num(int reg_num) {
return reg_num <= FrameMap::last_cpu_reg() || reg_num >= pd_nof_cpu_regs_frame_map;
@@ -73,4 +73,4 @@
}
-#endif // CPU_AARCH64_VM_C1_LINEARSCAN_HPP
+#endif // CPU_AARCH64_C1_LINEARSCAN_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_C1_MACROASSEMBLER_AARCH64_HPP
-#define CPU_AARCH64_VM_C1_MACROASSEMBLER_AARCH64_HPP
+#ifndef CPU_AARCH64_C1_MACROASSEMBLER_AARCH64_HPP
+#define CPU_AARCH64_C1_MACROASSEMBLER_AARCH64_HPP
using MacroAssembler::build_frame;
using MacroAssembler::null_check;
@@ -111,4 +111,4 @@
void load_parameter(int offset_in_words, Register reg);
-#endif // CPU_AARCH64_VM_C1_MACROASSEMBLER_AARCH64_HPP
+#endif // CPU_AARCH64_C1_MACROASSEMBLER_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/c1_globals_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/c1_globals_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_C1_GLOBALS_AARCH64_HPP
-#define CPU_AARCH64_VM_C1_GLOBALS_AARCH64_HPP
+#ifndef CPU_AARCH64_C1_GLOBALS_AARCH64_HPP
+#define CPU_AARCH64_C1_GLOBALS_AARCH64_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -74,4 +74,4 @@
define_pd_global(bool, CSEArrayLength, false);
define_pd_global(bool, TwoOperandLIRForm, false );
-#endif // CPU_AARCH64_VM_C1_GLOBALS_AARCH64_HPP
+#endif // CPU_AARCH64_C1_GLOBALS_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/c2_globals_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/c2_globals_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_C2_GLOBALS_AARCH64_HPP
-#define CPU_AARCH64_VM_C2_GLOBALS_AARCH64_HPP
+#ifndef CPU_AARCH64_C2_GLOBALS_AARCH64_HPP
+#define CPU_AARCH64_C2_GLOBALS_AARCH64_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -87,4 +87,4 @@
define_pd_global(bool, TrapBasedRangeChecks, false); // Not needed.
-#endif // CPU_AARCH64_VM_C2_GLOBALS_AARCH64_HPP
+#endif // CPU_AARCH64_C2_GLOBALS_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/codeBuffer_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/codeBuffer_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_CODEBUFFER_AARCH64_HPP
-#define CPU_AARCH64_VM_CODEBUFFER_AARCH64_HPP
+#ifndef CPU_AARCH64_CODEBUFFER_AARCH64_HPP
+#define CPU_AARCH64_CODEBUFFER_AARCH64_HPP
private:
void pd_initialize() {}
@@ -32,4 +32,4 @@
public:
void flush_bundle(bool start_new_bundle) {}
-#endif // CPU_AARCH64_VM_CODEBUFFER_AARCH64_HPP
+#endif // CPU_AARCH64_CODEBUFFER_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/copy_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/copy_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_COPY_AARCH64_HPP
-#define CPU_AARCH64_VM_COPY_AARCH64_HPP
+#ifndef CPU_AARCH64_COPY_AARCH64_HPP
+#define CPU_AARCH64_COPY_AARCH64_HPP
// Inline functions for memory copy and fill.
@@ -56,4 +56,4 @@
(void)memset(to, 0, count);
}
-#endif // CPU_AARCH64_VM_COPY_AARCH64_HPP
+#endif // CPU_AARCH64_COPY_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/depChecker_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/depChecker_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,9 +23,9 @@
*
*/
-#ifndef CPU_AARCH64_VM_DEPCHECKER_AARCH64_HPP
-#define CPU_AARCH64_VM_DEPCHECKER_AARCH64_HPP
+#ifndef CPU_AARCH64_DEPCHECKER_AARCH64_HPP
+#define CPU_AARCH64_DEPCHECKER_AARCH64_HPP
// Nothing to do on aarch64
-#endif // CPU_AARCH64_VM_DEPCHECKER_AARCH64_HPP
+#endif // CPU_AARCH64_DEPCHECKER_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/disassembler_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/disassembler_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_DISASSEMBLER_AARCH64_HPP
-#define CPU_AARCH64_VM_DISASSEMBLER_AARCH64_HPP
+#ifndef CPU_AARCH64_DISASSEMBLER_AARCH64_HPP
+#define CPU_AARCH64_DISASSEMBLER_AARCH64_HPP
static int pd_instruction_alignment() {
return 1;
@@ -34,4 +34,4 @@
return "";
}
-#endif // CPU_AARCH64_VM_DISASSEMBLER_AARCH64_HPP
+#endif // CPU_AARCH64_DISASSEMBLER_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/frame_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/frame_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_FRAME_AARCH64_HPP
-#define CPU_AARCH64_VM_FRAME_AARCH64_HPP
+#ifndef CPU_AARCH64_FRAME_AARCH64_HPP
+#define CPU_AARCH64_FRAME_AARCH64_HPP
#include "runtime/synchronizer.hpp"
@@ -160,4 +160,4 @@
static jint interpreter_frame_expression_stack_direction() { return -1; }
-#endif // CPU_AARCH64_VM_FRAME_AARCH64_HPP
+#endif // CPU_AARCH64_FRAME_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/frame_aarch64.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/frame_aarch64.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_FRAME_AARCH64_INLINE_HPP
-#define CPU_AARCH64_VM_FRAME_AARCH64_INLINE_HPP
+#ifndef CPU_AARCH64_FRAME_AARCH64_INLINE_HPP
+#define CPU_AARCH64_FRAME_AARCH64_INLINE_HPP
#include "code/codeCache.hpp"
#include "code/vmreg.inline.hpp"
@@ -250,4 +250,4 @@
*result_adr = obj;
}
-#endif // CPU_AARCH64_VM_FRAME_AARCH64_INLINE_HPP
+#endif // CPU_AARCH64_FRAME_AARCH64_INLINE_HPP
--- a/src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -39,4 +39,4 @@
};
-#endif // #ifndef CPU_AARCH64_GC_SHARED_CARDTABLEBARRIERSETASSEMBLER_AARCH64_HPP
+#endif // CPU_AARCH64_GC_SHARED_CARDTABLEBARRIERSETASSEMBLER_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/globalDefinitions_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/globalDefinitions_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_GLOBALDEFINITIONS_AARCH64_HPP
-#define CPU_AARCH64_VM_GLOBALDEFINITIONS_AARCH64_HPP
+#ifndef CPU_AARCH64_GLOBALDEFINITIONS_AARCH64_HPP
+#define CPU_AARCH64_GLOBALDEFINITIONS_AARCH64_HPP
const int StackAlignmentInBytes = 16;
@@ -53,4 +53,4 @@
#define THREAD_LOCAL_POLL
-#endif // CPU_AARCH64_VM_GLOBALDEFINITIONS_AARCH64_HPP
+#endif // CPU_AARCH64_GLOBALDEFINITIONS_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/globals_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/globals_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_GLOBALS_AARCH64_HPP
-#define CPU_AARCH64_VM_GLOBALS_AARCH64_HPP
+#ifndef CPU_AARCH64_GLOBALS_AARCH64_HPP
+#define CPU_AARCH64_GLOBALS_AARCH64_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -166,4 +166,4 @@
#endif
-#endif // CPU_AARCH64_VM_GLOBALS_AARCH64_HPP
+#endif // CPU_AARCH64_GLOBALS_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/icache_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/icache_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_ICACHE_AARCH64_HPP
-#define CPU_AARCH64_VM_ICACHE_AARCH64_HPP
+#ifndef CPU_AARCH64_ICACHE_AARCH64_HPP
+#define CPU_AARCH64_ICACHE_AARCH64_HPP
// Interface for updating the instruction cache. Whenever the VM
// modifies code, part of the processor instruction cache potentially
@@ -41,4 +41,4 @@
}
};
-#endif // CPU_AARCH64_VM_ICACHE_AARCH64_HPP
+#endif // CPU_AARCH64_ICACHE_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_INTERP_MASM_AARCH64_64_HPP
-#define CPU_AARCH64_VM_INTERP_MASM_AARCH64_64_HPP
+#ifndef CPU_AARCH64_INTERP_MASM_AARCH64_HPP
+#define CPU_AARCH64_INTERP_MASM_AARCH64_HPP
#include "asm/macroAssembler.hpp"
#include "interpreter/invocationCounter.hpp"
@@ -295,4 +295,4 @@
}
};
-#endif // CPU_AARCH64_VM_INTERP_MASM_AARCH64_64_HPP
+#endif // CPU_AARCH64_INTERP_MASM_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/interpreterRT_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/interpreterRT_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_INTERPRETERRT_AARCH64_HPP
-#define CPU_AARCH64_VM_INTERPRETERRT_AARCH64_HPP
+#ifndef CPU_AARCH64_INTERPRETERRT_AARCH64_HPP
+#define CPU_AARCH64_INTERPRETERRT_AARCH64_HPP
// This is included in the middle of class Interpreter.
// Do not include files here.
@@ -58,4 +58,4 @@
static Register temp();
};
-#endif // CPU_AARCH64_VM_INTERPRETERRT_AARCH64_HPP
+#endif // CPU_AARCH64_INTERPRETERRT_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/javaFrameAnchor_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/javaFrameAnchor_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_JAVAFRAMEANCHOR_AARCH64_HPP
-#define CPU_AARCH64_VM_JAVAFRAMEANCHOR_AARCH64_HPP
+#ifndef CPU_AARCH64_JAVAFRAMEANCHOR_AARCH64_HPP
+#define CPU_AARCH64_JAVAFRAMEANCHOR_AARCH64_HPP
private:
@@ -84,4 +84,4 @@
// Assert (last_Java_sp == NULL || fp == NULL)
void set_last_Java_fp(intptr_t* fp) { OrderAccess::release(); _last_Java_fp = fp; }
-#endif // CPU_AARCH64_VM_JAVAFRAMEANCHOR_AARCH64_HPP
+#endif // CPU_AARCH64_JAVAFRAMEANCHOR_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/jniTypes_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/jniTypes_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_JNITYPES_AARCH64_HPP
-#define CPU_AARCH64_VM_JNITYPES_AARCH64_HPP
+#ifndef CPU_AARCH64_JNITYPES_AARCH64_HPP
+#define CPU_AARCH64_JNITYPES_AARCH64_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -104,4 +104,4 @@
#undef _JNI_SLOT_OFFSET
};
-#endif // CPU_AARCH64_VM_JNITYPES_AARCH64_HPP
+#endif // CPU_AARCH64_JNITYPES_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_MACROASSEMBLER_AARCH64_HPP
-#define CPU_AARCH64_VM_MACROASSEMBLER_AARCH64_HPP
+#ifndef CPU_AARCH64_MACROASSEMBLER_AARCH64_HPP
+#define CPU_AARCH64_MACROASSEMBLER_AARCH64_HPP
#include "asm/assembler.hpp"
@@ -1391,4 +1391,4 @@
Label _branches;
};
-#endif // CPU_AARCH64_VM_MACROASSEMBLER_AARCH64_HPP
+#endif // CPU_AARCH64_MACROASSEMBLER_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_MACROASSEMBLER_AARCH64_INLINE_HPP
-#define CPU_AARCH64_VM_MACROASSEMBLER_AARCH64_INLINE_HPP
+#ifndef CPU_AARCH64_MACROASSEMBLER_AARCH64_INLINE_HPP
+#define CPU_AARCH64_MACROASSEMBLER_AARCH64_INLINE_HPP
#include "asm/assembler.hpp"
@@ -32,4 +32,4 @@
#endif // ndef PRODUCT
-#endif // CPU_AARCH64_VM_MACROASSEMBLER_AARCH64_INLINE_HPP
+#endif // CPU_AARCH64_MACROASSEMBLER_AARCH64_INLINE_HPP
--- a/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_NATIVEINST_AARCH64_HPP
-#define CPU_AARCH64_VM_NATIVEINST_AARCH64_HPP
+#ifndef CPU_AARCH64_NATIVEINST_AARCH64_HPP
+#define CPU_AARCH64_NATIVEINST_AARCH64_HPP
#include "asm/assembler.hpp"
#include "runtime/icache.hpp"
@@ -703,4 +703,4 @@
assert(nativeInstruction_at(addr)->is_Imm_LdSt(), "no immediate load/store found");
return (NativeLdSt*)addr;
}
-#endif // CPU_AARCH64_VM_NATIVEINST_AARCH64_HPP
+#endif // CPU_AARCH64_NATIVEINST_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/registerMap_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/registerMap_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_REGISTERMAP_AARCH64_HPP
-#define CPU_AARCH64_VM_REGISTERMAP_AARCH64_HPP
+#ifndef CPU_AARCH64_REGISTERMAP_AARCH64_HPP
+#define CPU_AARCH64_REGISTERMAP_AARCH64_HPP
// machine-dependent implemention for register maps
friend class frame;
@@ -42,4 +42,4 @@
void pd_initialize() {}
void pd_initialize_from(const RegisterMap* map) {}
-#endif // CPU_AARCH64_VM_REGISTERMAP_AARCH64_HPP
+#endif // CPU_AARCH64_REGISTERMAP_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/register_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/register_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_REGISTER_AARCH64_HPP
-#define CPU_AARCH64_VM_REGISTER_AARCH64_HPP
+#ifndef CPU_AARCH64_REGISTER_AARCH64_HPP
+#define CPU_AARCH64_REGISTER_AARCH64_HPP
#include "asm/register.hpp"
@@ -258,4 +258,4 @@
uint32_t bits() const { return _bitset; }
};
-#endif // CPU_AARCH64_VM_REGISTER_AARCH64_HPP
+#endif // CPU_AARCH64_REGISTER_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/relocInfo_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/relocInfo_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_RELOCINFO_AARCH64_HPP
-#define CPU_AARCH64_VM_RELOCINFO_AARCH64_HPP
+#ifndef CPU_AARCH64_RELOCINFO_AARCH64_HPP
+#define CPU_AARCH64_RELOCINFO_AARCH64_HPP
// machine-dependent parts of class relocInfo
private:
@@ -41,4 +41,4 @@
// listed in the oop section.
static bool mustIterateImmediateOopsInCode() { return false; }
-#endif // CPU_AARCH64_VM_RELOCINFO_AARCH64_HPP
+#endif // CPU_AARCH64_RELOCINFO_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_STUBROUTINES_AARCH64_HPP
-#define CPU_AARCH64_VM_STUBROUTINES_AARCH64_HPP
+#ifndef CPU_AARCH64_STUBROUTINES_AARCH64_HPP
+#define CPU_AARCH64_STUBROUTINES_AARCH64_HPP
// This file holds the platform specific parts of the StubRoutines
// definition. See stubRoutines.hpp for a description on how to
@@ -195,4 +195,4 @@
// end trigonometric tables block
};
-#endif // CPU_AARCH64_VM_STUBROUTINES_AARCH64_HPP
+#endif // CPU_AARCH64_STUBROUTINES_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/templateTable_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/templateTable_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_TEMPLATETABLE_AARCH64_64_HPP
-#define CPU_AARCH64_VM_TEMPLATETABLE_AARCH64_64_HPP
+#ifndef CPU_AARCH64_TEMPLATETABLE_AARCH64_HPP
+#define CPU_AARCH64_TEMPLATETABLE_AARCH64_HPP
static void prepare_invoke(int byte_no,
Register method, // linked method (or i-klass)
@@ -39,4 +39,4 @@
static void index_check(Register array, Register index);
static void index_check_without_pop(Register array, Register index);
-#endif // CPU_AARCH64_VM_TEMPLATETABLE_AARCH64_64_HPP
+#endif // CPU_AARCH64_TEMPLATETABLE_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/vmStructs_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/vmStructs_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_VMSTRUCTS_AARCH64_HPP
-#define CPU_AARCH64_VM_VMSTRUCTS_AARCH64_HPP
+#ifndef CPU_AARCH64_VMSTRUCTS_AARCH64_HPP
+#define CPU_AARCH64_VMSTRUCTS_AARCH64_HPP
// These are the CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -39,4 +39,4 @@
#define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // CPU_AARCH64_VM_VMSTRUCTS_AARCH64_HPP
+#endif // CPU_AARCH64_VMSTRUCTS_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/vm_version_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/vm_version_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_VM_VERSION_AARCH64_HPP
-#define CPU_AARCH64_VM_VM_VERSION_AARCH64_HPP
+#ifndef CPU_AARCH64_VM_VERSION_AARCH64_HPP
+#define CPU_AARCH64_VM_VERSION_AARCH64_HPP
#include "runtime/globals_extension.hpp"
#include "runtime/vm_version.hpp"
@@ -121,4 +121,4 @@
}
};
-#endif // CPU_AARCH64_VM_VM_VERSION_AARCH64_HPP
+#endif // CPU_AARCH64_VM_VERSION_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/vm_version_ext_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/vm_version_ext_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_VM_VERSION_EXT_AARCH64_HPP
-#define CPU_AARCH64_VM_VM_VERSION_EXT_AARCH64_HPP
+#ifndef CPU_AARCH64_VM_VERSION_EXT_AARCH64_HPP
+#define CPU_AARCH64_VM_VERSION_EXT_AARCH64_HPP
#include "utilities/macros.hpp"
#include "vm_version_aarch64.hpp"
@@ -51,4 +51,4 @@
};
-#endif // CPU_AARCH64_VM_VM_VERSION_EXT_AARCH64_HPP
+#endif // CPU_AARCH64_VM_VERSION_EXT_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/vmreg_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/vmreg_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_VMREG_AARCH64_HPP
-#define CPU_AARCH64_VM_VMREG_AARCH64_HPP
+#ifndef CPU_AARCH64_VMREG_AARCH64_HPP
+#define CPU_AARCH64_VMREG_AARCH64_HPP
inline bool is_Register() {
return (unsigned int) value() < (unsigned int) ConcreteRegisterImpl::max_gpr;
@@ -52,4 +52,4 @@
return is_even(value());
}
-#endif // CPU_AARCH64_VM_VMREG_AARCH64_HPP
+#endif // CPU_AARCH64_VMREG_AARCH64_HPP
--- a/src/hotspot/cpu/aarch64/vmreg_aarch64.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/aarch64/vmreg_aarch64.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_AARCH64_VM_VMREG_AARCH64_INLINE_HPP
-#define CPU_AARCH64_VM_VMREG_AARCH64_INLINE_HPP
+#ifndef CPU_AARCH64_VMREG_AARCH64_INLINE_HPP
+#define CPU_AARCH64_VMREG_AARCH64_INLINE_HPP
inline VMReg RegisterImpl::as_VMReg() {
if( this==noreg ) return VMRegImpl::Bad();
@@ -35,4 +35,4 @@
return VMRegImpl::as_VMReg((encoding() << 1) + ConcreteRegisterImpl::max_gpr);
}
-#endif // CPU_AARCH64_VM_VMREG_AARCH64_INLINE_HPP
+#endif // CPU_AARCH64_VMREG_AARCH64_INLINE_HPP
--- a/src/hotspot/cpu/arm/assembler_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/assembler_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_ASSEMBLER_ARM_HPP
-#define CPU_ARM_VM_ASSEMBLER_ARM_HPP
+#ifndef CPU_ARM_ASSEMBLER_ARM_HPP
+#define CPU_ARM_ASSEMBLER_ARM_HPP
#include "utilities/macros.hpp"
@@ -326,4 +326,4 @@
#include "assembler_arm_32.hpp"
-#endif // CPU_ARM_VM_ASSEMBLER_ARM_HPP
+#endif // CPU_ARM_ASSEMBLER_ARM_HPP
--- a/src/hotspot/cpu/arm/assembler_arm.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/assembler_arm.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_ASSEMBLER_ARM_INLINE_HPP
-#define CPU_ARM_VM_ASSEMBLER_ARM_INLINE_HPP
+#ifndef CPU_ARM_ASSEMBLER_ARM_INLINE_HPP
+#define CPU_ARM_ASSEMBLER_ARM_INLINE_HPP
-#endif // CPU_ARM_VM_ASSEMBLER_ARM_INLINE_HPP
+#endif // CPU_ARM_ASSEMBLER_ARM_INLINE_HPP
--- a/src/hotspot/cpu/arm/assembler_arm_32.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/assembler_arm_32.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_ASSEMBLER_ARM_32_HPP
-#define CPU_ARM_VM_ASSEMBLER_ARM_32_HPP
+#ifndef CPU_ARM_ASSEMBLER_ARM_32_HPP
+#define CPU_ARM_ASSEMBLER_ARM_32_HPP
// ARM Addressing Mode 1 - Data processing operands
class AsmOperand {
@@ -1250,4 +1250,4 @@
#endif // __SOFTFP__
-#endif // CPU_ARM_VM_ASSEMBLER_ARM_32_HPP
+#endif // CPU_ARM_ASSEMBLER_ARM_32_HPP
--- a/src/hotspot/cpu/arm/bytes_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/bytes_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_BYTES_ARM_HPP
-#define CPU_ARM_VM_BYTES_ARM_HPP
+#ifndef CPU_ARM_BYTES_ARM_HPP
+#define CPU_ARM_BYTES_ARM_HPP
#include "memory/allocation.hpp"
#include "utilities/macros.hpp"
@@ -186,4 +186,4 @@
// The following header contains the implementations of swap_u2, swap_u4, and swap_u8
#include OS_CPU_HEADER_INLINE(bytes)
-#endif // CPU_ARM_VM_BYTES_ARM_HPP
+#endif // CPU_ARM_BYTES_ARM_HPP
--- a/src/hotspot/cpu/arm/c1_Defs_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/c1_Defs_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_C1_DEFS_ARM_HPP
-#define CPU_ARM_VM_C1_DEFS_ARM_HPP
+#ifndef CPU_ARM_C1_DEFS_ARM_HPP
+#define CPU_ARM_C1_DEFS_ARM_HPP
// native word offsets from memory address (little endian)
enum {
@@ -78,4 +78,4 @@
#define CARDTABLEBARRIERSET_POST_BARRIER_HELPER
#define GENERATE_ADDRESS_IS_PREFERRED
-#endif // CPU_ARM_VM_C1_DEFS_ARM_HPP
+#endif // CPU_ARM_C1_DEFS_ARM_HPP
--- a/src/hotspot/cpu/arm/c1_FpuStackSim_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/c1_FpuStackSim_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,9 +22,9 @@
*
*/
-#ifndef CPU_ARM_VM_C1_FPUSTACKSIM_ARM_HPP
-#define CPU_ARM_VM_C1_FPUSTACKSIM_ARM_HPP
+#ifndef CPU_ARM_C1_FPUSTACKSIM_ARM_HPP
+#define CPU_ARM_C1_FPUSTACKSIM_ARM_HPP
// Nothing needed here
-#endif // CPU_ARM_VM_C1_FPUSTACKSIM_ARM_HPP
+#endif // CPU_ARM_C1_FPUSTACKSIM_ARM_HPP
--- a/src/hotspot/cpu/arm/c1_FrameMap_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/c1_FrameMap_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_C1_FRAMEMAP_ARM_HPP
-#define CPU_ARM_VM_C1_FRAMEMAP_ARM_HPP
+#ifndef CPU_ARM_C1_FRAMEMAP_ARM_HPP
+#define CPU_ARM_C1_FRAMEMAP_ARM_HPP
public:
@@ -108,4 +108,4 @@
return pd_last_cpu_reg;
}
-#endif // CPU_ARM_VM_C1_FRAMEMAP_ARM_HPP
+#endif // CPU_ARM_C1_FRAMEMAP_ARM_HPP
--- a/src/hotspot/cpu/arm/c1_LIRAssembler_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/c1_LIRAssembler_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_C1_LIRASSEMBLER_ARM_HPP
-#define CPU_ARM_VM_C1_LIRASSEMBLER_ARM_HPP
+#ifndef CPU_ARM_C1_LIRASSEMBLER_ARM_HPP
+#define CPU_ARM_C1_LIRASSEMBLER_ARM_HPP
private:
@@ -65,4 +65,4 @@
void store_parameter(jint c, int offset_from_sp_in_words);
void store_parameter(Metadata* m, int offset_from_sp_in_words);
-#endif // CPU_ARM_VM_C1_LIRASSEMBLER_ARM_HPP
+#endif // CPU_ARM_C1_LIRASSEMBLER_ARM_HPP
--- a/src/hotspot/cpu/arm/c1_LinearScan_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/c1_LinearScan_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_C1_LINEARSCAN_ARM_HPP
-#define CPU_ARM_VM_C1_LINEARSCAN_ARM_HPP
+#ifndef CPU_ARM_C1_LINEARSCAN_ARM_HPP
+#define CPU_ARM_C1_LINEARSCAN_ARM_HPP
inline bool LinearScan::is_processed_reg_num(int reg_num) {
return reg_num < pd_nof_cpu_regs_processed_in_linearscan ||
@@ -68,4 +68,4 @@
return true;
}
-#endif // CPU_ARM_VM_C1_LINEARSCAN_ARM_HPP
+#endif // CPU_ARM_C1_LINEARSCAN_ARM_HPP
--- a/src/hotspot/cpu/arm/c1_MacroAssembler_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/c1_MacroAssembler_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_C1_MACROASSEMBLER_ARM_HPP
-#define CPU_ARM_VM_C1_MACROASSEMBLER_ARM_HPP
+#ifndef CPU_ARM_C1_MACROASSEMBLER_ARM_HPP
+#define CPU_ARM_C1_MACROASSEMBLER_ARM_HPP
private:
@@ -66,4 +66,4 @@
// This platform only uses signal-based null checks. The Label is not needed.
void null_check(Register r, Label *Lnull = NULL) { MacroAssembler::null_check(r); }
-#endif // CPU_ARM_VM_C1_MACROASSEMBLER_ARM_HPP
+#endif // CPU_ARM_C1_MACROASSEMBLER_ARM_HPP
--- a/src/hotspot/cpu/arm/c1_globals_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/c1_globals_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_C1_GLOBALS_ARM_HPP
-#define CPU_ARM_VM_C1_GLOBALS_ARM_HPP
+#ifndef CPU_ARM_C1_GLOBALS_ARM_HPP
+#define CPU_ARM_C1_GLOBALS_ARM_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -70,4 +70,4 @@
define_pd_global(bool, CSEArrayLength, true);
define_pd_global(bool, TwoOperandLIRForm, false);
-#endif // CPU_ARM_VM_C1_GLOBALS_ARM_HPP
+#endif // CPU_ARM_C1_GLOBALS_ARM_HPP
--- a/src/hotspot/cpu/arm/c2_globals_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/c2_globals_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_C2_GLOBALS_ARM_HPP
-#define CPU_ARM_VM_C2_GLOBALS_ARM_HPP
+#ifndef CPU_ARM_C2_GLOBALS_ARM_HPP
+#define CPU_ARM_C2_GLOBALS_ARM_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -108,4 +108,4 @@
// Ergonomics related flags
define_pd_global(bool, NeverActAsServerClassMachine, false);
-#endif // CPU_ARM_VM_C2_GLOBALS_ARM_HPP
+#endif // CPU_ARM_C2_GLOBALS_ARM_HPP
--- a/src/hotspot/cpu/arm/codeBuffer_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/codeBuffer_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_CODEBUFFER_ARM_HPP
-#define CPU_ARM_VM_CODEBUFFER_ARM_HPP
+#ifndef CPU_ARM_CODEBUFFER_ARM_HPP
+#define CPU_ARM_CODEBUFFER_ARM_HPP
private:
void pd_initialize() {}
@@ -31,4 +31,4 @@
public:
void flush_bundle(bool start_new_bundle) {}
-#endif // CPU_ARM_VM_CODEBUFFER_ARM_HPP
+#endif // CPU_ARM_CODEBUFFER_ARM_HPP
--- a/src/hotspot/cpu/arm/copy_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/copy_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_COPY_ARM_HPP
-#define CPU_ARM_VM_COPY_ARM_HPP
+#ifndef CPU_ARM_COPY_ARM_HPP
+#define CPU_ARM_COPY_ARM_HPP
#include "utilities/macros.hpp"
@@ -56,4 +56,4 @@
memset(to, 0, count);
}
-#endif // CPU_ARM_VM_COPY_ARM_HPP
+#endif // CPU_ARM_COPY_ARM_HPP
--- a/src/hotspot/cpu/arm/depChecker_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/depChecker_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,9 +22,9 @@
*
*/
-#ifndef CPU_ARM_VM_DEPCHECKER_ARM_HPP
-#define CPU_ARM_VM_DEPCHECKER_ARM_HPP
+#ifndef CPU_ARM_DEPCHECKER_ARM_HPP
+#define CPU_ARM_DEPCHECKER_ARM_HPP
// Nothing to do
-#endif // CPU_ARM_VM_DEPCHECKER_ARM_HPP
+#endif // CPU_ARM_DEPCHECKER_ARM_HPP
--- a/src/hotspot/cpu/arm/disassembler_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/disassembler_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_DISASSEMBLER_ARM_HPP
-#define CPU_ARM_VM_DISASSEMBLER_ARM_HPP
+#ifndef CPU_ARM_DISASSEMBLER_ARM_HPP
+#define CPU_ARM_DISASSEMBLER_ARM_HPP
static int pd_instruction_alignment() {
return sizeof(int);
@@ -33,4 +33,4 @@
return "";
}
-#endif // CPU_ARM_VM_DISASSEMBLER_ARM_HPP
+#endif // CPU_ARM_DISASSEMBLER_ARM_HPP
--- a/src/hotspot/cpu/arm/frame_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/frame_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_FRAME_ARM_HPP
-#define CPU_ARM_VM_FRAME_ARM_HPP
+#ifndef CPU_ARM_FRAME_ARM_HPP
+#define CPU_ARM_FRAME_ARM_HPP
#include "runtime/synchronizer.hpp"
@@ -118,4 +118,4 @@
static jint interpreter_frame_expression_stack_direction() { return -1; }
-#endif // CPU_ARM_VM_FRAME_ARM_HPP
+#endif // CPU_ARM_FRAME_ARM_HPP
--- a/src/hotspot/cpu/arm/frame_arm.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/frame_arm.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_FRAME_ARM_INLINE_HPP
-#define CPU_ARM_VM_FRAME_ARM_INLINE_HPP
+#ifndef CPU_ARM_FRAME_ARM_INLINE_HPP
+#define CPU_ARM_FRAME_ARM_INLINE_HPP
#include "code/codeCache.hpp"
#include "code/vmreg.inline.hpp"
@@ -228,4 +228,4 @@
*result_adr = obj;
}
-#endif // CPU_ARM_VM_FRAME_ARM_INLINE_HPP
+#endif // CPU_ARM_FRAME_ARM_INLINE_HPP
--- a/src/hotspot/cpu/arm/gc/shared/cardTableBarrierSetAssembler_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/gc/shared/cardTableBarrierSetAssembler_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -43,4 +43,4 @@
Address obj, Register new_val, Register tmp1, Register tmp2, Register tmp3, bool is_null);
};
-#endif // #ifndef CPU_ARM_GC_SHARED_CARDTABLEBARRIERSETASSEMBLER_ARM_HPP
+#endif // CPU_ARM_GC_SHARED_CARDTABLEBARRIERSETASSEMBLER_ARM_HPP
--- a/src/hotspot/cpu/arm/globalDefinitions_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/globalDefinitions_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_GLOBALDEFINITIONS_ARM_HPP
-#define CPU_ARM_VM_GLOBALDEFINITIONS_ARM_HPP
+#ifndef CPU_ARM_GLOBALDEFINITIONS_ARM_HPP
+#define CPU_ARM_GLOBALDEFINITIONS_ARM_HPP
const int StackAlignmentInBytes = 8;
@@ -59,4 +59,4 @@
#endif
#endif
-#endif // CPU_ARM_VM_GLOBALDEFINITIONS_ARM_HPP
+#endif // CPU_ARM_GLOBALDEFINITIONS_ARM_HPP
--- a/src/hotspot/cpu/arm/globals_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/globals_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_GLOBALS_ARM_HPP
-#define CPU_ARM_VM_GLOBALS_ARM_HPP
+#ifndef CPU_ARM_GLOBALS_ARM_HPP
+#define CPU_ARM_GLOBALS_ARM_HPP
//
// Sets the default values for platform dependent flags used by the runtime system.
@@ -87,4 +87,4 @@
range, \
constraint, \
writeable)
-#endif // CPU_ARM_VM_GLOBALS_ARM_HPP
+#endif // CPU_ARM_GLOBALS_ARM_HPP
--- a/src/hotspot/cpu/arm/icache_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/icache_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_ICACHE_ARM_HPP
-#define CPU_ARM_VM_ICACHE_ARM_HPP
+#ifndef CPU_ARM_ICACHE_ARM_HPP
+#define CPU_ARM_ICACHE_ARM_HPP
// Interface for updating the instruction cache. Whenever the VM modifies
// code, part of the processor instruction cache potentially has to be flushed.
@@ -37,4 +37,4 @@
};
};
-#endif // CPU_ARM_VM_ICACHE_ARM_HPP
+#endif // CPU_ARM_ICACHE_ARM_HPP
--- a/src/hotspot/cpu/arm/interp_masm_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/interp_masm_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_INTERP_MASM_ARM_HPP
-#define CPU_ARM_VM_INTERP_MASM_ARM_HPP
+#ifndef CPU_ARM_INTERP_MASM_ARM_HPP
+#define CPU_ARM_INTERP_MASM_ARM_HPP
#include "asm/macroAssembler.hpp"
#include "interpreter/invocationCounter.hpp"
@@ -277,4 +277,4 @@
Register reg3 = noreg);
};
-#endif // CPU_ARM_VM_INTERP_MASM_ARM_HPP
+#endif // CPU_ARM_INTERP_MASM_ARM_HPP
--- a/src/hotspot/cpu/arm/interpreterRT_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/interpreterRT_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_INTERPRETERRT_ARM_HPP
-#define CPU_ARM_VM_INTERPRETERRT_ARM_HPP
+#ifndef CPU_ARM_INTERPRETERRT_ARM_HPP
+#define CPU_ARM_INTERPRETERRT_ARM_HPP
// native method calls
@@ -60,4 +60,4 @@
// sharing). See normalize_fast_native_fingerprint
#define SHARING_FAST_NATIVE_FINGERPRINTS
-#endif // CPU_ARM_VM_INTERPRETERRT_ARM_HPP
+#endif // CPU_ARM_INTERPRETERRT_ARM_HPP
--- a/src/hotspot/cpu/arm/javaFrameAnchor_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/javaFrameAnchor_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_JAVAFRAMEANCHOR_ARM_HPP
-#define CPU_ARM_VM_JAVAFRAMEANCHOR_ARM_HPP
+#ifndef CPU_ARM_JAVAFRAMEANCHOR_ARM_HPP
+#define CPU_ARM_JAVAFRAMEANCHOR_ARM_HPP
private:
@@ -83,4 +83,4 @@
// Assert (last_Java_sp == NULL || fp == NULL)
void set_last_Java_fp(intptr_t* fp) { _last_Java_fp = fp; }
-#endif // CPU_ARM_VM_JAVAFRAMEANCHOR_ARM_HPP
+#endif // CPU_ARM_JAVAFRAMEANCHOR_ARM_HPP
--- a/src/hotspot/cpu/arm/jniTypes_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/jniTypes_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_JNITYPES_ARM_HPP
-#define CPU_ARM_VM_JNITYPES_ARM_HPP
+#ifndef CPU_ARM_JNITYPES_ARM_HPP
+#define CPU_ARM_JNITYPES_ARM_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -79,4 +79,4 @@
};
-#endif // CPU_ARM_VM_JNITYPES_ARM_HPP
+#endif // CPU_ARM_JNITYPES_ARM_HPP
--- a/src/hotspot/cpu/arm/macroAssembler_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/macroAssembler_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_MACROASSEMBLER_ARM_HPP
-#define CPU_ARM_VM_MACROASSEMBLER_ARM_HPP
+#ifndef CPU_ARM_MACROASSEMBLER_ARM_HPP
+#define CPU_ARM_MACROASSEMBLER_ARM_HPP
#include "code/relocInfo.hpp"
#include "code/relocInfo_ext.hpp"
@@ -1097,4 +1097,4 @@
};
-#endif // CPU_ARM_VM_MACROASSEMBLER_ARM_HPP
+#endif // CPU_ARM_MACROASSEMBLER_ARM_HPP
--- a/src/hotspot/cpu/arm/macroAssembler_arm.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/macroAssembler_arm.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_MACROASSEMBLER_ARM_INLINE_HPP
-#define CPU_ARM_VM_MACROASSEMBLER_ARM_INLINE_HPP
+#ifndef CPU_ARM_MACROASSEMBLER_ARM_INLINE_HPP
+#define CPU_ARM_MACROASSEMBLER_ARM_INLINE_HPP
#include "asm/assembler.inline.hpp"
#include "asm/codeBuffer.hpp"
@@ -63,4 +63,4 @@
}
}
-#endif // CPU_ARM_VM_MACROASSEMBLER_ARM_INLINE_HPP
+#endif // CPU_ARM_MACROASSEMBLER_ARM_INLINE_HPP
--- a/src/hotspot/cpu/arm/nativeInst_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/nativeInst_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_NATIVEINST_ARM_HPP
-#define CPU_ARM_VM_NATIVEINST_ARM_HPP
+#ifndef CPU_ARM_NATIVEINST_ARM_HPP
+#define CPU_ARM_NATIVEINST_ARM_HPP
#include "asm/macroAssembler.hpp"
#include "runtime/icache.hpp"
@@ -33,4 +33,4 @@
#include "nativeInst_arm_32.hpp"
-#endif // CPU_ARM_VM_NATIVEINST_ARM_HPP
+#endif // CPU_ARM_NATIVEINST_ARM_HPP
--- a/src/hotspot/cpu/arm/nativeInst_arm_32.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/nativeInst_arm_32.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_NATIVEINST_ARM_32_HPP
-#define CPU_ARM_VM_NATIVEINST_ARM_32_HPP
+#ifndef CPU_ARM_NATIVEINST_ARM_32_HPP
+#define CPU_ARM_NATIVEINST_ARM_32_HPP
#include "asm/macroAssembler.hpp"
#include "code/codeCache.hpp"
@@ -429,4 +429,4 @@
return (NativeCall *) rawNativeCall_before(return_address);
}
-#endif // CPU_ARM_VM_NATIVEINST_ARM_32_HPP
+#endif // CPU_ARM_NATIVEINST_ARM_32_HPP
--- a/src/hotspot/cpu/arm/registerMap_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/registerMap_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_REGISTERMAP_ARM_HPP
-#define CPU_ARM_VM_REGISTERMAP_ARM_HPP
+#ifndef CPU_ARM_REGISTERMAP_ARM_HPP
+#define CPU_ARM_REGISTERMAP_ARM_HPP
// machine-dependent implemention for register maps
friend class frame;
@@ -41,4 +41,4 @@
void pd_initialize() {}
void pd_initialize_from(const RegisterMap* map) {}
-#endif // CPU_ARM_VM_REGISTERMAP_ARM_HPP
+#endif // CPU_ARM_REGISTERMAP_ARM_HPP
--- a/src/hotspot/cpu/arm/register_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/register_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_REGISTER_ARM_HPP
-#define CPU_ARM_VM_REGISTER_ARM_HPP
+#ifndef CPU_ARM_REGISTER_ARM_HPP
+#define CPU_ARM_REGISTER_ARM_HPP
#include "asm/register.hpp"
#include "vm_version_arm.hpp"
@@ -437,4 +437,4 @@
#define j_rarg3 c_rarg3
-#endif // CPU_ARM_VM_REGISTER_ARM_HPP
+#endif // CPU_ARM_REGISTER_ARM_HPP
--- a/src/hotspot/cpu/arm/relocInfo_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/relocInfo_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_RELOCINFO_ARM_HPP
-#define CPU_ARM_VM_RELOCINFO_ARM_HPP
+#ifndef CPU_ARM_RELOCINFO_ARM_HPP
+#define CPU_ARM_RELOCINFO_ARM_HPP
private:
@@ -38,4 +38,4 @@
// listed in the oop section.
static bool mustIterateImmediateOopsInCode() { return false; }
-#endif // CPU_ARM_VM_RELOCINFO_ARM_HPP
+#endif // CPU_ARM_RELOCINFO_ARM_HPP
--- a/src/hotspot/cpu/arm/stubRoutines_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/stubRoutines_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_STUBROUTINES_ARM_HPP
-#define CPU_ARM_VM_STUBROUTINES_ARM_HPP
+#ifndef CPU_ARM_STUBROUTINES_ARM_HPP
+#define CPU_ARM_STUBROUTINES_ARM_HPP
// This file holds the platform specific parts of the StubRoutines
// definition. See stubRoutines.hpp for a description on how to
@@ -60,4 +60,4 @@
static address atomic_store_long_entry() { return _atomic_store_long_entry; }
-#endif // CPU_ARM_VM_STUBROUTINES_ARM_HPP
+#endif // CPU_ARM_STUBROUTINES_ARM_HPP
--- a/src/hotspot/cpu/arm/templateTable_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/templateTable_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_TEMPLATETABLE_ARM_HPP
-#define CPU_ARM_VM_TEMPLATETABLE_ARM_HPP
+#ifndef CPU_ARM_TEMPLATETABLE_ARM_HPP
+#define CPU_ARM_TEMPLATETABLE_ARM_HPP
static void prepare_invoke(int byte_no,
Register method, // linked method (or i-klass)
@@ -59,4 +59,4 @@
static void jvmti_post_fast_field_mod(TosState state);
-#endif // CPU_ARM_VM_TEMPLATETABLE_ARM_HPP
+#endif // CPU_ARM_TEMPLATETABLE_ARM_HPP
--- a/src/hotspot/cpu/arm/vmStructs_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/vmStructs_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_VMSTRUCTS_ARM_HPP
-#define CPU_ARM_VM_VMSTRUCTS_ARM_HPP
+#ifndef CPU_ARM_VMSTRUCTS_ARM_HPP
+#define CPU_ARM_VMSTRUCTS_ARM_HPP
// These are the CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -45,4 +45,4 @@
#define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // CPU_ARM_VM_VMSTRUCTS_ARM_HPP
+#endif // CPU_ARM_VMSTRUCTS_ARM_HPP
--- a/src/hotspot/cpu/arm/vm_version_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/vm_version_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_VM_VERSION_ARM_HPP
-#define CPU_ARM_VM_VM_VERSION_ARM_HPP
+#ifndef CPU_ARM_VM_VERSION_ARM_HPP
+#define CPU_ARM_VM_VERSION_ARM_HPP
#include "runtime/globals_extension.hpp"
#include "runtime/vm_version.hpp"
@@ -106,4 +106,4 @@
};
-#endif // CPU_ARM_VM_VM_VERSION_ARM_HPP
+#endif // CPU_ARM_VM_VERSION_ARM_HPP
--- a/src/hotspot/cpu/arm/vm_version_ext_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/vm_version_ext_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_VM_VERSION_EXT_ARM_HPP
-#define CPU_ARM_VM_VM_VERSION_EXT_ARM_HPP
+#ifndef CPU_ARM_VM_VERSION_EXT_ARM_HPP
+#define CPU_ARM_VM_VERSION_EXT_ARM_HPP
#include "utilities/macros.hpp"
#include "vm_version_arm.hpp"
@@ -51,4 +51,4 @@
};
-#endif // CPU_ARM_VM_VM_VERSION_EXT_ARM_HPP
+#endif // CPU_ARM_VM_VERSION_EXT_ARM_HPP
--- a/src/hotspot/cpu/arm/vmreg_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/vmreg_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_VMREG_ARM_HPP
-#define CPU_ARM_VM_VMREG_ARM_HPP
+#ifndef CPU_ARM_VMREG_ARM_HPP
+#define CPU_ARM_VMREG_ARM_HPP
inline bool is_Register() {
return (unsigned int) value() < (unsigned int) ConcreteRegisterImpl::max_gpr;
@@ -55,4 +55,4 @@
}
}
-#endif // CPU_ARM_VM_VMREG_ARM_HPP
+#endif // CPU_ARM_VMREG_ARM_HPP
--- a/src/hotspot/cpu/arm/vmreg_arm.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/arm/vmreg_arm.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ARM_VM_VMREG_ARM_INLINE_HPP
-#define CPU_ARM_VM_VMREG_ARM_INLINE_HPP
+#ifndef CPU_ARM_VMREG_ARM_INLINE_HPP
+#define CPU_ARM_VMREG_ARM_INLINE_HPP
inline VMReg RegisterImpl::as_VMReg() {
return VMRegImpl::as_VMReg(encoding() << ConcreteRegisterImpl::log_vmregs_per_gpr);
@@ -32,4 +32,4 @@
inline VMReg FloatRegisterImpl::as_VMReg() {
return VMRegImpl::as_VMReg((encoding() << ConcreteRegisterImpl::log_vmregs_per_fpr) + ConcreteRegisterImpl::max_gpr);
}
-#endif // CPU_ARM_VM_VMREG_ARM_INLINE_HPP
+#endif // CPU_ARM_VMREG_ARM_INLINE_HPP
--- a/src/hotspot/cpu/ppc/assembler_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/assembler_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_ASSEMBLER_PPC_HPP
-#define CPU_PPC_VM_ASSEMBLER_PPC_HPP
+#ifndef CPU_PPC_ASSEMBLER_PPC_HPP
+#define CPU_PPC_ASSEMBLER_PPC_HPP
#include "asm/register.hpp"
@@ -2450,4 +2450,4 @@
};
-#endif // CPU_PPC_VM_ASSEMBLER_PPC_HPP
+#endif // CPU_PPC_ASSEMBLER_PPC_HPP
--- a/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_ASSEMBLER_PPC_INLINE_HPP
-#define CPU_PPC_VM_ASSEMBLER_PPC_INLINE_HPP
+#ifndef CPU_PPC_ASSEMBLER_PPC_INLINE_HPP
+#define CPU_PPC_ASSEMBLER_PPC_INLINE_HPP
#include "asm/assembler.inline.hpp"
#include "asm/codeBuffer.hpp"
@@ -1127,4 +1127,4 @@
ori(d, d, i & 0xFFFF);
}
-#endif // CPU_PPC_VM_ASSEMBLER_PPC_INLINE_HPP
+#endif // CPU_PPC_ASSEMBLER_PPC_INLINE_HPP
--- a/src/hotspot/cpu/ppc/bytes_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/bytes_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_BYTES_PPC_HPP
-#define CPU_PPC_VM_BYTES_PPC_HPP
+#ifndef CPU_PPC_BYTES_PPC_HPP
+#define CPU_PPC_BYTES_PPC_HPP
#include "memory/allocation.hpp"
@@ -268,4 +268,4 @@
#include OS_CPU_HEADER_INLINE(bytes)
-#endif // CPU_PPC_VM_BYTES_PPC_HPP
+#endif // CPU_PPC_BYTES_PPC_HPP
--- a/src/hotspot/cpu/ppc/c1_Defs_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/c1_Defs_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_C1_DEFS_PPC_HPP
-#define CPU_PPC_VM_C1_DEFS_PPC_HPP
+#ifndef CPU_PPC_C1_DEFS_PPC_HPP
+#define CPU_PPC_C1_DEFS_PPC_HPP
// Native word offsets from memory address.
enum {
@@ -73,4 +73,4 @@
pd_float_saved_as_double = true
};
-#endif // CPU_PPC_VM_C1_DEFS_PPC_HPP
+#endif // CPU_PPC_C1_DEFS_PPC_HPP
--- a/src/hotspot/cpu/ppc/c1_FpuStackSim_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/c1_FpuStackSim_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,10 +23,10 @@
*
*/
-#ifndef CPU_PPC_VM_C1_FPUSTACKSIM_PPC_HPP
-#define CPU_PPC_VM_C1_FPUSTACKSIM_PPC_HPP
+#ifndef CPU_PPC_C1_FPUSTACKSIM_PPC_HPP
+#define CPU_PPC_C1_FPUSTACKSIM_PPC_HPP
// No FPU stack on PPC.
class FpuStackSim;
-#endif // CPU_PPC_VM_C1_FPUSTACKSIM_PPC_HPP
+#endif // CPU_PPC_C1_FPUSTACKSIM_PPC_HPP
--- a/src/hotspot/cpu/ppc/c1_FrameMap_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/c1_FrameMap_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_C1_FRAMEMAP_PPC_HPP
-#define CPU_PPC_VM_C1_FRAMEMAP_PPC_HPP
+#ifndef CPU_PPC_C1_FRAMEMAP_PPC_HPP
+#define CPU_PPC_C1_FRAMEMAP_PPC_HPP
public:
@@ -199,4 +199,4 @@
// R29: global TOC
static bool reg_needs_save(Register r) { return r != R0 && r != R1 && r != R13 && r != R16 && r != R29; }
-#endif // CPU_PPC_VM_C1_FRAMEMAP_PPC_HPP
+#endif // CPU_PPC_C1_FRAMEMAP_PPC_HPP
--- a/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_C1_LIRASSEMBLER_PPC_HPP
-#define CPU_PPC_VM_C1_LIRASSEMBLER_PPC_HPP
+#ifndef CPU_PPC_C1_LIRASSEMBLER_PPC_HPP
+#define CPU_PPC_C1_LIRASSEMBLER_PPC_HPP
private:
@@ -77,4 +77,4 @@
}
}
-#endif // CPU_PPC_VM_C1_LIRASSEMBLER_PPC_HPP
+#endif // CPU_PPC_C1_LIRASSEMBLER_PPC_HPP
--- a/src/hotspot/cpu/ppc/c1_LinearScan_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/c1_LinearScan_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_C1_LINEARSCAN_PPC_HPP
-#define CPU_PPC_VM_C1_LINEARSCAN_PPC_HPP
+#ifndef CPU_PPC_C1_LINEARSCAN_PPC_HPP
+#define CPU_PPC_C1_LINEARSCAN_PPC_HPP
inline bool LinearScan::is_processed_reg_num(int reg_num) {
assert(FrameMap::R0_opr->cpu_regnr() == FrameMap::last_cpu_reg() + 1, "wrong assumption below");
@@ -70,4 +70,4 @@
return false;
}
-#endif // CPU_PPC_VM_C1_LINEARSCAN_PPC_HPP
+#endif // CPU_PPC_C1_LINEARSCAN_PPC_HPP
--- a/src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_C1_MACROASSEMBLER_PPC_HPP
-#define CPU_PPC_VM_C1_MACROASSEMBLER_PPC_HPP
+#ifndef CPU_PPC_C1_MACROASSEMBLER_PPC_HPP
+#define CPU_PPC_C1_MACROASSEMBLER_PPC_HPP
void pd_init() { /* nothing to do */ }
@@ -90,4 +90,4 @@
address call_c_with_frame_resize(address dest, int frame_resize);
-#endif // CPU_PPC_VM_C1_MACROASSEMBLER_PPC_HPP
+#endif // CPU_PPC_C1_MACROASSEMBLER_PPC_HPP
--- a/src/hotspot/cpu/ppc/c1_globals_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/c1_globals_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_C1_GLOBALS_PPC_HPP
-#define CPU_PPC_VM_C1_GLOBALS_PPC_HPP
+#ifndef CPU_PPC_C1_GLOBALS_PPC_HPP
+#define CPU_PPC_C1_GLOBALS_PPC_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -65,4 +65,4 @@
define_pd_global(bool, CSEArrayLength, true);
define_pd_global(bool, TwoOperandLIRForm, false);
-#endif // CPU_PPC_VM_C1_GLOBALS_PPC_HPP
+#endif // CPU_PPC_C1_GLOBALS_PPC_HPP
--- a/src/hotspot/cpu/ppc/c2_globals_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/c2_globals_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_C2_GLOBALS_PPC_HPP
-#define CPU_PPC_VM_C2_GLOBALS_PPC_HPP
+#ifndef CPU_PPC_C2_GLOBALS_PPC_HPP
+#define CPU_PPC_C2_GLOBALS_PPC_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -101,4 +101,4 @@
// Ergonomics related flags
define_pd_global(bool, NeverActAsServerClassMachine, false);
-#endif // CPU_PPC_VM_C2_GLOBALS_PPC_HPP
+#endif // CPU_PPC_C2_GLOBALS_PPC_HPP
--- a/src/hotspot/cpu/ppc/codeBuffer_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/codeBuffer_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_CODEBUFFER_PPC_HPP
-#define CPU_PPC_VM_CODEBUFFER_PPC_HPP
+#ifndef CPU_PPC_CODEBUFFER_PPC_HPP
+#define CPU_PPC_CODEBUFFER_PPC_HPP
private:
void pd_initialize() {}
@@ -32,4 +32,4 @@
public:
void flush_bundle(bool start_new_bundle) {}
-#endif // CPU_PPC_VM_CODEBUFFER_PPC_HPP
+#endif // CPU_PPC_CODEBUFFER_PPC_HPP
--- a/src/hotspot/cpu/ppc/copy_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/copy_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_COPY_PPC_HPP
-#define CPU_PPC_VM_COPY_PPC_HPP
+#ifndef CPU_PPC_COPY_PPC_HPP
+#define CPU_PPC_COPY_PPC_HPP
#ifndef PPC64
#error "copy currently only implemented for PPC64"
@@ -168,4 +168,4 @@
(void)memset(to, 0, count);
}
-#endif // CPU_PPC_VM_COPY_PPC_HPP
+#endif // CPU_PPC_COPY_PPC_HPP
--- a/src/hotspot/cpu/ppc/depChecker_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/depChecker_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,9 +23,9 @@
*
*/
-#ifndef CPU_PPC_VM_DEPCHECKER_PPC_HPP
-#define CPU_PPC_VM_DEPCHECKER_PPC_HPP
+#ifndef CPU_PPC_DEPCHECKER_PPC_HPP
+#define CPU_PPC_DEPCHECKER_PPC_HPP
// Nothing to do on ppc64
-#endif // CPU_PPC_VM_DEPCHECKER_PPC_HPP
+#endif // CPU_PPC_DEPCHECKER_PPC_HPP
--- a/src/hotspot/cpu/ppc/disassembler_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/disassembler_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_DISASSEMBLER_PPC_HPP
-#define CPU_PPC_VM_DISASSEMBLER_PPC_HPP
+#ifndef CPU_PPC_DISASSEMBLER_PPC_HPP
+#define CPU_PPC_DISASSEMBLER_PPC_HPP
static int pd_instruction_alignment() {
return sizeof(int);
@@ -34,4 +34,4 @@
return "ppc64";
}
-#endif // CPU_PPC_VM_DISASSEMBLER_PPC_HPP
+#endif // CPU_PPC_DISASSEMBLER_PPC_HPP
--- a/src/hotspot/cpu/ppc/frame_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/frame_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_FRAME_PPC_HPP
-#define CPU_PPC_VM_FRAME_PPC_HPP
+#ifndef CPU_PPC_FRAME_PPC_HPP
+#define CPU_PPC_FRAME_PPC_HPP
#include "runtime/synchronizer.hpp"
@@ -427,4 +427,4 @@
static jint interpreter_frame_expression_stack_direction() { return -1; }
-#endif // CPU_PPC_VM_FRAME_PPC_HPP
+#endif // CPU_PPC_FRAME_PPC_HPP
--- a/src/hotspot/cpu/ppc/frame_ppc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/frame_ppc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_FRAME_PPC_INLINE_HPP
-#define CPU_PPC_VM_FRAME_PPC_INLINE_HPP
+#ifndef CPU_PPC_FRAME_PPC_INLINE_HPP
+#define CPU_PPC_FRAME_PPC_INLINE_HPP
#include "code/codeCache.hpp"
#include "code/vmreg.inline.hpp"
@@ -220,4 +220,4 @@
*((oop*)map->location(R3->as_VMReg())) = obj;
}
-#endif // CPU_PPC_VM_FRAME_PPC_INLINE_HPP
+#endif // CPU_PPC_FRAME_PPC_INLINE_HPP
--- a/src/hotspot/cpu/ppc/globalDefinitions_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/globalDefinitions_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_GLOBALDEFINITIONS_PPC_HPP
-#define CPU_PPC_VM_GLOBALDEFINITIONS_PPC_HPP
+#ifndef CPU_PPC_GLOBALDEFINITIONS_PPC_HPP
+#define CPU_PPC_GLOBALDEFINITIONS_PPC_HPP
#ifdef CC_INTERP
#error "CC_INTERP is no longer supported. Removed in change 8145117."
@@ -60,4 +60,4 @@
// Define the condition to use this -XX flag.
#define USE_POLL_BIT_ONLY UseSIGTRAP
-#endif // CPU_PPC_VM_GLOBALDEFINITIONS_PPC_HPP
+#endif // CPU_PPC_GLOBALDEFINITIONS_PPC_HPP
--- a/src/hotspot/cpu/ppc/globals_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/globals_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_GLOBALS_PPC_HPP
-#define CPU_PPC_VM_GLOBALS_PPC_HPP
+#ifndef CPU_PPC_GLOBALS_PPC_HPP
+#define CPU_PPC_GLOBALS_PPC_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -207,4 +207,4 @@
experimental(bool, UseRTMXendForLockBusy, true, \
"Use RTM Xend instead of Xabort when lock busy") \
-#endif // CPU_PPC_VM_GLOBALS_PPC_HPP
+#endif // CPU_PPC_GLOBALS_PPC_HPP
--- a/src/hotspot/cpu/ppc/icache_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/icache_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_ICACHE_PPC_HPP
-#define CPU_PPC_VM_ICACHE_PPC_HPP
+#ifndef CPU_PPC_ICACHE_PPC_HPP
+#define CPU_PPC_ICACHE_PPC_HPP
// Interface for updating the instruction cache. Whenever the VM modifies
// code, part of the processor instruction cache potentially has to be flushed.
@@ -49,4 +49,4 @@
}
};
-#endif // CPU_PPC_VM_ICACHE_PPC_HPP
+#endif // CPU_PPC_ICACHE_PPC_HPP
--- a/src/hotspot/cpu/ppc/interp_masm_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/interp_masm_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2017 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_INTERP_MASM_PPC_HPP
-#define CPU_PPC_VM_INTERP_MASM_PPC_HPP
+#ifndef CPU_PPC_INTERP_MASM_PPC_HPP
+#define CPU_PPC_INTERP_MASM_PPC_HPP
#include "asm/macroAssembler.hpp"
#include "interpreter/invocationCounter.hpp"
@@ -266,4 +266,4 @@
NotifyMethodExitMode mode, bool check_exceptions);
};
-#endif // CPU_PPC_VM_INTERP_MASM_PPC_HPP
+#endif // CPU_PPC_INTERP_MASM_PPC_HPP
--- a/src/hotspot/cpu/ppc/interpreterRT_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/interpreterRT_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_INTERPRETERRT_PPC_HPP
-#define CPU_PPC_VM_INTERPRETERRT_PPC_HPP
+#ifndef CPU_PPC_INTERPRETERRT_PPC_HPP
+#define CPU_PPC_INTERPRETERRT_PPC_HPP
// This is included in the middle of class Interpreter.
// Do not include files here.
@@ -57,4 +57,4 @@
// A function to get the signature.
static address get_signature(JavaThread* thread, Method* method);
-#endif // CPU_PPC_VM_INTERPRETERRT_PPC_HPP
+#endif // CPU_PPC_INTERPRETERRT_PPC_HPP
--- a/src/hotspot/cpu/ppc/javaFrameAnchor_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/javaFrameAnchor_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_JAVAFRAMEANCHOR_PPC_HPP
-#define CPU_PPC_VM_JAVAFRAMEANCHOR_PPC_HPP
+#ifndef CPU_PPC_JAVAFRAMEANCHOR_PPC_HPP
+#define CPU_PPC_JAVAFRAMEANCHOR_PPC_HPP
public:
// Each arch must define reset, save, restore
@@ -75,4 +75,4 @@
void set_last_Java_sp(intptr_t* sp) { OrderAccess::release(); _last_Java_sp = sp; }
-#endif // CPU_PPC_VM_JAVAFRAMEANCHOR_PPC_HPP
+#endif // CPU_PPC_JAVAFRAMEANCHOR_PPC_HPP
--- a/src/hotspot/cpu/ppc/jniTypes_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/jniTypes_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_JNITYPES_PPC_HPP
-#define CPU_PPC_VM_JNITYPES_PPC_HPP
+#ifndef CPU_PPC_JNITYPES_PPC_HPP
+#define CPU_PPC_JNITYPES_PPC_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -107,4 +107,4 @@
static inline jdouble get_double(intptr_t *from) { return *(jdouble *)(from + 1); }
};
-#endif // CPU_PPC_VM_JNITYPES_PPC_HPP
+#endif // CPU_PPC_JNITYPES_PPC_HPP
--- a/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, 2018, SAP SE. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, SAP SE. 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
@@ -3974,7 +3974,7 @@
* Emits code to update CRC-32 with a 4-byte value according to constants in table
* Implementation according to jdk/src/share/native/java/util/zip/zlib-1.2.8/crc32.c
*/
-// A not on the lookup table address(es):
+// A note on the lookup table address(es):
// The lookup table consists of two sets of four columns each.
// The columns {0..3} are used for little-endian machines.
// The columns {4..7} are used for big-endian machines.
@@ -4147,57 +4147,50 @@
* @param len register containing number of bytes
* @param table register pointing to CRC table
* @param constants register pointing to CRC table for 128-bit aligned memory
- * @param barretConstants register pointing to table for barrett reduction
- * @param t0-t4 temp registers
+ * @param t0-t5 temp registers
*/
-void MacroAssembler::kernel_crc32_1word_vpmsum(Register crc, Register buf, Register len, Register table,
- Register constants, Register barretConstants,
- Register t0, Register t1, Register t2, Register t3, Register t4,
- bool invertCRC) {
+void MacroAssembler::kernel_crc32_vpmsum(Register crc, Register buf, Register len, Register table,
+ Register constants, Register t0, Register t1, Register t2,
+ Register t3, Register t4, Register t5, bool invertCRC) {
assert_different_registers(crc, buf, len, table);
- Label L_alignedHead, L_tail;
-
- BLOCK_COMMENT("kernel_crc32_1word_vpmsum {");
-
- // 1. ~c
+ Label L_tail;
+
+ BLOCK_COMMENT("kernel_crc32_vpmsum {");
+
if (invertCRC) {
nand(crc, crc, crc); // 1s complement of crc
}
- // 2. use kernel_crc32_1word for short len
+ // Enforce 32 bit.
clrldi(len, len, 32);
- cmpdi(CCR0, len, 512);
- blt(CCR0, L_tail);
-
- // 3. calculate from 0 to first aligned address
- const int alignment = 16;
+
+ // Align if we have enough bytes for the fast version.
+ const int alignment = 16,
+ threshold = 32;
Register prealign = t0;
- andi_(prealign, buf, alignment - 1);
- beq(CCR0, L_alignedHead);
- subfic(prealign, prealign, alignment);
+ neg(prealign, buf);
+ addi(t1, len, -threshold);
+ andi(prealign, prealign, alignment - 1);
+ cmpw(CCR0, t1, prealign);
+ blt(CCR0, L_tail); // len - prealign < threshold?
subf(len, prealign, len);
update_byteLoop_crc32(crc, buf, prealign, table, t2, false);
- // 4. calculate from first aligned address as far as possible
- BIND(L_alignedHead);
- kernel_crc32_1word_aligned(crc, buf, len, constants, barretConstants, t0, t1, t2, t3, t4);
-
- // 5. remaining bytes
+ // Calculate from first aligned address as far as possible.
+ kernel_crc32_vpmsum_aligned(crc, buf, len, constants, t0, t1, t2, t3, t4, t5);
+
+ // Remaining bytes.
BIND(L_tail);
- Register tc0 = t4;
- Register tc1 = constants;
- Register tc2 = barretConstants;
- kernel_crc32_1word(crc, buf, len, table, t0, t1, t2, t3, tc0, tc1, tc2, table, false);
-
- // 6. ~c
+ update_byteLoop_crc32(crc, buf, len, table, t2, false);
+
if (invertCRC) {
nand(crc, crc, crc); // 1s complement of crc
}
- BLOCK_COMMENT("} kernel_crc32_1word_vpmsum");
+ BLOCK_COMMENT("} kernel_crc32_vpmsum");
}
/**
@@ -4205,13 +4198,10 @@
* @param buf register pointing to input byte buffer (byte*)
* @param len register containing number of bytes (will get updated to remaining bytes)
* @param constants register pointing to CRC table for 128-bit aligned memory
- * @param barretConstants register pointing to table for barrett reduction
- * @param t0-t4 temp registers
- * Precondition: len should be >= 512. Otherwise, nothing will be done.
+ * @param t0-t5 temp registers
*/
-void MacroAssembler::kernel_crc32_1word_aligned(Register crc, Register buf, Register len,
- Register constants, Register barretConstants,
- Register t0, Register t1, Register t2, Register t3, Register t4) {
+void MacroAssembler::kernel_crc32_vpmsum_aligned(Register crc, Register buf, Register len,
+ Register constants, Register t0, Register t1, Register t2, Register t3, Register t4, Register t5) {
// Save non-volatile vector registers (frameless).
Register offset = t1;
@@ -4228,7 +4218,6 @@
offsetInt -= 8; std(R14, offsetInt, R1_SP);
offsetInt -= 8; std(R15, offsetInt, R1_SP);
offsetInt -= 8; std(R16, offsetInt, R1_SP);
- offsetInt -= 8; std(R17, offsetInt, R1_SP);
// Implementation uses an inner loop which uses between 256 and 16 * unroll_factor
// bytes per iteration. The basic scheme is:
@@ -4239,14 +4228,17 @@
// Outer loop performs the CRC shifts needed to combine the unroll_factor2 vectors.
// Using 16 * unroll_factor / unroll_factor_2 bytes for constants.
- const int unroll_factor = 2048;
- const int unroll_factor2 = 8;
+ const int unroll_factor = CRC32_UNROLL_FACTOR,
+ unroll_factor2 = CRC32_UNROLL_FACTOR2;
+
+ const int outer_consts_size = (unroll_factor2 - 1) * 16,
+ inner_consts_size = (unroll_factor / unroll_factor2) * 16;
// Support registers.
- Register offs[] = { noreg, t0, t1, t2, t3, t4, crc /* will live in VCRC */, R14 };
- Register num_bytes = R15,
- loop_count = R16,
- cur_const = R17;
+ Register offs[] = { noreg, t0, t1, t2, t3, t4, t5, crc /* will live in VCRC */ };
+ Register num_bytes = R14,
+ loop_count = R15,
+ cur_const = R16;
// Constant array for outer loop: unroll_factor2 - 1 registers,
// Constant array for inner loop: unroll_factor / unroll_factor2 registers.
VectorRegister consts0[] = { VR16, VR17, VR18, VR19, VR20, VR21, VR22 },
@@ -4268,7 +4260,7 @@
mtdscr(t0);
}
- mtvrwz(VCRC, crc); // crc lives lives in VCRC, now
+ mtvrwz(VCRC, crc); // crc lives in VCRC, now
for (int i = 1; i < unroll_factor2; ++i) {
li(offs[i], 16 * i);
@@ -4279,10 +4271,8 @@
for (int i = 1; i < unroll_factor2 - 1; ++i) {
lvx(consts0[i], offs[i], constants);
}
- addi(constants, constants, (unroll_factor2 - 1) * 16);
load_const_optimized(num_bytes, 16 * unroll_factor);
- load_const_optimized(loop_count, unroll_factor / (2 * unroll_factor2) - 1); // One double-iteration peeled off.
// Reuse data registers outside of the loop.
VectorRegister Vtmp = data1[0];
@@ -4310,13 +4300,15 @@
cmpd(CCR0, len, num_bytes);
blt(CCR0, L_last);
+ addi(cur_const, constants, outer_consts_size); // Point to consts for inner loop
+ load_const_optimized(loop_count, unroll_factor / (2 * unroll_factor2) - 1); // One double-iteration peeled off.
+
// ********** Main loop start **********
align(32);
bind(L_outer_loop);
// Begin of unrolled first iteration (no xor).
lvx(data1[0], buf);
- mr(cur_const, constants);
for (int i = 1; i < unroll_factor2 / 2; ++i) {
lvx(data1[i], offs[i], buf);
}
@@ -4369,6 +4361,8 @@
}
bdnz(L_inner_loop);
+ addi(cur_const, constants, outer_consts_size); // Reset
+
// Tail of last iteration (no loads).
for (int i = 0; i < unroll_factor2 / 2; ++i) {
BE_swap_bytes(data1[i + unroll_factor2 / 2]);
@@ -4397,15 +4391,15 @@
// Last chance with lower num_bytes.
bind(L_last);
srdi(loop_count, len, exact_log2(16 * 2 * unroll_factor2)); // Use double-iterations.
- add_const_optimized(constants, constants, 16 * (unroll_factor / unroll_factor2)); // Point behind last one.
+ // Point behind last const for inner loop.
+ add_const_optimized(cur_const, constants, outer_consts_size + inner_consts_size);
sldi(R0, loop_count, exact_log2(16 * 2)); // Bytes of constants to be used.
clrrdi(num_bytes, len, exact_log2(16 * 2 * unroll_factor2));
- subf(constants, R0, constants); // Point to constant to be used first.
+ subf(cur_const, R0, cur_const); // Point to constant to be used first.
addic_(loop_count, loop_count, -1); // One double-iteration peeled off.
bgt(CCR0, L_outer_loop);
// ********** Main loop end **********
-#undef BE_swap_bytes
// Restore DSCR pre-fetch value.
if (VM_Version::has_mfdscr()) {
@@ -4413,13 +4407,45 @@
mtdscr(t0);
}
+ // ********** Simple loop for remaining 16 byte blocks **********
+ {
+ Label L_loop, L_done;
+
+ srdi_(t0, len, 4); // 16 bytes per iteration
+ clrldi(len, len, 64-4);
+ beq(CCR0, L_done);
+
+ // Point to const (same as last const for inner loop).
+ add_const_optimized(cur_const, constants, outer_consts_size + inner_consts_size - 16);
+ mtctr(t0);
+ lvx(Vtmp2, cur_const);
+
+ align(32);
+ bind(L_loop);
+
+ lvx(Vtmp, buf);
+ addi(buf, buf, 16);
+ vpermxor(VCRC, VCRC, VCRC, Vc); // xor both halves to 64 bit result.
+ BE_swap_bytes(Vtmp);
+ vxor(VCRC, VCRC, Vtmp);
+ vpmsumw(VCRC, VCRC, Vtmp2);
+ bdnz(L_loop);
+
+ bind(L_done);
+ }
+ // ********** Simple loop end **********
+#undef BE_swap_bytes
+
+ // Point to Barrett constants
+ add_const_optimized(cur_const, constants, outer_consts_size + inner_consts_size);
+
vspltisb(zeroes, 0);
// Combine to 64 bit result.
vpermxor(VCRC, VCRC, VCRC, Vc); // xor both halves to 64 bit result.
// Reduce to 32 bit CRC: Remainder by multiply-high.
- lvx(Vtmp, barretConstants);
+ lvx(Vtmp, cur_const);
vsldoi(Vtmp2, zeroes, VCRC, 12); // Extract high 32 bit.
vpmsumd(Vtmp2, Vtmp2, Vtmp); // Multiply by inverse long poly.
vsldoi(Vtmp2, zeroes, Vtmp2, 12); // Extract high 32 bit.
@@ -4445,7 +4471,20 @@
offsetInt -= 8; ld(R14, offsetInt, R1_SP);
offsetInt -= 8; ld(R15, offsetInt, R1_SP);
offsetInt -= 8; ld(R16, offsetInt, R1_SP);
- offsetInt -= 8; ld(R17, offsetInt, R1_SP);
+}
+
+void MacroAssembler::crc32(Register crc, Register buf, Register len, Register t0, Register t1, Register t2,
+ Register t3, Register t4, Register t5, Register t6, Register t7, bool is_crc32c) {
+ load_const_optimized(t0, is_crc32c ? StubRoutines::crc32c_table_addr()
+ : StubRoutines::crc_table_addr() , R0);
+
+ if (VM_Version::has_vpmsumb()) {
+ load_const_optimized(t1, is_crc32c ? StubRoutines::ppc64::crc32c_constants()
+ : StubRoutines::ppc64::crc_constants() , R0);
+ kernel_crc32_vpmsum(crc, buf, len, t0, t1, t2, t3, t4, t5, t6, t7, !is_crc32c);
+ } else {
+ kernel_crc32_1word(crc, buf, len, t0, t1, t2, t3, t4, t5, t6, t7, t0, !is_crc32c);
+ }
}
void MacroAssembler::kernel_crc32_singleByte(Register crc, Register buf, Register len, Register table, Register tmp, bool invertCRC) {
--- a/src/hotspot/cpu/ppc/macroAssembler_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/macroAssembler_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, 2018, SAP SE. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, SAP SE. 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
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_MACROASSEMBLER_PPC_HPP
-#define CPU_PPC_VM_MACROASSEMBLER_PPC_HPP
+#ifndef CPU_PPC_MACROASSEMBLER_PPC_HPP
+#define CPU_PPC_MACROASSEMBLER_PPC_HPP
#include "asm/assembler.hpp"
#include "oops/accessDecorators.hpp"
@@ -842,13 +842,14 @@
void kernel_crc32_1byte(Register crc, Register buf, Register len, Register table,
Register t0, Register t1, Register t2, Register t3,
bool invertCRC);
- void kernel_crc32_1word_vpmsum(Register crc, Register buf, Register len, Register table,
- Register constants, Register barretConstants,
- Register t0, Register t1, Register t2, Register t3, Register t4,
+ void kernel_crc32_vpmsum(Register crc, Register buf, Register len, Register table, Register constants,
+ Register t0, Register t1, Register t2, Register t3, Register t4, Register t5,
bool invertCRC);
- void kernel_crc32_1word_aligned(Register crc, Register buf, Register len,
- Register constants, Register barretConstants,
- Register t0, Register t1, Register t2, Register t3, Register t4);
+ void kernel_crc32_vpmsum_aligned(Register crc, Register buf, Register len, Register constants,
+ Register t0, Register t1, Register t2, Register t3, Register t4, Register t5);
+ // Version which internally decides what to use.
+ void crc32(Register crc, Register buf, Register len, Register t0, Register t1, Register t2,
+ Register t3, Register t4, Register t5, Register t6, Register t7, bool is_crc32c);
void kernel_crc32_singleByte(Register crc, Register buf, Register len, Register table, Register tmp,
bool invertCRC);
@@ -970,4 +971,4 @@
~SkipIfEqualZero();
};
-#endif // CPU_PPC_VM_MACROASSEMBLER_PPC_HPP
+#endif // CPU_PPC_MACROASSEMBLER_PPC_HPP
--- a/src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_MACROASSEMBLER_PPC_INLINE_HPP
-#define CPU_PPC_VM_MACROASSEMBLER_PPC_INLINE_HPP
+#ifndef CPU_PPC_MACROASSEMBLER_PPC_INLINE_HPP
+#define CPU_PPC_MACROASSEMBLER_PPC_INLINE_HPP
#include "asm/assembler.inline.hpp"
#include "asm/macroAssembler.hpp"
@@ -480,4 +480,4 @@
inline address MacroAssembler::function_entry() { return emit_fd(); }
#endif
-#endif // CPU_PPC_VM_MACROASSEMBLER_PPC_INLINE_HPP
+#endif // CPU_PPC_MACROASSEMBLER_PPC_INLINE_HPP
--- a/src/hotspot/cpu/ppc/nativeInst_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/nativeInst_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_NATIVEINST_PPC_HPP
-#define CPU_PPC_VM_NATIVEINST_PPC_HPP
+#ifndef CPU_PPC_NATIVEINST_PPC_HPP
+#define CPU_PPC_NATIVEINST_PPC_HPP
#include "asm/macroAssembler.hpp"
#include "runtime/icache.hpp"
@@ -503,4 +503,4 @@
}
};
-#endif // CPU_PPC_VM_NATIVEINST_PPC_HPP
+#endif // CPU_PPC_NATIVEINST_PPC_HPP
--- a/src/hotspot/cpu/ppc/registerMap_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/registerMap_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_REGISTERMAP_PPC_HPP
-#define CPU_PPC_VM_REGISTERMAP_PPC_HPP
+#ifndef CPU_PPC_REGISTERMAP_PPC_HPP
+#define CPU_PPC_REGISTERMAP_PPC_HPP
// machine-dependent implemention for register maps
friend class frame;
@@ -42,4 +42,4 @@
void pd_initialize() {}
void pd_initialize_from(const RegisterMap* map) {}
-#endif // CPU_PPC_VM_REGISTERMAP_PPC_HPP
+#endif // CPU_PPC_REGISTERMAP_PPC_HPP
--- a/src/hotspot/cpu/ppc/register_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/register_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_REGISTER_PPC_HPP
-#define CPU_PPC_VM_REGISTER_PPC_HPP
+#ifndef CPU_PPC_REGISTER_PPC_HPP
+#define CPU_PPC_REGISTER_PPC_HPP
#include "asm/register.hpp"
@@ -818,4 +818,4 @@
#define R12_scratch2 AS_REGISTER(Register, R12)
#endif
-#endif // CPU_PPC_VM_REGISTER_PPC_HPP
+#endif // CPU_PPC_REGISTER_PPC_HPP
--- a/src/hotspot/cpu/ppc/relocInfo_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/relocInfo_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_RELOCINFO_PPC_HPP
-#define CPU_PPC_VM_RELOCINFO_PPC_HPP
+#ifndef CPU_PPC_RELOCINFO_PPC_HPP
+#define CPU_PPC_RELOCINFO_PPC_HPP
// machine-dependent parts of class relocInfo
private:
@@ -49,4 +49,4 @@
// listed in the oop section.
static bool mustIterateImmediateOopsInCode() { return false; }
-#endif // CPU_PPC_VM_RELOCINFO_PPC_HPP
+#endif // CPU_PPC_RELOCINFO_PPC_HPP
--- a/src/hotspot/cpu/ppc/stubGenerator_ppc.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/stubGenerator_ppc.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, 2018, SAP SE. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, SAP SE. 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
@@ -269,7 +269,7 @@
// when called via a c2i.
// Pass initial_caller_sp to framemanager.
- __ mr(R21_tmp1, R1_SP);
+ __ mr(R21_sender_SP, R1_SP);
// Do a light-weight C-call here, r_new_arg_entry holds the address
// of the interpreter entry point (frame manager or native entry)
@@ -3186,35 +3186,6 @@
return start;
}
-
- // Compute CRC32/CRC32C function.
- void generate_CRC_updateBytes(const char* name, Register table, bool invertCRC) {
-
- // arguments to kernel_crc32:
- const Register crc = R3_ARG1; // Current checksum, preset by caller or result from previous call.
- const Register data = R4_ARG2; // source byte array
- const Register dataLen = R5_ARG3; // #bytes to process
-
- const Register t0 = R2;
- const Register t1 = R7;
- const Register t2 = R8;
- const Register t3 = R9;
- const Register tc0 = R10;
- const Register tc1 = R11;
- const Register tc2 = R12;
-
- BLOCK_COMMENT("Stub body {");
- assert_different_registers(crc, data, dataLen, table);
-
- __ kernel_crc32_1word(crc, data, dataLen, table, t0, t1, t2, t3, tc0, tc1, tc2, table, invertCRC);
-
- BLOCK_COMMENT("return");
- __ mr_if_needed(R3_RET, crc); // Updated crc is function result. No copying required (R3_ARG1 == R3_RET).
- __ blr();
-
- BLOCK_COMMENT("} Stub body");
- }
-
/**
* Arguments:
*
@@ -3492,111 +3463,15 @@
* R3_RET - int crc result
*/
// Compute CRC32 function.
- address generate_CRC32_updateBytes(const char* name) {
+ address generate_CRC32_updateBytes(bool is_crc32c) {
__ align(CodeEntryAlignment);
- StubCodeMark mark(this, "StubRoutines", name);
+ StubCodeMark mark(this, "StubRoutines", is_crc32c ? "CRC32C_updateBytes" : "CRC32_updateBytes");
address start = __ function_entry(); // Remember stub start address (is rtn value).
-
- const Register table = R6; // crc table address
-
- // arguments to kernel_crc32:
- const Register crc = R3_ARG1; // Current checksum, preset by caller or result from previous call.
- const Register data = R4_ARG2; // source byte array
- const Register dataLen = R5_ARG3; // #bytes to process
-
- if (VM_Version::has_vpmsumb()) {
- const Register constants = R2; // constants address
- const Register bconstants = R8; // barret table address
-
- const Register t0 = R9;
- const Register t1 = R10;
- const Register t2 = R11;
- const Register t3 = R12;
- const Register t4 = R7;
-
- BLOCK_COMMENT("Stub body {");
- assert_different_registers(crc, data, dataLen, table);
-
- StubRoutines::ppc64::generate_load_crc_table_addr(_masm, table);
- StubRoutines::ppc64::generate_load_crc_constants_addr(_masm, constants);
- StubRoutines::ppc64::generate_load_crc_barret_constants_addr(_masm, bconstants);
-
- __ kernel_crc32_1word_vpmsum(crc, data, dataLen, table, constants, bconstants, t0, t1, t2, t3, t4, true);
-
- BLOCK_COMMENT("return");
- __ mr_if_needed(R3_RET, crc); // Updated crc is function result. No copying required (R3_ARG1 == R3_RET).
- __ blr();
-
- BLOCK_COMMENT("} Stub body");
- } else {
- StubRoutines::ppc64::generate_load_crc_table_addr(_masm, table);
- generate_CRC_updateBytes(name, table, true);
- }
-
+ __ crc32(R3_ARG1, R4_ARG2, R5_ARG3, R2, R6, R7, R8, R9, R10, R11, R12, is_crc32c);
+ __ blr();
return start;
}
-
- /**
- * Arguments:
- *
- * Inputs:
- * R3_ARG1 - int crc
- * R4_ARG2 - byte* buf
- * R5_ARG3 - int length (of buffer)
- *
- * scratch:
- * R2, R6-R12
- *
- * Ouput:
- * R3_RET - int crc result
- */
- // Compute CRC32C function.
- address generate_CRC32C_updateBytes(const char* name) {
- __ align(CodeEntryAlignment);
- StubCodeMark mark(this, "StubRoutines", name);
- address start = __ function_entry(); // Remember stub start address (is rtn value).
-
- const Register table = R6; // crc table address
-
- // arguments to kernel_crc32:
- const Register crc = R3_ARG1; // Current checksum, preset by caller or result from previous call.
- const Register data = R4_ARG2; // source byte array
- const Register dataLen = R5_ARG3; // #bytes to process
-
- if (VM_Version::has_vpmsumb()) {
- const Register constants = R2; // constants address
- const Register bconstants = R8; // barret table address
-
- const Register t0 = R9;
- const Register t1 = R10;
- const Register t2 = R11;
- const Register t3 = R12;
- const Register t4 = R7;
-
- BLOCK_COMMENT("Stub body {");
- assert_different_registers(crc, data, dataLen, table);
-
- StubRoutines::ppc64::generate_load_crc32c_table_addr(_masm, table);
- StubRoutines::ppc64::generate_load_crc32c_constants_addr(_masm, constants);
- StubRoutines::ppc64::generate_load_crc32c_barret_constants_addr(_masm, bconstants);
-
- __ kernel_crc32_1word_vpmsum(crc, data, dataLen, table, constants, bconstants, t0, t1, t2, t3, t4, false);
-
- BLOCK_COMMENT("return");
- __ mr_if_needed(R3_RET, crc); // Updated crc is function result. No copying required (R3_ARG1 == R3_RET).
- __ blr();
-
- BLOCK_COMMENT("} Stub body");
- } else {
- StubRoutines::ppc64::generate_load_crc32c_table_addr(_masm, table);
- generate_CRC_updateBytes(name, table, false);
- }
-
- return start;
- }
-
-
// Initialization
void generate_initial() {
// Generates all stubs and initializes the entry points
@@ -3621,14 +3496,20 @@
// CRC32 Intrinsics.
if (UseCRC32Intrinsics) {
- StubRoutines::_crc_table_adr = (address)StubRoutines::ppc64::_crc_table;
- StubRoutines::_updateBytesCRC32 = generate_CRC32_updateBytes("CRC32_updateBytes");
+ StubRoutines::_crc_table_adr = (address)StubRoutines::ppc64::_crc_table;
+ if (VM_Version::has_vpmsumb()) {
+ StubRoutines::ppc64::_crc_constants = StubRoutines::ppc64::generate_crc_constants(REVERSE_CRC32_POLY);
+ }
+ StubRoutines::_updateBytesCRC32 = generate_CRC32_updateBytes(false);
}
// CRC32C Intrinsics.
if (UseCRC32CIntrinsics) {
StubRoutines::_crc32c_table_addr = (address)StubRoutines::ppc64::_crc32c_table;
- StubRoutines::_updateBytesCRC32C = generate_CRC32C_updateBytes("CRC32C_updateBytes");
+ if (VM_Version::has_vpmsumb()) {
+ StubRoutines::ppc64::_crc32c_constants = StubRoutines::ppc64::generate_crc_constants(REVERSE_CRC32C_POLY);
+ }
+ StubRoutines::_updateBytesCRC32C = generate_CRC32_updateBytes(true);
}
}
--- a/src/hotspot/cpu/ppc/stubRoutines_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/stubRoutines_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, 2018, SAP SE. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, SAP SE. 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
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_STUBROUTINES_PPC_HPP
-#define CPU_PPC_VM_STUBROUTINES_PPC_HPP
+#ifndef CPU_PPC_STUBROUTINES_PPC_HPP
+#define CPU_PPC_STUBROUTINES_PPC_HPP
// This file holds the platform specific parts of the StubRoutines
// definition. See stubRoutines.hpp for a description on how to
@@ -45,8 +45,14 @@
#else
#define CRC32_TABLES 1
#endif
-#define CRC32_CONSTANTS_SIZE 1084
-#define CRC32_BARRET_CONSTANTS 10
+
+#define REVERSE_CRC32_POLY 0xEDB88320
+#define REVERSE_CRC32C_POLY 0x82F63B78
+#define INVERSE_REVERSE_CRC32_POLY 0x1aab14226ull
+#define INVERSE_REVERSE_CRC32C_POLY 0x105fd79bdull
+#define CRC32_UNROLL_FACTOR 2048
+#define CRC32_UNROLL_FACTOR2 8
+
class ppc64 {
friend class StubGenerator;
@@ -56,20 +62,15 @@
// CRC32 Intrinsics.
static juint _crc_table[CRC32_TABLES][CRC32_COLUMN_SIZE];
static juint _crc32c_table[CRC32_TABLES][CRC32_COLUMN_SIZE];
- static juint *_crc_constants, *_crc_barret_constants;
- static juint *_crc32c_constants, *_crc32c_barret_constants;
+ static juint *_crc_constants;
+ static juint *_crc32c_constants;
public:
// CRC32 Intrinsics.
- static void generate_load_crc_table_addr(MacroAssembler* masm, Register table);
- static void generate_load_crc_constants_addr(MacroAssembler* masm, Register table);
- static void generate_load_crc_barret_constants_addr(MacroAssembler* masm, Register table);
- static void generate_load_crc32c_table_addr(MacroAssembler* masm, Register table);
- static void generate_load_crc32c_constants_addr(MacroAssembler* masm, Register table);
- static void generate_load_crc32c_barret_constants_addr(MacroAssembler* masm, Register table);
+ static address crc_constants() { return (address)_crc_constants; }
+ static address crc32c_constants() { return (address)_crc32c_constants; }
static juint* generate_crc_constants(juint reverse_poly);
- static juint* generate_crc_barret_constants(juint reverse_poly);
};
-#endif // CPU_PPC_VM_STUBROUTINES_PPC_HPP
+#endif // CPU_PPC_STUBROUTINES_PPC_HPP
--- a/src/hotspot/cpu/ppc/stubRoutines_ppc_64.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/stubRoutines_ppc_64.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, 2018, SAP SE. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, SAP SE. 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
@@ -33,39 +33,7 @@
#define __ masm->
-// CRC32(C) Intrinsics.
-void StubRoutines::ppc64::generate_load_crc_table_addr(MacroAssembler* masm, Register table) {
- __ load_const_optimized(table, StubRoutines::_crc_table_adr, R0);
-}
-
-void StubRoutines::ppc64::generate_load_crc_constants_addr(MacroAssembler* masm, Register table) {
- __ load_const_optimized(table, (address)StubRoutines::ppc64::_crc_constants, R0);
-}
-
-void StubRoutines::ppc64::generate_load_crc_barret_constants_addr(MacroAssembler* masm, Register table) {
- __ load_const_optimized(table, (address)StubRoutines::ppc64::_crc_barret_constants, R0);
-}
-
-void StubRoutines::ppc64::generate_load_crc32c_table_addr(MacroAssembler* masm, Register table) {
- __ load_const_optimized(table, StubRoutines::_crc32c_table_addr, R0);
-}
-
-void StubRoutines::ppc64::generate_load_crc32c_constants_addr(MacroAssembler* masm, Register table) {
- __ load_const_optimized(table, (address)StubRoutines::ppc64::_crc32c_constants, R0);
-}
-
-void StubRoutines::ppc64::generate_load_crc32c_barret_constants_addr(MacroAssembler* masm, Register table) {
- __ load_const_optimized(table, (address)StubRoutines::ppc64::_crc32c_barret_constants, R0);
-}
-
-// CRC constants and compute functions
-#define REVERSE_CRC32_POLY 0xEDB88320
-#define REVERSE_CRC32C_POLY 0x82F63B78
-#define INVERSE_REVERSE_CRC32_POLY 0x1aab14226ull
-#define INVERSE_REVERSE_CRC32C_POLY 0x105fd79bdull
-#define UNROLL_FACTOR 2048
-#define UNROLL_FACTOR2 8
-
+// CRC constant compute functions
static juint fold_word(juint w, juint reverse_poly) {
for (int i = 0; i < 32; i++) {
int poly_if_odd = (-(w & 1)) & reverse_poly;
@@ -98,13 +66,13 @@
// Constants to fold n words as needed by macroAssembler.
juint* StubRoutines::ppc64::generate_crc_constants(juint reverse_poly) {
- juint* ptr = (juint*) malloc(sizeof(juint) * 4 * (UNROLL_FACTOR2 - 1 + UNROLL_FACTOR / UNROLL_FACTOR2));
+ juint* ptr = (juint*) malloc(sizeof(juint) * 4 * (CRC32_UNROLL_FACTOR2 + CRC32_UNROLL_FACTOR / CRC32_UNROLL_FACTOR2));
guarantee(((intptr_t)ptr & 0xF) == 0, "16-byte alignment needed");
guarantee(ptr != NULL, "allocation error of a crc table");
// Generate constants for outer loop
juint v0, v1, v2, v3 = 1;
- for (int i = 0; i < UNROLL_FACTOR2 - 1; ++i) {
+ for (int i = 0; i < CRC32_UNROLL_FACTOR2 - 1; ++i) {
v0 = fold_word(v3, reverse_poly);
v1 = fold_word(v0, reverse_poly);
v2 = fold_word(v1, reverse_poly);
@@ -123,15 +91,15 @@
}
// Generate constants for inner loop
- juint* ptr2 = ptr + 4 * (UNROLL_FACTOR2 - 1);
+ juint* ptr2 = ptr + 4 * (CRC32_UNROLL_FACTOR2 - 1);
v3 = 1; // Restart from scratch.
- for (int i = 0; i < UNROLL_FACTOR; ++i) {
+ for (int i = 0; i < CRC32_UNROLL_FACTOR; ++i) {
v0 = fold_word(v3, reverse_poly);
v1 = fold_word(v0, reverse_poly);
v2 = fold_word(v1, reverse_poly);
v3 = fold_word(v2, reverse_poly);
- if (i % UNROLL_FACTOR2 == 0) {
- int idx = UNROLL_FACTOR / UNROLL_FACTOR2 - 1 - i / UNROLL_FACTOR2;
+ if (i % CRC32_UNROLL_FACTOR2 == 0) {
+ int idx = CRC32_UNROLL_FACTOR / CRC32_UNROLL_FACTOR2 - 1 - i / CRC32_UNROLL_FACTOR2;
for (int j = 0; j < 4; ++j) {
#ifdef VM_LITTLE_ENDIAN
ptr2[4*idx ] = v3;
@@ -148,16 +116,9 @@
}
}
- return ptr;
-}
-
-// Constants to reduce 64 to 32 bit as needed by macroAssembler.
-juint* StubRoutines::ppc64::generate_crc_barret_constants(juint reverse_poly) {
- juint* ptr = (juint*) malloc(sizeof(juint) * CRC32_BARRET_CONSTANTS);
- guarantee(((intptr_t)ptr & 0xF) == 0, "16-byte alignment needed");
- guarantee(ptr != NULL, "allocation error of a crc table");
-
- julong* c = (julong*)ptr;
+ // Constants to reduce 64 to 32 bit as needed by macroAssembler.
+ juint* ptr3 = ptr2 + 4 * (CRC32_UNROLL_FACTOR / CRC32_UNROLL_FACTOR2);
+ julong* c = (julong*)ptr3;
julong long_poly = (((julong)reverse_poly) << 1) | 1;
julong inverse_long_poly = compute_inverse_poly(long_poly);
#ifdef VM_LITTLE_ENDIAN
@@ -177,6 +138,7 @@
#endif
//printf("inv poly: 0x%016llx\n", (long long unsigned int)inverse_long_poly);
+
return ptr;
}
@@ -772,8 +734,5 @@
#endif
};
-juint* StubRoutines::ppc64::_crc_constants = StubRoutines::ppc64::generate_crc_constants(REVERSE_CRC32_POLY);
-juint* StubRoutines::ppc64::_crc32c_constants = StubRoutines::ppc64::generate_crc_constants(REVERSE_CRC32C_POLY);
-
-juint* StubRoutines::ppc64::_crc_barret_constants = StubRoutines::ppc64::generate_crc_barret_constants(REVERSE_CRC32_POLY);
-juint* StubRoutines::ppc64::_crc32c_barret_constants = StubRoutines::ppc64::generate_crc_barret_constants(REVERSE_CRC32C_POLY);
+juint* StubRoutines::ppc64::_crc_constants = NULL;
+juint* StubRoutines::ppc64::_crc32c_constants = NULL;
--- a/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2015, 2018, SAP SE. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, SAP SE. 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
@@ -532,14 +532,8 @@
// these parameters the pre-barrier does not generate
// the load of the previous value.
- // Restore caller sp for c2i case.
-#ifdef ASSERT
- __ ld(R9_ARG7, 0, R1_SP);
- __ ld(R10_ARG8, 0, R21_sender_SP);
- __ cmpd(CCR0, R9_ARG7, R10_ARG8);
- __ asm_assert_eq("backlink", 0x544);
-#endif // ASSERT
- __ mr(R1_SP, R21_sender_SP); // Cut the stack back to where the caller started.
+ // Restore caller sp for c2i case (from compiled) and for resized sender frame (from interpreted).
+ __ resize_frame_absolute(R21_sender_SP, R11_scratch1, R0);
__ blr();
@@ -835,8 +829,13 @@
assert(StubRoutines::throw_StackOverflowError_entry() != NULL, "generated in wrong order");
__ load_const_optimized(Rscratch1, (StubRoutines::throw_StackOverflowError_entry()), R0);
__ mtctr(Rscratch1);
- // Restore caller_sp.
+ // Restore caller_sp (c2i adapter may exist, but no shrinking of interpreted caller frame).
#ifdef ASSERT
+ Label frame_not_shrunk;
+ __ cmpld(CCR0, R1_SP, R21_sender_SP);
+ __ ble(CCR0, frame_not_shrunk);
+ __ stop("frame shrunk", 0x546);
+ __ bind(frame_not_shrunk);
__ ld(Rscratch1, 0, R1_SP);
__ ld(R0, 0, R21_sender_SP);
__ cmpd(CCR0, R0, Rscratch1);
@@ -1155,15 +1154,6 @@
}
}
- // Pop c2i arguments (if any) off when we return.
-#ifdef ASSERT
- __ ld(R9_ARG7, 0, R1_SP);
- __ ld(R10_ARG8, 0, R21_sender_SP);
- __ cmpd(CCR0, R9_ARG7, R10_ARG8);
- __ asm_assert_eq("backlink", 0x545);
-#endif // ASSERT
- __ mr(R1_SP, R21_sender_SP); // Cut the stack back to where the caller started.
-
if (use_instruction) {
switch (kind) {
case Interpreter::java_lang_math_sqrt: __ fsqrt(F1_RET, F1); break;
@@ -1188,6 +1178,8 @@
__ restore_LR_CR(R0);
}
+ // Restore caller sp for c2i case (from compiled) and for resized sender frame (from interpreted).
+ __ resize_frame_absolute(R21_sender_SP, R11_scratch1, R0);
__ blr();
__ flush();
@@ -1840,11 +1832,11 @@
#endif
__ lwz(crc, 2*wordSize, argP); // Current crc state, zero extend to 64 bit to have a clean register.
- StubRoutines::ppc64::generate_load_crc_table_addr(_masm, table);
+ __ load_const_optimized(table, StubRoutines::crc_table_addr(), R0);
__ kernel_crc32_singleByte(crc, data, dataLen, table, tmp, true);
- // Restore caller sp for c2i case and return.
- __ mr(R1_SP, R21_sender_SP); // Cut the stack back to where the caller started.
+ // Restore caller sp for c2i case (from compiled) and for resized sender frame (from interpreted).
+ __ resize_frame_absolute(R21_sender_SP, R11_scratch1, R0);
__ blr();
// Generate a vanilla native entry as the slow path.
@@ -1881,19 +1873,7 @@
const Register crc = R3_ARG1; // crc value
const Register data = R4_ARG2; // address of java byte array
const Register dataLen = R5_ARG3; // source data len
- const Register table = R6_ARG4; // address of crc32 table
-
- const Register t0 = R9; // scratch registers for crc calculation
- const Register t1 = R10;
- const Register t2 = R11;
- const Register t3 = R12;
-
- const Register tc0 = R2; // registers to hold pre-calculated column addresses
- const Register tc1 = R7;
- const Register tc2 = R8;
- const Register tc3 = table; // table address is reconstructed at the end of kernel_crc32_* emitters
-
- const Register tmp = t0; // Only used very locally to calculate byte buffer address.
+ const Register tmp = R11_scratch1;
// Arguments are reversed on java expression stack.
// Calculate address of start element.
@@ -1924,15 +1904,10 @@
__ addi(data, data, arrayOopDesc::base_offset_in_bytes(T_BYTE));
}
- StubRoutines::ppc64::generate_load_crc_table_addr(_masm, table);
+ __ crc32(crc, data, dataLen, R2, R6, R7, R8, R9, R10, R11, R12, false);
- // Performance measurements show the 1word and 2word variants to be almost equivalent,
- // with very light advantages for the 1word variant. We chose the 1word variant for
- // code compactness.
- __ kernel_crc32_1word(crc, data, dataLen, table, t0, t1, t2, t3, tc0, tc1, tc2, tc3, true);
-
- // Restore caller sp for c2i case and return.
- __ mr(R1_SP, R21_sender_SP); // Cut the stack back to where the caller started.
+ // Restore caller sp for c2i case (from compiled) and for resized sender frame (from interpreted).
+ __ resize_frame_absolute(R21_sender_SP, R11_scratch1, R0);
__ blr();
// Generate a vanilla native entry as the slow path.
@@ -1967,19 +1942,7 @@
const Register crc = R3_ARG1; // crc value
const Register data = R4_ARG2; // address of java byte array
const Register dataLen = R5_ARG3; // source data len
- const Register table = R6_ARG4; // address of crc32c table
-
- const Register t0 = R9; // scratch registers for crc calculation
- const Register t1 = R10;
- const Register t2 = R11;
- const Register t3 = R12;
-
- const Register tc0 = R2; // registers to hold pre-calculated column addresses
- const Register tc1 = R7;
- const Register tc2 = R8;
- const Register tc3 = table; // table address is reconstructed at the end of kernel_crc32_* emitters
-
- const Register tmp = t0; // Only used very locally to calculate byte buffer address.
+ const Register tmp = R11_scratch1;
// Arguments are reversed on java expression stack.
// Calculate address of start element.
@@ -2012,15 +1975,10 @@
__ addi(data, data, arrayOopDesc::base_offset_in_bytes(T_BYTE));
}
- StubRoutines::ppc64::generate_load_crc32c_table_addr(_masm, table);
+ __ crc32(crc, data, dataLen, R2, R6, R7, R8, R9, R10, R11, R12, true);
- // Performance measurements show the 1word and 2word variants to be almost equivalent,
- // with very light advantages for the 1word variant. We chose the 1word variant for
- // code compactness.
- __ kernel_crc32_1word(crc, data, dataLen, table, t0, t1, t2, t3, tc0, tc1, tc2, tc3, false);
-
- // Restore caller sp for c2i case and return.
- __ mr(R1_SP, R21_sender_SP); // Cut the stack back to where the caller started.
+ // Restore caller sp for c2i case (from compiled) and for resized sender frame (from interpreted).
+ __ resize_frame_absolute(R21_sender_SP, R11_scratch1, R0);
__ blr();
BLOCK_COMMENT("} CRC32C_update{Bytes|DirectByteBuffer}");
--- a/src/hotspot/cpu/ppc/templateTable_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/templateTable_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2013, 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_TEMPLATETABLE_PPC_HPP
-#define CPU_PPC_VM_TEMPLATETABLE_PPC_HPP
+#ifndef CPU_PPC_TEMPLATETABLE_PPC_HPP
+#define CPU_PPC_TEMPLATETABLE_PPC_HPP
static void prepare_invoke(int byte_no, Register Rmethod, Register Rret_addr, Register Rindex, Register Rrecv, Register Rflags, Register Rscratch);
static void invokevfinal_helper(Register Rmethod, Register Rflags, Register Rscratch1, Register Rscratch2);
@@ -35,4 +35,4 @@
static void branch_conditional(ConditionRegister crx, TemplateTable::Condition cc, Label& L, bool invert = false);
static void if_cmp_common(Register Rfirst, Register Rsecond, Register Rscratch1, Register Rscratch2, Condition cc, bool is_jint, bool cmp0);
-#endif // CPU_PPC_VM_TEMPLATETABLE_PPC_HPP
+#endif // CPU_PPC_TEMPLATETABLE_PPC_HPP
--- a/src/hotspot/cpu/ppc/vmStructs_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/vmStructs_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_VMSTRUCTS_PPC_HPP
-#define CPU_PPC_VM_VMSTRUCTS_PPC_HPP
+#ifndef CPU_PPC_VMSTRUCTS_PPC_HPP
+#define CPU_PPC_VMSTRUCTS_PPC_HPP
// These are the CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -38,4 +38,4 @@
#define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // CPU_PPC_VM_VMSTRUCTS_PPC_HPP
+#endif // CPU_PPC_VMSTRUCTS_PPC_HPP
--- a/src/hotspot/cpu/ppc/vm_version_ext_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/vm_version_ext_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_PPC_VM_VM_VERSION_EXT_PPC_HPP
-#define CPU_PPC_VM_VM_VERSION_EXT_PPC_HPP
+#ifndef CPU_PPC_VM_VERSION_EXT_PPC_HPP
+#define CPU_PPC_VM_VERSION_EXT_PPC_HPP
#include "utilities/macros.hpp"
#include "vm_version_ppc.hpp"
@@ -59,4 +59,4 @@
static const char* cpu_description(void);
};
-#endif // CPU_PPC_VM_VM_VERSION_EXT_PPC_HPP
+#endif // CPU_PPC_VM_VERSION_EXT_PPC_HPP
--- a/src/hotspot/cpu/ppc/vm_version_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/vm_version_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_VM_VERSION_PPC_HPP
-#define CPU_PPC_VM_VM_VERSION_PPC_HPP
+#ifndef CPU_PPC_VM_VERSION_PPC_HPP
+#define CPU_PPC_VM_VERSION_PPC_HPP
#include "runtime/globals_extension.hpp"
#include "runtime/vm_version.hpp"
@@ -123,4 +123,4 @@
static uint64_t _dscr_val;
};
-#endif // CPU_PPC_VM_VM_VERSION_PPC_HPP
+#endif // CPU_PPC_VM_VERSION_PPC_HPP
--- a/src/hotspot/cpu/ppc/vmreg_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/vmreg_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_VMREG_PPC_HPP
-#define CPU_PPC_VM_VMREG_PPC_HPP
+#ifndef CPU_PPC_VMREG_PPC_HPP
+#define CPU_PPC_VMREG_PPC_HPP
inline bool is_Register() {
return (unsigned int)value() < (unsigned int)ConcreteRegisterImpl::max_gpr;
@@ -50,4 +50,4 @@
return is_even(value());
}
-#endif // CPU_PPC_VM_VMREG_PPC_HPP
+#endif // CPU_PPC_VMREG_PPC_HPP
--- a/src/hotspot/cpu/ppc/vmreg_ppc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/ppc/vmreg_ppc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_PPC_VM_VMREG_PPC_INLINE_HPP
-#define CPU_PPC_VM_VMREG_PPC_INLINE_HPP
+#ifndef CPU_PPC_VMREG_PPC_INLINE_HPP
+#define CPU_PPC_VMREG_PPC_INLINE_HPP
inline VMReg RegisterImpl::as_VMReg() {
if (this == noreg) return VMRegImpl::Bad();
@@ -50,4 +50,4 @@
}
-#endif // CPU_PPC_VM_VMREG_PPC_INLINE_HPP
+#endif // CPU_PPC_VMREG_PPC_INLINE_HPP
--- a/src/hotspot/cpu/s390/assembler_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/assembler_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2017 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_ASSEMBLER_S390_HPP
-#define CPU_S390_VM_ASSEMBLER_S390_HPP
+#ifndef CPU_S390_ASSEMBLER_S390_HPP
+#define CPU_S390_ASSEMBLER_S390_HPP
#undef LUCY_DBG
@@ -3284,4 +3284,4 @@
};
-#endif // CPU_S390_VM_ASSEMBLER_S390_HPP
+#endif // CPU_S390_ASSEMBLER_S390_HPP
--- a/src/hotspot/cpu/s390/assembler_s390.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/assembler_s390.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2017 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_ASSEMBLER_S390_INLINE_HPP
-#define CPU_S390_VM_ASSEMBLER_S390_INLINE_HPP
+#ifndef CPU_S390_ASSEMBLER_S390_INLINE_HPP
+#define CPU_S390_ASSEMBLER_S390_INLINE_HPP
#include "asm/assembler.inline.hpp"
#include "asm/codeBuffer.hpp"
@@ -1460,4 +1460,4 @@
return (is_equal(pc, CGIT_ZOPC, RIE_MASK) || is_equal(pc, CIT_ZOPC, RIE_MASK));
}
-#endif // CPU_S390_VM_ASSEMBLER_S390_INLINE_HPP
+#endif // CPU_S390_ASSEMBLER_S390_INLINE_HPP
--- a/src/hotspot/cpu/s390/bytes_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/bytes_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_BYTES_S390_HPP
-#define CPU_S390_VM_BYTES_S390_HPP
+#ifndef CPU_S390_BYTES_S390_HPP
+#define CPU_S390_BYTES_S390_HPP
#include "memory/allocation.hpp"
@@ -63,4 +63,4 @@
static inline void put_Java_u8(address p, u8 x) { put_native_u8(p, x); }
};
-#endif // CPU_S390_VM_BYTES_S390_HPP
+#endif // CPU_S390_BYTES_S390_HPP
--- a/src/hotspot/cpu/s390/c1_Defs_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/c1_Defs_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_C1_DEFS_S390_HPP
-#define CPU_S390_VM_C1_DEFS_S390_HPP
+#ifndef CPU_S390_C1_DEFS_S390_HPP
+#define CPU_S390_C1_DEFS_S390_HPP
// Native word offsets from memory address (big endian).
enum {
@@ -68,4 +68,4 @@
pd_float_saved_as_double = false
};
-#endif // CPU_S390_VM_C1_DEFS_S390_HPP
+#endif // CPU_S390_C1_DEFS_S390_HPP
--- a/src/hotspot/cpu/s390/c1_FpuStackSim_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/c1_FpuStackSim_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,10 +23,10 @@
*
*/
-#ifndef CPU_S390_VM_C1_FPUSTACKSIM_S390_HPP
-#define CPU_S390_VM_C1_FPUSTACKSIM_S390_HPP
+#ifndef CPU_S390_C1_FPUSTACKSIM_S390_HPP
+#define CPU_S390_C1_FPUSTACKSIM_S390_HPP
// No FPU stack on ZARCH_64
class FpuStackSim;
-#endif // CPU_S390_VM_C1_FPUSTACKSIM_S390_HPP
+#endif // CPU_S390_C1_FPUSTACKSIM_S390_HPP
--- a/src/hotspot/cpu/s390/c1_FrameMap_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/c1_FrameMap_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_C1_FRAMEMAP_S390_HPP
-#define CPU_S390_VM_C1_FRAMEMAP_S390_HPP
+#ifndef CPU_S390_C1_FRAMEMAP_S390_HPP
+#define CPU_S390_C1_FRAMEMAP_S390_HPP
public:
@@ -138,4 +138,4 @@
static int nof_caller_save_cpu_regs() { return pd_nof_caller_save_cpu_regs_frame_map; }
static int last_cpu_reg() { return pd_last_cpu_reg; }
-#endif // CPU_S390_VM_C1_FRAMEMAP_S390_HPP
+#endif // CPU_S390_C1_FRAMEMAP_S390_HPP
--- a/src/hotspot/cpu/s390/c1_LIRAssembler_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/c1_LIRAssembler_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_C1_LIRASSEMBLER_S390_HPP
-#define CPU_S390_VM_C1_LIRASSEMBLER_S390_HPP
+#ifndef CPU_S390_C1_LIRASSEMBLER_S390_HPP
+#define CPU_S390_C1_LIRASSEMBLER_S390_HPP
private:
@@ -52,4 +52,4 @@
_deopt_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(64)
};
-#endif // CPU_S390_VM_C1_LIRASSEMBLER_S390_HPP
+#endif // CPU_S390_C1_LIRASSEMBLER_S390_HPP
--- a/src/hotspot/cpu/s390/c1_LinearScan_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/c1_LinearScan_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_C1_LINEARSCAN_S390_HPP
-#define CPU_S390_VM_C1_LINEARSCAN_S390_HPP
+#ifndef CPU_S390_C1_LINEARSCAN_S390_HPP
+#define CPU_S390_C1_LINEARSCAN_S390_HPP
inline bool LinearScan::is_processed_reg_num(int reg_num) {
// unallocated: Z_thread, Z_fp, Z_SP, Z_R0_scratch, Z_R1_scratch, Z_R14
@@ -61,4 +61,4 @@
return false; // No special case behaviours.
}
-#endif // CPU_S390_VM_C1_LINEARSCAN_S390_HPP
+#endif // CPU_S390_C1_LINEARSCAN_S390_HPP
--- a/src/hotspot/cpu/s390/c1_MacroAssembler_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/c1_MacroAssembler_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_C1_MACROASSEMBLER_S390_HPP
-#define CPU_S390_VM_C1_MACROASSEMBLER_S390_HPP
+#ifndef CPU_S390_C1_MACROASSEMBLER_S390_HPP
+#define CPU_S390_C1_MACROASSEMBLER_S390_HPP
void pd_init() { /* nothing to do */ }
@@ -98,4 +98,4 @@
// This platform only uses signal-based null checks. The Label is not needed.
void null_check(Register r, Label *Lnull = NULL) { MacroAssembler::null_check(r); }
-#endif // CPU_S390_VM_C1_MACROASSEMBLER_S390_HPP
+#endif // CPU_S390_C1_MACROASSEMBLER_S390_HPP
--- a/src/hotspot/cpu/s390/c1_globals_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/c1_globals_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_C1_GLOBALS_S390_HPP
-#define CPU_S390_VM_C1_GLOBALS_S390_HPP
+#ifndef CPU_S390_C1_GLOBALS_S390_HPP
+#define CPU_S390_C1_GLOBALS_S390_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -70,4 +70,4 @@
define_pd_global(bool, CSEArrayLength, true);
define_pd_global(bool, TwoOperandLIRForm, true);
-#endif // CPU_S390_VM_C1_GLOBALS_S390_HPP
+#endif // CPU_S390_C1_GLOBALS_S390_HPP
--- a/src/hotspot/cpu/s390/c2_globals_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/c2_globals_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_C2_GLOBALS_S390_HPP
-#define CPU_S390_VM_C2_GLOBALS_S390_HPP
+#ifndef CPU_S390_C2_GLOBALS_S390_HPP
+#define CPU_S390_C2_GLOBALS_S390_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -91,4 +91,4 @@
// Ergonomics related flags
define_pd_global(bool, NeverActAsServerClassMachine, false);
-#endif // CPU_S390_VM_C2_GLOBALS_S390_HPP
+#endif // CPU_S390_C2_GLOBALS_S390_HPP
--- a/src/hotspot/cpu/s390/codeBuffer_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/codeBuffer_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_CODEBUFFER_S390_HPP
-#define CPU_S390_VM_CODEBUFFER_S390_HPP
+#ifndef CPU_S390_CODEBUFFER_S390_HPP
+#define CPU_S390_CODEBUFFER_S390_HPP
private:
void pd_initialize() {}
@@ -34,6 +34,4 @@
void getCpuData(const CodeBuffer * const cb) {}
-#endif // CPU_S390_VM_CODEBUFFER_S390_HPP
-
-
+#endif // CPU_S390_CODEBUFFER_S390_HPP
--- a/src/hotspot/cpu/s390/copy_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/copy_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -25,8 +25,8 @@
// Major contributions by LS
-#ifndef CPU_S390_VM_COPY_S390_HPP
-#define CPU_S390_VM_COPY_S390_HPP
+#ifndef CPU_S390_COPY_S390_HPP
+#define CPU_S390_COPY_S390_HPP
// Inline functions for memory copy and fill.
@@ -1131,4 +1131,4 @@
#endif
}
-#endif // CPU_S390_VM_COPY_S390_HPP
+#endif // CPU_S390_COPY_S390_HPP
--- a/src/hotspot/cpu/s390/depChecker_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/depChecker_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,9 +23,9 @@
*
*/
-#ifndef CPU_S390_VM_DEPCHECKER_S390_HPP
-#define CPU_S390_VM_DEPCHECKER_S390_HPP
+#ifndef CPU_S390_DEPCHECKER_S390_HPP
+#define CPU_S390_DEPCHECKER_S390_HPP
// Nothing to do on z/Architecture
-#endif // CPU_S390_VM_DEPCHECKER_S390_HPP
+#endif // CPU_S390_DEPCHECKER_S390_HPP
--- a/src/hotspot/cpu/s390/disassembler_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/disassembler_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_DISASSEMBLER_S390_HPP
-#define CPU_S390_VM_DISASSEMBLER_S390_HPP
+#ifndef CPU_S390_DISASSEMBLER_S390_HPP
+#define CPU_S390_DISASSEMBLER_S390_HPP
static int pd_instruction_alignment() {
return 1;
@@ -34,4 +34,4 @@
return "zarch";
}
-#endif // CPU_S390_VM_DISASSEMBLER_S390_HPP
+#endif // CPU_S390_DISASSEMBLER_S390_HPP
--- a/src/hotspot/cpu/s390/frame_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/frame_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -25,8 +25,8 @@
// Major contributions by ML, AHa.
-#ifndef CPU_S390_VM_FRAME_S390_HPP
-#define CPU_S390_VM_FRAME_S390_HPP
+#ifndef CPU_S390_FRAME_S390_HPP
+#define CPU_S390_FRAME_S390_HPP
#include "runtime/synchronizer.hpp"
@@ -554,4 +554,4 @@
static jint interpreter_frame_expression_stack_direction() { return -1; }
-#endif // CPU_S390_VM_FRAME_S390_HPP
+#endif // CPU_S390_FRAME_S390_HPP
--- a/src/hotspot/cpu/s390/frame_s390.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/frame_s390.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_FRAME_S390_INLINE_HPP
-#define CPU_S390_VM_FRAME_S390_INLINE_HPP
+#ifndef CPU_S390_FRAME_S390_INLINE_HPP
+#define CPU_S390_FRAME_S390_INLINE_HPP
#include "code/codeCache.hpp"
#include "code/vmreg.inline.hpp"
@@ -296,4 +296,4 @@
return fp();
}
-#endif // CPU_S390_VM_FRAME_S390_INLINE_HPP
+#endif // CPU_S390_FRAME_S390_INLINE_HPP
--- a/src/hotspot/cpu/s390/globalDefinitions_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/globalDefinitions_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_GLOBALDEFINITIONS_S390_HPP
-#define CPU_S390_VM_GLOBALDEFINITIONS_S390_HPP
+#ifndef CPU_S390_GLOBALDEFINITIONS_S390_HPP
+#define CPU_S390_GLOBALDEFINITIONS_S390_HPP
#ifdef CC_INTERP
#error "CC_INTERP is not supported on z/Architecture."
@@ -56,4 +56,4 @@
#define THREAD_LOCAL_POLL
-#endif // CPU_S390_VM_GLOBALDEFINITIONS_S390_HPP
+#endif // CPU_S390_GLOBALDEFINITIONS_S390_HPP
--- a/src/hotspot/cpu/s390/globals_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/globals_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_GLOBALS_S390_HPP
-#define CPU_S390_VM_GLOBALS_S390_HPP
+#ifndef CPU_S390_GLOBALS_S390_HPP
+#define CPU_S390_GLOBALS_S390_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -128,4 +128,4 @@
product(bool, TraceTraps, false, "Trace all traps the signal handler" \
"handles.")
-#endif // CPU_S390_VM_GLOBALS_S390_HPP
+#endif // CPU_S390_GLOBALS_S390_HPP
--- a/src/hotspot/cpu/s390/icache_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/icache_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_ICACHE_S390_HPP
-#define CPU_S390_VM_ICACHE_S390_HPP
+#ifndef CPU_S390_ICACHE_S390_HPP
+#define CPU_S390_ICACHE_S390_HPP
// Interface for updating the instruction cache. Whenever the VM modifies
// code, part of the processor instruction cache potentially has to be flushed.
@@ -41,4 +41,4 @@
// Use default implementation.
};
-#endif // CPU_S390_VM_ICACHE_S390_HPP
+#endif // CPU_S390_ICACHE_S390_HPP
--- a/src/hotspot/cpu/s390/interp_masm_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/interp_masm_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2017 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_INTERP_MASM_ZARCH_64_64_HPP
-#define CPU_S390_VM_INTERP_MASM_ZARCH_64_64_HPP
+#ifndef CPU_S390_INTERP_MASM_S390_HPP
+#define CPU_S390_INTERP_MASM_S390_HPP
#include "asm/macroAssembler.hpp"
#include "interpreter/invocationCounter.hpp"
@@ -330,4 +330,4 @@
void pop_interpreter_frame(Register return_pc, Register tmp1, Register tmp2);
};
-#endif // CPU_S390_VM_INTERP_MASM_ZARCH_64_64_HPP
+#endif // CPU_S390_INTERP_MASM_S390_HPP
--- a/src/hotspot/cpu/s390/interpreterRT_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/interpreterRT_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_INTERPRETERRT_S390_HPP
-#define CPU_S390_VM_INTERPRETERRT_S390_HPP
+#ifndef CPU_S390_INTERPRETERRT_S390_HPP
+#define CPU_S390_INTERPRETERRT_S390_HPP
// This is included in the middle of class Interpreter.
// Do not include files here.
@@ -62,4 +62,4 @@
static address get_signature(JavaThread* thread, Method* method);
-#endif // CPU_S390_VM_INTERPRETERRT_S390_HPP
+#endif // CPU_S390_INTERPRETERRT_S390_HPP
--- a/src/hotspot/cpu/s390/javaFrameAnchor_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/javaFrameAnchor_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_JAVAFRAMEANCHOR_S390_HPP
-#define CPU_S390_VM_JAVAFRAMEANCHOR_S390_HPP
+#ifndef CPU_S390_JAVAFRAMEANCHOR_S390_HPP
+#define CPU_S390_JAVAFRAMEANCHOR_S390_HPP
public:
@@ -84,4 +84,4 @@
address last_Java_pc(void) { return _last_Java_pc; }
-#endif // CPU_S390_VM_JAVAFRAMEANCHOR_S390_HPP
+#endif // CPU_S390_JAVAFRAMEANCHOR_S390_HPP
--- a/src/hotspot/cpu/s390/jniTypes_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/jniTypes_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_JNITYPES_S390_HPP
-#define CPU_S390_VM_JNITYPES_S390_HPP
+#ifndef CPU_S390_JNITYPES_S390_HPP
+#define CPU_S390_JNITYPES_S390_HPP
// This file holds platform-dependent routines used to write primitive
// jni types to the array of arguments passed into JavaCalls::call.
@@ -138,4 +138,4 @@
}
};
-#endif // CPU_S390_VM_JNITYPES_S390_HPP
+#endif // CPU_S390_JNITYPES_S390_HPP
--- a/src/hotspot/cpu/s390/macroAssembler_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/macroAssembler_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018, SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_MACROASSEMBLER_S390_HPP
-#define CPU_S390_VM_MACROASSEMBLER_S390_HPP
+#ifndef CPU_S390_MACROASSEMBLER_S390_HPP
+#define CPU_S390_MACROASSEMBLER_S390_HPP
#include "asm/assembler.hpp"
#include "oops/accessDecorators.hpp"
@@ -1107,4 +1107,4 @@
inline bool AbstractAssembler::pd_check_instruction_mark() { return false; }
#endif
-#endif // CPU_S390_VM_MACROASSEMBLER_S390_HPP
+#endif // CPU_S390_MACROASSEMBLER_S390_HPP
--- a/src/hotspot/cpu/s390/macroAssembler_s390.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/macroAssembler_s390.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_MACROASSEMBLER_S390_INLINE_HPP
-#define CPU_S390_VM_MACROASSEMBLER_S390_INLINE_HPP
+#ifndef CPU_S390_MACROASSEMBLER_S390_INLINE_HPP
+#define CPU_S390_MACROASSEMBLER_S390_INLINE_HPP
#include "asm/assembler.inline.hpp"
#include "asm/macroAssembler.hpp"
@@ -311,4 +311,4 @@
set_top_ijava_frame_at_SP_as_last_Java_frame(sp, tmp1, true);
}
-#endif // CPU_S390_VM_MACROASSEMBLER_S390_INLINE_HPP
+#endif // CPU_S390_MACROASSEMBLER_S390_INLINE_HPP
--- a/src/hotspot/cpu/s390/nativeInst_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/nativeInst_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -25,8 +25,8 @@
// Major contributions by AHa, JL, LS
-#ifndef CPU_S390_VM_NATIVEINST_S390_HPP
-#define CPU_S390_VM_NATIVEINST_S390_HPP
+#ifndef CPU_S390_NATIVEINST_S390_HPP
+#define CPU_S390_NATIVEINST_S390_HPP
#include "asm/macroAssembler.hpp"
#include "runtime/icache.hpp"
@@ -663,4 +663,4 @@
void verify() PRODUCT_RETURN;
};
-#endif // CPU_S390_VM_NATIVEINST_S390_HPP
+#endif // CPU_S390_NATIVEINST_S390_HPP
--- a/src/hotspot/cpu/s390/registerMap_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/registerMap_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_REGISTERMAP_S390_HPP
-#define CPU_S390_VM_REGISTERMAP_S390_HPP
+#ifndef CPU_S390_REGISTERMAP_S390_HPP
+#define CPU_S390_REGISTERMAP_S390_HPP
// Machine-dependent implementation for register maps.
@@ -41,4 +41,4 @@
void pd_initialize() {}
void pd_initialize_from(const RegisterMap* map) {}
-#endif // CPU_S390_VM_REGISTERMAP_S390_HPP
+#endif // CPU_S390_REGISTERMAP_S390_HPP
--- a/src/hotspot/cpu/s390/registerSaver_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/registerSaver_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_REGISTERSAVER_S390_HPP
-#define CPU_S390_VM_REGISTERSAVER_S390_HPP
+#ifndef CPU_S390_REGISTERSAVER_S390_HPP
+#define CPU_S390_REGISTERSAVER_S390_HPP
class RegisterSaver {
// Used for saving volatile registers.
@@ -79,4 +79,4 @@
};
-#endif // CPU_S390_VM_REGISTERSAVER_S390_HPP
+#endif // CPU_S390_REGISTERSAVER_S390_HPP
--- a/src/hotspot/cpu/s390/register_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/register_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2017 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_REGISTER_S390_HPP
-#define CPU_S390_VM_REGISTER_S390_HPP
+#ifndef CPU_S390_REGISTER_S390_HPP
+#define CPU_S390_REGISTER_S390_HPP
#include "asm/register.hpp"
#include "vm_version_s390.hpp"
@@ -579,4 +579,4 @@
#endif
-#endif // CPU_S390_VM_REGISTER_S390_HPP
+#endif // CPU_S390_REGISTER_S390_HPP
--- a/src/hotspot/cpu/s390/relocInfo_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/relocInfo_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_RELOCINFO_S390_HPP
-#define CPU_S390_VM_RELOCINFO_S390_HPP
+#ifndef CPU_S390_RELOCINFO_S390_HPP
+#define CPU_S390_RELOCINFO_S390_HPP
//----------------------------
// relocInfo layout
@@ -118,4 +118,4 @@
// Return indication if update happened.
static bool update_oop_pool(address begin, address end, address newTarget, CodeBlob* cb);
-#endif // CPU_S390_VM_RELOCINFO_S390_HPP
+#endif // CPU_S390_RELOCINFO_S390_HPP
--- a/src/hotspot/cpu/s390/stubRoutines_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/stubRoutines_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2017, SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_STUBROUTINES_ZARCH_64_64_HPP
-#define CPU_S390_VM_STUBROUTINES_ZARCH_64_64_HPP
+#ifndef CPU_S390_STUBROUTINES_S390_HPP
+#define CPU_S390_STUBROUTINES_S390_HPP
// This file holds the platform specific parts of the StubRoutines
// definition. See stubRoutines.hpp for a description on how to extend it.
@@ -100,4 +100,4 @@
static void generate_load_trot_table_addr(MacroAssembler* masm, Register table);
};
-#endif // CPU_S390_VM_STUBROUTINES_ZARCH_64_64_HPP
+#endif // CPU_S390_STUBROUTINES_S390_HPP
--- a/src/hotspot/cpu/s390/templateTable_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/templateTable_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_TEMPLATETABLE_S390_HPP
-#define CPU_S390_VM_TEMPLATETABLE_S390_HPP
+#ifndef CPU_S390_TEMPLATETABLE_S390_HPP
+#define CPU_S390_TEMPLATETABLE_S390_HPP
static void prepare_invoke(int byte_no,
Register method, // linked method (or i-klass)
@@ -38,4 +38,4 @@
static void index_check(Register array, Register index, unsigned int shift);
static void index_check_without_pop(Register array, Register index);
-#endif // CPU_S390_VM_TEMPLATETABLE_S390_HPP
+#endif // CPU_S390_TEMPLATETABLE_S390_HPP
--- a/src/hotspot/cpu/s390/vmStructs_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/vmStructs_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_VMSTRUCTS_S390_HPP
-#define CPU_S390_VM_VMSTRUCTS_S390_HPP
+#ifndef CPU_S390_VMSTRUCTS_S390_HPP
+#define CPU_S390_VMSTRUCTS_S390_HPP
// These are the CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -38,4 +38,4 @@
#define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // CPU_S390_VM_VMSTRUCTS_S390_HPP
+#endif // CPU_S390_VMSTRUCTS_S390_HPP
--- a/src/hotspot/cpu/s390/vm_version_ext_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/vm_version_ext_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_S390_VM_VM_VERSION_EXT_S390_HPP
-#define CPU_S390_VM_VM_VERSION_EXT_S390_HPP
+#ifndef CPU_S390_VM_VERSION_EXT_S390_HPP
+#define CPU_S390_VM_VERSION_EXT_S390_HPP
#include "utilities/macros.hpp"
#include "vm_version_s390.hpp"
@@ -59,4 +59,4 @@
static const char* cpu_description(void);
};
-#endif // CPU_S390_VM_VM_VERSION_EXT_S390_HPP
+#endif // CPU_S390_VM_VERSION_EXT_S390_HPP
--- a/src/hotspot/cpu/s390/vm_version_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/vm_version_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_VM_VERSION_S390_HPP
-#define CPU_S390_VM_VM_VERSION_S390_HPP
+#ifndef CPU_S390_VM_VERSION_S390_HPP
+#define CPU_S390_VM_VERSION_S390_HPP
#include "runtime/globals_extension.hpp"
@@ -487,4 +487,4 @@
static unsigned long z_SIGSEGV();
};
-#endif // CPU_S390_VM_VM_VERSION_S390_HPP
+#endif // CPU_S390_VM_VERSION_S390_HPP
--- a/src/hotspot/cpu/s390/vmreg_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/vmreg_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_VMREG_S390_HPP
-#define CPU_S390_VM_VMREG_S390_HPP
+#ifndef CPU_S390_VMREG_S390_HPP
+#define CPU_S390_VMREG_S390_HPP
inline bool is_Register() {
return (unsigned int)value() < (unsigned int)ConcreteRegisterImpl::max_gpr;
@@ -50,4 +50,4 @@
return is_even(value());
}
-#endif // CPU_S390_VM_VMREG_S390_HPP
+#endif // CPU_S390_VMREG_S390_HPP
--- a/src/hotspot/cpu/s390/vmreg_s390.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/s390/vmreg_s390.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_S390_VM_VMREG_S390_INLINE_HPP
-#define CPU_S390_VM_VMREG_S390_INLINE_HPP
+#ifndef CPU_S390_VMREG_S390_INLINE_HPP
+#define CPU_S390_VMREG_S390_INLINE_HPP
inline VMReg RegisterImpl::as_VMReg() {
if (this == noreg) {
@@ -41,4 +41,4 @@
return VMRegImpl::as_VMReg((encoding() << 1) + ConcreteRegisterImpl::max_fpr);
}
-#endif // CPU_S390_VM_VMREG_S390_INLINE_HPP
+#endif // CPU_S390_VMREG_S390_INLINE_HPP
--- a/src/hotspot/cpu/sparc/assembler_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/assembler_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_ASSEMBLER_SPARC_HPP
-#define CPU_SPARC_VM_ASSEMBLER_SPARC_HPP
+#ifndef CPU_SPARC_ASSEMBLER_SPARC_HPP
+#define CPU_SPARC_ASSEMBLER_SPARC_HPP
#include "asm/register.hpp"
@@ -1328,4 +1328,4 @@
}
};
-#endif // CPU_SPARC_VM_ASSEMBLER_SPARC_HPP
+#endif // CPU_SPARC_ASSEMBLER_SPARC_HPP
--- a/src/hotspot/cpu/sparc/assembler_sparc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/assembler_sparc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_ASSEMBLER_SPARC_INLINE_HPP
-#define CPU_SPARC_VM_ASSEMBLER_SPARC_INLINE_HPP
+#ifndef CPU_SPARC_ASSEMBLER_SPARC_INLINE_HPP
+#define CPU_SPARC_ASSEMBLER_SPARC_INLINE_HPP
#include "asm/assembler.hpp"
@@ -1127,4 +1127,4 @@
emit_int32(op(arith_op) | rd(0) | op3(mpmul_op3) | rs1(0) | opf(mpmul_opf) | uimm(uimm5, 5));
}
-#endif // CPU_SPARC_VM_ASSEMBLER_SPARC_INLINE_HPP
+#endif // CPU_SPARC_ASSEMBLER_SPARC_INLINE_HPP
--- a/src/hotspot/cpu/sparc/bytes_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/bytes_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_BYTES_SPARC_HPP
-#define CPU_SPARC_VM_BYTES_SPARC_HPP
+#ifndef CPU_SPARC_BYTES_SPARC_HPP
+#define CPU_SPARC_BYTES_SPARC_HPP
#include "memory/allocation.hpp"
@@ -157,4 +157,4 @@
// 1.17 99/06/22 16:37:35 bytes_i486.hpp
//End
-#endif // CPU_SPARC_VM_BYTES_SPARC_HPP
+#endif // CPU_SPARC_BYTES_SPARC_HPP
--- a/src/hotspot/cpu/sparc/c1_Defs_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/c1_Defs_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_C1_DEFS_SPARC_HPP
-#define CPU_SPARC_VM_C1_DEFS_SPARC_HPP
+#ifndef CPU_SPARC_C1_DEFS_SPARC_HPP
+#define CPU_SPARC_C1_DEFS_SPARC_HPP
// native word offsets from memory address (big endian)
enum {
@@ -69,4 +69,4 @@
pd_float_saved_as_double = false
};
-#endif // CPU_SPARC_VM_C1_DEFS_SPARC_HPP
+#endif // CPU_SPARC_C1_DEFS_SPARC_HPP
--- a/src/hotspot/cpu/sparc/c1_FpuStackSim_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/c1_FpuStackSim_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,10 +22,10 @@
*
*/
-#ifndef CPU_SPARC_VM_C1_FPUSTACKSIM_SPARC_HPP
-#define CPU_SPARC_VM_C1_FPUSTACKSIM_SPARC_HPP
+#ifndef CPU_SPARC_C1_FPUSTACKSIM_SPARC_HPP
+#define CPU_SPARC_C1_FPUSTACKSIM_SPARC_HPP
// No FPU stack on SPARC
class FpuStackSim;
-#endif // CPU_SPARC_VM_C1_FPUSTACKSIM_SPARC_HPP
+#endif // CPU_SPARC_C1_FPUSTACKSIM_SPARC_HPP
--- a/src/hotspot/cpu/sparc/c1_FrameMap_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/c1_FrameMap_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_C1_FRAMEMAP_SPARC_HPP
-#define CPU_SPARC_VM_C1_FRAMEMAP_SPARC_HPP
+#ifndef CPU_SPARC_C1_FRAMEMAP_SPARC_HPP
+#define CPU_SPARC_C1_FRAMEMAP_SPARC_HPP
public:
@@ -182,4 +182,4 @@
static int nof_caller_save_cpu_regs() { return pd_nof_caller_save_cpu_regs_frame_map; }
static int last_cpu_reg() { return pd_last_cpu_reg; }
-#endif // CPU_SPARC_VM_C1_FRAMEMAP_SPARC_HPP
+#endif // CPU_SPARC_C1_FRAMEMAP_SPARC_HPP
--- a/src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_C1_LIRASSEMBLER_SPARC_HPP
-#define CPU_SPARC_VM_C1_LIRASSEMBLER_SPARC_HPP
+#ifndef CPU_SPARC_C1_LIRASSEMBLER_SPARC_HPP
+#define CPU_SPARC_C1_LIRASSEMBLER_SPARC_HPP
private:
@@ -71,4 +71,4 @@
void pack64(LIR_Opr src, LIR_Opr dst);
void unpack64(LIR_Opr src, LIR_Opr dst);
-#endif // CPU_SPARC_VM_C1_LIRASSEMBLER_SPARC_HPP
+#endif // CPU_SPARC_C1_LIRASSEMBLER_SPARC_HPP
--- a/src/hotspot/cpu/sparc/c1_LinearScan_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/c1_LinearScan_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_C1_LINEARSCAN_SPARC_HPP
-#define CPU_SPARC_VM_C1_LINEARSCAN_SPARC_HPP
+#ifndef CPU_SPARC_C1_LINEARSCAN_SPARC_HPP
+#define CPU_SPARC_C1_LINEARSCAN_SPARC_HPP
inline bool LinearScan::is_processed_reg_num(int reg_num) {
return reg_num < 26 || reg_num > 31;
@@ -67,4 +67,4 @@
return false;
}
-#endif // CPU_SPARC_VM_C1_LINEARSCAN_SPARC_HPP
+#endif // CPU_SPARC_C1_LINEARSCAN_SPARC_HPP
--- a/src/hotspot/cpu/sparc/c1_MacroAssembler_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/c1_MacroAssembler_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_C1_MACROASSEMBLER_SPARC_HPP
-#define CPU_SPARC_VM_C1_MACROASSEMBLER_SPARC_HPP
+#ifndef CPU_SPARC_C1_MACROASSEMBLER_SPARC_HPP
+#define CPU_SPARC_C1_MACROASSEMBLER_SPARC_HPP
void pd_init() { /* nothing to do */ }
@@ -95,4 +95,4 @@
void save_live_registers_no_oop_map(bool save_fpu_registers);
void restore_live_registers(bool restore_fpu_registers);
-#endif // CPU_SPARC_VM_C1_MACROASSEMBLER_SPARC_HPP
+#endif // CPU_SPARC_C1_MACROASSEMBLER_SPARC_HPP
--- a/src/hotspot/cpu/sparc/c1_globals_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/c1_globals_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_C1_GLOBALS_SPARC_HPP
-#define CPU_SPARC_VM_C1_GLOBALS_SPARC_HPP
+#ifndef CPU_SPARC_C1_GLOBALS_SPARC_HPP
+#define CPU_SPARC_C1_GLOBALS_SPARC_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -68,4 +68,4 @@
define_pd_global(bool, CSEArrayLength, true );
define_pd_global(bool, TwoOperandLIRForm, false);
-#endif // CPU_SPARC_VM_C1_GLOBALS_SPARC_HPP
+#endif // CPU_SPARC_C1_GLOBALS_SPARC_HPP
--- a/src/hotspot/cpu/sparc/c2_globals_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/c2_globals_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_C2_GLOBALS_SPARC_HPP
-#define CPU_SPARC_VM_C2_GLOBALS_SPARC_HPP
+#ifndef CPU_SPARC_C2_GLOBALS_SPARC_HPP
+#define CPU_SPARC_C2_GLOBALS_SPARC_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -91,4 +91,4 @@
// Ergonomics related flags
define_pd_global(bool, NeverActAsServerClassMachine, false);
-#endif // CPU_SPARC_VM_C2_GLOBALS_SPARC_HPP
+#endif // CPU_SPARC_C2_GLOBALS_SPARC_HPP
--- a/src/hotspot/cpu/sparc/codeBuffer_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/codeBuffer_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_CODEBUFFER_SPARC_HPP
-#define CPU_SPARC_VM_CODEBUFFER_SPARC_HPP
+#ifndef CPU_SPARC_CODEBUFFER_SPARC_HPP
+#define CPU_SPARC_CODEBUFFER_SPARC_HPP
private:
void pd_initialize() {}
@@ -31,4 +31,4 @@
public:
void flush_bundle(bool start_new_bundle) {}
-#endif // CPU_SPARC_VM_CODEBUFFER_SPARC_HPP
+#endif // CPU_SPARC_CODEBUFFER_SPARC_HPP
--- a/src/hotspot/cpu/sparc/copy_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/copy_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_COPY_SPARC_HPP
-#define CPU_SPARC_VM_COPY_SPARC_HPP
+#ifndef CPU_SPARC_COPY_SPARC_HPP
+#define CPU_SPARC_COPY_SPARC_HPP
// Inline functions for memory copy and fill.
@@ -210,4 +210,4 @@
(void)memset(to, 0, count);
}
-#endif // CPU_SPARC_VM_COPY_SPARC_HPP
+#endif // CPU_SPARC_COPY_SPARC_HPP
--- a/src/hotspot/cpu/sparc/depChecker_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/depChecker_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,9 +22,9 @@
*
*/
-#ifndef CPU_SPARC_VM_DEPCHECKER_SPARC_HPP
-#define CPU_SPARC_VM_DEPCHECKER_SPARC_HPP
+#ifndef CPU_SPARC_DEPCHECKER_SPARC_HPP
+#define CPU_SPARC_DEPCHECKER_SPARC_HPP
// Nothing to do on Sparc
-#endif // CPU_SPARC_VM_DEPCHECKER_SPARC_HPP
+#endif // CPU_SPARC_DEPCHECKER_SPARC_HPP
--- a/src/hotspot/cpu/sparc/disassembler_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/disassembler_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_DISASSEMBLER_SPARC_HPP
-#define CPU_SPARC_VM_DISASSEMBLER_SPARC_HPP
+#ifndef CPU_SPARC_DISASSEMBLER_SPARC_HPP
+#define CPU_SPARC_DISASSEMBLER_SPARC_HPP
static int pd_instruction_alignment() {
return sizeof(int);
@@ -33,4 +33,4 @@
return "v9only";
}
-#endif // CPU_SPARC_VM_DISASSEMBLER_SPARC_HPP
+#endif // CPU_SPARC_DISASSEMBLER_SPARC_HPP
--- a/src/hotspot/cpu/sparc/frame_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/frame_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_FRAME_SPARC_HPP
-#define CPU_SPARC_VM_FRAME_SPARC_HPP
+#ifndef CPU_SPARC_FRAME_SPARC_HPP
+#define CPU_SPARC_FRAME_SPARC_HPP
#include "runtime/synchronizer.hpp"
@@ -242,4 +242,4 @@
static jint interpreter_frame_expression_stack_direction() { return -1; }
-#endif // CPU_SPARC_VM_FRAME_SPARC_HPP
+#endif // CPU_SPARC_FRAME_SPARC_HPP
--- a/src/hotspot/cpu/sparc/frame_sparc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/frame_sparc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_FRAME_SPARC_INLINE_HPP
-#define CPU_SPARC_VM_FRAME_SPARC_INLINE_HPP
+#ifndef CPU_SPARC_FRAME_SPARC_INLINE_HPP
+#define CPU_SPARC_FRAME_SPARC_INLINE_HPP
#include "asm/macroAssembler.hpp"
#include "code/vmreg.inline.hpp"
@@ -191,4 +191,4 @@
*((oop*) map->location(O0->as_VMReg())) = obj;
}
-#endif // CPU_SPARC_VM_FRAME_SPARC_INLINE_HPP
+#endif // CPU_SPARC_FRAME_SPARC_INLINE_HPP
--- a/src/hotspot/cpu/sparc/globalDefinitions_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/globalDefinitions_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_GLOBALDEFINITIONS_SPARC_HPP
-#define CPU_SPARC_VM_GLOBALDEFINITIONS_SPARC_HPP
+#ifndef CPU_SPARC_GLOBALDEFINITIONS_SPARC_HPP
+#define CPU_SPARC_GLOBALDEFINITIONS_SPARC_HPP
// Size of Sparc Instructions
const int BytesPerInstWord = 4;
@@ -55,4 +55,4 @@
// SPARC have implemented the local polling
#define THREAD_LOCAL_POLL
-#endif // CPU_SPARC_VM_GLOBALDEFINITIONS_SPARC_HPP
+#endif // CPU_SPARC_GLOBALDEFINITIONS_SPARC_HPP
--- a/src/hotspot/cpu/sparc/globals_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/globals_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_GLOBALS_SPARC_HPP
-#define CPU_SPARC_VM_GLOBALS_SPARC_HPP
+#ifndef CPU_SPARC_GLOBALS_SPARC_HPP
+#define CPU_SPARC_GLOBALS_SPARC_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -134,4 +134,4 @@
"Distance to prefetch destination array in arraycopy") \
constraint(ArraycopyDstPrefetchDistanceConstraintFunc, AfterErgo) \
-#endif // CPU_SPARC_VM_GLOBALS_SPARC_HPP
+#endif // CPU_SPARC_GLOBALS_SPARC_HPP
--- a/src/hotspot/cpu/sparc/icache_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/icache_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_ICACHE_SPARC_HPP
-#define CPU_SPARC_VM_ICACHE_SPARC_HPP
+#ifndef CPU_SPARC_ICACHE_SPARC_HPP
+#define CPU_SPARC_ICACHE_SPARC_HPP
// Interface for updating the instruction cache. Whenever the VM modifies
// code, part of the processor instruction cache potentially has to be flushed.
@@ -40,4 +40,4 @@
// Use default implementation
};
-#endif // CPU_SPARC_VM_ICACHE_SPARC_HPP
+#endif // CPU_SPARC_ICACHE_SPARC_HPP
--- a/src/hotspot/cpu/sparc/interp_masm_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/interp_masm_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_INTERP_MASM_SPARC_HPP
-#define CPU_SPARC_VM_INTERP_MASM_SPARC_HPP
+#ifndef CPU_SPARC_INTERP_MASM_SPARC_HPP
+#define CPU_SPARC_INTERP_MASM_SPARC_HPP
#include "asm/macroAssembler.hpp"
#include "interpreter/invocationCounter.hpp"
@@ -334,4 +334,4 @@
};
-#endif // CPU_SPARC_VM_INTERP_MASM_SPARC_HPP
+#endif // CPU_SPARC_INTERP_MASM_SPARC_HPP
--- a/src/hotspot/cpu/sparc/interpreterRT_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/interpreterRT_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_INTERPRETERRT_SPARC_HPP
-#define CPU_SPARC_VM_INTERPRETERRT_SPARC_HPP
+#ifndef CPU_SPARC_INTERPRETERRT_SPARC_HPP
+#define CPU_SPARC_INTERPRETERRT_SPARC_HPP
// This is included in the middle of class Interpreter.
// Do not include files here.
@@ -60,4 +60,4 @@
void generate( uint64_t fingerprint );
};
-#endif // CPU_SPARC_VM_INTERPRETERRT_SPARC_HPP
+#endif // CPU_SPARC_INTERPRETERRT_SPARC_HPP
--- a/src/hotspot/cpu/sparc/javaFrameAnchor_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/javaFrameAnchor_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_JAVAFRAMEANCHOR_SPARC_HPP
-#define CPU_SPARC_VM_JAVAFRAMEANCHOR_SPARC_HPP
+#ifndef CPU_SPARC_JAVAFRAMEANCHOR_SPARC_HPP
+#define CPU_SPARC_JAVAFRAMEANCHOR_SPARC_HPP
private:
volatile int _flags;
@@ -99,4 +99,4 @@
OrderAccess::fence();
}
-#endif // CPU_SPARC_VM_JAVAFRAMEANCHOR_SPARC_HPP
+#endif // CPU_SPARC_JAVAFRAMEANCHOR_SPARC_HPP
--- a/src/hotspot/cpu/sparc/jniTypes_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/jniTypes_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_JNITYPES_SPARC_HPP
-#define CPU_SPARC_VM_JNITYPES_SPARC_HPP
+#ifndef CPU_SPARC_JNITYPES_SPARC_HPP
+#define CPU_SPARC_JNITYPES_SPARC_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -88,4 +88,4 @@
};
-#endif // CPU_SPARC_VM_JNITYPES_SPARC_HPP
+#endif // CPU_SPARC_JNITYPES_SPARC_HPP
--- a/src/hotspot/cpu/sparc/macroAssembler_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/macroAssembler_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_MACROASSEMBLER_SPARC_HPP
-#define CPU_SPARC_VM_MACROASSEMBLER_SPARC_HPP
+#ifndef CPU_SPARC_MACROASSEMBLER_SPARC_HPP
+#define CPU_SPARC_MACROASSEMBLER_SPARC_HPP
#include "asm/assembler.hpp"
#include "utilities/macros.hpp"
@@ -1397,4 +1397,4 @@
~SkipIfEqual();
};
-#endif // CPU_SPARC_VM_MACROASSEMBLER_SPARC_HPP
+#endif // CPU_SPARC_MACROASSEMBLER_SPARC_HPP
--- a/src/hotspot/cpu/sparc/macroAssembler_sparc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/macroAssembler_sparc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_MACROASSEMBLER_SPARC_INLINE_HPP
-#define CPU_SPARC_VM_MACROASSEMBLER_SPARC_INLINE_HPP
+#ifndef CPU_SPARC_MACROASSEMBLER_SPARC_INLINE_HPP
+#define CPU_SPARC_MACROASSEMBLER_SPARC_INLINE_HPP
#include "asm/assembler.inline.hpp"
#include "asm/macroAssembler.hpp"
@@ -719,4 +719,4 @@
if (a.has_index()) { assert(offset == 0, ""); swap(a.base(), a.index(), d ); }
else { swap(a.base(), a.disp() + offset, d); }
}
-#endif // CPU_SPARC_VM_MACROASSEMBLER_SPARC_INLINE_HPP
+#endif // CPU_SPARC_MACROASSEMBLER_SPARC_INLINE_HPP
--- a/src/hotspot/cpu/sparc/nativeInst_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/nativeInst_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_NATIVEINST_SPARC_HPP
-#define CPU_SPARC_VM_NATIVEINST_SPARC_HPP
+#ifndef CPU_SPARC_NATIVEINST_SPARC_HPP
+#define CPU_SPARC_NATIVEINST_SPARC_HPP
#include "asm/macroAssembler.hpp"
#include "runtime/icache.hpp"
@@ -809,4 +809,4 @@
static void insert(address code_pos);
};
-#endif // CPU_SPARC_VM_NATIVEINST_SPARC_HPP
+#endif // CPU_SPARC_NATIVEINST_SPARC_HPP
--- a/src/hotspot/cpu/sparc/registerMap_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/registerMap_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_REGISTERMAP_SPARC_HPP
-#define CPU_SPARC_VM_REGISTERMAP_SPARC_HPP
+#ifndef CPU_SPARC_REGISTERMAP_SPARC_HPP
+#define CPU_SPARC_REGISTERMAP_SPARC_HPP
// machine-dependent implemention for register maps
friend class frame;
@@ -56,4 +56,4 @@
// When popping out of compiled frames, we make all IRegs disappear.
void make_integer_regs_unsaved() { _location_valid[0] = 0; }
-#endif // CPU_SPARC_VM_REGISTERMAP_SPARC_HPP
+#endif // CPU_SPARC_REGISTERMAP_SPARC_HPP
--- a/src/hotspot/cpu/sparc/register_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/register_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_REGISTER_SPARC_HPP
-#define CPU_SPARC_VM_REGISTER_SPARC_HPP
+#ifndef CPU_SPARC_REGISTER_SPARC_HPP
+#define CPU_SPARC_REGISTER_SPARC_HPP
#include "asm/register.hpp"
@@ -337,4 +337,4 @@
}
};
-#endif // CPU_SPARC_VM_REGISTER_SPARC_HPP
+#endif // CPU_SPARC_REGISTER_SPARC_HPP
--- a/src/hotspot/cpu/sparc/relocInfo_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/relocInfo_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_RELOCINFO_SPARC_HPP
-#define CPU_SPARC_VM_RELOCINFO_SPARC_HPP
+#ifndef CPU_SPARC_RELOCINFO_SPARC_HPP
+#define CPU_SPARC_RELOCINFO_SPARC_HPP
// machine-dependent parts of class relocInfo
private:
@@ -54,4 +54,4 @@
// 1.9 99/07/16 11:12:11 relocInfo_i486.hpp
//End
-#endif // CPU_SPARC_VM_RELOCINFO_SPARC_HPP
+#endif // CPU_SPARC_RELOCINFO_SPARC_HPP
--- a/src/hotspot/cpu/sparc/stubRoutines_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/stubRoutines_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_STUBROUTINES_SPARC_HPP
-#define CPU_SPARC_VM_STUBROUTINES_SPARC_HPP
+#ifndef CPU_SPARC_STUBROUTINES_SPARC_HPP
+#define CPU_SPARC_STUBROUTINES_SPARC_HPP
// This file holds the platform specific parts of the StubRoutines
// definition. See stubRoutines.hpp for a description on how to
@@ -73,4 +73,4 @@
static address crc_by128_masks_addr() { return (address)_crc_by128_masks; }
};
-#endif // CPU_SPARC_VM_STUBROUTINES_SPARC_HPP
+#endif // CPU_SPARC_STUBROUTINES_SPARC_HPP
--- a/src/hotspot/cpu/sparc/templateTable_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/templateTable_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_TEMPLATETABLE_SPARC_HPP
-#define CPU_SPARC_VM_TEMPLATETABLE_SPARC_HPP
+#ifndef CPU_SPARC_TEMPLATETABLE_SPARC_HPP
+#define CPU_SPARC_TEMPLATETABLE_SPARC_HPP
static void prepare_invoke(int byte_no,
Register method, // linked method (or i-klass)
@@ -40,4 +40,4 @@
static void generate_vtable_call(Register Rrecv, Register Rindex, Register Rret);
static void volatile_barrier(Assembler::Membar_mask_bits order_constraint);
-#endif // CPU_SPARC_VM_TEMPLATETABLE_SPARC_HPP
+#endif // CPU_SPARC_TEMPLATETABLE_SPARC_HPP
--- a/src/hotspot/cpu/sparc/vmStructs_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/vmStructs_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_VMSTRUCTS_SPARC_HPP
-#define CPU_SPARC_VM_VMSTRUCTS_SPARC_HPP
+#ifndef CPU_SPARC_VMSTRUCTS_SPARC_HPP
+#define CPU_SPARC_VMSTRUCTS_SPARC_HPP
// These are the CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -119,4 +119,4 @@
#define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // CPU_SPARC_VM_VMSTRUCTS_SPARC_HPP
+#endif // CPU_SPARC_VMSTRUCTS_SPARC_HPP
--- a/src/hotspot/cpu/sparc/vm_version_ext_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/vm_version_ext_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_VM_VERSION_EXT_SPARC_HPP
-#define CPU_SPARC_VM_VM_VERSION_EXT_SPARC_HPP
+#ifndef CPU_SPARC_VM_VERSION_EXT_SPARC_HPP
+#define CPU_SPARC_VM_VERSION_EXT_SPARC_HPP
#include "utilities/macros.hpp"
#include "vm_version_sparc.hpp"
@@ -66,4 +66,4 @@
static const char* cpu_description(void);
};
-#endif // CPU_SPARC_VM_VM_VERSION_EXT_SPARC_HPP
+#endif // CPU_SPARC_VM_VERSION_EXT_SPARC_HPP
--- a/src/hotspot/cpu/sparc/vm_version_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/vm_version_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_VM_VERSION_SPARC_HPP
-#define CPU_SPARC_VM_VM_VERSION_SPARC_HPP
+#ifndef CPU_SPARC_VM_VERSION_SPARC_HPP
+#define CPU_SPARC_VM_VERSION_SPARC_HPP
#include "runtime/globals_extension.hpp"
#include "runtime/vm_version.hpp"
@@ -373,4 +373,4 @@
}
};
-#endif // CPU_SPARC_VM_VM_VERSION_SPARC_HPP
+#endif // CPU_SPARC_VM_VERSION_SPARC_HPP
--- a/src/hotspot/cpu/sparc/vmreg_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/vmreg_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_VMREG_SPARC_HPP
-#define CPU_SPARC_VM_VMREG_SPARC_HPP
+#ifndef CPU_SPARC_VMREG_SPARC_HPP
+#define CPU_SPARC_VMREG_SPARC_HPP
inline bool is_Register() { return value() >= 0 && value() < ConcreteRegisterImpl::max_gpr; }
inline bool is_FloatRegister() { return value() >= ConcreteRegisterImpl::max_gpr &&
@@ -55,4 +55,4 @@
return false;
}
-#endif // CPU_SPARC_VM_VMREG_SPARC_HPP
+#endif // CPU_SPARC_VMREG_SPARC_HPP
--- a/src/hotspot/cpu/sparc/vmreg_sparc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/sparc/vmreg_sparc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_SPARC_VM_VMREG_SPARC_INLINE_HPP
-#define CPU_SPARC_VM_VMREG_SPARC_INLINE_HPP
+#ifndef CPU_SPARC_VMREG_SPARC_INLINE_HPP
+#define CPU_SPARC_VMREG_SPARC_INLINE_HPP
inline VMReg RegisterImpl::as_VMReg() {
if( this==noreg ) return VMRegImpl::Bad();
@@ -34,4 +34,4 @@
-#endif // CPU_SPARC_VM_VMREG_SPARC_INLINE_HPP
+#endif // CPU_SPARC_VMREG_SPARC_INLINE_HPP
--- a/src/hotspot/cpu/x86/assembler_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/assembler_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_ASSEMBLER_X86_HPP
-#define CPU_X86_VM_ASSEMBLER_X86_HPP
+#ifndef CPU_X86_ASSEMBLER_X86_HPP
+#define CPU_X86_ASSEMBLER_X86_HPP
#include "asm/register.hpp"
#include "vm_version_x86.hpp"
@@ -2310,4 +2310,4 @@
};
-#endif // CPU_X86_VM_ASSEMBLER_X86_HPP
+#endif // CPU_X86_ASSEMBLER_X86_HPP
--- a/src/hotspot/cpu/x86/assembler_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/assembler_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_ASSEMBLER_X86_INLINE_HPP
-#define CPU_X86_VM_ASSEMBLER_X86_INLINE_HPP
+#ifndef CPU_X86_ASSEMBLER_X86_INLINE_HPP
+#define CPU_X86_ASSEMBLER_X86_INLINE_HPP
#include "asm/assembler.inline.hpp"
#include "asm/codeBuffer.hpp"
@@ -49,4 +49,4 @@
inline void Assembler::prefixq(Address adr, XMMRegister reg) {}
#endif // _LP64
-#endif // CPU_X86_VM_ASSEMBLER_X86_INLINE_HPP
+#endif // CPU_X86_ASSEMBLER_X86_INLINE_HPP
--- a/src/hotspot/cpu/x86/bytes_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/bytes_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_BYTES_X86_HPP
-#define CPU_X86_VM_BYTES_X86_HPP
+#ifndef CPU_X86_BYTES_X86_HPP
+#define CPU_X86_BYTES_X86_HPP
#include "memory/allocation.hpp"
#include "utilities/align.hpp"
@@ -124,4 +124,4 @@
// The following header contains the implementations of swap_u2, swap_u4, and swap_u8[_base]
#include OS_CPU_HEADER_INLINE(bytes)
-#endif // CPU_X86_VM_BYTES_X86_HPP
+#endif // CPU_X86_BYTES_X86_HPP
--- a/src/hotspot/cpu/x86/c1_Defs_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/c1_Defs_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_C1_DEFS_X86_HPP
-#define CPU_X86_VM_C1_DEFS_X86_HPP
+#ifndef CPU_X86_C1_DEFS_X86_HPP
+#define CPU_X86_C1_DEFS_X86_HPP
// native word offsets from memory address (little endian)
enum {
@@ -75,4 +75,4 @@
pd_float_saved_as_double = true
};
-#endif // CPU_X86_VM_C1_DEFS_X86_HPP
+#endif // CPU_X86_C1_DEFS_X86_HPP
--- a/src/hotspot/cpu/x86/c1_FpuStackSim_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/c1_FpuStackSim_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_C1_FPUSTACKSIM_X86_HPP
-#define CPU_X86_VM_C1_FPUSTACKSIM_X86_HPP
+#ifndef CPU_X86_C1_FPUSTACKSIM_X86_HPP
+#define CPU_X86_C1_FPUSTACKSIM_X86_HPP
// Simulates the FPU stack and maintains mapping [fpu-register -> stack offset]
// FPU registers are described as numbers from 0..nof_fpu_regs-1
@@ -69,4 +69,4 @@
void print() PRODUCT_RETURN;
};
-#endif // CPU_X86_VM_C1_FPUSTACKSIM_X86_HPP
+#endif // CPU_X86_C1_FPUSTACKSIM_X86_HPP
--- a/src/hotspot/cpu/x86/c1_FrameMap_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/c1_FrameMap_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_C1_FRAMEMAP_X86_HPP
-#define CPU_X86_VM_C1_FRAMEMAP_X86_HPP
+#ifndef CPU_X86_C1_FRAMEMAP_X86_HPP
+#define CPU_X86_C1_FRAMEMAP_X86_HPP
// On i486 the frame looks as follows:
//
@@ -166,5 +166,4 @@
static int last_cpu_reg() { return adjust_reg_range(pd_last_cpu_reg); }
static int last_byte_reg() { return adjust_reg_range(pd_last_byte_reg); }
-#endif // CPU_X86_VM_C1_FRAMEMAP_X86_HPP
-
+#endif // CPU_X86_C1_FRAMEMAP_X86_HPP
--- a/src/hotspot/cpu/x86/c1_LIRAssembler_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/c1_LIRAssembler_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_C1_LIRASSEMBLER_X86_HPP
-#define CPU_X86_VM_C1_LIRASSEMBLER_X86_HPP
+#ifndef CPU_X86_C1_LIRASSEMBLER_X86_HPP
+#define CPU_X86_C1_LIRASSEMBLER_X86_HPP
private:
@@ -62,4 +62,4 @@
void store_parameter(jobject c, int offset_from_esp_in_words);
void store_parameter(Metadata* c, int offset_from_esp_in_words);
-#endif // CPU_X86_VM_C1_LIRASSEMBLER_X86_HPP
+#endif // CPU_X86_C1_LIRASSEMBLER_X86_HPP
--- a/src/hotspot/cpu/x86/c1_LinearScan_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/c1_LinearScan_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_C1_LINEARSCAN_X86_HPP
-#define CPU_X86_VM_C1_LINEARSCAN_X86_HPP
+#ifndef CPU_X86_C1_LINEARSCAN_X86_HPP
+#define CPU_X86_C1_LINEARSCAN_X86_HPP
inline bool LinearScan::is_processed_reg_num(int reg_num) {
#ifndef _LP64
@@ -195,4 +195,4 @@
void allocate();
};
-#endif // CPU_X86_VM_C1_LINEARSCAN_X86_HPP
+#endif // CPU_X86_C1_LINEARSCAN_X86_HPP
--- a/src/hotspot/cpu/x86/c1_MacroAssembler_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/c1_MacroAssembler_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_C1_MACROASSEMBLER_X86_HPP
-#define CPU_X86_VM_C1_MACROASSEMBLER_X86_HPP
+#ifndef CPU_X86_C1_MACROASSEMBLER_X86_HPP
+#define CPU_X86_C1_MACROASSEMBLER_X86_HPP
// C1_MacroAssembler contains high-level macros for C1
@@ -127,4 +127,4 @@
void restore_live_registers_except_rax(bool restore_fpu_registers);
void restore_live_registers(bool restore_fpu_registers);
-#endif // CPU_X86_VM_C1_MACROASSEMBLER_X86_HPP
+#endif // CPU_X86_C1_MACROASSEMBLER_X86_HPP
--- a/src/hotspot/cpu/x86/c1_globals_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/c1_globals_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_C1_GLOBALS_X86_HPP
-#define CPU_X86_VM_C1_GLOBALS_X86_HPP
+#ifndef CPU_X86_C1_GLOBALS_X86_HPP
+#define CPU_X86_C1_GLOBALS_X86_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -67,4 +67,4 @@
define_pd_global(bool, CSEArrayLength, false);
define_pd_global(bool, TwoOperandLIRForm, true );
-#endif // CPU_X86_VM_C1_GLOBALS_X86_HPP
+#endif // CPU_X86_C1_GLOBALS_X86_HPP
--- a/src/hotspot/cpu/x86/c2_globals_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/c2_globals_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_C2_GLOBALS_X86_HPP
-#define CPU_X86_VM_C2_GLOBALS_X86_HPP
+#ifndef CPU_X86_C2_GLOBALS_X86_HPP
+#define CPU_X86_C2_GLOBALS_X86_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -99,4 +99,4 @@
// Ergonomics related flags
define_pd_global(bool, NeverActAsServerClassMachine, false);
-#endif // CPU_X86_VM_C2_GLOBALS_X86_HPP
+#endif // CPU_X86_C2_GLOBALS_X86_HPP
--- a/src/hotspot/cpu/x86/codeBuffer_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/codeBuffer_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_CODEBUFFER_X86_HPP
-#define CPU_X86_VM_CODEBUFFER_X86_HPP
+#ifndef CPU_X86_CODEBUFFER_X86_HPP
+#define CPU_X86_CODEBUFFER_X86_HPP
private:
void pd_initialize() {}
@@ -31,4 +31,4 @@
public:
void flush_bundle(bool start_new_bundle) {}
-#endif // CPU_X86_VM_CODEBUFFER_X86_HPP
+#endif // CPU_X86_CODEBUFFER_X86_HPP
--- a/src/hotspot/cpu/x86/copy_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/copy_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_COPY_X86_HPP
-#define CPU_X86_VM_COPY_X86_HPP
+#ifndef CPU_X86_COPY_X86_HPP
+#define CPU_X86_COPY_X86_HPP
// Inline functions for memory copy and fill.
@@ -62,4 +62,4 @@
(void)memset(to, 0, count);
}
-#endif // CPU_X86_VM_COPY_X86_HPP
+#endif // CPU_X86_COPY_X86_HPP
--- a/src/hotspot/cpu/x86/depChecker_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/depChecker_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,9 +22,9 @@
*
*/
-#ifndef CPU_X86_VM_DEPCHECKER_X86_HPP
-#define CPU_X86_VM_DEPCHECKER_X86_HPP
+#ifndef CPU_X86_DEPCHECKER_X86_HPP
+#define CPU_X86_DEPCHECKER_X86_HPP
// Nothing to do on i486
-#endif // CPU_X86_VM_DEPCHECKER_X86_HPP
+#endif // CPU_X86_DEPCHECKER_X86_HPP
--- a/src/hotspot/cpu/x86/disassembler_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/disassembler_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_DISASSEMBLER_X86_HPP
-#define CPU_X86_VM_DISASSEMBLER_X86_HPP
+#ifndef CPU_X86_DISASSEMBLER_X86_HPP
+#define CPU_X86_DISASSEMBLER_X86_HPP
static int pd_instruction_alignment() {
return 1;
@@ -33,4 +33,4 @@
return "";
}
-#endif // CPU_X86_VM_DISASSEMBLER_X86_HPP
+#endif // CPU_X86_DISASSEMBLER_X86_HPP
--- a/src/hotspot/cpu/x86/frame_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/frame_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_FRAME_X86_HPP
-#define CPU_X86_VM_FRAME_X86_HPP
+#ifndef CPU_X86_FRAME_X86_HPP
+#define CPU_X86_FRAME_X86_HPP
#include "runtime/synchronizer.hpp"
@@ -156,4 +156,4 @@
static jint interpreter_frame_expression_stack_direction() { return -1; }
-#endif // CPU_X86_VM_FRAME_X86_HPP
+#endif // CPU_X86_FRAME_X86_HPP
--- a/src/hotspot/cpu/x86/frame_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/frame_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_FRAME_X86_INLINE_HPP
-#define CPU_X86_VM_FRAME_X86_INLINE_HPP
+#ifndef CPU_X86_FRAME_X86_INLINE_HPP
+#define CPU_X86_FRAME_X86_INLINE_HPP
#include "code/codeCache.hpp"
#include "code/vmreg.inline.hpp"
@@ -245,4 +245,4 @@
*result_adr = obj;
}
-#endif // CPU_X86_VM_FRAME_X86_INLINE_HPP
+#endif // CPU_X86_FRAME_X86_INLINE_HPP
--- a/src/hotspot/cpu/x86/globalDefinitions_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/globalDefinitions_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_GLOBALDEFINITIONS_X86_HPP
-#define CPU_X86_VM_GLOBALDEFINITIONS_X86_HPP
+#ifndef CPU_X86_GLOBALDEFINITIONS_X86_HPP
+#define CPU_X86_GLOBALDEFINITIONS_X86_HPP
const int StackAlignmentInBytes = 16;
@@ -67,4 +67,4 @@
#define THREAD_LOCAL_POLL
-#endif // CPU_X86_VM_GLOBALDEFINITIONS_X86_HPP
+#endif // CPU_X86_GLOBALDEFINITIONS_X86_HPP
--- a/src/hotspot/cpu/x86/globals_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/globals_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_GLOBALS_X86_HPP
-#define CPU_X86_VM_GLOBALS_X86_HPP
+#ifndef CPU_X86_GLOBALS_X86_HPP
+#define CPU_X86_GLOBALS_X86_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -215,4 +215,4 @@
\
diagnostic(bool, UseLibmIntrinsic, true, \
"Use Libm Intrinsics")
-#endif // CPU_X86_VM_GLOBALS_X86_HPP
+#endif // CPU_X86_GLOBALS_X86_HPP
--- a/src/hotspot/cpu/x86/icache_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/icache_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_ICACHE_X86_HPP
-#define CPU_X86_VM_ICACHE_X86_HPP
+#ifndef CPU_X86_ICACHE_X86_HPP
+#define CPU_X86_ICACHE_X86_HPP
// Interface for updating the instruction cache. Whenever the VM modifies
// code, part of the processor instruction cache potentially has to be flushed.
@@ -57,4 +57,4 @@
#endif // AMD64
};
-#endif // CPU_X86_VM_ICACHE_X86_HPP
+#endif // CPU_X86_ICACHE_X86_HPP
--- a/src/hotspot/cpu/x86/interp_masm_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/interp_masm_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_INTERP_MASM_X86_HPP
-#define CPU_X86_VM_INTERP_MASM_X86_HPP
+#ifndef CPU_X86_INTERP_MASM_X86_HPP
+#define CPU_X86_INTERP_MASM_X86_HPP
#include "asm/macroAssembler.hpp"
#include "interpreter/invocationCounter.hpp"
@@ -298,4 +298,4 @@
};
-#endif // CPU_X86_VM_INTERP_MASM_X86_HPP
+#endif // CPU_X86_INTERP_MASM_X86_HPP
--- a/src/hotspot/cpu/x86/interpreterRT_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/interpreterRT_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_INTERPRETERRT_X86_HPP
-#define CPU_X86_VM_INTERPRETERRT_X86_HPP
+#ifndef CPU_X86_INTERPRETERRT_X86_HPP
+#define CPU_X86_INTERPRETERRT_X86_HPP
// This is included in the middle of class Interpreter.
// Do not include files here.
@@ -67,4 +67,4 @@
static Register temp();
};
-#endif // CPU_X86_VM_INTERPRETERRT_X86_HPP
+#endif // CPU_X86_INTERPRETERRT_X86_HPP
--- a/src/hotspot/cpu/x86/javaFrameAnchor_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/javaFrameAnchor_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_JAVAFRAMEANCHOR_X86_HPP
-#define CPU_X86_VM_JAVAFRAMEANCHOR_X86_HPP
+#ifndef CPU_X86_JAVAFRAMEANCHOR_X86_HPP
+#define CPU_X86_JAVAFRAMEANCHOR_X86_HPP
private:
@@ -82,4 +82,4 @@
// Assert (last_Java_sp == NULL || fp == NULL)
void set_last_Java_fp(intptr_t* fp) { _last_Java_fp = fp; }
-#endif // CPU_X86_VM_JAVAFRAMEANCHOR_X86_HPP
+#endif // CPU_X86_JAVAFRAMEANCHOR_X86_HPP
--- a/src/hotspot/cpu/x86/jniTypes_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/jniTypes_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_JNITYPES_X86_HPP
-#define CPU_X86_VM_JNITYPES_X86_HPP
+#ifndef CPU_X86_JNITYPES_X86_HPP
+#define CPU_X86_JNITYPES_X86_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -130,4 +130,4 @@
#undef _JNI_SLOT_OFFSET
};
-#endif // CPU_X86_VM_JNITYPES_X86_HPP
+#endif // CPU_X86_JNITYPES_X86_HPP
--- a/src/hotspot/cpu/x86/macroAssembler_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/macroAssembler_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_MACROASSEMBLER_X86_HPP
-#define CPU_X86_VM_MACROASSEMBLER_X86_HPP
+#ifndef CPU_X86_MACROASSEMBLER_X86_HPP
+#define CPU_X86_MACROASSEMBLER_X86_HPP
#include "asm/assembler.hpp"
#include "utilities/macros.hpp"
@@ -1779,4 +1779,4 @@
~SkipIfEqual();
};
-#endif // CPU_X86_VM_MACROASSEMBLER_X86_HPP
+#endif // CPU_X86_MACROASSEMBLER_X86_HPP
--- a/src/hotspot/cpu/x86/macroAssembler_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/macroAssembler_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,9 +22,9 @@
*
*/
-#ifndef CPU_X86_VM_MACROASSEMBLER_X86_INLINE_HPP
-#define CPU_X86_VM_MACROASSEMBLER_X86_INLINE_HPP
+#ifndef CPU_X86_MACROASSEMBLER_X86_INLINE_HPP
+#define CPU_X86_MACROASSEMBLER_X86_INLINE_HPP
// Still empty.
-#endif // CPU_X86_VM_MACROASSEMBLER_X86_INLINE_HPP
+#endif // CPU_X86_MACROASSEMBLER_X86_INLINE_HPP
--- a/src/hotspot/cpu/x86/nativeInst_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/nativeInst_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_NATIVEINST_X86_HPP
-#define CPU_X86_VM_NATIVEINST_X86_HPP
+#ifndef CPU_X86_NATIVEINST_X86_HPP
+#define CPU_X86_NATIVEINST_X86_HPP
#include "asm/assembler.hpp"
#include "runtime/icache.hpp"
@@ -753,4 +753,4 @@
#endif // AMD64
}
-#endif // CPU_X86_VM_NATIVEINST_X86_HPP
+#endif // CPU_X86_NATIVEINST_X86_HPP
--- a/src/hotspot/cpu/x86/rdtsc_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/rdtsc_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_RDTSC_X86_HPP
-#define CPU_X86_VM_RDTSC_X86_HPP
+#ifndef CPU_X86_RDTSC_X86_HPP
+#define CPU_X86_RDTSC_X86_HPP
#include "memory/allocation.hpp"
#include "utilities/macros.hpp"
@@ -47,4 +47,4 @@
static bool initialize();
};
-#endif // CPU_X86_VM_RDTSC_X86_HPP
+#endif // CPU_X86_RDTSC_X86_HPP
--- a/src/hotspot/cpu/x86/registerMap_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/registerMap_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_REGISTERMAP_X86_HPP
-#define CPU_X86_VM_REGISTERMAP_X86_HPP
+#ifndef CPU_X86_REGISTERMAP_X86_HPP
+#define CPU_X86_REGISTERMAP_X86_HPP
// machine-dependent implemention for register maps
friend class frame;
@@ -37,4 +37,4 @@
void pd_initialize() {}
void pd_initialize_from(const RegisterMap* map) {}
-#endif // CPU_X86_VM_REGISTERMAP_X86_HPP
+#endif // CPU_X86_REGISTERMAP_X86_HPP
--- a/src/hotspot/cpu/x86/register_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/register_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_REGISTER_X86_HPP
-#define CPU_X86_VM_REGISTER_X86_HPP
+#ifndef CPU_X86_REGISTER_X86_HPP
+#define CPU_X86_REGISTER_X86_HPP
#include "asm/register.hpp"
@@ -291,4 +291,4 @@
};
-#endif // CPU_X86_VM_REGISTER_X86_HPP
+#endif // CPU_X86_REGISTER_X86_HPP
--- a/src/hotspot/cpu/x86/relocInfo_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/relocInfo_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_RELOCINFO_X86_HPP
-#define CPU_X86_VM_RELOCINFO_X86_HPP
+#ifndef CPU_X86_RELOCINFO_X86_HPP
+#define CPU_X86_RELOCINFO_X86_HPP
// machine-dependent parts of class relocInfo
private:
@@ -46,4 +46,4 @@
// listed in the oop section.
static bool mustIterateImmediateOopsInCode() { return true; }
-#endif // CPU_X86_VM_RELOCINFO_X86_HPP
+#endif // CPU_X86_RELOCINFO_X86_HPP
--- a/src/hotspot/cpu/x86/stubRoutines_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/stubRoutines_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_STUBROUTINES_X86_HPP
-#define CPU_X86_VM_STUBROUTINES_X86_HPP
+#ifndef CPU_X86_STUBROUTINES_X86_HPP
+#define CPU_X86_STUBROUTINES_X86_HPP
// This file holds the platform specific parts of the StubRoutines
// definition. See stubRoutines.hpp for a description on how to
@@ -248,4 +248,4 @@
};
-#endif // CPU_X86_VM_STUBROUTINES_X86_HPP
+#endif // CPU_X86_STUBROUTINES_X86_HPP
--- a/src/hotspot/cpu/x86/templateTable_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/templateTable_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_TEMPLATETABLE_X86_HPP
-#define CPU_X86_VM_TEMPLATETABLE_X86_HPP
+#ifndef CPU_X86_TEMPLATETABLE_X86_HPP
+#define CPU_X86_TEMPLATETABLE_X86_HPP
static void prepare_invoke(int byte_no,
Register method, // linked method (or i-klass)
@@ -43,4 +43,4 @@
Register obj, Register off, Register flags);
static void fast_storefield_helper(Address field, Register rax);
-#endif // CPU_X86_VM_TEMPLATETABLE_X86_HPP
+#endif // CPU_X86_TEMPLATETABLE_X86_HPP
--- a/src/hotspot/cpu/x86/vmStructs_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/vmStructs_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_VMSTRUCTS_X86_HPP
-#define CPU_X86_VM_VMSTRUCTS_X86_HPP
+#ifndef CPU_X86_VMSTRUCTS_X86_HPP
+#define CPU_X86_VMSTRUCTS_X86_HPP
// These are the CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -77,4 +77,4 @@
declare_preprocessor_constant("VM_Version::CPU_FMA", CPU_FMA) \
declare_preprocessor_constant("VM_Version::CPU_VZEROUPPER", CPU_VZEROUPPER)
-#endif // CPU_X86_VM_VMSTRUCTS_X86_HPP
+#endif // CPU_X86_VMSTRUCTS_X86_HPP
--- a/src/hotspot/cpu/x86/vm_version_ext_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/vm_version_ext_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_VM_VERSION_EXT_X86_HPP
-#define CPU_X86_VM_VM_VERSION_EXT_X86_HPP
+#ifndef CPU_X86_VM_VERSION_EXT_X86_HPP
+#define CPU_X86_VM_VERSION_EXT_X86_HPP
#include "utilities/macros.hpp"
#include "vm_version_x86.hpp"
@@ -97,4 +97,4 @@
static void initialize();
};
-#endif // CPU_X86_VM_VM_VERSION_EXT_X86_HPP
+#endif // CPU_X86_VM_VERSION_EXT_X86_HPP
--- a/src/hotspot/cpu/x86/vm_version_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/vm_version_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_VM_VERSION_X86_HPP
-#define CPU_X86_VM_VM_VERSION_X86_HPP
+#ifndef CPU_X86_VM_VERSION_X86_HPP
+#define CPU_X86_VM_VERSION_X86_HPP
#include "runtime/globals_extension.hpp"
#include "runtime/vm_version.hpp"
@@ -932,4 +932,4 @@
static bool supports_on_spin_wait() { return supports_sse2(); }
};
-#endif // CPU_X86_VM_VM_VERSION_X86_HPP
+#endif // CPU_X86_VM_VERSION_X86_HPP
--- a/src/hotspot/cpu/x86/vmreg_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/vmreg_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_VMREG_X86_HPP
-#define CPU_X86_VM_VMREG_X86_HPP
+#ifndef CPU_X86_VMREG_X86_HPP
+#define CPU_X86_VMREG_X86_HPP
@@ -93,4 +93,4 @@
return is_even(value());
}
-#endif // CPU_X86_VM_VMREG_X86_HPP
+#endif // CPU_X86_VMREG_X86_HPP
--- a/src/hotspot/cpu/x86/vmreg_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/vmreg_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_X86_VM_VMREG_X86_INLINE_HPP
-#define CPU_X86_VM_VMREG_X86_INLINE_HPP
+#ifndef CPU_X86_VMREG_X86_INLINE_HPP
+#define CPU_X86_VMREG_X86_INLINE_HPP
inline VMReg RegisterImpl::as_VMReg() {
if( this==noreg ) return VMRegImpl::Bad();
@@ -46,4 +46,4 @@
return VMRegImpl::as_VMReg(encoding() + ConcreteRegisterImpl::max_xmm);
}
-#endif // CPU_X86_VM_VMREG_X86_INLINE_HPP
+#endif // CPU_X86_VMREG_X86_INLINE_HPP
--- a/src/hotspot/cpu/x86/x86.ad Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/x86/x86.ad Tue Jan 22 09:43:38 2019 -0500
@@ -9936,6 +9936,7 @@
__ evpdpwssd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister, vector_len);
%}
ins_pipe( pipe_slow );
+ ins_cost(10);
%}
instruct vmuladdadd8S4I_reg(vecX dst, vecX src1, vecX src2) %{
@@ -9947,6 +9948,7 @@
__ evpdpwssd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister, vector_len);
%}
ins_pipe( pipe_slow );
+ ins_cost(10);
%}
instruct vmuladdadd16S8I_reg(vecY dst, vecY src1, vecY src2) %{
@@ -9958,6 +9960,7 @@
__ evpdpwssd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister, vector_len);
%}
ins_pipe( pipe_slow );
+ ins_cost(10);
%}
instruct vmuladdadd32S16I_reg(vecZ dst, vecZ src1, vecZ src2) %{
@@ -9969,6 +9972,7 @@
__ evpdpwssd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister, vector_len);
%}
ins_pipe( pipe_slow );
+ ins_cost(10);
%}
// --------------------------------- PopCount --------------------------------------
--- a/src/hotspot/cpu/zero/assembler_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/assembler_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_ASSEMBLER_ZERO_HPP
-#define CPU_ZERO_VM_ASSEMBLER_ZERO_HPP
+#ifndef CPU_ZERO_ASSEMBLER_ZERO_HPP
+#define CPU_ZERO_ASSEMBLER_ZERO_HPP
// In normal, CPU-specific ports of HotSpot these two classes are used
// for generating assembly language. We don't do any of this in zero,
@@ -59,4 +59,4 @@
address ShouldNotCallThisStub();
address ShouldNotCallThisEntry();
-#endif // CPU_ZERO_VM_ASSEMBLER_ZERO_HPP
+#endif // CPU_ZERO_ASSEMBLER_ZERO_HPP
--- a/src/hotspot/cpu/zero/assembler_zero.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/assembler_zero.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2009 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_ASSEMBLER_ZERO_INLINE_HPP
-#define CPU_ZERO_VM_ASSEMBLER_ZERO_INLINE_HPP
+#ifndef CPU_ZERO_ASSEMBLER_ZERO_INLINE_HPP
+#define CPU_ZERO_ASSEMBLER_ZERO_INLINE_HPP
#include "asm/assembler.inline.hpp"
#include "asm/codeBuffer.hpp"
@@ -33,4 +33,4 @@
// This file is intentionally empty
-#endif // CPU_ZERO_VM_ASSEMBLER_ZERO_INLINE_HPP
+#endif // CPU_ZERO_ASSEMBLER_ZERO_INLINE_HPP
--- a/src/hotspot/cpu/zero/bytecodeInterpreter_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/bytecodeInterpreter_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2011 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_BYTECODEINTERPRETER_ZERO_HPP
-#define CPU_ZERO_VM_BYTECODEINTERPRETER_ZERO_HPP
+#ifndef CPU_ZERO_BYTECODEINTERPRETER_ZERO_HPP
+#define CPU_ZERO_BYTECODEINTERPRETER_ZERO_HPP
// Platform specific for C++ based Interpreter
@@ -171,4 +171,4 @@
#define SET_VMSLOTS_DOUBLE(value, offset) (((VMJavaVal64*)&vmslots[(offset) - 1])->d = (value))
#define SET_VMSLOTS_LONG(value, offset) (((VMJavaVal64*)&vmslots[(offset) - 1])->l = (value))
-#endif // CPU_ZERO_VM_BYTECODEINTERPRETER_ZERO_HPP
+#endif // CPU_ZERO_BYTECODEINTERPRETER_ZERO_HPP
--- a/src/hotspot/cpu/zero/bytecodeInterpreter_zero.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/bytecodeInterpreter_zero.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_BYTECODEINTERPRETER_ZERO_INLINE_HPP
-#define CPU_ZERO_VM_BYTECODEINTERPRETER_ZERO_INLINE_HPP
+#ifndef CPU_ZERO_BYTECODEINTERPRETER_ZERO_INLINE_HPP
+#define CPU_ZERO_BYTECODEINTERPRETER_ZERO_INLINE_HPP
// Inline interpreter functions for zero
@@ -303,4 +303,4 @@
return (jbyte) val;
}
-#endif // CPU_ZERO_VM_BYTECODEINTERPRETER_ZERO_INLINE_HPP
+#endif // CPU_ZERO_BYTECODEINTERPRETER_ZERO_INLINE_HPP
--- a/src/hotspot/cpu/zero/bytes_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/bytes_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_BYTES_ZERO_HPP
-#define CPU_ZERO_VM_BYTES_ZERO_HPP
+#ifndef CPU_ZERO_BYTES_ZERO_HPP
+#define CPU_ZERO_BYTES_ZERO_HPP
#include "memory/allocation.hpp"
@@ -160,4 +160,4 @@
#endif // VM_LITTLE_ENDIAN
-#endif // CPU_ZERO_VM_BYTES_ZERO_HPP
+#endif // CPU_ZERO_BYTES_ZERO_HPP
--- a/src/hotspot/cpu/zero/codeBuffer_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/codeBuffer_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,10 +23,10 @@
*
*/
-#ifndef CPU_ZERO_VM_CODEBUFFER_ZERO_HPP
-#define CPU_ZERO_VM_CODEBUFFER_ZERO_HPP
+#ifndef CPU_ZERO_CODEBUFFER_ZERO_HPP
+#define CPU_ZERO_CODEBUFFER_ZERO_HPP
private:
void pd_initialize() {}
-#endif // CPU_ZERO_VM_CODEBUFFER_ZERO_HPP
+#endif // CPU_ZERO_CODEBUFFER_ZERO_HPP
--- a/src/hotspot/cpu/zero/copy_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/copy_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_COPY_ZERO_HPP
-#define CPU_ZERO_VM_COPY_ZERO_HPP
+#ifndef CPU_ZERO_COPY_ZERO_HPP
+#define CPU_ZERO_COPY_ZERO_HPP
// Inline functions for memory copy and fill.
@@ -180,4 +180,4 @@
memset(to, 0, count);
}
-#endif // CPU_ZERO_VM_COPY_ZERO_HPP
+#endif // CPU_ZERO_COPY_ZERO_HPP
--- a/src/hotspot/cpu/zero/cppInterpreter_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/cppInterpreter_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2010, 2011 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_CPPINTERPRETER_ZERO_HPP
-#define CPU_ZERO_VM_CPPINTERPRETER_ZERO_HPP
+#ifndef CPU_ZERO_CPPINTERPRETER_ZERO_HPP
+#define CPU_ZERO_CPPINTERPRETER_ZERO_HPP
protected:
// Size of interpreter code
@@ -49,4 +49,4 @@
static intptr_t* calculate_unwind_sp(ZeroStack* stack, oop method_handle);
static void throw_exception(JavaThread* thread, Symbol* name,char *msg=NULL);
-#endif // CPU_ZERO_VM_CPPINTERPRETER_ZERO_HPP
+#endif // CPU_ZERO_CPPINTERPRETER_ZERO_HPP
--- a/src/hotspot/cpu/zero/depChecker_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/depChecker_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2009 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,9 +23,9 @@
*
*/
-#ifndef CPU_ZERO_VM_DEPCHECKER_ZERO_HPP
-#define CPU_ZERO_VM_DEPCHECKER_ZERO_HPP
+#ifndef CPU_ZERO_DEPCHECKER_ZERO_HPP
+#define CPU_ZERO_DEPCHECKER_ZERO_HPP
// This file is intentionally empty
-#endif // CPU_ZERO_VM_DEPCHECKER_ZERO_HPP
+#endif // CPU_ZERO_DEPCHECKER_ZERO_HPP
--- a/src/hotspot/cpu/zero/disassembler_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/disassembler_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_DISASSEMBLER_ZERO_HPP
-#define CPU_ZERO_VM_DISASSEMBLER_ZERO_HPP
+#ifndef CPU_ZERO_DISASSEMBLER_ZERO_HPP
+#define CPU_ZERO_DISASSEMBLER_ZERO_HPP
static int pd_instruction_alignment() {
return 1;
@@ -34,4 +34,4 @@
return "";
}
-#endif // CPU_ZERO_VM_DISASSEMBLER_ZERO_HPP
+#endif // CPU_ZERO_DISASSEMBLER_ZERO_HPP
--- a/src/hotspot/cpu/zero/entryFrame_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/entryFrame_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2008, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_ENTRYFRAME_ZERO_HPP
-#define CPU_ZERO_VM_ENTRYFRAME_ZERO_HPP
+#ifndef CPU_ZERO_ENTRYFRAME_ZERO_HPP
+#define CPU_ZERO_ENTRYFRAME_ZERO_HPP
#include "runtime/javaCalls.hpp"
#include "stack_zero.hpp"
@@ -70,4 +70,4 @@
int buflen) const;
};
-#endif // CPU_ZERO_VM_ENTRYFRAME_ZERO_HPP
+#endif // CPU_ZERO_ENTRYFRAME_ZERO_HPP
--- a/src/hotspot/cpu/zero/entry_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/entry_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2008, 2009, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_ENTRY_ZERO_HPP
-#define CPU_ZERO_VM_ENTRY_ZERO_HPP
+#ifndef CPU_ZERO_ENTRY_ZERO_HPP
+#define CPU_ZERO_ENTRY_ZERO_HPP
#include "interpreter/cppInterpreter.hpp"
@@ -78,4 +78,4 @@
}
};
-#endif // CPU_ZERO_VM_ENTRY_ZERO_HPP
+#endif // CPU_ZERO_ENTRY_ZERO_HPP
--- a/src/hotspot/cpu/zero/fakeStubFrame_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/fakeStubFrame_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2008, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_FAKESTUBFRAME_ZERO_HPP
-#define CPU_ZERO_VM_FAKESTUBFRAME_ZERO_HPP
+#ifndef CPU_ZERO_FAKESTUBFRAME_ZERO_HPP
+#define CPU_ZERO_FAKESTUBFRAME_ZERO_HPP
#include "stack_zero.hpp"
@@ -57,4 +57,4 @@
int buflen) const {}
};
-#endif // CPU_ZERO_VM_FAKESTUBFRAME_ZERO_HPP
+#endif // CPU_ZERO_FAKESTUBFRAME_ZERO_HPP
--- a/src/hotspot/cpu/zero/frame_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/frame_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_FRAME_ZERO_HPP
-#define CPU_ZERO_VM_FRAME_ZERO_HPP
+#ifndef CPU_ZERO_FRAME_ZERO_HPP
+#define CPU_ZERO_FRAME_ZERO_HPP
#include "runtime/synchronizer.hpp"
@@ -77,4 +77,4 @@
static jint interpreter_frame_expression_stack_direction() { return -1; }
-#endif // CPU_ZERO_VM_FRAME_ZERO_HPP
+#endif // CPU_ZERO_FRAME_ZERO_HPP
--- a/src/hotspot/cpu/zero/frame_zero.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/frame_zero.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_FRAME_ZERO_INLINE_HPP
-#define CPU_ZERO_VM_FRAME_ZERO_INLINE_HPP
+#ifndef CPU_ZERO_FRAME_ZERO_INLINE_HPP
+#define CPU_ZERO_FRAME_ZERO_INLINE_HPP
#include "code/codeCache.hpp"
@@ -164,4 +164,4 @@
return (intptr_t *) -1;
}
-#endif // CPU_ZERO_VM_FRAME_ZERO_INLINE_HPP
+#endif // CPU_ZERO_FRAME_ZERO_INLINE_HPP
--- a/src/hotspot/cpu/zero/globalDefinitions_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/globalDefinitions_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2009, 2015, Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_GLOBALDEFINITIONS_ZERO_HPP
-#define CPU_ZERO_VM_GLOBALDEFINITIONS_ZERO_HPP
+#ifndef CPU_ZERO_GLOBALDEFINITIONS_ZERO_HPP
+#define CPU_ZERO_GLOBALDEFINITIONS_ZERO_HPP
#ifdef _LP64
#define SUPPORTS_NATIVE_CX8
@@ -36,4 +36,4 @@
// 32-bit integer argument values are extended to 64 bits.
const bool CCallingConventionRequiresIntsAsLongs = false;
-#endif // CPU_ZERO_VM_GLOBALDEFINITIONS_ZERO_HPP
+#endif // CPU_ZERO_GLOBALDEFINITIONS_ZERO_HPP
--- a/src/hotspot/cpu/zero/globals_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/globals_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_GLOBALS_ZERO_HPP
-#define CPU_ZERO_VM_GLOBALS_ZERO_HPP
+#ifndef CPU_ZERO_GLOBALS_ZERO_HPP
+#define CPU_ZERO_GLOBALS_ZERO_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -97,4 +97,4 @@
"Use fast method entry code for accessor methods") \
\
-#endif // CPU_ZERO_VM_GLOBALS_ZERO_HPP
+#endif // CPU_ZERO_GLOBALS_ZERO_HPP
--- a/src/hotspot/cpu/zero/icache_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/icache_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2009 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_ICACHE_ZERO_HPP
-#define CPU_ZERO_VM_ICACHE_ZERO_HPP
+#ifndef CPU_ZERO_ICACHE_ZERO_HPP
+#define CPU_ZERO_ICACHE_ZERO_HPP
// Interface for updating the instruction cache. Whenever the VM
// modifies code, part of the processor instruction cache potentially
@@ -38,4 +38,4 @@
static void invalidate_range(address start, int nbytes) {}
};
-#endif // CPU_ZERO_VM_ICACHE_ZERO_HPP
+#endif // CPU_ZERO_ICACHE_ZERO_HPP
--- a/src/hotspot/cpu/zero/interp_masm_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/interp_masm_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_INTERP_MASM_ZERO_HPP
-#define CPU_ZERO_VM_INTERP_MASM_ZERO_HPP
+#ifndef CPU_ZERO_INTERP_MASM_ZERO_HPP
+#define CPU_ZERO_INTERP_MASM_ZERO_HPP
#include "asm/codeBuffer.hpp"
#include "asm/macroAssembler.hpp"
@@ -45,4 +45,4 @@
}
};
-#endif // CPU_ZERO_VM_INTERP_MASM_ZERO_HPP
+#endif // CPU_ZERO_INTERP_MASM_ZERO_HPP
--- a/src/hotspot/cpu/zero/interpreterFrame_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/interpreterFrame_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2008, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_INTERPRETERFRAME_ZERO_HPP
-#define CPU_ZERO_VM_INTERPRETERFRAME_ZERO_HPP
+#ifndef CPU_ZERO_INTERPRETERFRAME_ZERO_HPP
+#define CPU_ZERO_INTERPRETERFRAME_ZERO_HPP
#include "interpreter/bytecodeInterpreter.hpp"
#include "oops/method.hpp"
@@ -81,4 +81,4 @@
};
#endif // CC_INTERP
-#endif // CPU_ZERO_VM_INTERPRETERFRAME_ZERO_HPP
+#endif // CPU_ZERO_INTERPRETERFRAME_ZERO_HPP
--- a/src/hotspot/cpu/zero/interpreterRT_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/interpreterRT_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_INTERPRETERRT_ZERO_HPP
-#define CPU_ZERO_VM_INTERPRETERRT_ZERO_HPP
+#ifndef CPU_ZERO_INTERPRETERRT_ZERO_HPP
+#define CPU_ZERO_INTERPRETERRT_ZERO_HPP
// This is included in the middle of class Interpreter.
// Do not include files here.
@@ -133,4 +133,4 @@
}
};
-#endif // CPU_ZERO_VM_INTERPRETERRT_ZERO_HPP
+#endif // CPU_ZERO_INTERPRETERRT_ZERO_HPP
--- a/src/hotspot/cpu/zero/javaFrameAnchor_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/javaFrameAnchor_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_JAVAFRAMEANCHOR_ZERO_HPP
-#define CPU_ZERO_VM_JAVAFRAMEANCHOR_ZERO_HPP
+#ifndef CPU_ZERO_JAVAFRAMEANCHOR_ZERO_HPP
+#define CPU_ZERO_JAVAFRAMEANCHOR_ZERO_HPP
private:
ZeroFrame* volatile _last_Java_fp;
@@ -93,4 +93,4 @@
return byte_offset_of(JavaFrameAnchor, _last_Java_fp);
}
-#endif // CPU_ZERO_VM_JAVAFRAMEANCHOR_ZERO_HPP
+#endif // CPU_ZERO_JAVAFRAMEANCHOR_ZERO_HPP
--- a/src/hotspot/cpu/zero/jniTypes_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/jniTypes_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ZERO_VM_JNITYPES_ZERO_HPP
-#define CPU_ZERO_VM_JNITYPES_ZERO_HPP
+#ifndef CPU_ZERO_JNITYPES_ZERO_HPP
+#define CPU_ZERO_JNITYPES_ZERO_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -114,4 +114,4 @@
};
-#endif // CPU_ZERO_VM_JNITYPES_ZERO_HPP
+#endif // CPU_ZERO_JNITYPES_ZERO_HPP
--- a/src/hotspot/cpu/zero/macroAssembler_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/macroAssembler_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,9 +22,9 @@
*
*/
-#ifndef CPU_ZERO_VM_MACROASSEMBLER_ZERO_HPP
-#define CPU_ZERO_VM_MACROASSEMBLER_ZERO_HPP
+#ifndef CPU_ZERO_MACROASSEMBLER_ZERO_HPP
+#define CPU_ZERO_MACROASSEMBLER_ZERO_HPP
// Needed for includes in shared files.
-#endif // CPU_ZERO_VM_MACROASSEMBLER_ZERO_HPP
+#endif // CPU_ZERO_MACROASSEMBLER_ZERO_HPP
--- a/src/hotspot/cpu/zero/macroAssembler_zero.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/macroAssembler_zero.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,9 +22,9 @@
*
*/
-#ifndef CPU_ZERO_VM_MACROASSEMBLER_ZERO_INLINE_HPP
-#define CPU_ZERO_VM_MACROASSEMBLER_ZERO_INLINE_HPP
+#ifndef CPU_ZERO_MACROASSEMBLER_ZERO_INLINE_HPP
+#define CPU_ZERO_MACROASSEMBLER_ZERO_INLINE_HPP
// Needed for includes in shared files.
-#endif // CPU_ZERO_VM_MACROASSEMBLER_ZERO_INLINE_HPP
+#endif // CPU_ZERO_MACROASSEMBLER_ZERO_INLINE_HPP
--- a/src/hotspot/cpu/zero/nativeInst_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/nativeInst_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_NATIVEINST_ZERO_HPP
-#define CPU_ZERO_VM_NATIVEINST_ZERO_HPP
+#ifndef CPU_ZERO_NATIVEINST_ZERO_HPP
+#define CPU_ZERO_NATIVEINST_ZERO_HPP
#include "asm/assembler.hpp"
#include "runtime/icache.hpp"
@@ -210,4 +210,4 @@
return NULL;
}
-#endif // CPU_ZERO_VM_NATIVEINST_ZERO_HPP
+#endif // CPU_ZERO_NATIVEINST_ZERO_HPP
--- a/src/hotspot/cpu/zero/registerMap_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/registerMap_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ZERO_VM_REGISTERMAP_ZERO_HPP
-#define CPU_ZERO_VM_REGISTERMAP_ZERO_HPP
+#ifndef CPU_ZERO_REGISTERMAP_ZERO_HPP
+#define CPU_ZERO_REGISTERMAP_ZERO_HPP
// machine-dependent implemention for register maps
friend class frame;
@@ -41,4 +41,4 @@
void pd_initialize() {}
void pd_initialize_from(const RegisterMap* map) {}
-#endif // CPU_ZERO_VM_REGISTERMAP_ZERO_HPP
+#endif // CPU_ZERO_REGISTERMAP_ZERO_HPP
--- a/src/hotspot/cpu/zero/register_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/register_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_REGISTER_ZERO_HPP
-#define CPU_ZERO_VM_REGISTER_ZERO_HPP
+#ifndef CPU_ZERO_REGISTER_ZERO_HPP
+#define CPU_ZERO_REGISTER_ZERO_HPP
#include "asm/register.hpp"
#include "vm_version_zero.hpp"
@@ -118,4 +118,4 @@
#define noreg ((Register)(noreg_RegisterEnumValue))
#endif
-#endif // CPU_ZERO_VM_REGISTER_ZERO_HPP
+#endif // CPU_ZERO_REGISTER_ZERO_HPP
--- a/src/hotspot/cpu/zero/relocInfo_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/relocInfo_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_RELOCINFO_ZERO_HPP
-#define CPU_ZERO_VM_RELOCINFO_ZERO_HPP
+#ifndef CPU_ZERO_RELOCINFO_ZERO_HPP
+#define CPU_ZERO_RELOCINFO_ZERO_HPP
// machine-dependent parts of class relocInfo
private:
@@ -38,4 +38,4 @@
static bool mustIterateImmediateOopsInCode() { return true; }
-#endif // CPU_ZERO_VM_RELOCINFO_ZERO_HPP
+#endif // CPU_ZERO_RELOCINFO_ZERO_HPP
--- a/src/hotspot/cpu/zero/stack_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/stack_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2008, 2009, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_STACK_ZERO_HPP
-#define CPU_ZERO_VM_STACK_ZERO_HPP
+#ifndef CPU_ZERO_STACK_ZERO_HPP
+#define CPU_ZERO_STACK_ZERO_HPP
#include "utilities/align.hpp"
#include "utilities/sizes.hpp"
@@ -212,4 +212,4 @@
int buflen) const;
};
-#endif // CPU_ZERO_VM_STACK_ZERO_HPP
+#endif // CPU_ZERO_STACK_ZERO_HPP
--- a/src/hotspot/cpu/zero/stack_zero.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/stack_zero.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_STACK_ZERO_INLINE_HPP
-#define CPU_ZERO_VM_STACK_ZERO_INLINE_HPP
+#ifndef CPU_ZERO_STACK_ZERO_INLINE_HPP
+#define CPU_ZERO_STACK_ZERO_INLINE_HPP
#include "runtime/thread.hpp"
#include "stack_zero.hpp"
@@ -54,4 +54,4 @@
return stack_free;
}
-#endif // CPU_ZERO_VM_STACK_ZERO_INLINE_HPP
+#endif // CPU_ZERO_STACK_ZERO_INLINE_HPP
--- a/src/hotspot/cpu/zero/stubRoutines_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/stubRoutines_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_STUBROUTINES_ZERO_HPP
-#define CPU_ZERO_VM_STUBROUTINES_ZERO_HPP
+#ifndef CPU_ZERO_STUBROUTINES_ZERO_HPP
+#define CPU_ZERO_STUBROUTINES_ZERO_HPP
// This file holds the platform specific parts of the StubRoutines
// definition. See stubRoutines.hpp for a description on how to
@@ -48,4 +48,4 @@
method_handles_adapters_code_size = 0
};
-#endif // CPU_ZERO_VM_STUBROUTINES_ZERO_HPP
+#endif // CPU_ZERO_STUBROUTINES_ZERO_HPP
--- a/src/hotspot/cpu/zero/vmStructs_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/vmStructs_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_VMSTRUCTS_ZERO_HPP
-#define CPU_ZERO_VM_VMSTRUCTS_ZERO_HPP
+#ifndef CPU_ZERO_VMSTRUCTS_ZERO_HPP
+#define CPU_ZERO_VMSTRUCTS_ZERO_HPP
// These are the CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -38,4 +38,4 @@
#define VM_LONG_CONSTANTS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // CPU_ZERO_VM_VMSTRUCTS_ZERO_HPP
+#endif // CPU_ZERO_VMSTRUCTS_ZERO_HPP
--- a/src/hotspot/cpu/zero/vm_version_ext_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/vm_version_ext_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ZERO_VM_VM_VERSION_EXT_ZERO_HPP
-#define CPU_ZERO_VM_VM_VERSION_EXT_ZERO_HPP
+#ifndef CPU_ZERO_VM_VERSION_EXT_ZERO_HPP
+#define CPU_ZERO_VM_VERSION_EXT_ZERO_HPP
#include "utilities/macros.hpp"
#include "vm_version_zero.hpp"
@@ -51,4 +51,4 @@
};
-#endif // CPU_ZERO_VM_VM_VERSION_EXT_ZERO_HPP
+#endif // CPU_ZERO_VM_VERSION_EXT_ZERO_HPP
--- a/src/hotspot/cpu/zero/vm_version_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/vm_version_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_VM_VERSION_ZERO_HPP
-#define CPU_ZERO_VM_VM_VERSION_ZERO_HPP
+#ifndef CPU_ZERO_VM_VERSION_ZERO_HPP
+#define CPU_ZERO_VM_VERSION_ZERO_HPP
#include "runtime/globals_extension.hpp"
#include "runtime/vm_version.hpp"
@@ -34,4 +34,4 @@
static void initialize();
};
-#endif // CPU_ZERO_VM_VM_VERSION_ZERO_HPP
+#endif // CPU_ZERO_VM_VERSION_ZERO_HPP
--- a/src/hotspot/cpu/zero/vmreg_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/vmreg_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef CPU_ZERO_VM_VMREG_ZERO_HPP
-#define CPU_ZERO_VM_VMREG_ZERO_HPP
+#ifndef CPU_ZERO_VMREG_ZERO_HPP
+#define CPU_ZERO_VMREG_ZERO_HPP
bool is_Register();
Register as_Register();
@@ -31,4 +31,4 @@
bool is_FloatRegister();
FloatRegister as_FloatRegister();
-#endif // CPU_ZERO_VM_VMREG_ZERO_HPP
+#endif // CPU_ZERO_VMREG_ZERO_HPP
--- a/src/hotspot/cpu/zero/vmreg_zero.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/cpu/zero/vmreg_zero.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef CPU_ZERO_VM_VMREG_ZERO_INLINE_HPP
-#define CPU_ZERO_VM_VMREG_ZERO_INLINE_HPP
+#ifndef CPU_ZERO_VMREG_ZERO_INLINE_HPP
+#define CPU_ZERO_VMREG_ZERO_INLINE_HPP
inline VMReg RegisterImpl::as_VMReg() {
return VMRegImpl::as_VMReg(encoding());
@@ -34,4 +34,4 @@
return VMRegImpl::as_VMReg(encoding() + ConcreteRegisterImpl::max_gpr);
}
-#endif // CPU_ZERO_VM_VMREG_ZERO_INLINE_HPP
+#endif // CPU_ZERO_VMREG_ZERO_INLINE_HPP
--- a/src/hotspot/os/aix/c1_globals_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/c1_globals_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_AIX_VM_C1_GLOBALS_AIX_HPP
-#define OS_AIX_VM_C1_GLOBALS_AIX_HPP
+#ifndef OS_AIX_C1_GLOBALS_AIX_HPP
+#define OS_AIX_C1_GLOBALS_AIX_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -34,4 +34,4 @@
// client compiler. (see c1_globals.hpp)
//
-#endif // OS_AIX_VM_C1_GLOBALS_AIX_HPP
+#endif // OS_AIX_C1_GLOBALS_AIX_HPP
--- a/src/hotspot/os/aix/c2_globals_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/c2_globals_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_AIX_VM_C2_GLOBALS_AIX_HPP
-#define OS_AIX_VM_C2_GLOBALS_AIX_HPP
+#ifndef OS_AIX_C2_GLOBALS_AIX_HPP
+#define OS_AIX_C2_GLOBALS_AIX_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -34,4 +34,4 @@
// server compiler. (see c2_globals.hpp)
//
-#endif // OS_AIX_VM_C2_GLOBALS_AIX_HPP
+#endif // OS_AIX_C2_GLOBALS_AIX_HPP
--- a/src/hotspot/os/aix/globals_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/globals_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_AIX_VM_GLOBALS_AIX_HPP
-#define OS_AIX_VM_GLOBALS_AIX_HPP
+#ifndef OS_AIX_GLOBALS_AIX_HPP
+#define OS_AIX_GLOBALS_AIX_HPP
//
// Defines Aix specific flags. They are not available on other platforms.
@@ -94,4 +94,4 @@
define_pd_global(bool, UseOSErrorReporting, false);
define_pd_global(bool, UseThreadPriorities, true) ;
-#endif // OS_AIX_VM_GLOBALS_AIX_HPP
+#endif // OS_AIX_GLOBALS_AIX_HPP
--- a/src/hotspot/os/aix/libo4.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/libo4.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -29,8 +29,8 @@
// functionality (aka ILE layer) to close some functional gaps that exist in
// the PASE layer.
-#ifndef OS_AIX_VM_LIBO4_HPP
-#define OS_AIX_VM_LIBO4_HPP
+#ifndef OS_AIX_LIBO4_HPP
+#define OS_AIX_LIBO4_HPP
class libo4 {
public:
@@ -87,4 +87,4 @@
static bool removeEscapeMessageFromJoblogByContext(const void* context);
};
-#endif // OS_AIX_VM_LIBO4_HPP
+#endif // OS_AIX_LIBO4_HPP
--- a/src/hotspot/os/aix/libodm_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/libodm_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -25,8 +25,8 @@
// Encapsulates the libodm library and provides more convenient interfaces.
-#ifndef OS_AIX_VM_LIBODM_AIX_HPP
-#define OS_AIX_VM_LIBODM_AIX_HPP
+#ifndef OS_AIX_LIBODM_AIX_HPP
+#define OS_AIX_LIBODM_AIX_HPP
#include <odmi.h>
@@ -103,4 +103,4 @@
static void determine_os_kernel_version(uint32_t* p_ver);
};
-#endif // OS_AIX_VM_LIBODM_AIX_HPP
+#endif // OS_AIX_LIBODM_AIX_HPP
--- a/src/hotspot/os/aix/libperfstat_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/libperfstat_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -29,8 +29,8 @@
// AIX-specific library which only exists on AIX, not on PASE. If I want to
// share binaries between AIX and PASE, I cannot directly link against libperfstat.so.
-#ifndef OS_AIX_VM_LIBPERFSTAT_AIX_HPP
-#define OS_AIX_VM_LIBPERFSTAT_AIX_HPP
+#ifndef OS_AIX_LIBPERFSTAT_AIX_HPP
+#define OS_AIX_LIBPERFSTAT_AIX_HPP
#include <sys/types.h>
#include <stdlib.h>
@@ -966,4 +966,4 @@
static bool get_wparinfo(wparinfo_t* pwi);
};
-#endif // OS_AIX_VM_LIBPERFSTAT_AIX_HPP
+#endif // OS_AIX_LIBPERFSTAT_AIX_HPP
--- a/src/hotspot/os/aix/loadlib_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/loadlib_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -29,8 +29,8 @@
// It is needed, among other things, to provide dladdr(3), which is
// missing on AIX.
-#ifndef OS_AIX_VM_LOADLIB_AIX_HPP
-#define OS_AIX_VM_LOADLIB_AIX_HPP
+#ifndef OS_AIX_LOADLIB_AIX_HPP
+#define OS_AIX_LOADLIB_AIX_HPP
#include <stddef.h>
@@ -101,4 +101,4 @@
};
-#endif // OS_AIX_VM_LOADLIB_AIX_HPP
+#endif // OS_AIX_LOADLIB_AIX_HPP
--- a/src/hotspot/os/aix/misc_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/misc_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -23,8 +23,8 @@
*/
-#ifndef OS_AIX_VM_MISC_AIX_HPP
-#define OS_AIX_VM_MISC_AIX_HPP
+#ifndef OS_AIX_MISC_AIX_HPP
+#define OS_AIX_MISC_AIX_HPP
// misc_aix.hpp, misc_aix.cpp: convenience functions needed for the OpenJDK AIX
// port.
@@ -90,5 +90,4 @@
};
}
-#endif // OS_AIX_VM_MISC_AIX_HPP
-
+#endif // OS_AIX_MISC_AIX_HPP
--- a/src/hotspot/os/aix/osThread_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/osThread_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_AIX_VM_OSTHREAD_AIX_HPP
-#define OS_AIX_VM_OSTHREAD_AIX_HPP
+#ifndef OS_AIX_OSTHREAD_AIX_HPP
+#define OS_AIX_OSTHREAD_AIX_HPP
public:
typedef pthread_t thread_id_t;
@@ -150,4 +150,4 @@
jlong user;
} _last_cpu_times;
-#endif // OS_AIX_VM_OSTHREAD_AIX_HPP
+#endif // OS_AIX_OSTHREAD_AIX_HPP
--- a/src/hotspot/os/aix/os_aix.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/os_aix.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -2594,14 +2594,6 @@
return addr;
}
-size_t os::read(int fd, void *buf, unsigned int nBytes) {
- return ::read(fd, buf, nBytes);
-}
-
-size_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
- return ::pread(fd, buf, nBytes, offset);
-}
-
// Sleep forever; naked call to OS-specific sleep; use with CAUTION
void os::infinite_sleep() {
while (true) { // sleep forever ...
--- a/src/hotspot/os/aix/os_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/os_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2013, 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_AIX_VM_OS_AIX_HPP
-#define OS_AIX_VM_OS_AIX_HPP
+#ifndef OS_AIX_OS_AIX_HPP
+#define OS_AIX_OS_AIX_HPP
// Information about the protection of the page at address '0' on this os.
static bool zero_page_read_protected() { return false; }
@@ -212,4 +212,4 @@
};
-#endif // OS_AIX_VM_OS_AIX_HPP
+#endif // OS_AIX_OS_AIX_HPP
--- a/src/hotspot/os/aix/os_aix.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/os_aix.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_AIX_VM_OS_AIX_INLINE_HPP
-#define OS_AIX_VM_OS_AIX_INLINE_HPP
+#ifndef OS_AIX_OS_AIX_INLINE_HPP
+#define OS_AIX_OS_AIX_INLINE_HPP
#include "runtime/os.hpp"
@@ -98,12 +98,6 @@
inline bool os::numa_has_static_binding() { ShouldNotReachHere(); return true; }
inline bool os::numa_has_group_homing() { ShouldNotReachHere(); return false; }
-inline size_t os::restartable_read(int fd, void *buf, unsigned int nBytes) {
- size_t res;
- RESTARTABLE( (size_t) ::read(fd, buf, (size_t) nBytes), res);
- return res;
-}
-
inline size_t os::write(int fd, const void *buf, unsigned int nBytes) {
size_t res;
RESTARTABLE((size_t) ::write(fd, buf, (size_t) nBytes), res);
@@ -151,4 +145,4 @@
::exit(num);
}
-#endif // OS_AIX_VM_OS_AIX_INLINE_HPP
+#endif // OS_AIX_OS_AIX_INLINE_HPP
--- a/src/hotspot/os/aix/os_share_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/os_share_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_AIX_VM_OS_SHARE_AIX_HPP
-#define OS_AIX_VM_OS_SHARE_AIX_HPP
+#ifndef OS_AIX_OS_SHARE_AIX_HPP
+#define OS_AIX_OS_SHARE_AIX_HPP
// misc
void handle_unexpected_exception(Thread* thread, int sig, siginfo_t* info, address pc, address adjusted_pc);
@@ -33,4 +33,4 @@
#define PROCFILE_LENGTH 128
-#endif // OS_AIX_VM_OS_SHARE_AIX_HPP
+#endif // OS_AIX_OS_SHARE_AIX_HPP
--- a/src/hotspot/os/aix/porting_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/porting_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_AIX_VM_PORTING_AIX_HPP
-#define OS_AIX_VM_PORTING_AIX_HPP
+#ifndef OS_AIX_PORTING_AIX_HPP
+#define OS_AIX_PORTING_AIX_HPP
#include <stddef.h>
@@ -107,5 +107,4 @@
};
-#endif // OS_AIX_VM_PORTING_AIX_HPP
-
+#endif // OS_AIX_PORTING_AIX_HPP
--- a/src/hotspot/os/aix/vmStructs_aix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/aix/vmStructs_aix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_AIX_VM_VMSTRUCTS_AIX_HPP
-#define OS_AIX_VM_VMSTRUCTS_AIX_HPP
+#ifndef OS_AIX_VMSTRUCTS_AIX_HPP
+#define OS_AIX_VMSTRUCTS_AIX_HPP
// These are the OS-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -39,4 +39,4 @@
#define VM_ADDRESSES_OS(declare_address, declare_preprocessor_address, declare_function)
-#endif // OS_AIX_VM_VMSTRUCTS_AIX_HPP
+#endif // OS_AIX_VMSTRUCTS_AIX_HPP
--- a/src/hotspot/os/bsd/c1_globals_bsd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/c1_globals_bsd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_BSD_VM_C1_GLOBALS_BSD_HPP
-#define OS_BSD_VM_C1_GLOBALS_BSD_HPP
+#ifndef OS_BSD_C1_GLOBALS_BSD_HPP
+#define OS_BSD_C1_GLOBALS_BSD_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -33,4 +33,4 @@
// client compiler. (see c1_globals.hpp)
//
-#endif // OS_BSD_VM_C1_GLOBALS_BSD_HPP
+#endif // OS_BSD_C1_GLOBALS_BSD_HPP
--- a/src/hotspot/os/bsd/c2_globals_bsd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/c2_globals_bsd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_BSD_VM_C2_GLOBALS_BSD_HPP
-#define OS_BSD_VM_C2_GLOBALS_BSD_HPP
+#ifndef OS_BSD_C2_GLOBALS_BSD_HPP
+#define OS_BSD_C2_GLOBALS_BSD_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -33,4 +33,4 @@
// server compiler. (see c2_globals.hpp)
//
-#endif // OS_BSD_VM_C2_GLOBALS_BSD_HPP
+#endif // OS_BSD_C2_GLOBALS_BSD_HPP
--- a/src/hotspot/os/bsd/decoder_machO.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/decoder_machO.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_BSD_VM_DECODER_MACHO_HPP
-#define OS_BSD_VM_DECODER_MACHO_HPP
+#ifndef OS_BSD_DECODER_MACHO_HPP
+#define OS_BSD_DECODER_MACHO_HPP
#ifdef __APPLE__
@@ -51,4 +51,4 @@
#endif
-#endif // OS_BSD_VM_DECODER_MACHO_HPP
+#endif // OS_BSD_DECODER_MACHO_HPP
--- a/src/hotspot/os/bsd/globals_bsd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/globals_bsd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_BSD_VM_GLOBALS_BSD_HPP
-#define OS_BSD_VM_GLOBALS_BSD_HPP
+#ifndef OS_BSD_GLOBALS_BSD_HPP
+#define OS_BSD_GLOBALS_BSD_HPP
//
// Defines Bsd specific flags. They are not available on other platforms.
@@ -56,4 +56,4 @@
define_pd_global(bool, UseOSErrorReporting, false);
define_pd_global(bool, UseThreadPriorities, true) ;
-#endif // OS_BSD_VM_GLOBALS_BSD_HPP
+#endif // OS_BSD_GLOBALS_BSD_HPP
--- a/src/hotspot/os/bsd/osThread_bsd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/osThread_bsd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_BSD_VM_OSTHREAD_BSD_HPP
-#define OS_BSD_VM_OSTHREAD_BSD_HPP
+#ifndef OS_BSD_OSTHREAD_BSD_HPP
+#define OS_BSD_OSTHREAD_BSD_HPP
private:
int _thread_type;
@@ -149,4 +149,4 @@
// osThread_solaris.hpp 1.24 99/08/27 13:11:54
// End
-#endif // OS_BSD_VM_OSTHREAD_BSD_HPP
+#endif // OS_BSD_OSTHREAD_BSD_HPP
--- a/src/hotspot/os/bsd/os_bsd.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/os_bsd.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -2217,14 +2217,6 @@
}
}
-size_t os::read(int fd, void *buf, unsigned int nBytes) {
- RESTARTABLE_RETURN_INT(::read(fd, buf, nBytes));
-}
-
-size_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
- RESTARTABLE_RETURN_INT(::pread(fd, buf, nBytes, offset));
-}
-
// Sleep forever; naked call to OS-specific sleep; use with CAUTION
void os::infinite_sleep() {
while (true) { // sleep forever ...
--- a/src/hotspot/os/bsd/os_bsd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/os_bsd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_BSD_VM_OS_BSD_HPP
-#define OS_BSD_VM_OS_BSD_HPP
+#ifndef OS_BSD_OS_BSD_HPP
+#define OS_BSD_OS_BSD_HPP
// Bsd_OS defines the interface to Bsd operating systems
@@ -159,4 +159,4 @@
static int get_node_by_cpu(int cpu_id);
};
-#endif // OS_BSD_VM_OS_BSD_HPP
+#endif // OS_BSD_OS_BSD_HPP
--- a/src/hotspot/os/bsd/os_bsd.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/os_bsd.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_BSD_VM_OS_BSD_INLINE_HPP
-#define OS_BSD_VM_OS_BSD_INLINE_HPP
+#ifndef OS_BSD_OS_BSD_INLINE_HPP
+#define OS_BSD_OS_BSD_INLINE_HPP
#include "runtime/os.hpp"
@@ -100,12 +100,6 @@
inline bool os::numa_has_static_binding() { return true; }
inline bool os::numa_has_group_homing() { return false; }
-inline size_t os::restartable_read(int fd, void *buf, unsigned int nBytes) {
- size_t res;
- RESTARTABLE( (size_t) ::read(fd, buf, (size_t) nBytes), res);
- return res;
-}
-
inline size_t os::write(int fd, const void *buf, unsigned int nBytes) {
size_t res;
RESTARTABLE((size_t) ::write(fd, buf, (size_t) nBytes), res);
@@ -156,4 +150,4 @@
::exit(num);
}
-#endif // OS_BSD_VM_OS_BSD_INLINE_HPP
+#endif // OS_BSD_OS_BSD_INLINE_HPP
--- a/src/hotspot/os/bsd/os_share_bsd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/os_share_bsd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_BSD_VM_OS_SHARE_BSD_HPP
-#define OS_BSD_VM_OS_SHARE_BSD_HPP
+#ifndef OS_BSD_OS_SHARE_BSD_HPP
+#define OS_BSD_OS_SHARE_BSD_HPP
// misc
void handle_unexpected_exception(Thread* thread, int sig, siginfo_t* info, address pc, address adjusted_pc);
@@ -33,4 +33,4 @@
#define PROCFILE_LENGTH 128
-#endif // OS_BSD_VM_OS_SHARE_BSD_HPP
+#endif // OS_BSD_OS_SHARE_BSD_HPP
--- a/src/hotspot/os/bsd/semaphore_bsd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/semaphore_bsd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_BSD_VM_SEMAPHORE_BSD_HPP
-#define OS_BSD_VM_SEMAPHORE_BSD_HPP
+#ifndef OS_BSD_SEMAPHORE_BSD_HPP
+#define OS_BSD_SEMAPHORE_BSD_HPP
#ifndef __APPLE__
// Use POSIX semaphores.
@@ -60,4 +60,4 @@
#endif // __APPLE__
-#endif // OS_BSD_VM_SEMAPHORE_BSD_HPP
+#endif // OS_BSD_SEMAPHORE_BSD_HPP
--- a/src/hotspot/os/bsd/vmStructs_bsd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/bsd/vmStructs_bsd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_BSD_VM_VMSTRUCTS_BSD_HPP
-#define OS_BSD_VM_VMSTRUCTS_BSD_HPP
+#ifndef OS_BSD_VMSTRUCTS_BSD_HPP
+#define OS_BSD_VMSTRUCTS_BSD_HPP
#include <dlfcn.h>
@@ -42,4 +42,4 @@
#define VM_ADDRESSES_OS(declare_address, declare_preprocessor_address, declare_function) \
declare_preprocessor_address("RTLD_DEFAULT", RTLD_DEFAULT)
-#endif // OS_BSD_VM_VMSTRUCTS_BSD_HPP
+#endif // OS_BSD_VMSTRUCTS_BSD_HPP
--- a/src/hotspot/os/linux/c1_globals_linux.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/linux/c1_globals_linux.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_LINUX_VM_C1_GLOBALS_LINUX_HPP
-#define OS_LINUX_VM_C1_GLOBALS_LINUX_HPP
+#ifndef OS_LINUX_C1_GLOBALS_LINUX_HPP
+#define OS_LINUX_C1_GLOBALS_LINUX_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -33,4 +33,4 @@
// client compiler. (see c1_globals.hpp)
//
-#endif // OS_LINUX_VM_C1_GLOBALS_LINUX_HPP
+#endif // OS_LINUX_C1_GLOBALS_LINUX_HPP
--- a/src/hotspot/os/linux/c2_globals_linux.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/linux/c2_globals_linux.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_LINUX_VM_C2_GLOBALS_LINUX_HPP
-#define OS_LINUX_VM_C2_GLOBALS_LINUX_HPP
+#ifndef OS_LINUX_C2_GLOBALS_LINUX_HPP
+#define OS_LINUX_C2_GLOBALS_LINUX_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -33,4 +33,4 @@
// server compiler. (see c2_globals.hpp)
//
-#endif // OS_LINUX_VM_C2_GLOBALS_LINUX_HPP
+#endif // OS_LINUX_C2_GLOBALS_LINUX_HPP
--- a/src/hotspot/os/linux/globals_linux.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/linux/globals_linux.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_LINUX_VM_GLOBALS_LINUX_HPP
-#define OS_LINUX_VM_GLOBALS_LINUX_HPP
+#ifndef OS_LINUX_GLOBALS_LINUX_HPP
+#define OS_LINUX_GLOBALS_LINUX_HPP
//
// Defines Linux specific flags. They are not available on other platforms.
@@ -84,4 +84,4 @@
define_pd_global(bool, UseOSErrorReporting, false);
define_pd_global(bool, UseThreadPriorities, true) ;
-#endif // OS_LINUX_VM_GLOBALS_LINUX_HPP
+#endif // OS_LINUX_GLOBALS_LINUX_HPP
--- a/src/hotspot/os/linux/osContainer_linux.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/linux/osContainer_linux.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_LINUX_VM_OSCONTAINER_LINUX_HPP
-#define OS_LINUX_VM_OSCONTAINER_LINUX_HPP
+#ifndef OS_LINUX_OSCONTAINER_LINUX_HPP
+#define OS_LINUX_OSCONTAINER_LINUX_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -65,4 +65,4 @@
return _is_containerized;
}
-#endif // OS_LINUX_VM_OSCONTAINER_LINUX_HPP
+#endif // OS_LINUX_OSCONTAINER_LINUX_HPP
--- a/src/hotspot/os/linux/osThread_linux.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/linux/osThread_linux.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_LINUX_VM_OSTHREAD_LINUX_HPP
-#define OS_LINUX_VM_OSTHREAD_LINUX_HPP
+#ifndef OS_LINUX_OSTHREAD_LINUX_HPP
+#define OS_LINUX_OSTHREAD_LINUX_HPP
public:
typedef pid_t thread_id_t;
@@ -132,4 +132,4 @@
// osThread_solaris.hpp 1.24 99/08/27 13:11:54
// End
-#endif // OS_LINUX_VM_OSTHREAD_LINUX_HPP
+#endif // OS_LINUX_OSTHREAD_LINUX_HPP
--- a/src/hotspot/os/linux/os_linux.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/linux/os_linux.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -33,6 +33,7 @@
#include "compiler/disassembler.hpp"
#include "interpreter/interpreter.hpp"
#include "logging/log.hpp"
+#include "logging/logStream.hpp"
#include "memory/allocation.inline.hpp"
#include "memory/filemap.hpp"
#include "oops/oop.inline.hpp"
@@ -1884,7 +1885,7 @@
char name[PATH_MAX + 1];
// Parse fields from line
- sscanf(line, UINT64_FORMAT_X "-" UINT64_FORMAT_X " %4s " UINT64_FORMAT_X " %5s " INT64_FORMAT " %s",
+ sscanf(line, UINT64_FORMAT_X "-" UINT64_FORMAT_X " %4s " UINT64_FORMAT_X " %7s " INT64_FORMAT " %s",
&base, &top, permissions, &offset, device, &inode, name);
// Filter by device id '00:00' so that we only get file system mapped files.
@@ -2780,7 +2781,7 @@
// Get the total number of nodes in the system including nodes without memory.
for (node = 0; node <= highest_node_number; node++) {
- if (isnode_in_existing_nodes(node)) {
+ if (is_node_in_existing_nodes(node)) {
num_nodes++;
}
}
@@ -2796,7 +2797,7 @@
// node number. If the nodes have been bound explicitly using numactl membind,
// then allocate memory from those nodes only.
for (int node = 0; node <= highest_node_number; node++) {
- if (Linux::isnode_in_bound_nodes((unsigned int)node)) {
+ if (Linux::is_node_in_bound_nodes((unsigned int)node)) {
ids[i++] = node;
}
}
@@ -2899,11 +2900,15 @@
libnuma_dlsym(handle, "numa_distance")));
set_numa_get_membind(CAST_TO_FN_PTR(numa_get_membind_func_t,
libnuma_v2_dlsym(handle, "numa_get_membind")));
+ set_numa_get_interleave_mask(CAST_TO_FN_PTR(numa_get_interleave_mask_func_t,
+ libnuma_v2_dlsym(handle, "numa_get_interleave_mask")));
if (numa_available() != -1) {
set_numa_all_nodes((unsigned long*)libnuma_dlsym(handle, "numa_all_nodes"));
set_numa_all_nodes_ptr((struct bitmask **)libnuma_dlsym(handle, "numa_all_nodes_ptr"));
set_numa_nodes_ptr((struct bitmask **)libnuma_dlsym(handle, "numa_nodes_ptr"));
+ set_numa_interleave_bitmask(_numa_get_interleave_mask());
+ set_numa_membind_bitmask(_numa_get_membind());
// Create an index -> node mapping, since nodes are not always consecutive
_nindex_to_node = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<int>(0, true);
rebuild_nindex_to_node_map();
@@ -2929,7 +2934,7 @@
nindex_to_node()->clear();
for (int node = 0; node <= highest_node_number; node++) {
- if (Linux::isnode_in_existing_nodes(node)) {
+ if (Linux::is_node_in_existing_nodes(node)) {
nindex_to_node()->append(node);
}
}
@@ -2966,16 +2971,16 @@
// the closest configured node. Check also if node is bound, i.e. it's allowed
// to allocate memory from the node. If it's not allowed, map cpus in that node
// to the closest node from which memory allocation is allowed.
- if (!isnode_in_configured_nodes(nindex_to_node()->at(i)) ||
- !isnode_in_bound_nodes(nindex_to_node()->at(i))) {
+ if (!is_node_in_configured_nodes(nindex_to_node()->at(i)) ||
+ !is_node_in_bound_nodes(nindex_to_node()->at(i))) {
closest_distance = INT_MAX;
// Check distance from all remaining nodes in the system. Ignore distance
// from itself, from another non-configured node, and from another non-bound
// node.
for (size_t m = 0; m < node_num; m++) {
if (m != i &&
- isnode_in_configured_nodes(nindex_to_node()->at(m)) &&
- isnode_in_bound_nodes(nindex_to_node()->at(m))) {
+ is_node_in_configured_nodes(nindex_to_node()->at(m)) &&
+ is_node_in_bound_nodes(nindex_to_node()->at(m))) {
distance = numa_distance(nindex_to_node()->at(i), nindex_to_node()->at(m));
// If a closest node is found, update. There is always at least one
// configured and bound node in the system so there is always at least
@@ -3030,9 +3035,13 @@
os::Linux::numa_bitmask_isbitset_func_t os::Linux::_numa_bitmask_isbitset;
os::Linux::numa_distance_func_t os::Linux::_numa_distance;
os::Linux::numa_get_membind_func_t os::Linux::_numa_get_membind;
+os::Linux::numa_get_interleave_mask_func_t os::Linux::_numa_get_interleave_mask;
+os::Linux::NumaAllocationPolicy os::Linux::_current_numa_policy;
unsigned long* os::Linux::_numa_all_nodes;
struct bitmask* os::Linux::_numa_all_nodes_ptr;
struct bitmask* os::Linux::_numa_nodes_ptr;
+struct bitmask* os::Linux::_numa_interleave_bitmask;
+struct bitmask* os::Linux::_numa_membind_bitmask;
bool os::pd_uncommit_memory(char* addr, size_t size) {
uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE,
@@ -4027,14 +4036,6 @@
}
}
-size_t os::read(int fd, void *buf, unsigned int nBytes) {
- return ::read(fd, buf, nBytes);
-}
-
-size_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
- return ::pread(fd, buf, nBytes, offset);
-}
-
// Sleep forever; naked call to OS-specific sleep; use with CAUTION
void os::infinite_sleep() {
while (true) { // sleep forever ...
@@ -4944,6 +4945,74 @@
OSContainer::init();
}
+void os::Linux::numa_init() {
+
+ // Java can be invoked as
+ // 1. Without numactl and heap will be allocated/configured on all nodes as
+ // per the system policy.
+ // 2. With numactl --interleave:
+ // Use numa_get_interleave_mask(v2) API to get nodes bitmask. The same
+ // API for membind case bitmask is reset.
+ // Interleave is only hint and Kernel can fallback to other nodes if
+ // no memory is available on the target nodes.
+ // 3. With numactl --membind:
+ // Use numa_get_membind(v2) API to get nodes bitmask. The same API for
+ // interleave case returns bitmask of all nodes.
+ // numa_all_nodes_ptr holds bitmask of all nodes.
+ // numa_get_interleave_mask(v2) and numa_get_membind(v2) APIs returns correct
+ // bitmask when externally configured to run on all or fewer nodes.
+
+ if (!Linux::libnuma_init()) {
+ UseNUMA = false;
+ } else {
+ if ((Linux::numa_max_node() < 1) || Linux::is_bound_to_single_node()) {
+ // If there's only one node (they start from 0) or if the process
+ // is bound explicitly to a single node using membind, disable NUMA.
+ UseNUMA = false;
+ } else {
+
+ LogTarget(Info,os) log;
+ LogStream ls(log);
+
+ Linux::set_configured_numa_policy(Linux::identify_numa_policy());
+
+ struct bitmask* bmp = Linux::_numa_membind_bitmask;
+ const char* numa_mode = "membind";
+
+ if (Linux::is_running_in_interleave_mode()) {
+ bmp = Linux::_numa_interleave_bitmask;
+ numa_mode = "interleave";
+ }
+
+ ls.print("UseNUMA is enabled and invoked in '%s' mode."
+ " Heap will be configured using NUMA memory nodes:", numa_mode);
+
+ for (int node = 0; node <= Linux::numa_max_node(); node++) {
+ if (Linux::_numa_bitmask_isbitset(bmp, node)) {
+ ls.print(" %d", node);
+ }
+ }
+ }
+ }
+
+ if (UseParallelGC && UseNUMA && UseLargePages && !can_commit_large_page_memory()) {
+ // With SHM and HugeTLBFS large pages we cannot uncommit a page, so there's no way
+ // we can make the adaptive lgrp chunk resizing work. If the user specified both
+ // UseNUMA and UseLargePages (or UseSHM/UseHugeTLBFS) on the command line - warn
+ // and disable adaptive resizing.
+ if (UseAdaptiveSizePolicy || UseAdaptiveNUMAChunkSizing) {
+ warning("UseNUMA is not fully compatible with SHM/HugeTLBFS large pages, "
+ "disabling adaptive resizing (-XX:-UseAdaptiveSizePolicy -XX:-UseAdaptiveNUMAChunkSizing)");
+ UseAdaptiveSizePolicy = false;
+ UseAdaptiveNUMAChunkSizing = false;
+ }
+ }
+
+ if (!UseNUMA && ForceNUMA) {
+ UseNUMA = true;
+ }
+}
+
// this is called _after_ the global arguments have been parsed
jint os::init_2(void) {
@@ -4988,32 +5057,7 @@
Linux::glibc_version(), Linux::libpthread_version());
if (UseNUMA) {
- if (!Linux::libnuma_init()) {
- UseNUMA = false;
- } else {
- if ((Linux::numa_max_node() < 1) || Linux::isbound_to_single_node()) {
- // If there's only one node (they start from 0) or if the process
- // is bound explicitly to a single node using membind, disable NUMA.
- UseNUMA = false;
- }
- }
-
- if (UseParallelGC && UseNUMA && UseLargePages && !can_commit_large_page_memory()) {
- // With SHM and HugeTLBFS large pages we cannot uncommit a page, so there's no way
- // we can make the adaptive lgrp chunk resizing work. If the user specified both
- // UseNUMA and UseLargePages (or UseSHM/UseHugeTLBFS) on the command line - warn
- // and disable adaptive resizing.
- if (UseAdaptiveSizePolicy || UseAdaptiveNUMAChunkSizing) {
- warning("UseNUMA is not fully compatible with SHM/HugeTLBFS large pages, "
- "disabling adaptive resizing (-XX:-UseAdaptiveSizePolicy -XX:-UseAdaptiveNUMAChunkSizing)");
- UseAdaptiveSizePolicy = false;
- UseAdaptiveNUMAChunkSizing = false;
- }
- }
-
- if (!UseNUMA && ForceNUMA) {
- UseNUMA = true;
- }
+ Linux::numa_init();
}
if (MaxFDLimit) {
--- a/src/hotspot/os/linux/os_linux.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/linux/os_linux.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_LINUX_VM_OS_LINUX_HPP
-#define OS_LINUX_VM_OS_LINUX_HPP
+#ifndef OS_LINUX_OS_LINUX_HPP
+#define OS_LINUX_OS_LINUX_HPP
// Linux_OS defines the interface to Linux operating systems
@@ -211,6 +211,7 @@
// none present
private:
+ static void numa_init();
static void expand_stack_to(address bottom);
typedef int (*sched_getcpu_func_t)(void);
@@ -222,6 +223,7 @@
typedef void (*numa_interleave_memory_func_t)(void *start, size_t size, unsigned long *nodemask);
typedef void (*numa_interleave_memory_v2_func_t)(void *start, size_t size, struct bitmask* mask);
typedef struct bitmask* (*numa_get_membind_func_t)(void);
+ typedef struct bitmask* (*numa_get_interleave_mask_func_t)(void);
typedef void (*numa_set_bind_policy_func_t)(int policy);
typedef int (*numa_bitmask_isbitset_func_t)(struct bitmask *bmp, unsigned int n);
@@ -239,9 +241,12 @@
static numa_bitmask_isbitset_func_t _numa_bitmask_isbitset;
static numa_distance_func_t _numa_distance;
static numa_get_membind_func_t _numa_get_membind;
+ static numa_get_interleave_mask_func_t _numa_get_interleave_mask;
static unsigned long* _numa_all_nodes;
static struct bitmask* _numa_all_nodes_ptr;
static struct bitmask* _numa_nodes_ptr;
+ static struct bitmask* _numa_interleave_bitmask;
+ static struct bitmask* _numa_membind_bitmask;
static void set_sched_getcpu(sched_getcpu_func_t func) { _sched_getcpu = func; }
static void set_numa_node_to_cpus(numa_node_to_cpus_func_t func) { _numa_node_to_cpus = func; }
@@ -255,10 +260,21 @@
static void set_numa_bitmask_isbitset(numa_bitmask_isbitset_func_t func) { _numa_bitmask_isbitset = func; }
static void set_numa_distance(numa_distance_func_t func) { _numa_distance = func; }
static void set_numa_get_membind(numa_get_membind_func_t func) { _numa_get_membind = func; }
+ static void set_numa_get_interleave_mask(numa_get_interleave_mask_func_t func) { _numa_get_interleave_mask = func; }
static void set_numa_all_nodes(unsigned long* ptr) { _numa_all_nodes = ptr; }
static void set_numa_all_nodes_ptr(struct bitmask **ptr) { _numa_all_nodes_ptr = (ptr == NULL ? NULL : *ptr); }
static void set_numa_nodes_ptr(struct bitmask **ptr) { _numa_nodes_ptr = (ptr == NULL ? NULL : *ptr); }
+ static void set_numa_interleave_bitmask(struct bitmask* ptr) { _numa_interleave_bitmask = ptr ; }
+ static void set_numa_membind_bitmask(struct bitmask* ptr) { _numa_membind_bitmask = ptr ; }
static int sched_getcpu_syscall(void);
+
+ enum NumaAllocationPolicy{
+ NotInitialized,
+ Membind,
+ Interleave
+ };
+ static NumaAllocationPolicy _current_numa_policy;
+
public:
static int sched_getcpu() { return _sched_getcpu != NULL ? _sched_getcpu() : -1; }
static int numa_node_to_cpus(int node, unsigned long *buffer, int bufferlen) {
@@ -272,11 +288,33 @@
static int numa_tonode_memory(void *start, size_t size, int node) {
return _numa_tonode_memory != NULL ? _numa_tonode_memory(start, size, node) : -1;
}
+
+ static bool is_running_in_interleave_mode() {
+ return _current_numa_policy == Interleave;
+ }
+
+ static void set_configured_numa_policy(NumaAllocationPolicy numa_policy) {
+ _current_numa_policy = numa_policy;
+ }
+
+ static NumaAllocationPolicy identify_numa_policy() {
+ for (int node = 0; node <= Linux::numa_max_node(); node++) {
+ if (Linux::_numa_bitmask_isbitset(Linux::_numa_interleave_bitmask, node)) {
+ return Interleave;
+ }
+ }
+ return Membind;
+ }
+
static void numa_interleave_memory(void *start, size_t size) {
- // Use v2 api if available
- if (_numa_interleave_memory_v2 != NULL && _numa_all_nodes_ptr != NULL) {
- _numa_interleave_memory_v2(start, size, _numa_all_nodes_ptr);
- } else if (_numa_interleave_memory != NULL && _numa_all_nodes != NULL) {
+ // Prefer v2 API
+ if (_numa_interleave_memory_v2 != NULL) {
+ if (is_running_in_interleave_mode()) {
+ _numa_interleave_memory_v2(start, size, _numa_interleave_bitmask);
+ } else if (_numa_membind_bitmask != NULL) {
+ _numa_interleave_memory_v2(start, size, _numa_membind_bitmask);
+ }
+ } else if (_numa_interleave_memory != NULL) {
_numa_interleave_memory(start, size, _numa_all_nodes);
}
}
@@ -291,14 +329,14 @@
static int get_node_by_cpu(int cpu_id);
static int get_existing_num_nodes();
// Check if numa node is configured (non-zero memory node).
- static bool isnode_in_configured_nodes(unsigned int n) {
+ static bool is_node_in_configured_nodes(unsigned int n) {
if (_numa_bitmask_isbitset != NULL && _numa_all_nodes_ptr != NULL) {
return _numa_bitmask_isbitset(_numa_all_nodes_ptr, n);
} else
return false;
}
// Check if numa node exists in the system (including zero memory nodes).
- static bool isnode_in_existing_nodes(unsigned int n) {
+ static bool is_node_in_existing_nodes(unsigned int n) {
if (_numa_bitmask_isbitset != NULL && _numa_nodes_ptr != NULL) {
return _numa_bitmask_isbitset(_numa_nodes_ptr, n);
} else if (_numa_bitmask_isbitset != NULL && _numa_all_nodes_ptr != NULL) {
@@ -317,16 +355,19 @@
return false;
}
// Check if node is in bound node set.
- static bool isnode_in_bound_nodes(int node) {
- if (_numa_get_membind != NULL && _numa_bitmask_isbitset != NULL) {
- return _numa_bitmask_isbitset(_numa_get_membind(), node);
- } else {
- return false;
+ static bool is_node_in_bound_nodes(int node) {
+ if (_numa_bitmask_isbitset != NULL) {
+ if (is_running_in_interleave_mode()) {
+ return _numa_bitmask_isbitset(_numa_interleave_bitmask, node);
+ } else {
+ return _numa_membind_bitmask != NULL ? _numa_bitmask_isbitset(_numa_membind_bitmask, node) : false;
+ }
}
+ return false;
}
// Check if bound to only one numa node.
// Returns true if bound to a single numa node, otherwise returns false.
- static bool isbound_to_single_node() {
+ static bool is_bound_to_single_node() {
int nodes = 0;
struct bitmask* bmp = NULL;
unsigned int node = 0;
@@ -353,4 +394,4 @@
}
};
-#endif // OS_LINUX_VM_OS_LINUX_HPP
+#endif // OS_LINUX_OS_LINUX_HPP
--- a/src/hotspot/os/linux/os_linux.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/linux/os_linux.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_LINUX_VM_OS_LINUX_INLINE_HPP
-#define OS_LINUX_VM_OS_LINUX_INLINE_HPP
+#ifndef OS_LINUX_OS_LINUX_INLINE_HPP
+#define OS_LINUX_OS_LINUX_INLINE_HPP
#include "runtime/os.hpp"
@@ -92,12 +92,6 @@
inline bool os::numa_has_static_binding() { return true; }
inline bool os::numa_has_group_homing() { return false; }
-inline size_t os::restartable_read(int fd, void *buf, unsigned int nBytes) {
- size_t res;
- RESTARTABLE( (size_t) ::read(fd, buf, (size_t) nBytes), res);
- return res;
-}
-
inline size_t os::write(int fd, const void *buf, unsigned int nBytes) {
size_t res;
RESTARTABLE((size_t) ::write(fd, buf, (size_t) nBytes), res);
@@ -144,4 +138,4 @@
::exit(num);
}
-#endif // OS_LINUX_VM_OS_LINUX_INLINE_HPP
+#endif // OS_LINUX_OS_LINUX_INLINE_HPP
--- a/src/hotspot/os/linux/os_share_linux.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/linux/os_share_linux.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_LINUX_VM_OS_SHARE_LINUX_HPP
-#define OS_LINUX_VM_OS_SHARE_LINUX_HPP
+#ifndef OS_LINUX_OS_SHARE_LINUX_HPP
+#define OS_LINUX_OS_SHARE_LINUX_HPP
// misc
void handle_unexpected_exception(Thread* thread, int sig, siginfo_t* info, address pc, address adjusted_pc);
@@ -33,4 +33,4 @@
#define PROCFILE_LENGTH 128
-#endif // OS_LINUX_VM_OS_SHARE_LINUX_HPP
+#endif // OS_LINUX_OS_SHARE_LINUX_HPP
--- a/src/hotspot/os/linux/vmStructs_linux.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/linux/vmStructs_linux.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_LINUX_VM_VMSTRUCTS_LINUX_HPP
-#define OS_LINUX_VM_VMSTRUCTS_LINUX_HPP
+#ifndef OS_LINUX_VMSTRUCTS_LINUX_HPP
+#define OS_LINUX_VMSTRUCTS_LINUX_HPP
#include <dlfcn.h>
@@ -42,4 +42,4 @@
#define VM_ADDRESSES_OS(declare_address, declare_preprocessor_address, declare_function) \
declare_preprocessor_address("RTLD_DEFAULT", RTLD_DEFAULT)
-#endif // OS_LINUX_VM_VMSTRUCTS_LINUX_HPP
+#endif // OS_LINUX_VMSTRUCTS_LINUX_HPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/os/linux/waitBarrier_linux.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ *
+ */
+
+#include "precompiled/precompiled.hpp"
+#include "runtime/orderAccess.hpp"
+#include "runtime/os.hpp"
+#include "waitBarrier_linux.hpp"
+#include <sys/syscall.h>
+#include <linux/futex.h>
+
+#define check_with_errno(check_type, cond, msg) \
+ do { \
+ int err = errno; \
+ check_type(cond, "%s: error='%s' (errno=%s)", msg, os::strerror(err), \
+ os::errno_name(err)); \
+} while (false)
+
+#define guarantee_with_errno(cond, msg) check_with_errno(guarantee, cond, msg)
+
+static int futex(volatile int *addr, int futex_op, int op_arg) {
+ return syscall(SYS_futex, addr, futex_op, op_arg, NULL, NULL, 0);
+}
+
+void LinuxWaitBarrier::arm(int barrier_tag) {
+ assert(_futex_barrier == 0, "Should not be already armed: "
+ "_futex_barrier=%d", _futex_barrier);
+ _futex_barrier = barrier_tag;
+ OrderAccess::fence();
+}
+
+void LinuxWaitBarrier::disarm() {
+ assert(_futex_barrier != 0, "Should be armed/non-zero.");
+ _futex_barrier = 0;
+ int s = futex(&_futex_barrier,
+ FUTEX_WAKE_PRIVATE,
+ INT_MAX /* wake a max of this many threads */);
+ guarantee_with_errno(s > -1, "futex FUTEX_WAKE failed");
+}
+
+void LinuxWaitBarrier::wait(int barrier_tag) {
+ assert(barrier_tag != 0, "Trying to wait on disarmed value");
+ if (barrier_tag == 0 ||
+ barrier_tag != _futex_barrier) {
+ OrderAccess::fence();
+ return;
+ }
+ do {
+ int s = futex(&_futex_barrier,
+ FUTEX_WAIT_PRIVATE,
+ barrier_tag /* should be this tag */);
+ guarantee_with_errno((s == 0) ||
+ (s == -1 && errno == EAGAIN) ||
+ (s == -1 && errno == EINTR),
+ "futex FUTEX_WAIT failed");
+ // Return value 0: woken up, but re-check in case of spurious wakeup.
+ // Error EINTR: woken by signal, so re-check and re-wait if necessary.
+ // Error EAGAIN: we are already disarmed and so will pass the check.
+ } while (barrier_tag == _futex_barrier);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/os/linux/waitBarrier_linux.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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_LINUX_WAITBARRIER_LINUX_HPP
+#define OS_LINUX_WAITBARRIER_LINUX_HPP
+
+#include "memory/allocation.hpp"
+
+class LinuxWaitBarrier : public CHeapObj<mtInternal> {
+ volatile int _futex_barrier;
+
+ // Prevent copying and assignment of LinuxWaitBarrier instances.
+ LinuxWaitBarrier(const LinuxWaitBarrier&);
+ LinuxWaitBarrier& operator=(const LinuxWaitBarrier&);
+
+ public:
+ LinuxWaitBarrier() : _futex_barrier(0) {};
+ ~LinuxWaitBarrier() {};
+
+ const char* description() { return "futex"; }
+
+ void arm(int barrier_tag);
+ void disarm();
+ void wait(int barrier_tag);
+};
+
+#endif // OS_LINUX_WAITBARRIER_LINUX_HPP
--- a/src/hotspot/os/posix/os_posix.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/posix/os_posix.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -554,6 +554,10 @@
return ::fdopen(fd, mode);
}
+ssize_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
+ return ::pread(fd, buf, nBytes, offset);
+}
+
void os::flockfile(FILE* fp) {
::flockfile(fp);
}
--- a/src/hotspot/os/posix/os_posix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/posix/os_posix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -24,8 +24,8 @@
#include "runtime/os.hpp"
-#ifndef OS_POSIX_VM_OS_POSIX_HPP
-#define OS_POSIX_VM_OS_POSIX_HPP
+#ifndef OS_POSIX_OS_POSIX_HPP
+#define OS_POSIX_OS_POSIX_HPP
// File conventions
static const char* file_separator() { return "/"; }
@@ -224,4 +224,4 @@
#endif // !SOLARIS
-#endif // OS_POSIX_VM_OS_POSIX_HPP
+#endif // OS_POSIX_OS_POSIX_HPP
--- a/src/hotspot/os/posix/semaphore_posix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/posix/semaphore_posix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_POSIX_VM_SEMAPHORE_POSIX_HPP
-#define OS_POSIX_VM_SEMAPHORE_POSIX_HPP
+#ifndef OS_POSIX_SEMAPHORE_POSIX_HPP
+#define OS_POSIX_SEMAPHORE_POSIX_HPP
#include "memory/allocation.hpp"
@@ -50,4 +50,4 @@
typedef PosixSemaphore SemaphoreImpl;
-#endif // OS_POSIX_VM_SEMAPHORE_POSIX_HPP
+#endif // OS_POSIX_SEMAPHORE_POSIX_HPP
--- a/src/hotspot/os/solaris/c1_globals_solaris.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/solaris/c1_globals_solaris.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_SOLARIS_VM_C1_GLOBALS_SOLARIS_HPP
-#define OS_SOLARIS_VM_C1_GLOBALS_SOLARIS_HPP
+#ifndef OS_SOLARIS_C1_GLOBALS_SOLARIS_HPP
+#define OS_SOLARIS_C1_GLOBALS_SOLARIS_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -33,4 +33,4 @@
// client compiler. (see c1_globals.hpp)
//
-#endif // OS_SOLARIS_VM_C1_GLOBALS_SOLARIS_HPP
+#endif // OS_SOLARIS_C1_GLOBALS_SOLARIS_HPP
--- a/src/hotspot/os/solaris/c2_globals_solaris.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/solaris/c2_globals_solaris.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_SOLARIS_VM_C2_GLOBALS_SOLARIS_HPP
-#define OS_SOLARIS_VM_C2_GLOBALS_SOLARIS_HPP
+#ifndef OS_SOLARIS_C2_GLOBALS_SOLARIS_HPP
+#define OS_SOLARIS_C2_GLOBALS_SOLARIS_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -33,4 +33,4 @@
// server compiler. (see c2_globals.hpp)
//
-#endif // OS_SOLARIS_VM_C2_GLOBALS_SOLARIS_HPP
+#endif // OS_SOLARIS_C2_GLOBALS_SOLARIS_HPP
--- a/src/hotspot/os/solaris/globals_solaris.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/solaris/globals_solaris.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_SOLARIS_VM_GLOBALS_SOLARIS_HPP
-#define OS_SOLARIS_VM_GLOBALS_SOLARIS_HPP
+#ifndef OS_SOLARIS_GLOBALS_SOLARIS_HPP
+#define OS_SOLARIS_GLOBALS_SOLARIS_HPP
//
// Defines Solaris specific flags. They are not available on other platforms.
@@ -51,4 +51,4 @@
define_pd_global(bool, UseOSErrorReporting, false);
define_pd_global(bool, UseThreadPriorities, false);
-#endif // OS_SOLARIS_VM_GLOBALS_SOLARIS_HPP
+#endif // OS_SOLARIS_GLOBALS_SOLARIS_HPP
--- a/src/hotspot/os/solaris/osThread_solaris.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/solaris/osThread_solaris.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_SOLARIS_VM_OSTHREAD_SOLARIS_HPP
-#define OS_SOLARIS_VM_OSTHREAD_SOLARIS_HPP
+#ifndef OS_SOLARIS_OSTHREAD_SOLARIS_HPP
+#define OS_SOLARIS_OSTHREAD_SOLARIS_HPP
// This is embedded via include into the class OSThread
public:
@@ -85,4 +85,4 @@
void pd_initialize();
void pd_destroy();
-#endif // OS_SOLARIS_VM_OSTHREAD_SOLARIS_HPP
+#endif // OS_SOLARIS_OSTHREAD_SOLARIS_HPP
--- a/src/hotspot/os/solaris/os_share_solaris.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/solaris/os_share_solaris.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_SOLARIS_VM_OS_SHARE_SOLARIS_HPP
-#define OS_SOLARIS_VM_OS_SHARE_SOLARIS_HPP
+#ifndef OS_SOLARIS_OS_SHARE_SOLARIS_HPP
+#define OS_SOLARIS_OS_SHARE_SOLARIS_HPP
// Defines the interfaces to Solaris operating systems that vary across platforms
@@ -39,4 +39,4 @@
#define PROCFILE_LENGTH 128
-#endif // OS_SOLARIS_VM_OS_SHARE_SOLARIS_HPP
+#endif // OS_SOLARIS_OS_SHARE_SOLARIS_HPP
--- a/src/hotspot/os/solaris/os_solaris.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/solaris/os_solaris.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -2844,33 +2844,6 @@
return true;
}
-// Read calls from inside the vm need to perform state transitions
-size_t os::read(int fd, void *buf, unsigned int nBytes) {
- size_t res;
- JavaThread* thread = (JavaThread*)Thread::current();
- assert(thread->thread_state() == _thread_in_vm, "Assumed _thread_in_vm");
- ThreadBlockInVM tbiv(thread);
- RESTARTABLE(::read(fd, buf, (size_t) nBytes), res);
- return res;
-}
-
-size_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
- size_t res;
- JavaThread* thread = (JavaThread*)Thread::current();
- assert(thread->thread_state() == _thread_in_vm, "Assumed _thread_in_vm");
- ThreadBlockInVM tbiv(thread);
- RESTARTABLE(::pread(fd, buf, (size_t) nBytes, offset), res);
- return res;
-}
-
-size_t os::restartable_read(int fd, void *buf, unsigned int nBytes) {
- size_t res;
- assert(((JavaThread*)Thread::current())->thread_state() == _thread_in_native,
- "Assumed _thread_in_native");
- RESTARTABLE(::read(fd, buf, (size_t) nBytes), res);
- return res;
-}
-
// Sleep forever; naked call to OS-specific sleep; use with CAUTION
void os::infinite_sleep() {
while (true) { // sleep forever ...
--- a/src/hotspot/os/solaris/os_solaris.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/solaris/os_solaris.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_SOLARIS_VM_OS_SOLARIS_HPP
-#define OS_SOLARIS_VM_OS_SOLARIS_HPP
+#ifndef OS_SOLARIS_OS_SOLARIS_HPP
+#define OS_SOLARIS_OS_SOLARIS_HPP
// Solaris_OS defines the interface to Solaris operating systems
@@ -335,4 +335,4 @@
}
};
-#endif // OS_SOLARIS_VM_OS_SOLARIS_HPP
+#endif // OS_SOLARIS_OS_SOLARIS_HPP
--- a/src/hotspot/os/solaris/os_solaris.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/solaris/os_solaris.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_SOLARIS_VM_OS_SOLARIS_INLINE_HPP
-#define OS_SOLARIS_VM_OS_SOLARIS_INLINE_HPP
+#ifndef OS_SOLARIS_OS_SOLARIS_INLINE_HPP
+#define OS_SOLARIS_OS_SOLARIS_INLINE_HPP
#include "runtime/os.hpp"
@@ -105,4 +105,4 @@
::exit(num);
}
-#endif // OS_SOLARIS_VM_OS_SOLARIS_INLINE_HPP
+#endif // OS_SOLARIS_OS_SOLARIS_INLINE_HPP
--- a/src/hotspot/os/solaris/vmStructs_solaris.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/solaris/vmStructs_solaris.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_SOLARIS_VM_VMSTRUCTS_SOLARIS_HPP
-#define OS_SOLARIS_VM_VMSTRUCTS_SOLARIS_HPP
+#ifndef OS_SOLARIS_VMSTRUCTS_SOLARIS_HPP
+#define OS_SOLARIS_VMSTRUCTS_SOLARIS_HPP
// These are the OS-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -41,4 +41,4 @@
#define VM_ADDRESSES_OS(declare_address, declare_preprocessor_address, declare_function)
-#endif // OS_SOLARIS_VM_VMSTRUCTS_SOLARIS_HPP
+#endif // OS_SOLARIS_VMSTRUCTS_SOLARIS_HPP
--- a/src/hotspot/os/windows/c1_globals_windows.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/c1_globals_windows.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_WINDOWS_VM_C1_GLOBALS_WINDOWS_HPP
-#define OS_WINDOWS_VM_C1_GLOBALS_WINDOWS_HPP
+#ifndef OS_WINDOWS_C1_GLOBALS_WINDOWS_HPP
+#define OS_WINDOWS_C1_GLOBALS_WINDOWS_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -33,4 +33,4 @@
// client compiler. (see c1_globals.hpp)
//
-#endif // OS_WINDOWS_VM_C1_GLOBALS_WINDOWS_HPP
+#endif // OS_WINDOWS_C1_GLOBALS_WINDOWS_HPP
--- a/src/hotspot/os/windows/c2_globals_windows.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/c2_globals_windows.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_WINDOWS_VM_C2_GLOBALS_WINDOWS_HPP
-#define OS_WINDOWS_VM_C2_GLOBALS_WINDOWS_HPP
+#ifndef OS_WINDOWS_C2_GLOBALS_WINDOWS_HPP
+#define OS_WINDOWS_C2_GLOBALS_WINDOWS_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -33,4 +33,4 @@
// server compiler. (see c2_globals.hpp)
//
-#endif // OS_WINDOWS_VM_C2_GLOBALS_WINDOWS_HPP
+#endif // OS_WINDOWS_C2_GLOBALS_WINDOWS_HPP
--- a/src/hotspot/os/windows/globals_windows.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/globals_windows.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_WINDOWS_VM_GLOBALS_WINDOWS_HPP
-#define OS_WINDOWS_VM_GLOBALS_WINDOWS_HPP
+#ifndef OS_WINDOWS_GLOBALS_WINDOWS_HPP
+#define OS_WINDOWS_GLOBALS_WINDOWS_HPP
//
// Defines Windows specific flags. They are not available on other platforms.
@@ -49,4 +49,4 @@
define_pd_global(bool, UseOSErrorReporting, false); // for now.
define_pd_global(bool, UseThreadPriorities, true) ;
-#endif // OS_WINDOWS_VM_GLOBALS_WINDOWS_HPP
+#endif // OS_WINDOWS_GLOBALS_WINDOWS_HPP
--- a/src/hotspot/os/windows/iphlp_interface.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/iphlp_interface.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_WINDOWS_VM_IPHLP_INTERFACE_HPP
-#define OS_WINDOWS_VM_IPHLP_INTERFACE_HPP
+#ifndef OS_WINDOWS_IPHLP_INTERFACE_HPP
+#define OS_WINDOWS_IPHLP_INTERFACE_HPP
#include "memory/allocation.hpp"
#include "utilities/macros.hpp"
@@ -48,4 +48,4 @@
static bool IphlpDetach(void);
};
-#endif // OS_WINDOWS_VM_IPHLP_INTERFACE_HPP
+#endif // OS_WINDOWS_IPHLP_INTERFACE_HPP
--- a/src/hotspot/os/windows/osThread_windows.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/osThread_windows.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_WINDOWS_VM_OSTHREAD_WINDOWS_HPP
-#define OS_WINDOWS_VM_OSTHREAD_WINDOWS_HPP
+#ifndef OS_WINDOWS_OSTHREAD_WINDOWS_HPP
+#define OS_WINDOWS_OSTHREAD_WINDOWS_HPP
typedef void* HANDLE;
public:
@@ -66,4 +66,4 @@
void pd_initialize();
void pd_destroy();
-#endif // OS_WINDOWS_VM_OSTHREAD_WINDOWS_HPP
+#endif // OS_WINDOWS_OSTHREAD_WINDOWS_HPP
--- a/src/hotspot/os/windows/os_share_windows.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/os_share_windows.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,9 +22,9 @@
*
*/
-#ifndef OS_WINDOWS_VM_OS_SHARE_WINDOWS_HPP
-#define OS_WINDOWS_VM_OS_SHARE_WINDOWS_HPP
+#ifndef OS_WINDOWS_OS_SHARE_WINDOWS_HPP
+#define OS_WINDOWS_OS_SHARE_WINDOWS_HPP
// Defines the interfaces to Windows operating system that vary across platforms
-#endif // OS_WINDOWS_VM_OS_SHARE_WINDOWS_HPP
+#endif // OS_WINDOWS_OS_SHARE_WINDOWS_HPP
--- a/src/hotspot/os/windows/os_windows.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/os_windows.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -4539,7 +4539,7 @@
return (jlong) ::_lseeki64(fd, offset, whence);
}
-size_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
+ssize_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
OVERLAPPED ov;
DWORD nread;
BOOL result;
@@ -4707,9 +4707,6 @@
static int nonSeekAvailable(int, long *);
static int stdinAvailable(int, long *);
-#define S_ISCHR(mode) (((mode) & _S_IFCHR) == _S_IFCHR)
-#define S_ISFIFO(mode) (((mode) & _S_IFIFO) == _S_IFIFO)
-
// This code is a copy of JDK's sysAvailable
// from src/windows/hpi/src/sys_api_md.c
--- a/src/hotspot/os/windows/os_windows.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/os_windows.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,13 +22,16 @@
*
*/
-#ifndef OS_WINDOWS_VM_OS_WINDOWS_HPP
-#define OS_WINDOWS_VM_OS_WINDOWS_HPP
+#ifndef OS_WINDOWS_OS_WINDOWS_HPP
+#define OS_WINDOWS_OS_WINDOWS_HPP
// Win32_OS defines the interface to windows operating systems
// strtok_s is the Windows thread-safe equivalent of POSIX strtok_r
#define strtok_r strtok_s
+#define S_ISCHR(mode) (((mode) & _S_IFCHR) == _S_IFCHR)
+#define S_ISFIFO(mode) (((mode) & _S_IFIFO) == _S_IFIFO)
+
// Information about the protection of the page at address '0' on this os.
static bool zero_page_read_protected() { return true; }
@@ -184,4 +187,4 @@
} ;
-#endif // OS_WINDOWS_VM_OS_WINDOWS_HPP
+#endif // OS_WINDOWS_OS_WINDOWS_HPP
--- a/src/hotspot/os/windows/os_windows.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/os_windows.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_WINDOWS_VM_OS_WINDOWS_INLINE_HPP
-#define OS_WINDOWS_VM_OS_WINDOWS_INLINE_HPP
+#ifndef OS_WINDOWS_OS_WINDOWS_INLINE_HPP
+#define OS_WINDOWS_OS_WINDOWS_INLINE_HPP
#include "runtime/os.hpp"
#include "runtime/thread.hpp"
@@ -70,14 +70,6 @@
inline bool os::numa_has_static_binding() { return true; }
inline bool os::numa_has_group_homing() { return false; }
-inline size_t os::read(int fd, void *buf, unsigned int nBytes) {
- return ::read(fd, buf, nBytes);
-}
-
-inline size_t os::restartable_read(int fd, void *buf, unsigned int nBytes) {
- return ::read(fd, buf, nBytes);
-}
-
inline size_t os::write(int fd, const void *buf, unsigned int nBytes) {
return ::write(fd, buf, nBytes);
}
@@ -94,4 +86,4 @@
win32::exit_process_or_thread(win32::EPT_PROCESS, num);
}
-#endif // OS_WINDOWS_VM_OS_WINDOWS_INLINE_HPP
+#endif // OS_WINDOWS_OS_WINDOWS_INLINE_HPP
--- a/src/hotspot/os/windows/pdh_interface.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/pdh_interface.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_WINDOWS_VM_PDH_INTERFACE_HPP
-#define OS_WINDOWS_VM_PDH_INTERFACE_HPP
+#ifndef OS_WINDOWS_PDH_INTERFACE_HPP
+#define OS_WINDOWS_PDH_INTERFACE_HPP
#include "memory/allocation.hpp"
#include <pdh.h>
@@ -61,4 +61,4 @@
static bool PdhDetach();
};
-#endif // OS_WINDOWS_VM_PDH_INTERFACE_HPP
+#endif // OS_WINDOWS_PDH_INTERFACE_HPP
--- a/src/hotspot/os/windows/semaphore_windows.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/semaphore_windows.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_WINDOWS_VM_SEMAPHORE_WINDOWS_HPP
-#define OS_WINDOWS_VM_SEMAPHORE_WINDOWS_HPP
+#ifndef OS_WINDOWS_SEMAPHORE_WINDOWS_HPP
+#define OS_WINDOWS_SEMAPHORE_WINDOWS_HPP
#include "memory/allocation.hpp"
@@ -49,4 +49,4 @@
typedef WindowsSemaphore SemaphoreImpl;
-#endif // OS_WINDOWS_VM_SEMAPHORE_WINDOWS_HPP
+#endif // OS_WINDOWS_SEMAPHORE_WINDOWS_HPP
--- a/src/hotspot/os/windows/symbolengine.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/symbolengine.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017, SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_WINDOWS_VM_SYMBOLENGINE_HPP
-#define OS_WINDOWS_VM_SYMBOLENGINE_HPP
+#ifndef OS_WINDOWS_SYMBOLENGINE_HPP
+#define OS_WINDOWS_SYMBOLENGINE_HPP
class outputStream;
@@ -58,6 +58,4 @@
};
-#endif // #ifndef OS_WINDOWS_VM_SYMBOLENGINE_HPP
-
-
+#endif // OS_WINDOWS_SYMBOLENGINE_HPP
--- a/src/hotspot/os/windows/vmStructs_windows.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/vmStructs_windows.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_WINDOWS_VM_VMSTRUCTS_WINDOWS_HPP
-#define OS_WINDOWS_VM_VMSTRUCTS_WINDOWS_HPP
+#ifndef OS_WINDOWS_VMSTRUCTS_WINDOWS_HPP
+#define OS_WINDOWS_VMSTRUCTS_WINDOWS_HPP
// These are the OS-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -39,4 +39,4 @@
#define VM_ADDRESSES_OS(declare_address, declare_preprocessor_address, declare_function)
-#endif // OS_WINDOWS_VM_VMSTRUCTS_WINDOWS_HPP
+#endif // OS_WINDOWS_VMSTRUCTS_WINDOWS_HPP
--- a/src/hotspot/os/windows/windbghelp.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os/windows/windbghelp.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -72,4 +72,3 @@
};
#endif // OS_WINDOWS_WINDBGHELP_HPP
-
--- a/src/hotspot/os_cpu/aix_ppc/atomic_aix_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/aix_ppc/atomic_aix_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_AIX_OJDKPPC_VM_ATOMIC_AIX_PPC_HPP
-#define OS_CPU_AIX_OJDKPPC_VM_ATOMIC_AIX_PPC_HPP
+#ifndef OS_CPU_AIX_PPC_ATOMIC_AIX_PPC_HPP
+#define OS_CPU_AIX_PPC_ATOMIC_AIX_PPC_HPP
#ifndef PPC64
#error "Atomic currently only implemented for PPC64"
@@ -417,4 +417,4 @@
#undef strasm_nobarrier
#undef strasm_nobarrier_clobber_memory
-#endif // OS_CPU_AIX_OJDKPPC_VM_ATOMIC_AIX_PPC_HPP
+#endif // OS_CPU_AIX_PPC_ATOMIC_AIX_PPC_HPP
--- a/src/hotspot/os_cpu/aix_ppc/bytes_aix_ppc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/aix_ppc/bytes_aix_ppc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,11 +22,11 @@
*
*/
-#ifndef OS_CPU_AIX_PPC_VM_BYTES_AIX_PPC_INLINE_HPP
-#define OS_CPU_AIX_PPC_VM_BYTES_AIX_PPC_INLINE_HPP
+#ifndef OS_CPU_AIX_PPC_BYTES_AIX_PPC_INLINE_HPP
+#define OS_CPU_AIX_PPC_BYTES_AIX_PPC_INLINE_HPP
#if defined(VM_LITTLE_ENDIAN)
// Aix is not little endian.
#endif // VM_LITTLE_ENDIAN
-#endif // OS_CPU_AIX_PPC_VM_BYTES_AIX_PPC_INLINE_HPP
+#endif // OS_CPU_AIX_PPC_BYTES_AIX_PPC_INLINE_HPP
--- a/src/hotspot/os_cpu/aix_ppc/globals_aix_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/aix_ppc/globals_aix_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_AIX_OJDKPPC_VM_GLOBALS_AIX_PPC_HPP
-#define OS_CPU_AIX_OJDKPPC_VM_GLOBALS_AIX_PPC_HPP
+#ifndef OS_CPU_AIX_PPC_GLOBALS_AIX_PPC_HPP
+#define OS_CPU_AIX_PPC_GLOBALS_AIX_PPC_HPP
// Sets the default values for platform dependent flags used by the runtime system.
// (see globals.hpp)
@@ -41,4 +41,4 @@
// Only used on 64 bit platforms
define_pd_global(size_t, HeapBaseMinAddress, 2*G);
-#endif // OS_CPU_AIX_OJDKPPC_VM_GLOBALS_AIX_PPC_HPP
+#endif // OS_CPU_AIX_PPC_GLOBALS_AIX_PPC_HPP
--- a/src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_AIX_OJDKPPC_VM_ORDERACCESS_AIX_PPC_HPP
-#define OS_CPU_AIX_OJDKPPC_VM_ORDERACCESS_AIX_PPC_HPP
+#ifndef OS_CPU_AIX_PPC_ORDERACCESS_AIX_PPC_HPP
+#define OS_CPU_AIX_PPC_ORDERACCESS_AIX_PPC_HPP
// Included in orderAccess.hpp header file.
@@ -90,4 +90,4 @@
#undef inlasm_eieio
#undef inlasm_isync
-#endif // OS_CPU_AIX_OJDKPPC_VM_ORDERACCESS_AIX_PPC_HPP
+#endif // OS_CPU_AIX_PPC_ORDERACCESS_AIX_PPC_HPP
--- a/src/hotspot/os_cpu/aix_ppc/os_aix_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/aix_ppc/os_aix_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_AIX_PPC_VM_OS_AIX_PPC_HPP
-#define OS_CPU_AIX_PPC_VM_OS_AIX_PPC_HPP
+#ifndef OS_CPU_AIX_PPC_OS_AIX_PPC_HPP
+#define OS_CPU_AIX_PPC_OS_AIX_PPC_HPP
static void setup_fpu() {}
@@ -36,4 +36,4 @@
static bool platform_print_native_stack(outputStream* st, void* context,
char *buf, int buf_size);
-#endif // OS_CPU_AIX_PPC_VM_OS_AIX_PPC_HPP
+#endif // OS_CPU_AIX_PPC_OS_AIX_PPC_HPP
--- a/src/hotspot/os_cpu/aix_ppc/prefetch_aix_ppc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/aix_ppc/prefetch_aix_ppc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_AIX_PPC_VM_PREFETCH_AIX_PPC_INLINE_HPP
-#define OS_CPU_AIX_PPC_VM_PREFETCH_AIX_PPC_INLINE_HPP
+#ifndef OS_CPU_AIX_PPC_PREFETCH_AIX_PPC_INLINE_HPP
+#define OS_CPU_AIX_PPC_PREFETCH_AIX_PPC_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -55,4 +55,4 @@
#endif
}
-#endif // OS_CPU_AIX_PPC_VM_PREFETCH_AIX_PPC_INLINE_HPP
+#endif // OS_CPU_AIX_PPC_PREFETCH_AIX_PPC_INLINE_HPP
--- a/src/hotspot/os_cpu/aix_ppc/thread_aix_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/aix_ppc/thread_aix_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_AIX_PPC_VM_THREAD_AIX_PPC_HPP
-#define OS_CPU_AIX_PPC_VM_THREAD_AIX_PPC_HPP
+#ifndef OS_CPU_AIX_PPC_THREAD_AIX_PPC_HPP
+#define OS_CPU_AIX_PPC_THREAD_AIX_PPC_HPP
private:
void pd_initialize() {
@@ -51,4 +51,4 @@
bool pd_get_top_frame_for_profiling(frame* fr_addr, void* ucontext,
bool isInJava);
-#endif // OS_CPU_AIX_PPC_VM_THREAD_AIX_PPC_HPP
+#endif // OS_CPU_AIX_PPC_THREAD_AIX_PPC_HPP
--- a/src/hotspot/os_cpu/aix_ppc/vmStructs_aix_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/aix_ppc/vmStructs_aix_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_AIX_OJDKPPC_VM_VMSTRUCTS_AIX_PPC_HPP
-#define OS_CPU_AIX_OJDKPPC_VM_VMSTRUCTS_AIX_PPC_HPP
+#ifndef OS_CPU_AIX_PPC_VMSTRUCTS_AIX_PPC_HPP
+#define OS_CPU_AIX_PPC_VMSTRUCTS_AIX_PPC_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -50,4 +50,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_AIX_OJDKPPC_VM_VMSTRUCTS_AIX_PPC_HPP
+#endif // OS_CPU_AIX_PPC_VMSTRUCTS_AIX_PPC_HPP
--- a/src/hotspot/os_cpu/bsd_x86/atomic_bsd_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_x86/atomic_bsd_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_X86_VM_ATOMIC_BSD_X86_HPP
-#define OS_CPU_BSD_X86_VM_ATOMIC_BSD_X86_HPP
+#ifndef OS_CPU_BSD_X86_ATOMIC_BSD_X86_HPP
+#define OS_CPU_BSD_X86_ATOMIC_BSD_X86_HPP
// Implementation of class atomic
@@ -169,4 +169,4 @@
#endif // AMD64
-#endif // OS_CPU_BSD_X86_VM_ATOMIC_BSD_X86_HPP
+#endif // OS_CPU_BSD_X86_ATOMIC_BSD_X86_HPP
--- a/src/hotspot/os_cpu/bsd_x86/bytes_bsd_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_x86/bytes_bsd_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_X86_VM_BYTES_BSD_X86_INLINE_HPP
-#define OS_CPU_BSD_X86_VM_BYTES_BSD_X86_INLINE_HPP
+#ifndef OS_CPU_BSD_X86_BYTES_BSD_X86_INLINE_HPP
+#define OS_CPU_BSD_X86_BYTES_BSD_X86_INLINE_HPP
#ifdef __APPLE__
#include <libkern/OSByteOrder.h>
@@ -109,4 +109,4 @@
}
#endif // !AMD64
-#endif // OS_CPU_BSD_X86_VM_BYTES_BSD_X86_INLINE_HPP
+#endif // OS_CPU_BSD_X86_BYTES_BSD_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/bsd_x86/copy_bsd_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_x86/copy_bsd_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_X86_VM_COPY_BSD_X86_INLINE_HPP
-#define OS_CPU_BSD_X86_VM_COPY_BSD_X86_INLINE_HPP
+#ifndef OS_CPU_BSD_X86_COPY_BSD_X86_INLINE_HPP
+#define OS_CPU_BSD_X86_COPY_BSD_X86_INLINE_HPP
static void pd_conjoint_words(const HeapWord* from, HeapWord* to, size_t count) {
#ifdef AMD64
@@ -306,4 +306,4 @@
#endif // AMD64
}
-#endif // OS_CPU_BSD_X86_VM_COPY_BSD_X86_INLINE_HPP
+#endif // OS_CPU_BSD_X86_COPY_BSD_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/bsd_x86/globals_bsd_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_x86/globals_bsd_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_X86_VM_GLOBALS_BSD_X86_HPP
-#define OS_CPU_BSD_X86_VM_GLOBALS_BSD_X86_HPP
+#ifndef OS_CPU_BSD_X86_GLOBALS_BSD_X86_HPP
+#define OS_CPU_BSD_X86_GLOBALS_BSD_X86_HPP
//
// Sets the default values for platform dependent flags used by the runtime system.
@@ -49,4 +49,4 @@
// Used on 64 bit platforms for UseCompressedOops base address
define_pd_global(size_t, HeapBaseMinAddress, 2*G);
-#endif // OS_CPU_BSD_X86_VM_GLOBALS_BSD_X86_HPP
+#endif // OS_CPU_BSD_X86_GLOBALS_BSD_X86_HPP
--- a/src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_HPP
-#define OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_HPP
+#ifndef OS_CPU_BSD_X86_ORDERACCESS_BSD_X86_HPP
+#define OS_CPU_BSD_X86_ORDERACCESS_BSD_X86_HPP
// Included in orderAccess.hpp header file.
@@ -109,4 +109,4 @@
};
#endif // AMD64
-#endif // OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_HPP
+#endif // OS_CPU_BSD_X86_ORDERACCESS_BSD_X86_HPP
--- a/src/hotspot/os_cpu/bsd_x86/os_bsd_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_x86/os_bsd_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_X86_VM_OS_BSD_X86_HPP
-#define OS_CPU_BSD_X86_VM_OS_BSD_X86_HPP
+#ifndef OS_CPU_BSD_X86_OS_BSD_X86_HPP
+#define OS_CPU_BSD_X86_OS_BSD_X86_HPP
static void setup_fpu();
static bool supports_sse();
@@ -36,4 +36,4 @@
// Note: Currently only used in 64 bit Windows implementations
static bool register_code_area(char *low, char *high) { return true; }
-#endif // OS_CPU_BSD_X86_VM_OS_BSD_X86_HPP
+#endif // OS_CPU_BSD_X86_OS_BSD_X86_HPP
--- a/src/hotspot/os_cpu/bsd_x86/os_bsd_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_x86/os_bsd_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_X86_VM_OS_BSD_X86_INLINE_HPP
-#define OS_CPU_BSD_X86_VM_OS_BSD_X86_INLINE_HPP
+#ifndef OS_CPU_BSD_X86_OS_BSD_X86_INLINE_HPP
+#define OS_CPU_BSD_X86_OS_BSD_X86_INLINE_HPP
#include "runtime/os.hpp"
@@ -43,4 +43,4 @@
#endif // AMD64
}
-#endif // OS_CPU_BSD_X86_VM_OS_BSD_X86_INLINE_HPP
+#endif // OS_CPU_BSD_X86_OS_BSD_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/bsd_x86/prefetch_bsd_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_x86/prefetch_bsd_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_X86_VM_PREFETCH_BSD_X86_INLINE_HPP
-#define OS_CPU_BSD_X86_VM_PREFETCH_BSD_X86_INLINE_HPP
+#ifndef OS_CPU_BSD_X86_PREFETCH_BSD_X86_INLINE_HPP
+#define OS_CPU_BSD_X86_PREFETCH_BSD_X86_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -44,4 +44,4 @@
#endif // AMD64
}
-#endif // OS_CPU_BSD_X86_VM_PREFETCH_BSD_X86_INLINE_HPP
+#endif // OS_CPU_BSD_X86_PREFETCH_BSD_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/bsd_x86/thread_bsd_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_x86/thread_bsd_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_X86_VM_THREAD_BSD_X86_HPP
-#define OS_CPU_BSD_X86_VM_THREAD_BSD_X86_HPP
+#ifndef OS_CPU_BSD_X86_THREAD_BSD_X86_HPP
+#define OS_CPU_BSD_X86_THREAD_BSD_X86_HPP
private:
void pd_initialize() {
@@ -66,4 +66,4 @@
static void enable_register_stack_guard() {}
static void disable_register_stack_guard() {}
-#endif // OS_CPU_BSD_X86_VM_THREAD_BSD_X86_HPP
+#endif // OS_CPU_BSD_X86_THREAD_BSD_X86_HPP
--- a/src/hotspot/os_cpu/bsd_x86/vmStructs_bsd_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_x86/vmStructs_bsd_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_X86_VM_VMSTRUCTS_BSD_X86_HPP
-#define OS_CPU_BSD_X86_VM_VMSTRUCTS_BSD_X86_HPP
+#ifndef OS_CPU_BSD_X86_VMSTRUCTS_BSD_X86_HPP
+#define OS_CPU_BSD_X86_VMSTRUCTS_BSD_X86_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -50,4 +50,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_BSD_X86_VM_VMSTRUCTS_BSD_X86_HPP
+#endif // OS_CPU_BSD_X86_VMSTRUCTS_BSD_X86_HPP
--- a/src/hotspot/os_cpu/bsd_zero/atomic_bsd_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_zero/atomic_bsd_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2011, 2015, Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_HPP
-#define OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_HPP
+#ifndef OS_CPU_BSD_ZERO_ATOMIC_BSD_ZERO_HPP
+#define OS_CPU_BSD_ZERO_ATOMIC_BSD_ZERO_HPP
#include "runtime/os.hpp"
@@ -282,4 +282,4 @@
os::atomic_copy64(reinterpret_cast<const volatile int64_t*>(&store_value), reinterpret_cast<volatile int64_t*>(dest));
}
-#endif // OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_HPP
+#endif // OS_CPU_BSD_ZERO_ATOMIC_BSD_ZERO_HPP
--- a/src/hotspot/os_cpu/bsd_zero/bytes_bsd_zero.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_zero/bytes_bsd_zero.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_BSD_ZERO_VM_BYTES_BSD_ZERO_INLINE_HPP
-#define OS_CPU_BSD_ZERO_VM_BYTES_BSD_ZERO_INLINE_HPP
+#ifndef OS_CPU_BSD_ZERO_BYTES_BSD_ZERO_INLINE_HPP
+#define OS_CPU_BSD_ZERO_BYTES_BSD_ZERO_INLINE_HPP
// Efficient swapping of data bytes from Java byte
// ordering to native byte ordering and vice versa.
@@ -64,4 +64,4 @@
return bswap_64(x);
}
-#endif // OS_CPU_BSD_ZERO_VM_BYTES_BSD_ZERO_INLINE_HPP
+#endif // OS_CPU_BSD_ZERO_BYTES_BSD_ZERO_INLINE_HPP
--- a/src/hotspot/os_cpu/bsd_zero/globals_bsd_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_zero/globals_bsd_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_BSD_ZERO_VM_GLOBALS_BSD_ZERO_HPP
-#define OS_CPU_BSD_ZERO_VM_GLOBALS_BSD_ZERO_HPP
+#ifndef OS_CPU_BSD_ZERO_GLOBALS_BSD_ZERO_HPP
+#define OS_CPU_BSD_ZERO_GLOBALS_BSD_ZERO_HPP
//
// Set the default values for platform dependent flags used by the
@@ -44,4 +44,4 @@
// Used on 64 bit platforms for UseCompressedOops base address
define_pd_global(size_t, HeapBaseMinAddress, 2*G);
-#endif // OS_CPU_BSD_ZERO_VM_GLOBALS_BSD_ZERO_HPP
+#endif // OS_CPU_BSD_ZERO_GLOBALS_BSD_ZERO_HPP
--- a/src/hotspot/os_cpu/bsd_zero/orderAccess_bsd_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_zero/orderAccess_bsd_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_BSD_ZERO_VM_ORDERACCESS_BSD_ZERO_HPP
-#define OS_CPU_BSD_ZERO_VM_ORDERACCESS_BSD_ZERO_HPP
+#ifndef OS_CPU_BSD_ZERO_ORDERACCESS_BSD_ZERO_HPP
+#define OS_CPU_BSD_ZERO_ORDERACCESS_BSD_ZERO_HPP
// Included in orderAccess.hpp header file.
@@ -74,4 +74,4 @@
inline void OrderAccess::release() { LIGHT_MEM_BARRIER; }
inline void OrderAccess::fence() { FULL_MEM_BARRIER; }
-#endif // OS_CPU_BSD_ZERO_VM_ORDERACCESS_BSD_ZERO_HPP
+#endif // OS_CPU_BSD_ZERO_ORDERACCESS_BSD_ZERO_HPP
--- a/src/hotspot/os_cpu/bsd_zero/os_bsd_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_zero/os_bsd_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_BSD_ZERO_VM_OS_BSD_ZERO_HPP
-#define OS_CPU_BSD_ZERO_VM_OS_BSD_ZERO_HPP
+#ifndef OS_CPU_BSD_ZERO_OS_BSD_ZERO_HPP
+#define OS_CPU_BSD_ZERO_OS_BSD_ZERO_HPP
static void setup_fpu() {}
@@ -53,4 +53,4 @@
#endif
}
-#endif // OS_CPU_BSD_ZERO_VM_OS_BSD_ZERO_HPP
+#endif // OS_CPU_BSD_ZERO_OS_BSD_ZERO_HPP
--- a/src/hotspot/os_cpu/bsd_zero/prefetch_bsd_zero.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_zero/prefetch_bsd_zero.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_BSD_ZERO_VM_PREFETCH_BSD_ZERO_INLINE_HPP
-#define OS_CPU_BSD_ZERO_VM_PREFETCH_BSD_ZERO_INLINE_HPP
+#ifndef OS_CPU_BSD_ZERO_PREFETCH_BSD_ZERO_INLINE_HPP
+#define OS_CPU_BSD_ZERO_PREFETCH_BSD_ZERO_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -34,4 +34,4 @@
inline void Prefetch::write(void* loc, intx interval) {
}
-#endif // OS_CPU_BSD_ZERO_VM_PREFETCH_BSD_ZERO_INLINE_HPP
+#endif // OS_CPU_BSD_ZERO_PREFETCH_BSD_ZERO_INLINE_HPP
--- a/src/hotspot/os_cpu/bsd_zero/thread_bsd_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_zero/thread_bsd_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_BSD_ZERO_VM_THREAD_BSD_ZERO_HPP
-#define OS_CPU_BSD_ZERO_VM_THREAD_BSD_ZERO_HPP
+#ifndef OS_CPU_BSD_ZERO_THREAD_BSD_ZERO_HPP
+#define OS_CPU_BSD_ZERO_THREAD_BSD_ZERO_HPP
private:
ZeroStack _zero_stack;
@@ -116,4 +116,4 @@
static void enable_register_stack_guard() {}
static void disable_register_stack_guard() {}
-#endif // OS_CPU_BSD_ZERO_VM_THREAD_BSD_ZERO_HPP
+#endif // OS_CPU_BSD_ZERO_THREAD_BSD_ZERO_HPP
--- a/src/hotspot/os_cpu/bsd_zero/vmStructs_bsd_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/bsd_zero/vmStructs_bsd_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_BSD_ZERO_VM_VMSTRUCTS_BSD_ZERO_HPP
-#define OS_CPU_BSD_ZERO_VM_VMSTRUCTS_BSD_ZERO_HPP
+#ifndef OS_CPU_BSD_ZERO_VMSTRUCTS_BSD_ZERO_HPP
+#define OS_CPU_BSD_ZERO_VMSTRUCTS_BSD_ZERO_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -39,4 +39,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_BSD_ZERO_VM_VMSTRUCTS_BSD_ZERO_HPP
+#endif // OS_CPU_BSD_ZERO_VMSTRUCTS_BSD_ZERO_HPP
--- a/src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_AARCH64_VM_ATOMIC_LINUX_AARCH64_HPP
-#define OS_CPU_LINUX_AARCH64_VM_ATOMIC_LINUX_AARCH64_HPP
+#ifndef OS_CPU_LINUX_AARCH64_ATOMIC_LINUX_AARCH64_HPP
+#define OS_CPU_LINUX_AARCH64_ATOMIC_LINUX_AARCH64_HPP
#include "vm_version_aarch64.hpp"
@@ -72,4 +72,4 @@
}
}
-#endif // OS_CPU_LINUX_AARCH64_VM_ATOMIC_LINUX_AARCH64_HPP
+#endif // OS_CPU_LINUX_AARCH64_ATOMIC_LINUX_AARCH64_HPP
--- a/src/hotspot/os_cpu/linux_aarch64/bytes_linux_aarch64.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_aarch64/bytes_linux_aarch64.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_AARCH64_VM_BYTES_LINUX_AARCH64_INLINE_HPP
-#define OS_CPU_LINUX_AARCH64_VM_BYTES_LINUX_AARCH64_INLINE_HPP
+#ifndef OS_CPU_LINUX_AARCH64_BYTES_LINUX_AARCH64_INLINE_HPP
+#define OS_CPU_LINUX_AARCH64_BYTES_LINUX_AARCH64_INLINE_HPP
#include <byteswap.h>
@@ -42,4 +42,4 @@
return bswap_64(x);
}
-#endif // OS_CPU_LINUX_AARCH64_VM_BYTES_LINUX_AARCH64_INLINE_HPP
+#endif // OS_CPU_LINUX_AARCH64_BYTES_LINUX_AARCH64_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_aarch64/copy_linux_aarch64.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_aarch64/copy_linux_aarch64.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_AARCH64_VM_COPY_LINUX_AARCH64_INLINE_HPP
-#define OS_CPU_LINUX_AARCH64_VM_COPY_LINUX_AARCH64_INLINE_HPP
+#ifndef OS_CPU_LINUX_AARCH64_COPY_LINUX_AARCH64_INLINE_HPP
+#define OS_CPU_LINUX_AARCH64_COPY_LINUX_AARCH64_INLINE_HPP
#define COPY_SMALL(from, to, count) \
{ \
@@ -185,4 +185,4 @@
_Copy_arrayof_conjoint_jlongs(from, to, count);
}
-#endif // OS_CPU_LINUX_AARCH64_VM_COPY_LINUX_AARCH64_INLINE_HPP
+#endif // OS_CPU_LINUX_AARCH64_COPY_LINUX_AARCH64_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_aarch64/globals_linux_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_aarch64/globals_linux_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_AARCH64_VM_GLOBALS_LINUX_AARCH64_HPP
-#define OS_CPU_LINUX_AARCH64_VM_GLOBALS_LINUX_AARCH64_HPP
+#ifndef OS_CPU_LINUX_AARCH64_GLOBALS_LINUX_AARCH64_HPP
+#define OS_CPU_LINUX_AARCH64_GLOBALS_LINUX_AARCH64_HPP
// Sets the default values for platform dependent flags used by the runtime system.
// (see globals.hpp)
@@ -43,4 +43,4 @@
class Thread;
extern __thread Thread *aarch64_currentThread;
-#endif // OS_CPU_LINUX_AARCH64_VM_GLOBALS_LINUX_AARCH64_HPP
+#endif // OS_CPU_LINUX_AARCH64_GLOBALS_LINUX_AARCH64_HPP
--- a/src/hotspot/os_cpu/linux_aarch64/orderAccess_linux_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_aarch64/orderAccess_linux_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_AARCH64_VM_ORDERACCESS_LINUX_AARCH64_HPP
-#define OS_CPU_LINUX_AARCH64_VM_ORDERACCESS_LINUX_AARCH64_HPP
+#ifndef OS_CPU_LINUX_AARCH64_ORDERACCESS_LINUX_AARCH64_HPP
+#define OS_CPU_LINUX_AARCH64_ORDERACCESS_LINUX_AARCH64_HPP
// Included in orderAccess.hpp header file.
@@ -70,4 +70,4 @@
void operator()(T v, volatile T* p) const { release_store(p, v); fence(); }
};
-#endif // OS_CPU_LINUX_AARCH64_VM_ORDERACCESS_LINUX_AARCH64_HPP
+#endif // OS_CPU_LINUX_AARCH64_ORDERACCESS_LINUX_AARCH64_HPP
--- a/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_AARCH64_VM_OS_LINUX_AARCH64_HPP
-#define OS_CPU_LINUX_AARCH64_VM_OS_LINUX_AARCH64_HPP
+#ifndef OS_CPU_LINUX_AARCH64_OS_LINUX_AARCH64_HPP
+#define OS_CPU_LINUX_AARCH64_OS_LINUX_AARCH64_HPP
static void setup_fpu();
static bool supports_sse();
@@ -42,4 +42,4 @@
*(jlong *) dst = *(const jlong *) src;
}
-#endif // OS_CPU_LINUX_AARCH64_VM_OS_LINUX_AARCH64_HPP
+#endif // OS_CPU_LINUX_AARCH64_OS_LINUX_AARCH64_HPP
--- a/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_AARCH64_VM_OS_LINUX_AARCH64_INLINE_HPP
-#define OS_CPU_LINUX_AARCH64_VM_OS_LINUX_AARCH64_INLINE_HPP
+#ifndef OS_CPU_LINUX_AARCH64_OS_LINUX_AARCH64_INLINE_HPP
+#define OS_CPU_LINUX_AARCH64_OS_LINUX_AARCH64_INLINE_HPP
#include "runtime/os.hpp"
@@ -37,4 +37,4 @@
return (jlong)res;
}
-#endif // OS_CPU_LINUX_AARCH64_VM_OS_LINUX_AARCH64_INLINE_HPP
+#endif // OS_CPU_LINUX_AARCH64_OS_LINUX_AARCH64_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_aarch64/prefetch_linux_aarch64.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_aarch64/prefetch_linux_aarch64.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_AARCH64_VM_PREFETCH_LINUX_AARCH64_INLINE_HPP
-#define OS_CPU_LINUX_AARCH64_VM_PREFETCH_LINUX_AARCH64_INLINE_HPP
+#ifndef OS_CPU_LINUX_AARCH64_PREFETCH_LINUX_AARCH64_INLINE_HPP
+#define OS_CPU_LINUX_AARCH64_PREFETCH_LINUX_AARCH64_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -43,4 +43,4 @@
#endif
}
-#endif // OS_CPU_LINUX_AARCH64_VM_PREFETCH_LINUX_AARCH64_INLINE_HPP
+#endif // OS_CPU_LINUX_AARCH64_PREFETCH_LINUX_AARCH64_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_aarch64/thread_linux_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_aarch64/thread_linux_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_AARCH64_VM_THREAD_LINUX_AARCH64_HPP
-#define OS_CPU_LINUX_AARCH64_VM_THREAD_LINUX_AARCH64_HPP
+#ifndef OS_CPU_LINUX_AARCH64_THREAD_LINUX_AARCH64_HPP
+#define OS_CPU_LINUX_AARCH64_THREAD_LINUX_AARCH64_HPP
private:
#ifdef ASSERT
@@ -77,4 +77,4 @@
static void enable_register_stack_guard() {}
static void disable_register_stack_guard() {}
-#endif // OS_CPU_LINUX_AARCH64_VM_THREAD_LINUX_AARCH64_HPP
+#endif // OS_CPU_LINUX_AARCH64_THREAD_LINUX_AARCH64_HPP
--- a/src/hotspot/os_cpu/linux_aarch64/vmStructs_linux_aarch64.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_aarch64/vmStructs_linux_aarch64.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_AARCH64_VM_VMSTRUCTS_LINUX_AARCH64_HPP
-#define OS_CPU_LINUX_AARCH64_VM_VMSTRUCTS_LINUX_AARCH64_HPP
+#ifndef OS_CPU_LINUX_AARCH64_VMSTRUCTS_LINUX_AARCH64_HPP
+#define OS_CPU_LINUX_AARCH64_VMSTRUCTS_LINUX_AARCH64_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -52,4 +52,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_LINUX_AARCH64_VM_VMSTRUCTS_LINUX_AARCH64_HPP
+#endif // OS_CPU_LINUX_AARCH64_VMSTRUCTS_LINUX_AARCH64_HPP
--- a/src/hotspot/os_cpu/linux_arm/atomic_linux_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_arm/atomic_linux_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ARM_VM_ATOMIC_LINUX_ARM_HPP
-#define OS_CPU_LINUX_ARM_VM_ATOMIC_LINUX_ARM_HPP
+#ifndef OS_CPU_LINUX_ARM_ATOMIC_LINUX_ARM_HPP
+#define OS_CPU_LINUX_ARM_ATOMIC_LINUX_ARM_HPP
#include "runtime/os.hpp"
#include "vm_version_arm.hpp"
@@ -137,4 +137,4 @@
return cmpxchg_using_helper<int64_t>(reorder_cmpxchg_long_func, exchange_value, dest, compare_value);
}
-#endif // OS_CPU_LINUX_ARM_VM_ATOMIC_LINUX_ARM_HPP
+#endif // OS_CPU_LINUX_ARM_ATOMIC_LINUX_ARM_HPP
--- a/src/hotspot/os_cpu/linux_arm/bytes_linux_arm.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_arm/bytes_linux_arm.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ARM_VM_BYTES_LINUX_ARM_INLINE_HPP
-#define OS_CPU_LINUX_ARM_VM_BYTES_LINUX_ARM_INLINE_HPP
+#ifndef OS_CPU_LINUX_ARM_BYTES_LINUX_ARM_INLINE_HPP
+#define OS_CPU_LINUX_ARM_BYTES_LINUX_ARM_INLINE_HPP
#include <byteswap.h>
@@ -44,4 +44,4 @@
return bswap_64(x);
}
-#endif // OS_CPU_LINUX_ARM_VM_BYTES_LINUX_ARM_INLINE_HPP
+#endif // OS_CPU_LINUX_ARM_BYTES_LINUX_ARM_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_arm/copy_linux_arm.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_arm/copy_linux_arm.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ARM_VM_COPY_LINUX_ARM_INLINE_HPP
-#define OS_CPU_LINUX_ARM_VM_COPY_LINUX_ARM_INLINE_HPP
+#ifndef OS_CPU_LINUX_ARM_COPY_LINUX_ARM_INLINE_HPP
+#define OS_CPU_LINUX_ARM_COPY_LINUX_ARM_INLINE_HPP
static void pd_conjoint_words(const HeapWord* from, HeapWord* to, size_t count) {
_Copy_conjoint_words(from, to, count * HeapWordSize);
@@ -92,4 +92,4 @@
pd_conjoint_oops_atomic((const oop*)from, (oop*)to, count);
}
-#endif // OS_CPU_LINUX_ARM_VM_COPY_LINUX_ARM_INLINE_HPP
+#endif // OS_CPU_LINUX_ARM_COPY_LINUX_ARM_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_arm/globals_linux_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_arm/globals_linux_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ARM_VM_GLOBALS_LINUX_ARM_HPP
-#define OS_CPU_LINUX_ARM_VM_GLOBALS_LINUX_ARM_HPP
+#ifndef OS_CPU_LINUX_ARM_GLOBALS_LINUX_ARM_HPP
+#define OS_CPU_LINUX_ARM_GLOBALS_LINUX_ARM_HPP
//
// Sets the default values for platform dependent flags used by the runtime system.
@@ -40,4 +40,4 @@
// Used on 64 bit platforms for UseCompressedOops base address or CDS
define_pd_global(size_t, HeapBaseMinAddress, 2*G);
-#endif // OS_CPU_LINUX_ARM_VM_GLOBALS_LINUX_ARM_HPP
+#endif // OS_CPU_LINUX_ARM_GLOBALS_LINUX_ARM_HPP
--- a/src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ARM_VM_ORDERACCESS_LINUX_ARM_HPP
-#define OS_CPU_LINUX_ARM_VM_ORDERACCESS_LINUX_ARM_HPP
+#ifndef OS_CPU_LINUX_ARM_ORDERACCESS_LINUX_ARM_HPP
+#define OS_CPU_LINUX_ARM_ORDERACCESS_LINUX_ARM_HPP
// Included in orderAccess.hpp header file.
@@ -102,4 +102,4 @@
inline void OrderAccess::release() { dmb_sy(); }
inline void OrderAccess::fence() { dmb_sy(); }
-#endif // OS_CPU_LINUX_ARM_VM_ORDERACCESS_LINUX_ARM_HPP
+#endif // OS_CPU_LINUX_ARM_ORDERACCESS_LINUX_ARM_HPP
--- a/src/hotspot/os_cpu/linux_arm/os_linux_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_arm/os_linux_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ARM_VM_OS_LINUX_ARM_HPP
-#define OS_CPU_LINUX_ARM_VM_OS_LINUX_ARM_HPP
+#ifndef OS_CPU_LINUX_ARM_OS_LINUX_ARM_HPP
+#define OS_CPU_LINUX_ARM_OS_LINUX_ARM_HPP
#ifndef __thumb__
enum {
@@ -70,4 +70,4 @@
int32_t exchange_value,
volatile int32_t *dest);
-#endif // OS_CPU_LINUX_ARM_VM_OS_LINUX_ARM_HPP
+#endif // OS_CPU_LINUX_ARM_OS_LINUX_ARM_HPP
--- a/src/hotspot/os_cpu/linux_arm/prefetch_linux_arm.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_arm/prefetch_linux_arm.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ARM_VM_PREFETCH_LINUX_ARM_INLINE_HPP
-#define OS_CPU_LINUX_ARM_VM_PREFETCH_LINUX_ARM_INLINE_HPP
+#ifndef OS_CPU_LINUX_ARM_PREFETCH_LINUX_ARM_INLINE_HPP
+#define OS_CPU_LINUX_ARM_PREFETCH_LINUX_ARM_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -37,4 +37,4 @@
// Not available on 32-bit ARM (prior to ARMv7 with MP extensions)
}
-#endif // OS_CPU_LINUX_ARM_VM_PREFETCH_LINUX_ARM_INLINE_HPP
+#endif // OS_CPU_LINUX_ARM_PREFETCH_LINUX_ARM_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_arm/thread_linux_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_arm/thread_linux_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ARM_VM_THREAD_LINUX_ARM_HPP
-#define OS_CPU_LINUX_ARM_VM_THREAD_LINUX_ARM_HPP
+#ifndef OS_CPU_LINUX_ARM_THREAD_LINUX_ARM_HPP
+#define OS_CPU_LINUX_ARM_THREAD_LINUX_ARM_HPP
private:
// The following thread-local variables replicate corresponding global variables.
@@ -84,4 +84,4 @@
static void enable_register_stack_guard() {}
static void disable_register_stack_guard() {}
-#endif // OS_CPU_LINUX_ARM_VM_THREAD_LINUX_ARM_HPP
+#endif // OS_CPU_LINUX_ARM_THREAD_LINUX_ARM_HPP
--- a/src/hotspot/os_cpu/linux_arm/vmStructs_linux_arm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_arm/vmStructs_linux_arm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ARM_VM_VMSTRUCTS_LINUX_ARM_HPP
-#define OS_CPU_LINUX_ARM_VM_VMSTRUCTS_LINUX_ARM_HPP
+#ifndef OS_CPU_LINUX_ARM_VMSTRUCTS_LINUX_ARM_HPP
+#define OS_CPU_LINUX_ARM_VMSTRUCTS_LINUX_ARM_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -50,4 +50,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_LINUX_ARM_VM_VMSTRUCTS_LINUX_ARM_HPP
+#endif // OS_CPU_LINUX_ARM_VMSTRUCTS_LINUX_ARM_HPP
--- a/src/hotspot/os_cpu/linux_ppc/atomic_linux_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_ppc/atomic_linux_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_PPC_VM_ATOMIC_LINUX_PPC_HPP
-#define OS_CPU_LINUX_PPC_VM_ATOMIC_LINUX_PPC_HPP
+#ifndef OS_CPU_LINUX_PPC_ATOMIC_LINUX_PPC_HPP
+#define OS_CPU_LINUX_PPC_ATOMIC_LINUX_PPC_HPP
#ifndef PPC64
#error "Atomic currently only implemented for PPC64"
@@ -415,4 +415,4 @@
#undef strasm_nobarrier
#undef strasm_nobarrier_clobber_memory
-#endif // OS_CPU_LINUX_PPC_VM_ATOMIC_LINUX_PPC_HPP
+#endif // OS_CPU_LINUX_PPC_ATOMIC_LINUX_PPC_HPP
--- a/src/hotspot/os_cpu/linux_ppc/bytes_linux_ppc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_ppc/bytes_linux_ppc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, 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.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_PPC_VM_BYTES_LINUX_PPC_INLINE_HPP
-#define OS_CPU_LINUX_PPC_VM_BYTES_LINUX_PPC_INLINE_HPP
+#ifndef OS_CPU_LINUX_PPC_BYTES_LINUX_PPC_INLINE_HPP
+#define OS_CPU_LINUX_PPC_BYTES_LINUX_PPC_INLINE_HPP
#if defined(VM_LITTLE_ENDIAN)
#include <byteswap.h>
@@ -36,4 +36,4 @@
inline u8 Bytes::swap_u8(u8 x) { return bswap_64(x); }
#endif // VM_LITTLE_ENDIAN
-#endif // OS_CPU_LINUX_PPC_VM_BYTES_LINUX_PPC_INLINE_HPP
+#endif // OS_CPU_LINUX_PPC_BYTES_LINUX_PPC_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_ppc/globals_linux_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_ppc/globals_linux_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_PPC_VM_GLOBALS_LINUX_PPC_HPP
-#define OS_CPU_LINUX_PPC_VM_GLOBALS_LINUX_PPC_HPP
+#ifndef OS_CPU_LINUX_PPC_GLOBALS_LINUX_PPC_HPP
+#define OS_CPU_LINUX_PPC_GLOBALS_LINUX_PPC_HPP
// Sets the default values for platform dependent flags used by the runtime system.
// (see globals.hpp)
@@ -41,4 +41,4 @@
// Only used on 64 bit platforms
define_pd_global(size_t, HeapBaseMinAddress, 2*G);
-#endif // OS_CPU_LINUX_PPC_VM_GLOBALS_LINUX_PPC_HPP
+#endif // OS_CPU_LINUX_PPC_GLOBALS_LINUX_PPC_HPP
--- a/src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_PPC_VM_ORDERACCESS_LINUX_PPC_HPP
-#define OS_CPU_LINUX_PPC_VM_ORDERACCESS_LINUX_PPC_HPP
+#ifndef OS_CPU_LINUX_PPC_ORDERACCESS_LINUX_PPC_HPP
+#define OS_CPU_LINUX_PPC_ORDERACCESS_LINUX_PPC_HPP
// Included in orderAccess.hpp header file.
@@ -94,4 +94,4 @@
#undef inlasm_isync
#undef inlasm_acquire_reg
-#endif // OS_CPU_LINUX_PPC_VM_ORDERACCESS_LINUX_PPC_HPP
+#endif // OS_CPU_LINUX_PPC_ORDERACCESS_LINUX_PPC_HPP
--- a/src/hotspot/os_cpu/linux_ppc/os_linux_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_ppc/os_linux_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_PPC_VM_OS_LINUX_PPC_HPP
-#define OS_CPU_LINUX_PPC_VM_OS_LINUX_PPC_HPP
+#ifndef OS_CPU_LINUX_PPC_OS_LINUX_PPC_HPP
+#define OS_CPU_LINUX_PPC_OS_LINUX_PPC_HPP
static void setup_fpu() {}
@@ -32,4 +32,4 @@
// Note: Currently only used in 64 bit Windows implementations
static bool register_code_area(char *low, char *high) { return true; }
-#endif // OS_CPU_LINUX_PPC_VM_OS_LINUX_PPC_HPP
+#endif // OS_CPU_LINUX_PPC_OS_LINUX_PPC_HPP
--- a/src/hotspot/os_cpu/linux_ppc/prefetch_linux_ppc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_ppc/prefetch_linux_ppc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_PPC_VM_PREFETCH_LINUX_PPC_INLINE_HPP
-#define OS_CPU_LINUX_PPC_VM_PREFETCH_LINUX_PPC_INLINE_HPP
+#ifndef OS_CPU_LINUX_PPC_PREFETCH_LINUX_PPC_INLINE_HPP
+#define OS_CPU_LINUX_PPC_PREFETCH_LINUX_PPC_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -47,4 +47,4 @@
);
}
-#endif // OS_CPU_LINUX_PPC_VM_PREFETCH_LINUX_PPC_INLINE_HPP
+#endif // OS_CPU_LINUX_PPC_PREFETCH_LINUX_PPC_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_PPC_VM_THREAD_LINUX_PPC_HPP
-#define OS_CPU_LINUX_PPC_VM_THREAD_LINUX_PPC_HPP
+#ifndef OS_CPU_LINUX_PPC_THREAD_LINUX_PPC_HPP
+#define OS_CPU_LINUX_PPC_THREAD_LINUX_PPC_HPP
private:
@@ -51,4 +51,4 @@
bool pd_get_top_frame_for_profiling(frame* fr_addr, void* ucontext, bool isInJava);
-#endif // OS_CPU_LINUX_PPC_VM_THREAD_LINUX_PPC_HPP
+#endif // OS_CPU_LINUX_PPC_THREAD_LINUX_PPC_HPP
--- a/src/hotspot/os_cpu/linux_ppc/vmStructs_linux_ppc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_ppc/vmStructs_linux_ppc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_PPC_VM_VMSTRUCTS_LINUX_PPC_HPP
-#define OS_CPU_LINUX_PPC_VM_VMSTRUCTS_LINUX_PPC_HPP
+#ifndef OS_CPU_LINUX_PPC_VMSTRUCTS_LINUX_PPC_HPP
+#define OS_CPU_LINUX_PPC_VMSTRUCTS_LINUX_PPC_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -52,4 +52,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_LINUX_PPC_VM_VMSTRUCTS_LINUX_PPC_HPP
+#endif // OS_CPU_LINUX_PPC_VMSTRUCTS_LINUX_PPC_HPP
--- a/src/hotspot/os_cpu/linux_s390/atomic_linux_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_s390/atomic_linux_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_S390_VM_ATOMIC_LINUX_S390_INLINE_HPP
-#define OS_CPU_LINUX_S390_VM_ATOMIC_LINUX_S390_INLINE_HPP
+#ifndef OS_CPU_LINUX_S390_ATOMIC_LINUX_S390_HPP
+#define OS_CPU_LINUX_S390_ATOMIC_LINUX_S390_HPP
#include "runtime/atomic.hpp"
#include "runtime/os.hpp"
@@ -335,4 +335,4 @@
return old;
}
-#endif // OS_CPU_LINUX_S390_VM_ATOMIC_LINUX_S390_INLINE_HPP
+#endif // OS_CPU_LINUX_S390_ATOMIC_LINUX_S390_HPP
--- a/src/hotspot/os_cpu/linux_s390/bytes_linux_s390.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_s390/bytes_linux_s390.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_S390_VM_BYTES_LINUX_S390_INLINE_HPP
-#define OS_CPU_LINUX_S390_VM_BYTES_LINUX_S390_INLINE_HPP
+#ifndef OS_CPU_LINUX_S390_BYTES_LINUX_S390_INLINE_HPP
+#define OS_CPU_LINUX_S390_BYTES_LINUX_S390_INLINE_HPP
// Efficient swapping of data bytes from Java byte
// ordering to native byte ordering and vice versa.
@@ -43,4 +43,4 @@
return bswap_64(x);
}
-#endif // OS_CPU_LINUX_S390_VM_BYTES_LINUX_S390_INLINE_HPP
+#endif // OS_CPU_LINUX_S390_BYTES_LINUX_S390_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_s390/globals_linux_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_s390/globals_linux_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -25,8 +25,8 @@
// Sorted according to linux_x86.
-#ifndef OS_CPU_LINUX_S390_VM_GLOBALS_LINUX_S390_HPP
-#define OS_CPU_LINUX_S390_VM_GLOBALS_LINUX_S390_HPP
+#ifndef OS_CPU_LINUX_S390_GLOBALS_LINUX_S390_HPP
+#define OS_CPU_LINUX_S390_GLOBALS_LINUX_S390_HPP
// Sets the default values for platform dependent flags used by the
// runtime system (see globals.hpp).
@@ -49,6 +49,4 @@
// Only used on 64 bit platforms.
define_pd_global(size_t, HeapBaseMinAddress, 2*G);
-#endif // OS_CPU_LINUX_S390_VM_GLOBALS_LINUX_S390_HPP
-
-
+#endif // OS_CPU_LINUX_S390_GLOBALS_LINUX_S390_HPP
--- a/src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_S390_VM_ORDERACCESS_LINUX_S390_HPP
-#define OS_CPU_LINUX_S390_VM_ORDERACCESS_LINUX_S390_HPP
+#ifndef OS_CPU_LINUX_S390_ORDERACCESS_LINUX_S390_HPP
+#define OS_CPU_LINUX_S390_ORDERACCESS_LINUX_S390_HPP
// Included in orderAccess.hpp header file.
@@ -88,4 +88,4 @@
#undef inlasm_zarch_acquire
#undef inlasm_zarch_fence
-#endif // OS_CPU_LINUX_S390_VM_ORDERACCESS_LINUX_S390_HPP
+#endif // OS_CPU_LINUX_S390_ORDERACCESS_LINUX_S390_HPP
--- a/src/hotspot/os_cpu/linux_s390/os_linux_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_s390/os_linux_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,13 +23,12 @@
*
*/
-#ifndef OS_CPU_LINUX_S390_VM_OS_LINUX_S390_HPP
-#define OS_CPU_LINUX_S390_VM_OS_LINUX_S390_HPP
+#ifndef OS_CPU_LINUX_S390_OS_LINUX_S390_HPP
+#define OS_CPU_LINUX_S390_OS_LINUX_S390_HPP
static void setup_fpu() {}
// Used to register dynamic code cache area with the OS.
static bool register_code_area(char *low, char *high) { return true; }
-#endif // OS_CPU_LINUX_S390_VM_OS_LINUX_S390_HPP
-
+#endif // OS_CPU_LINUX_S390_OS_LINUX_S390_HPP
--- a/src/hotspot/os_cpu/linux_s390/prefetch_linux_s390.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_s390/prefetch_linux_s390.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_S390_VM_PREFETCH_LINUX_S390_INLINE_HPP
-#define OS_CPU_LINUX_S390_VM_PREFETCH_LINUX_S390_INLINE_HPP
+#ifndef OS_CPU_LINUX_S390_PREFETCH_LINUX_S390_INLINE_HPP
+#define OS_CPU_LINUX_S390_PREFETCH_LINUX_S390_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -36,4 +36,4 @@
// No prefetch instructions on z/Architecture -> implement trivially.
}
-#endif // OS_CPU_LINUX_S390_VM_PREFETCH_LINUX_S390_INLINE_HPP
+#endif // OS_CPU_LINUX_S390_PREFETCH_LINUX_S390_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_s390/thread_linux_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_s390/thread_linux_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_S390_VM_THREAD_LINUX_S390_HPP
-#define OS_CPU_LINUX_S390_VM_THREAD_LINUX_S390_HPP
+#ifndef OS_CPU_LINUX_S390_THREAD_LINUX_S390_HPP
+#define OS_CPU_LINUX_S390_THREAD_LINUX_S390_HPP
private:
@@ -50,4 +50,4 @@
bool pd_get_top_frame_for_profiling(frame* fr_addr, void* ucontext, bool isInJava);
-#endif // OS_CPU_LINUX_S390_VM_THREAD_LINUX_S390_HPP
+#endif // OS_CPU_LINUX_S390_THREAD_LINUX_S390_HPP
--- a/src/hotspot/os_cpu/linux_s390/vmStructs_linux_s390.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_s390/vmStructs_linux_s390.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_S390_VM_VMSTRUCTS_LINUX_S390_HPP
-#define OS_CPU_LINUX_S390_VM_VMSTRUCTS_LINUX_S390_HPP
+#ifndef OS_CPU_LINUX_S390_VMSTRUCTS_LINUX_S390_HPP
+#define OS_CPU_LINUX_S390_VMSTRUCTS_LINUX_S390_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -52,5 +52,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_LINUX_S390_VM_VMSTRUCTS_LINUX_S390_HPP
-
+#endif // OS_CPU_LINUX_S390_VMSTRUCTS_LINUX_S390_HPP
--- a/src/hotspot/os_cpu/linux_sparc/atomic_linux_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_sparc/atomic_linux_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_SPARC_VM_ATOMIC_LINUX_SPARC_INLINE_HPP
-#define OS_CPU_LINUX_SPARC_VM_ATOMIC_LINUX_SPARC_INLINE_HPP
+#ifndef OS_CPU_LINUX_SPARC_ATOMIC_LINUX_SPARC_HPP
+#define OS_CPU_LINUX_SPARC_ATOMIC_LINUX_SPARC_HPP
// Implementation of class atomic
@@ -154,4 +154,4 @@
return rv;
}
-#endif // OS_CPU_LINUX_SPARC_VM_ATOMIC_LINUX_SPARC_INLINE_HPP
+#endif // OS_CPU_LINUX_SPARC_ATOMIC_LINUX_SPARC_HPP
--- a/src/hotspot/os_cpu/linux_sparc/globals_linux_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_sparc/globals_linux_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_SPARC_VM_GLOBALS_LINUX_SPARC_HPP
-#define OS_CPU_LINUX_SPARC_VM_GLOBALS_LINUX_SPARC_HPP
+#ifndef OS_CPU_LINUX_SPARC_GLOBALS_LINUX_SPARC_HPP
+#define OS_CPU_LINUX_SPARC_GLOBALS_LINUX_SPARC_HPP
//
// Sets the default values for platform dependent flags used by the
@@ -35,4 +35,4 @@
// Used on 64 bit platforms for UseCompressedOops base address
define_pd_global(size_t, HeapBaseMinAddress, CONST64(4)*G);
-#endif // OS_CPU_LINUX_SPARC_VM_GLOBALS_LINUX_SPARC_HPP
+#endif // OS_CPU_LINUX_SPARC_GLOBALS_LINUX_SPARC_HPP
--- a/src/hotspot/os_cpu/linux_sparc/orderAccess_linux_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_sparc/orderAccess_linux_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_SPARC_VM_ORDERACCESS_LINUX_SPARC_HPP
-#define OS_CPU_LINUX_SPARC_VM_ORDERACCESS_LINUX_SPARC_HPP
+#ifndef OS_CPU_LINUX_SPARC_ORDERACCESS_LINUX_SPARC_HPP
+#define OS_CPU_LINUX_SPARC_ORDERACCESS_LINUX_SPARC_HPP
// Included in orderAccess.hpp header file.
@@ -48,4 +48,4 @@
__asm__ volatile ("membar #StoreLoad" : : : "memory");
}
-#endif // OS_CPU_LINUX_SPARC_VM_ORDERACCESS_LINUX_SPARC_HPP
+#endif // OS_CPU_LINUX_SPARC_ORDERACCESS_LINUX_SPARC_HPP
--- a/src/hotspot/os_cpu/linux_sparc/os_linux_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_sparc/os_linux_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_SPARC_VM_OS_LINUX_SPARC_HPP
-#define OS_CPU_LINUX_SPARC_VM_OS_LINUX_SPARC_HPP
+#ifndef OS_CPU_LINUX_SPARC_OS_LINUX_SPARC_HPP
+#define OS_CPU_LINUX_SPARC_OS_LINUX_SPARC_HPP
//
// NOTE: we are back in class os here, not Linux
@@ -46,4 +46,4 @@
// Note: Currently only used in 64 bit Windows implementations
static bool register_code_area(char *low, char *high) { return true; }
-#endif // OS_CPU_LINUX_SPARC_VM_OS_LINUX_SPARC_HPP
+#endif // OS_CPU_LINUX_SPARC_OS_LINUX_SPARC_HPP
--- a/src/hotspot/os_cpu/linux_sparc/prefetch_linux_sparc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_sparc/prefetch_linux_sparc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_SPARC_VM_PREFETCH_LINUX_SPARC_INLINE_HPP
-#define OS_CPU_LINUX_SPARC_VM_PREFETCH_LINUX_SPARC_INLINE_HPP
+#ifndef OS_CPU_LINUX_SPARC_PREFETCH_LINUX_SPARC_INLINE_HPP
+#define OS_CPU_LINUX_SPARC_PREFETCH_LINUX_SPARC_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -35,4 +35,4 @@
__asm__ volatile("prefetch [%0+%1], 2" : : "r" (loc), "r" (interval) : "memory" );
}
-#endif // OS_CPU_LINUX_SPARC_VM_PREFETCH_LINUX_SPARC_INLINE_HPP
+#endif // OS_CPU_LINUX_SPARC_PREFETCH_LINUX_SPARC_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_sparc/thread_linux_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_sparc/thread_linux_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_SPARC_VM_THREAD_LINUX_SPARC_HPP
-#define OS_CPU_LINUX_SPARC_VM_THREAD_LINUX_SPARC_HPP
+#ifndef OS_CPU_LINUX_SPARC_THREAD_LINUX_SPARC_HPP
+#define OS_CPU_LINUX_SPARC_THREAD_LINUX_SPARC_HPP
private:
@@ -95,4 +95,4 @@
static void enable_register_stack_guard() {}
static void disable_register_stack_guard() {}
-#endif // OS_CPU_LINUX_SPARC_VM_THREAD_LINUX_SPARC_HPP
+#endif // OS_CPU_LINUX_SPARC_THREAD_LINUX_SPARC_HPP
--- a/src/hotspot/os_cpu/linux_sparc/vmStructs_linux_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_sparc/vmStructs_linux_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_SPARC_VM_VMSTRUCTS_LINUX_SPARC_HPP
-#define OS_CPU_LINUX_SPARC_VM_VMSTRUCTS_LINUX_SPARC_HPP
+#ifndef OS_CPU_LINUX_SPARC_VMSTRUCTS_LINUX_SPARC_HPP
+#define OS_CPU_LINUX_SPARC_VMSTRUCTS_LINUX_SPARC_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -60,4 +60,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_LINUX_SPARC_VM_VMSTRUCTS_LINUX_SPARC_HPP
+#endif // OS_CPU_LINUX_SPARC_VMSTRUCTS_LINUX_SPARC_HPP
--- a/src/hotspot/os_cpu/linux_x86/atomic_linux_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/atomic_linux_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_X86_VM_ATOMIC_LINUX_X86_HPP
-#define OS_CPU_LINUX_X86_VM_ATOMIC_LINUX_X86_HPP
+#ifndef OS_CPU_LINUX_X86_ATOMIC_LINUX_X86_HPP
+#define OS_CPU_LINUX_X86_ATOMIC_LINUX_X86_HPP
// Implementation of class atomic
@@ -169,4 +169,4 @@
#endif // AMD64
-#endif // OS_CPU_LINUX_X86_VM_ATOMIC_LINUX_X86_HPP
+#endif // OS_CPU_LINUX_X86_ATOMIC_LINUX_X86_HPP
--- a/src/hotspot/os_cpu/linux_x86/bytes_linux_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/bytes_linux_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_X86_VM_BYTES_LINUX_X86_INLINE_HPP
-#define OS_CPU_LINUX_X86_VM_BYTES_LINUX_X86_INLINE_HPP
+#ifndef OS_CPU_LINUX_X86_BYTES_LINUX_X86_INLINE_HPP
+#define OS_CPU_LINUX_X86_BYTES_LINUX_X86_INLINE_HPP
#include <byteswap.h>
@@ -87,4 +87,4 @@
}
#endif // !AMD64
-#endif // OS_CPU_LINUX_X86_VM_BYTES_LINUX_X86_INLINE_HPP
+#endif // OS_CPU_LINUX_X86_BYTES_LINUX_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_x86/copy_linux_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/copy_linux_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_X86_VM_COPY_LINUX_X86_INLINE_HPP
-#define OS_CPU_LINUX_X86_VM_COPY_LINUX_X86_INLINE_HPP
+#ifndef OS_CPU_LINUX_X86_COPY_LINUX_X86_INLINE_HPP
+#define OS_CPU_LINUX_X86_COPY_LINUX_X86_INLINE_HPP
static void pd_conjoint_words(const HeapWord* from, HeapWord* to, size_t count) {
#ifdef AMD64
@@ -306,4 +306,4 @@
#endif // AMD64
}
-#endif // OS_CPU_LINUX_X86_VM_COPY_LINUX_X86_INLINE_HPP
+#endif // OS_CPU_LINUX_X86_COPY_LINUX_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_x86/gc/z/zAddress_linux_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/gc/z/zAddress_linux_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,11 +21,11 @@
* questions.
*/
-#ifndef OS_CPU_LINUX_X86_ZADDRESS_LINUX_X86_INLINE_HPP
-#define OS_CPU_LINUX_X86_ZADDRESS_LINUX_X86_INLINE_HPP
+#ifndef OS_CPU_LINUX_X86_GC_Z_ZADDRESS_LINUX_X86_INLINE_HPP
+#define OS_CPU_LINUX_X86_GC_Z_ZADDRESS_LINUX_X86_INLINE_HPP
inline uintptr_t ZAddress::address(uintptr_t value) {
return value;
}
-#endif // OS_CPU_LINUX_X86_ZADDRESS_LINUX_X86_INLINE_HPP
+#endif // OS_CPU_LINUX_X86_GC_Z_ZADDRESS_LINUX_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_x86/gc/z/zBackingFile_linux_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/gc/z/zBackingFile_linux_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef OS_CPU_LINUX_X86_ZBACKINGFILE_LINUX_X86_HPP
-#define OS_CPU_LINUX_X86_ZBACKINGFILE_LINUX_X86_HPP
+#ifndef OS_CPU_LINUX_X86_GC_Z_ZBACKINGFILE_LINUX_X86_HPP
+#define OS_CPU_LINUX_X86_GC_Z_ZBACKINGFILE_LINUX_X86_HPP
#include "memory/allocation.hpp"
@@ -60,4 +60,4 @@
size_t try_expand(size_t offset, size_t length, size_t alignment) const;
};
-#endif // OS_CPU_LINUX_X86_ZBACKINGFILE_LINUX_X86_HPP
+#endif // OS_CPU_LINUX_X86_GC_Z_ZBACKINGFILE_LINUX_X86_HPP
--- a/src/hotspot/os_cpu/linux_x86/gc/z/zBackingPath_linux_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/gc/z/zBackingPath_linux_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef OS_CPU_LINUX_X86_ZBACKINGPATH_LINUX_X86_HPP
-#define OS_CPU_LINUX_X86_ZBACKINGPATH_LINUX_X86_HPP
+#ifndef OS_CPU_LINUX_X86_GC_Z_ZBACKINGPATH_LINUX_X86_HPP
+#define OS_CPU_LINUX_X86_GC_Z_ZBACKINGPATH_LINUX_X86_HPP
#include "gc/z/zArray.hpp"
#include "memory/allocation.hpp"
@@ -49,4 +49,4 @@
const char* get() const;
};
-#endif // OS_CPU_LINUX_X86_ZBACKINGPATH_LINUX_X86_HPP
+#endif // OS_CPU_LINUX_X86_GC_Z_ZBACKINGPATH_LINUX_X86_HPP
--- a/src/hotspot/os_cpu/linux_x86/gc/z/zGlobals_linux_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/gc/z/zGlobals_linux_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef OS_CPU_LINUX_X86_ZGLOBALS_LINUX_X86_HPP
-#define OS_CPU_LINUX_X86_ZGLOBALS_LINUX_X86_HPP
+#ifndef OS_CPU_LINUX_X86_GC_Z_ZGLOBALS_LINUX_X86_HPP
+#define OS_CPU_LINUX_X86_GC_Z_ZGLOBALS_LINUX_X86_HPP
//
// Page Allocation Tiers
@@ -87,4 +87,4 @@
const size_t ZPlatformCacheLineSize = 64;
-#endif // OS_CPU_LINUX_X86_ZGLOBALS_LINUX_X86_HPP
+#endif // OS_CPU_LINUX_X86_GC_Z_ZGLOBALS_LINUX_X86_HPP
--- a/src/hotspot/os_cpu/linux_x86/gc/z/zPhysicalMemoryBacking_linux_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/gc/z/zPhysicalMemoryBacking_linux_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef OS_CPU_LINUX_X86_ZPHYSICALMEMORYBACKING_LINUX_X86_HPP
-#define OS_CPU_LINUX_X86_ZPHYSICALMEMORYBACKING_LINUX_X86_HPP
+#ifndef OS_CPU_LINUX_X86_GC_Z_ZPHYSICALMEMORYBACKING_LINUX_X86_HPP
+#define OS_CPU_LINUX_X86_GC_Z_ZPHYSICALMEMORYBACKING_LINUX_X86_HPP
#include "gc/z/zBackingFile_linux_x86.hpp"
#include "gc/z/zMemory.hpp"
@@ -62,4 +62,4 @@
void flip(ZPhysicalMemory pmem, uintptr_t offset) const;
};
-#endif // OS_CPU_LINUX_X86_ZPHYSICALMEMORYBACKING_LINUX_X86_HPP
+#endif // OS_CPU_LINUX_X86_GC_Z_ZPHYSICALMEMORYBACKING_LINUX_X86_HPP
--- a/src/hotspot/os_cpu/linux_x86/globals_linux_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/globals_linux_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_X86_VM_GLOBALS_LINUX_X86_HPP
-#define OS_CPU_LINUX_X86_VM_GLOBALS_LINUX_X86_HPP
+#ifndef OS_CPU_LINUX_X86_GLOBALS_LINUX_X86_HPP
+#define OS_CPU_LINUX_X86_GLOBALS_LINUX_X86_HPP
// Sets the default values for platform dependent flags used by the runtime system.
// (see globals.hpp)
@@ -47,4 +47,4 @@
// Used on 64 bit platforms for UseCompressedOops base address
define_pd_global(size_t, HeapBaseMinAddress, 2*G);
-#endif // OS_CPU_LINUX_X86_VM_GLOBALS_LINUX_X86_HPP
+#endif // OS_CPU_LINUX_X86_GLOBALS_LINUX_X86_HPP
--- a/src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_HPP
-#define OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_HPP
+#ifndef OS_CPU_LINUX_X86_ORDERACCESS_LINUX_X86_HPP
+#define OS_CPU_LINUX_X86_ORDERACCESS_LINUX_X86_HPP
// Included in orderAccess.hpp header file.
@@ -105,4 +105,4 @@
};
#endif // AMD64
-#endif // OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_HPP
+#endif // OS_CPU_LINUX_X86_ORDERACCESS_LINUX_X86_HPP
--- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_X86_VM_OS_LINUX_X86_HPP
-#define OS_CPU_LINUX_X86_VM_OS_LINUX_X86_HPP
+#ifndef OS_CPU_LINUX_X86_OS_LINUX_X86_HPP
+#define OS_CPU_LINUX_X86_OS_LINUX_X86_HPP
static void setup_fpu();
static bool supports_sse();
@@ -49,4 +49,4 @@
*/
static void workaround_expand_exec_shield_cs_limit();
-#endif // OS_CPU_LINUX_X86_VM_OS_LINUX_X86_HPP
+#endif // OS_CPU_LINUX_X86_OS_LINUX_X86_HPP
--- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_X86_VM_OS_LINUX_X86_INLINE_HPP
-#define OS_CPU_LINUX_X86_VM_OS_LINUX_X86_INLINE_HPP
+#ifndef OS_CPU_LINUX_X86_OS_LINUX_X86_INLINE_HPP
+#define OS_CPU_LINUX_X86_OS_LINUX_X86_INLINE_HPP
#include "runtime/os.hpp"
@@ -43,4 +43,4 @@
#endif // AMD64
}
-#endif // OS_CPU_LINUX_X86_VM_OS_LINUX_X86_INLINE_HPP
+#endif // OS_CPU_LINUX_X86_OS_LINUX_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_x86/prefetch_linux_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/prefetch_linux_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_X86_VM_PREFETCH_LINUX_X86_INLINE_HPP
-#define OS_CPU_LINUX_X86_VM_PREFETCH_LINUX_X86_INLINE_HPP
+#ifndef OS_CPU_LINUX_X86_PREFETCH_LINUX_X86_INLINE_HPP
+#define OS_CPU_LINUX_X86_PREFETCH_LINUX_X86_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -44,4 +44,4 @@
#endif // AMD64
}
-#endif // OS_CPU_LINUX_X86_VM_PREFETCH_LINUX_X86_INLINE_HPP
+#endif // OS_CPU_LINUX_X86_PREFETCH_LINUX_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_x86/thread_linux_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/thread_linux_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_X86_VM_THREAD_LINUX_X86_HPP
-#define OS_CPU_LINUX_X86_VM_THREAD_LINUX_X86_HPP
+#ifndef OS_CPU_LINUX_X86_THREAD_LINUX_X86_HPP
+#define OS_CPU_LINUX_X86_THREAD_LINUX_X86_HPP
private:
void pd_initialize() {
@@ -64,4 +64,4 @@
static void enable_register_stack_guard() {}
static void disable_register_stack_guard() {}
-#endif // OS_CPU_LINUX_X86_VM_THREAD_LINUX_X86_HPP
+#endif // OS_CPU_LINUX_X86_THREAD_LINUX_X86_HPP
--- a/src/hotspot/os_cpu/linux_x86/vmStructs_linux_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_x86/vmStructs_linux_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_X86_VM_VMSTRUCTS_LINUX_X86_HPP
-#define OS_CPU_LINUX_X86_VM_VMSTRUCTS_LINUX_X86_HPP
+#ifndef OS_CPU_LINUX_X86_VMSTRUCTS_LINUX_X86_HPP
+#define OS_CPU_LINUX_X86_VMSTRUCTS_LINUX_X86_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -51,4 +51,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_LINUX_X86_VM_VMSTRUCTS_LINUX_X86_HPP
+#endif // OS_CPU_LINUX_X86_VMSTRUCTS_LINUX_X86_HPP
--- a/src/hotspot/os_cpu/linux_zero/atomic_linux_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_zero/atomic_linux_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2011, 2015, Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_HPP
-#define OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_HPP
+#ifndef OS_CPU_LINUX_ZERO_ATOMIC_LINUX_ZERO_HPP
+#define OS_CPU_LINUX_ZERO_ATOMIC_LINUX_ZERO_HPP
#include "runtime/os.hpp"
@@ -128,4 +128,4 @@
os::atomic_copy64(reinterpret_cast<const volatile int64_t*>(&store_value), reinterpret_cast<volatile int64_t*>(dest));
}
-#endif // OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_HPP
+#endif // OS_CPU_LINUX_ZERO_ATOMIC_LINUX_ZERO_HPP
--- a/src/hotspot/os_cpu/linux_zero/bytes_linux_zero.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_zero/bytes_linux_zero.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ZERO_VM_BYTES_LINUX_ZERO_INLINE_HPP
-#define OS_CPU_LINUX_ZERO_VM_BYTES_LINUX_ZERO_INLINE_HPP
+#ifndef OS_CPU_LINUX_ZERO_BYTES_LINUX_ZERO_INLINE_HPP
+#define OS_CPU_LINUX_ZERO_BYTES_LINUX_ZERO_INLINE_HPP
// Efficient swapping of data bytes from Java byte
// ordering to native byte ordering and vice versa.
@@ -42,4 +42,4 @@
return bswap_64(x);
}
-#endif // OS_CPU_LINUX_ZERO_VM_BYTES_LINUX_ZERO_INLINE_HPP
+#endif // OS_CPU_LINUX_ZERO_BYTES_LINUX_ZERO_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_zero/globals_linux_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_zero/globals_linux_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ZERO_VM_GLOBALS_LINUX_ZERO_HPP
-#define OS_CPU_LINUX_ZERO_VM_GLOBALS_LINUX_ZERO_HPP
+#ifndef OS_CPU_LINUX_ZERO_GLOBALS_LINUX_ZERO_HPP
+#define OS_CPU_LINUX_ZERO_GLOBALS_LINUX_ZERO_HPP
//
// Set the default values for platform dependent flags used by the
@@ -44,4 +44,4 @@
// Used on 64 bit platforms for UseCompressedOops base address
define_pd_global(size_t, HeapBaseMinAddress, 2*G);
-#endif // OS_CPU_LINUX_ZERO_VM_GLOBALS_LINUX_ZERO_HPP
+#endif // OS_CPU_LINUX_ZERO_GLOBALS_LINUX_ZERO_HPP
--- a/src/hotspot/os_cpu/linux_zero/orderAccess_linux_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_zero/orderAccess_linux_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ZERO_VM_ORDERACCESS_LINUX_ZERO_HPP
-#define OS_CPU_LINUX_ZERO_VM_ORDERACCESS_LINUX_ZERO_HPP
+#ifndef OS_CPU_LINUX_ZERO_ORDERACCESS_LINUX_ZERO_HPP
+#define OS_CPU_LINUX_ZERO_ORDERACCESS_LINUX_ZERO_HPP
// Included in orderAccess.hpp header file.
@@ -83,4 +83,4 @@
inline void OrderAccess::fence() { FULL_MEM_BARRIER; }
-#endif // OS_CPU_LINUX_ZERO_VM_ORDERACCESS_LINUX_ZERO_HPP
+#endif // OS_CPU_LINUX_ZERO_ORDERACCESS_LINUX_ZERO_HPP
--- a/src/hotspot/os_cpu/linux_zero/os_linux_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_zero/os_linux_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2010, 2018, Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ZERO_VM_OS_LINUX_ZERO_HPP
-#define OS_CPU_LINUX_ZERO_VM_OS_LINUX_ZERO_HPP
+#ifndef OS_CPU_LINUX_ZERO_OS_LINUX_ZERO_HPP
+#define OS_CPU_LINUX_ZERO_OS_LINUX_ZERO_HPP
static void setup_fpu() {}
@@ -69,4 +69,4 @@
#endif
}
-#endif // OS_CPU_LINUX_ZERO_VM_OS_LINUX_ZERO_HPP
+#endif // OS_CPU_LINUX_ZERO_OS_LINUX_ZERO_HPP
--- a/src/hotspot/os_cpu/linux_zero/prefetch_linux_zero.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_zero/prefetch_linux_zero.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ZERO_VM_PREFETCH_LINUX_ZERO_INLINE_HPP
-#define OS_CPU_LINUX_ZERO_VM_PREFETCH_LINUX_ZERO_INLINE_HPP
+#ifndef OS_CPU_LINUX_ZERO_PREFETCH_LINUX_ZERO_INLINE_HPP
+#define OS_CPU_LINUX_ZERO_PREFETCH_LINUX_ZERO_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -34,4 +34,4 @@
inline void Prefetch::write(void* loc, intx interval) {
}
-#endif // OS_CPU_LINUX_ZERO_VM_PREFETCH_LINUX_ZERO_INLINE_HPP
+#endif // OS_CPU_LINUX_ZERO_PREFETCH_LINUX_ZERO_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_zero/thread_linux_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_zero/thread_linux_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ZERO_VM_THREAD_LINUX_ZERO_HPP
-#define OS_CPU_LINUX_ZERO_VM_THREAD_LINUX_ZERO_HPP
+#ifndef OS_CPU_LINUX_ZERO_THREAD_LINUX_ZERO_HPP
+#define OS_CPU_LINUX_ZERO_THREAD_LINUX_ZERO_HPP
private:
ZeroStack _zero_stack;
@@ -124,4 +124,4 @@
static void enable_register_stack_guard() {}
static void disable_register_stack_guard() {}
-#endif // OS_CPU_LINUX_ZERO_VM_THREAD_LINUX_ZERO_HPP
+#endif // OS_CPU_LINUX_ZERO_THREAD_LINUX_ZERO_HPP
--- a/src/hotspot/os_cpu/linux_zero/vmStructs_linux_zero.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/linux_zero/vmStructs_linux_zero.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef OS_CPU_LINUX_ZERO_VM_VMSTRUCTS_LINUX_ZERO_HPP
-#define OS_CPU_LINUX_ZERO_VM_VMSTRUCTS_LINUX_ZERO_HPP
+#ifndef OS_CPU_LINUX_ZERO_VMSTRUCTS_LINUX_ZERO_HPP
+#define OS_CPU_LINUX_ZERO_VMSTRUCTS_LINUX_ZERO_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -38,4 +38,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_LINUX_ZERO_VM_VMSTRUCTS_LINUX_ZERO_HPP
+#endif // OS_CPU_LINUX_ZERO_VMSTRUCTS_LINUX_ZERO_HPP
--- a/src/hotspot/os_cpu/solaris_sparc/atomic_solaris_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_sparc/atomic_solaris_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_SPARC_VM_ATOMIC_SOLARIS_SPARC_HPP
-#define OS_CPU_SOLARIS_SPARC_VM_ATOMIC_SOLARIS_SPARC_HPP
+#ifndef OS_CPU_SOLARIS_SPARC_ATOMIC_SOLARIS_SPARC_HPP
+#define OS_CPU_SOLARIS_SPARC_ATOMIC_SOLARIS_SPARC_HPP
// Implementation of class atomic
@@ -107,4 +107,4 @@
return rv;
}
-#endif // OS_CPU_SOLARIS_SPARC_VM_ATOMIC_SOLARIS_SPARC_HPP
+#endif // OS_CPU_SOLARIS_SPARC_ATOMIC_SOLARIS_SPARC_HPP
--- a/src/hotspot/os_cpu/solaris_sparc/count_trailing_zeros_solaris_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_sparc/count_trailing_zeros_solaris_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_SPARC_VM_COUNTTRAILINGZEROS_HPP
-#define OS_CPU_SOLARIS_SPARC_VM_COUNTTRAILINGZEROS_HPP
+#ifndef OS_CPU_SOLARIS_SPARC_COUNT_TRAILING_ZEROS_SOLARIS_SPARC_HPP
+#define OS_CPU_SOLARIS_SPARC_COUNT_TRAILING_ZEROS_SOLARIS_SPARC_HPP
#include "utilities/globalDefinitions.hpp"
@@ -38,4 +38,4 @@
return result;
}
-#endif // include guard
+#endif // OS_CPU_SOLARIS_SPARC_COUNT_TRAILING_ZEROS_SOLARIS_SPARC_HPP
--- a/src/hotspot/os_cpu/solaris_sparc/globals_solaris_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_sparc/globals_solaris_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_SPARC_VM_GLOBALS_SOLARIS_SPARC_HPP
-#define OS_CPU_SOLARIS_SPARC_VM_GLOBALS_SOLARIS_SPARC_HPP
+#ifndef OS_CPU_SOLARIS_SPARC_GLOBALS_SOLARIS_SPARC_HPP
+#define OS_CPU_SOLARIS_SPARC_GLOBALS_SOLARIS_SPARC_HPP
//
// Sets the default values for platform dependent flags used by the runtime system.
@@ -39,4 +39,4 @@
-#endif // OS_CPU_SOLARIS_SPARC_VM_GLOBALS_SOLARIS_SPARC_HPP
+#endif // OS_CPU_SOLARIS_SPARC_GLOBALS_SOLARIS_SPARC_HPP
--- a/src/hotspot/os_cpu/solaris_sparc/orderAccess_solaris_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_sparc/orderAccess_solaris_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_SPARC_VM_ORDERACCESS_SOLARIS_SPARC_HPP
-#define OS_CPU_SOLARIS_SPARC_VM_ORDERACCESS_SOLARIS_SPARC_HPP
+#ifndef OS_CPU_SOLARIS_SPARC_ORDERACCESS_SOLARIS_SPARC_HPP
+#define OS_CPU_SOLARIS_SPARC_ORDERACCESS_SOLARIS_SPARC_HPP
// Included in orderAccess.hpp header file.
@@ -51,4 +51,4 @@
__asm__ volatile ("membar #StoreLoad" : : : "memory");
}
-#endif // OS_CPU_SOLARIS_SPARC_VM_ORDERACCESS_SOLARIS_SPARC_HPP
+#endif // OS_CPU_SOLARIS_SPARC_ORDERACCESS_SOLARIS_SPARC_HPP
--- a/src/hotspot/os_cpu/solaris_sparc/os_solaris_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_sparc/os_solaris_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_SPARC_VM_OS_SOLARIS_SPARC_HPP
-#define OS_CPU_SOLARIS_SPARC_VM_OS_SOLARIS_SPARC_HPP
+#ifndef OS_CPU_SOLARIS_SPARC_OS_SOLARIS_SPARC_HPP
+#define OS_CPU_SOLARIS_SPARC_OS_SOLARIS_SPARC_HPP
//
// NOTE: we are back in class os here, not Solaris
@@ -46,4 +46,4 @@
// Note: Currently only used in 64 bit Windows implementations
static bool register_code_area(char *low, char *high) { return true; }
-#endif // OS_CPU_SOLARIS_SPARC_VM_OS_SOLARIS_SPARC_HPP
+#endif // OS_CPU_SOLARIS_SPARC_OS_SOLARIS_SPARC_HPP
--- a/src/hotspot/os_cpu/solaris_sparc/prefetch_solaris_sparc.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_sparc/prefetch_solaris_sparc.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP
-#define OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP
+#ifndef OS_CPU_SOLARIS_SPARC_PREFETCH_SOLARIS_SPARC_INLINE_HPP
+#define OS_CPU_SOLARIS_SPARC_PREFETCH_SOLARIS_SPARC_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -40,4 +40,4 @@
_Prefetch_write(loc, interval);
}
-#endif // OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP
+#endif // OS_CPU_SOLARIS_SPARC_PREFETCH_SOLARIS_SPARC_INLINE_HPP
--- a/src/hotspot/os_cpu/solaris_sparc/thread_solaris_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_sparc/thread_solaris_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_SPARC_VM_THREAD_SOLARIS_SPARC_HPP
-#define OS_CPU_SOLARIS_SPARC_VM_THREAD_SOLARIS_SPARC_HPP
+#ifndef OS_CPU_SOLARIS_SPARC_THREAD_SOLARIS_SPARC_HPP
+#define OS_CPU_SOLARIS_SPARC_THREAD_SOLARIS_SPARC_HPP
private:
void pd_initialize() {
@@ -94,4 +94,4 @@
static void enable_register_stack_guard() {}
static void disable_register_stack_guard() {}
-#endif // OS_CPU_SOLARIS_SPARC_VM_THREAD_SOLARIS_SPARC_HPP
+#endif // OS_CPU_SOLARIS_SPARC_THREAD_SOLARIS_SPARC_HPP
--- a/src/hotspot/os_cpu/solaris_sparc/vmStructs_solaris_sparc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_sparc/vmStructs_solaris_sparc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_SPARC_VM_VMSTRUCTS_SOLARIS_SPARC_HPP
-#define OS_CPU_SOLARIS_SPARC_VM_VMSTRUCTS_SOLARIS_SPARC_HPP
+#ifndef OS_CPU_SOLARIS_SPARC_VMSTRUCTS_SOLARIS_SPARC_HPP
+#define OS_CPU_SOLARIS_SPARC_VMSTRUCTS_SOLARIS_SPARC_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -39,4 +39,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_SOLARIS_SPARC_VM_VMSTRUCTS_SOLARIS_SPARC_HPP
+#endif // OS_CPU_SOLARIS_SPARC_VMSTRUCTS_SOLARIS_SPARC_HPP
--- a/src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_HPP
-#define OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_HPP
+#ifndef OS_CPU_SOLARIS_X86_ATOMIC_SOLARIS_X86_HPP
+#define OS_CPU_SOLARIS_X86_ATOMIC_SOLARIS_X86_HPP
// For Sun Studio - implementation is in solaris_x86_64.il.
@@ -141,4 +141,4 @@
PrimitiveConversions::cast<int64_t>(compare_value)));
}
-#endif // OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_HPP
+#endif // OS_CPU_SOLARIS_X86_ATOMIC_SOLARIS_X86_HPP
--- a/src/hotspot/os_cpu/solaris_x86/bytes_solaris_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/bytes_solaris_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_BYTES_SOLARIS_X86_INLINE_HPP
-#define OS_CPU_SOLARIS_X86_VM_BYTES_SOLARIS_X86_INLINE_HPP
+#ifndef OS_CPU_SOLARIS_X86_BYTES_SOLARIS_X86_INLINE_HPP
+#define OS_CPU_SOLARIS_X86_BYTES_SOLARIS_X86_INLINE_HPP
// For Sun Studio - implementation is in solaris_i486.il.
// For gcc - implementation is just below.
@@ -61,4 +61,4 @@
}
#endif // !AMD64
-#endif // OS_CPU_SOLARIS_X86_VM_BYTES_SOLARIS_X86_INLINE_HPP
+#endif // OS_CPU_SOLARIS_X86_BYTES_SOLARIS_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/solaris_x86/copy_solaris_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/copy_solaris_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_COPY_SOLARIS_X86_INLINE_HPP
-#define OS_CPU_SOLARIS_X86_VM_COPY_SOLARIS_X86_INLINE_HPP
+#ifndef OS_CPU_SOLARIS_X86_COPY_SOLARIS_X86_INLINE_HPP
+#define OS_CPU_SOLARIS_X86_COPY_SOLARIS_X86_INLINE_HPP
static void pd_conjoint_words(const HeapWord* from, HeapWord* to, size_t count) {
(void)memmove(to, from, count * HeapWordSize);
@@ -140,4 +140,4 @@
#endif // AMD64
}
-#endif // OS_CPU_SOLARIS_X86_VM_COPY_SOLARIS_X86_INLINE_HPP
+#endif // OS_CPU_SOLARIS_X86_COPY_SOLARIS_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/solaris_x86/count_trailing_zeros_solaris_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/count_trailing_zeros_solaris_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_COUNTTRAILINGZEROS_HPP
-#define OS_CPU_SOLARIS_X86_VM_COUNTTRAILINGZEROS_HPP
+#ifndef OS_CPU_SOLARIS_X86_COUNT_TRAILING_ZEROS_SOLARIS_X86_HPP
+#define OS_CPU_SOLARIS_X86_COUNT_TRAILING_ZEROS_SOLARIS_X86_HPP
#include "utilities/globalDefinitions.hpp"
@@ -34,4 +34,4 @@
return result;
}
-#endif // include guard
+#endif // OS_CPU_SOLARIS_X86_COUNT_TRAILING_ZEROS_SOLARIS_X86_HPP
--- a/src/hotspot/os_cpu/solaris_x86/globals_solaris_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/globals_solaris_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_GLOBALS_SOLARIS_X86_HPP
-#define OS_CPU_SOLARIS_X86_VM_GLOBALS_SOLARIS_X86_HPP
+#ifndef OS_CPU_SOLARIS_X86_GLOBALS_SOLARIS_X86_HPP
+#define OS_CPU_SOLARIS_X86_GLOBALS_SOLARIS_X86_HPP
// Sets the default values for platform dependent flags used by the runtime system.
// (see globals.hpp)
@@ -47,4 +47,4 @@
// Used on 64 bit platforms for UseCompressedOops base address
define_pd_global(size_t, HeapBaseMinAddress, 2*G);
-#endif // OS_CPU_SOLARIS_X86_VM_GLOBALS_SOLARIS_X86_HPP
+#endif // OS_CPU_SOLARIS_X86_GLOBALS_SOLARIS_X86_HPP
--- a/src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_ORDERACCESS_SOLARIS_X86_HPP
-#define OS_CPU_SOLARIS_X86_VM_ORDERACCESS_SOLARIS_X86_HPP
+#ifndef OS_CPU_SOLARIS_X86_ORDERACCESS_SOLARIS_X86_HPP
+#define OS_CPU_SOLARIS_X86_ORDERACCESS_SOLARIS_X86_HPP
// Included in orderAccess.hpp header file.
@@ -54,4 +54,4 @@
compiler_barrier();
}
-#endif // OS_CPU_SOLARIS_X86_VM_ORDERACCESS_SOLARIS_X86_HPP
+#endif // OS_CPU_SOLARIS_X86_ORDERACCESS_SOLARIS_X86_HPP
--- a/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_OS_SOLARIS_X86_HPP
-#define OS_CPU_SOLARIS_X86_VM_OS_SOLARIS_X86_HPP
+#ifndef OS_CPU_SOLARIS_X86_OS_SOLARIS_X86_HPP
+#define OS_CPU_SOLARIS_X86_OS_SOLARIS_X86_HPP
//
// NOTE: we are back in class os here, not Solaris
@@ -54,4 +54,4 @@
// Note: Currently only used in 64 bit Windows implementations
static bool register_code_area(char *low, char *high) { return true; }
-#endif // OS_CPU_SOLARIS_X86_VM_OS_SOLARIS_X86_HPP
+#endif // OS_CPU_SOLARIS_X86_OS_SOLARIS_X86_HPP
--- a/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/os_solaris_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_OS_SOLARIS_X86_INLINE_HPP
-#define OS_CPU_SOLARIS_X86_VM_OS_SOLARIS_X86_INLINE_HPP
+#ifndef OS_CPU_SOLARIS_X86_OS_SOLARIS_X86_INLINE_HPP
+#define OS_CPU_SOLARIS_X86_OS_SOLARIS_X86_INLINE_HPP
#include "runtime/os.hpp"
@@ -31,4 +31,4 @@
inline jlong os::rdtsc() { return _raw_rdtsc(); }
-#endif // OS_CPU_SOLARIS_X86_VM_OS_SOLARIS_X86_INLINE_HPP
+#endif // OS_CPU_SOLARIS_X86_OS_SOLARIS_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/solaris_x86/prefetch_solaris_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/prefetch_solaris_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_PREFETCH_SOLARIS_X86_INLINE_HPP
-#define OS_CPU_SOLARIS_X86_VM_PREFETCH_SOLARIS_X86_INLINE_HPP
+#ifndef OS_CPU_SOLARIS_X86_PREFETCH_SOLARIS_X86_INLINE_HPP
+#define OS_CPU_SOLARIS_X86_PREFETCH_SOLARIS_X86_INLINE_HPP
#include "runtime/prefetch.hpp"
@@ -45,4 +45,4 @@
#endif // AMD64
}
-#endif // OS_CPU_SOLARIS_X86_VM_PREFETCH_SOLARIS_X86_INLINE_HPP
+#endif // OS_CPU_SOLARIS_X86_PREFETCH_SOLARIS_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/solaris_x86/thread_solaris_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/thread_solaris_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_THREAD_SOLARIS_X86_HPP
-#define OS_CPU_SOLARIS_X86_VM_THREAD_SOLARIS_X86_HPP
+#ifndef OS_CPU_SOLARIS_X86_THREAD_SOLARIS_X86_HPP
+#define OS_CPU_SOLARIS_X86_THREAD_SOLARIS_X86_HPP
private:
void pd_initialize() { _anchor.clear(); }
@@ -59,4 +59,4 @@
static void enable_register_stack_guard() {}
static void disable_register_stack_guard() {}
-#endif // OS_CPU_SOLARIS_X86_VM_THREAD_SOLARIS_X86_HPP
+#endif // OS_CPU_SOLARIS_X86_THREAD_SOLARIS_X86_HPP
--- a/src/hotspot/os_cpu/solaris_x86/vmStructs_solaris_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/solaris_x86/vmStructs_solaris_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_SOLARIS_X86_VM_VMSTRUCTS_SOLARIS_X86_HPP
-#define OS_CPU_SOLARIS_X86_VM_VMSTRUCTS_SOLARIS_X86_HPP
+#ifndef OS_CPU_SOLARIS_X86_VMSTRUCTS_SOLARIS_X86_HPP
+#define OS_CPU_SOLARIS_X86_VMSTRUCTS_SOLARIS_X86_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -37,4 +37,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_SOLARIS_X86_VM_VMSTRUCTS_SOLARIS_X86_HPP
+#endif // OS_CPU_SOLARIS_X86_VMSTRUCTS_SOLARIS_X86_HPP
--- a/src/hotspot/os_cpu/windows_x86/atomic_windows_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/atomic_windows_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_HPP
-#define OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_HPP
+#ifndef OS_CPU_WINDOWS_X86_ATOMIC_WINDOWS_X86_HPP
+#define OS_CPU_WINDOWS_X86_ATOMIC_WINDOWS_X86_HPP
#include "runtime/os.hpp"
@@ -218,4 +218,4 @@
#pragma warning(default: 4035) // Enables warnings reporting missing return statement
-#endif // OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_HPP
+#endif // OS_CPU_WINDOWS_X86_ATOMIC_WINDOWS_X86_HPP
--- a/src/hotspot/os_cpu/windows_x86/bytes_windows_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/bytes_windows_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_BYTES_WINDOWS_X86_INLINE_HPP
-#define OS_CPU_WINDOWS_X86_VM_BYTES_WINDOWS_X86_INLINE_HPP
+#ifndef OS_CPU_WINDOWS_X86_BYTES_WINDOWS_X86_INLINE_HPP
+#define OS_CPU_WINDOWS_X86_BYTES_WINDOWS_X86_INLINE_HPP
#pragma warning(disable: 4035) // Disable warning 4035: no return value
@@ -84,4 +84,4 @@
#pragma warning(default: 4035) // Enable warning 4035: no return value
-#endif // OS_CPU_WINDOWS_X86_VM_BYTES_WINDOWS_X86_INLINE_HPP
+#endif // OS_CPU_WINDOWS_X86_BYTES_WINDOWS_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/windows_x86/copy_windows_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/copy_windows_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_COPY_WINDOWS_X86_INLINE_HPP
-#define OS_CPU_WINDOWS_X86_VM_COPY_WINDOWS_X86_INLINE_HPP
+#ifndef OS_CPU_WINDOWS_X86_COPY_WINDOWS_X86_INLINE_HPP
+#define OS_CPU_WINDOWS_X86_COPY_WINDOWS_X86_INLINE_HPP
static void pd_conjoint_words(const HeapWord* from, HeapWord* to, size_t count) {
(void)memmove(to, from, count * HeapWordSize);
@@ -190,4 +190,4 @@
pd_conjoint_oops_atomic((const oop*)from, (oop*)to, count);
}
-#endif // OS_CPU_WINDOWS_X86_VM_COPY_WINDOWS_X86_INLINE_HPP
+#endif // OS_CPU_WINDOWS_X86_COPY_WINDOWS_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/windows_x86/globals_windows_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/globals_windows_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_GLOBALS_WINDOWS_X86_HPP
-#define OS_CPU_WINDOWS_X86_VM_GLOBALS_WINDOWS_X86_HPP
+#ifndef OS_CPU_WINDOWS_X86_GLOBALS_WINDOWS_X86_HPP
+#define OS_CPU_WINDOWS_X86_GLOBALS_WINDOWS_X86_HPP
// Sets the default values for platform dependent flags used by the runtime system.
// (see globals.hpp)
@@ -48,4 +48,4 @@
// Used on 64 bit platforms for UseCompressedOops base address
define_pd_global(size_t, HeapBaseMinAddress, 2*G);
-#endif // OS_CPU_WINDOWS_X86_VM_GLOBALS_WINDOWS_X86_HPP
+#endif // OS_CPU_WINDOWS_X86_GLOBALS_WINDOWS_X86_HPP
--- a/src/hotspot/os_cpu/windows_x86/orderAccess_windows_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/orderAccess_windows_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_ORDERACCESS_WINDOWS_X86_HPP
-#define OS_CPU_WINDOWS_X86_VM_ORDERACCESS_WINDOWS_X86_HPP
+#ifndef OS_CPU_WINDOWS_X86_ORDERACCESS_WINDOWS_X86_HPP
+#define OS_CPU_WINDOWS_X86_ORDERACCESS_WINDOWS_X86_HPP
// Included in orderAccess.hpp header file.
@@ -110,4 +110,4 @@
};
#endif // AMD64
-#endif // OS_CPU_WINDOWS_X86_VM_ORDERACCESS_WINDOWS_X86_HPP
+#endif // OS_CPU_WINDOWS_X86_ORDERACCESS_WINDOWS_X86_HPP
--- a/src/hotspot/os_cpu/windows_x86/os_windows_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/os_windows_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_HPP
-#define OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_HPP
+#ifndef OS_CPU_WINDOWS_X86_OS_WINDOWS_X86_HPP
+#define OS_CPU_WINDOWS_X86_OS_WINDOWS_X86_HPP
//
// NOTE: we are back in class os here, not win32
@@ -70,4 +70,4 @@
char *buf, int buf_size);
#endif
-#endif // OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_HPP
+#endif // OS_CPU_WINDOWS_X86_OS_WINDOWS_X86_HPP
--- a/src/hotspot/os_cpu/windows_x86/os_windows_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/os_windows_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_INLINE_HPP
-#define OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_INLINE_HPP
+#ifndef OS_CPU_WINDOWS_X86_OS_WINDOWS_X86_INLINE_HPP
+#define OS_CPU_WINDOWS_X86_OS_WINDOWS_X86_INLINE_HPP
#include "runtime/os.hpp"
@@ -35,4 +35,4 @@
return (jlong)res;
}
-#endif // OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_INLINE_HPP
+#endif // OS_CPU_WINDOWS_X86_OS_WINDOWS_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/windows_x86/prefetch_windows_x86.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/prefetch_windows_x86.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,12 +22,12 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_PREFETCH_WINDOWS_X86_INLINE_HPP
-#define OS_CPU_WINDOWS_X86_VM_PREFETCH_WINDOWS_X86_INLINE_HPP
+#ifndef OS_CPU_WINDOWS_X86_PREFETCH_WINDOWS_X86_INLINE_HPP
+#define OS_CPU_WINDOWS_X86_PREFETCH_WINDOWS_X86_INLINE_HPP
#include "runtime/prefetch.hpp"
inline void Prefetch::read (void *loc, intx interval) {}
inline void Prefetch::write(void *loc, intx interval) {}
-#endif // OS_CPU_WINDOWS_X86_VM_PREFETCH_WINDOWS_X86_INLINE_HPP
+#endif // OS_CPU_WINDOWS_X86_PREFETCH_WINDOWS_X86_INLINE_HPP
--- a/src/hotspot/os_cpu/windows_x86/thread_windows_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/thread_windows_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_THREAD_WINDOWS_X86_HPP
-#define OS_CPU_WINDOWS_X86_VM_THREAD_WINDOWS_X86_HPP
+#ifndef OS_CPU_WINDOWS_X86_THREAD_WINDOWS_X86_HPP
+#define OS_CPU_WINDOWS_X86_THREAD_WINDOWS_X86_HPP
private:
// On windows, in the stubGenerator, there's nowhere to save callee saved regs
@@ -71,4 +71,4 @@
static void enable_register_stack_guard() {}
static void disable_register_stack_guard() {}
-#endif // OS_CPU_WINDOWS_X86_VM_THREAD_WINDOWS_X86_HPP
+#endif // OS_CPU_WINDOWS_X86_THREAD_WINDOWS_X86_HPP
--- a/src/hotspot/os_cpu/windows_x86/unwind_windows_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/unwind_windows_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_UNWIND_WINDOWS_X86_HPP
-#define OS_CPU_WINDOWS_X86_VM_UNWIND_WINDOWS_X86_HPP
+#ifndef OS_CPU_WINDOWS_X86_UNWIND_WINDOWS_X86_HPP
+#define OS_CPU_WINDOWS_X86_UNWIND_WINDOWS_X86_HPP
#ifdef AMD64
@@ -95,4 +95,4 @@
#endif // AMD64
-#endif // OS_CPU_WINDOWS_X86_VM_UNWIND_WINDOWS_X86_HPP
+#endif // OS_CPU_WINDOWS_X86_UNWIND_WINDOWS_X86_HPP
--- a/src/hotspot/os_cpu/windows_x86/vmStructs_windows_x86.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/os_cpu/windows_x86/vmStructs_windows_x86.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef OS_CPU_WINDOWS_X86_VM_VMSTRUCTS_WINDOWS_X86_HPP
-#define OS_CPU_WINDOWS_X86_VM_VMSTRUCTS_WINDOWS_X86_HPP
+#ifndef OS_CPU_WINDOWS_X86_VMSTRUCTS_WINDOWS_X86_HPP
+#define OS_CPU_WINDOWS_X86_VMSTRUCTS_WINDOWS_X86_HPP
// These are the OS and CPU-specific fields, types and integer
// constants required by the Serviceability Agent. This file is
@@ -46,4 +46,4 @@
#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant)
-#endif // OS_CPU_WINDOWS_X86_VM_VMSTRUCTS_WINDOWS_X86_HPP
+#endif // OS_CPU_WINDOWS_X86_VMSTRUCTS_WINDOWS_X86_HPP
--- a/src/hotspot/share/adlc/adlc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/adlc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ADLC_ADLC_HPP
-#define SHARE_VM_ADLC_ADLC_HPP
+#ifndef SHARE_ADLC_ADLC_HPP
+#define SHARE_ADLC_ADLC_HPP
//
// Standard include file for ADLC parser
@@ -108,4 +108,4 @@
// it everywhere it needs to be available.
extern ArchDesc* globalAD;
-#endif // SHARE_VM_ADLC_ADLC_HPP
+#endif // SHARE_ADLC_ADLC_HPP
--- a/src/hotspot/share/adlc/adlparse.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/adlparse.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ADLC_ADLPARSE_HPP
-#define SHARE_VM_ADLC_ADLPARSE_HPP
+#ifndef SHARE_ADLC_ADLPARSE_HPP
+#define SHARE_ADLC_ADLPARSE_HPP
// ADLPARSE.HPP - Definitions for Architecture Description Language Parser
// Authors: Chris Vick and Mike Paleczny
@@ -289,4 +289,4 @@
static void trim(char* &token); // trim leading & trailing spaces
};
-#endif // SHARE_VM_ADLC_ADLPARSE_HPP
+#endif // SHARE_ADLC_ADLPARSE_HPP
--- a/src/hotspot/share/adlc/archDesc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/archDesc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ADLC_ARCHDESC_HPP
-#define SHARE_VM_ADLC_ARCHDESC_HPP
+#ifndef SHARE_ADLC_ARCHDESC_HPP
+#define SHARE_ADLC_ARCHDESC_HPP
// Definitions for Error Flags
#define WARN 0
@@ -410,4 +410,4 @@
virtual void record_position(OutputMap::position place, int index) {}
};
-#endif // SHARE_VM_ADLC_ARCHDESC_HPP
+#endif // SHARE_ADLC_ARCHDESC_HPP
--- a/src/hotspot/share/adlc/arena.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/arena.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -34,6 +34,16 @@
return ptr;
}
+void* ReAllocateHeap(void* old_ptr, size_t size) {
+ unsigned char* ptr = (unsigned char*) realloc(old_ptr, size);
+ if (ptr == NULL && size != 0) {
+ fprintf(stderr, "Error: Out of memory in ADLC\n"); // logging can cause crash!
+ fflush(stderr);
+ exit(1);
+ }
+ return ptr;
+}
+
void* Chunk::operator new(size_t requested_size, size_t length) throw() {
return CHeapObj::operator new(requested_size + length);
}
--- a/src/hotspot/share/adlc/arena.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/arena.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,10 +22,11 @@
*
*/
-#ifndef SHARE_VM_ADLC_ARENA_HPP
-#define SHARE_VM_ADLC_ARENA_HPP
+#ifndef SHARE_ADLC_ARENA_HPP
+#define SHARE_ADLC_ARENA_HPP
void* AllocateHeap(size_t size);
+void* ReAllocateHeap(void* old_ptr, size_t size);
// All classes in adlc may be derived
// from one of the following allocation classes:
@@ -151,4 +152,4 @@
void set_size_in_bytes(size_t size) { _size_in_bytes = size; }
};
-#endif // SHARE_VM_ADLC_ARENA_HPP
+#endif // SHARE_ADLC_ARENA_HPP
--- a/src/hotspot/share/adlc/dict2.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/dict2.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ADLC_DICT2_HPP
-#define SHARE_VM_ADLC_DICT2_HPP
+#ifndef SHARE_ADLC_DICT2_HPP
+#define SHARE_ADLC_DICT2_HPP
// Dictionaries - An Abstract Data Type
@@ -118,4 +118,4 @@
int test(void) { return _i<_d->_size;} // Test for end of iteration
};
-#endif // SHARE_VM_ADLC_DICT2_HPP
+#endif // SHARE_ADLC_DICT2_HPP
--- a/src/hotspot/share/adlc/filebuff.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/filebuff.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ADLC_FILEBUFF_HPP
-#define SHARE_VM_ADLC_FILEBUFF_HPP
+#ifndef SHARE_ADLC_FILEBUFF_HPP
+#define SHARE_ADLC_FILEBUFF_HPP
// FILEBUFF.HPP - Definitions for parser file buffering routines
@@ -78,4 +78,4 @@
// when the pointer is valid (i.e. just obtained from getline()).
long getoff(const char* s) { return _bufoff + (long)(s - _buf); }
};
-#endif // SHARE_VM_ADLC_FILEBUFF_HPP
+#endif // SHARE_ADLC_FILEBUFF_HPP
--- a/src/hotspot/share/adlc/forms.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/forms.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -48,7 +48,9 @@
}
void NameList::addName(const char *name) {
- if (_cur == _max) _names =(const char**)realloc(_names,(_max *=2)*sizeof(char*));
+ if (_cur == _max) {
+ _names = (const char**) ReAllocateHeap(_names, (_max *=2)*sizeof(char*));
+ }
_names[_cur++] = name;
}
--- a/src/hotspot/share/adlc/forms.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/forms.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ADLC_FORMS_HPP
-#define SHARE_VM_ADLC_FORMS_HPP
+#ifndef SHARE_ADLC_FORMS_HPP
+#define SHARE_ADLC_FORMS_HPP
// FORMS.HPP - ADL Parser Generic and Utility Forms Classes
@@ -596,4 +596,4 @@
void dump();
};
-#endif // SHARE_VM_ADLC_FORMS_HPP
+#endif // SHARE_ADLC_FORMS_HPP
--- a/src/hotspot/share/adlc/formsopt.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/formsopt.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ADLC_FORMSOPT_HPP
-#define SHARE_VM_ADLC_FORMSOPT_HPP
+#ifndef SHARE_ADLC_FORMSOPT_HPP
+#define SHARE_ADLC_FORMSOPT_HPP
// FORMSOPT.HPP - ADL Parser Target Specific Optimization Forms Classes
@@ -674,4 +674,4 @@
void output(FILE *fp);
};
-#endif // SHARE_VM_ADLC_FORMSOPT_HPP
+#endif // SHARE_ADLC_FORMSOPT_HPP
--- a/src/hotspot/share/adlc/formssel.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/adlc/formssel.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ADLC_FORMSSEL_HPP
-#define SHARE_VM_ADLC_FORMSSEL_HPP
+#ifndef SHARE_ADLC_FORMSSEL_HPP
+#define SHARE_ADLC_FORMSSEL_HPP
// FORMSSEL.HPP - ADL Parser Instruction Selection Forms Classes
@@ -1093,4 +1093,4 @@
void output(FILE *fp);
};
-#endif // SHARE_VM_ADLC_FORMSSEL_HPP
+#endif // SHARE_ADLC_FORMSSEL_HPP
--- a/src/hotspot/share/aot/aotCodeHeap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/aot/aotCodeHeap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_AOT_AOTCODEHEAP_HPP
-#define SHARE_VM_AOT_AOTCODEHEAP_HPP
+#ifndef SHARE_AOT_AOTCODEHEAP_HPP
+#define SHARE_AOT_AOTCODEHEAP_HPP
#include "aot/aotCompiledMethod.hpp"
#include "classfile/symbolTable.hpp"
@@ -311,4 +311,4 @@
};
-#endif // SHARE_VM_AOT_AOTCODEHEAP_HPP
+#endif // SHARE_AOT_AOTCODEHEAP_HPP
--- a/src/hotspot/share/aot/aotCompiledMethod.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/aot/aotCompiledMethod.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_AOT_AOTCOMPILEDMETHOD_HPP
-#define SHARE_VM_AOT_AOTCOMPILEDMETHOD_HPP
+#ifndef SHARE_AOT_AOTCOMPILEDMETHOD_HPP
+#define SHARE_AOT_AOTCOMPILEDMETHOD_HPP
#include "code/codeCache.hpp"
#include "code/compiledIC.hpp"
@@ -314,4 +314,4 @@
}
};
-#endif //SHARE_VM_AOT_AOTCOMPILEDMETHOD_HPP
+#endif // SHARE_AOT_AOTCOMPILEDMETHOD_HPP
--- a/src/hotspot/share/aot/aotLoader.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/aot/aotLoader.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_AOT_AOTLOADER_HPP
-#define SHARE_VM_AOT_AOTLOADER_HPP
+#ifndef SHARE_AOT_AOTLOADER_HPP
+#define SHARE_AOT_AOTLOADER_HPP
#include "runtime/globals_extension.hpp"
#include "runtime/handles.hpp"
@@ -69,4 +69,4 @@
static bool reconcile_dynamic_invoke(InstanceKlass* holder, int index, Method* adapter_method, Klass *appendix_klass) NOT_AOT({ return true; });
};
-#endif // SHARE_VM_AOT_AOTLOADER_HPP
+#endif // SHARE_AOT_AOTLOADER_HPP
--- a/src/hotspot/share/aot/aotLoader.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/aot/aotLoader.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_AOT_AOTLOADER_INLLINE_HPP
-#define SHARE_VM_AOT_AOTLOADER_INLLINE_HPP
+#ifndef SHARE_AOT_AOTLOADER_INLINE_HPP
+#define SHARE_AOT_AOTLOADER_INLINE_HPP
#include "aot/aotLoader.hpp"
#include "utilities/growableArray.hpp"
@@ -36,4 +36,4 @@
void AOTLoader::add_library(AOTLib *lib) { libraries()->append(lib); }
#endif
-#endif // SHARE_VM_AOT_AOTLOADER_INLLINE_HPP
+#endif // SHARE_AOT_AOTLOADER_INLINE_HPP
--- a/src/hotspot/share/aot/compiledIC_aot.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/aot/compiledIC_aot.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_AOT_COMPILEDIC_AOT_HPP
-#define SHARE_VM_AOT_COMPILEDIC_AOT_HPP
+#ifndef SHARE_AOT_COMPILEDIC_AOT_HPP
+#define SHARE_AOT_COMPILEDIC_AOT_HPP
#include "code/compiledIC.hpp"
#include "code/nativeInst.hpp"
@@ -80,4 +80,4 @@
virtual const char* name() const { return "CompiledPltStaticCall"; }
};
-#endif // SHARE_VM_AOT_COMPILEDIC_AOT_HPP
+#endif // SHARE_AOT_COMPILEDIC_AOT_HPP
--- a/src/hotspot/share/asm/assembler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/asm/assembler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ASM_ASSEMBLER_HPP
-#define SHARE_VM_ASM_ASSEMBLER_HPP
+#ifndef SHARE_ASM_ASSEMBLER_HPP
+#define SHARE_ASM_ASSEMBLER_HPP
#include "asm/codeBuffer.hpp"
#include "asm/register.hpp"
@@ -458,4 +458,4 @@
#include CPU_HEADER(assembler)
-#endif // SHARE_VM_ASM_ASSEMBLER_HPP
+#endif // SHARE_ASM_ASSEMBLER_HPP
--- a/src/hotspot/share/asm/assembler.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/asm/assembler.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,11 +22,11 @@
*
*/
-#ifndef SHARE_VM_ASM_ASSEMBLER_INLINE_HPP
-#define SHARE_VM_ASM_ASSEMBLER_INLINE_HPP
+#ifndef SHARE_ASM_ASSEMBLER_INLINE_HPP
+#define SHARE_ASM_ASSEMBLER_INLINE_HPP
#include "asm/assembler.hpp"
#include CPU_HEADER_INLINE(assembler)
-#endif // SHARE_VM_ASM_ASSEMBLER_INLINE_HPP
+#endif // SHARE_ASM_ASSEMBLER_INLINE_HPP
--- a/src/hotspot/share/asm/codeBuffer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/asm/codeBuffer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ASM_CODEBUFFER_HPP
-#define SHARE_VM_ASM_CODEBUFFER_HPP
+#ifndef SHARE_ASM_CODEBUFFER_HPP
+#define SHARE_ASM_CODEBUFFER_HPP
#include "code/oopRecorder.hpp"
#include "code/relocInfo.hpp"
@@ -670,4 +670,4 @@
return false;
}
-#endif // SHARE_VM_ASM_CODEBUFFER_HPP
+#endif // SHARE_ASM_CODEBUFFER_HPP
--- a/src/hotspot/share/asm/macroAssembler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/asm/macroAssembler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,12 +22,12 @@
*
*/
-#ifndef SHARE_VM_ASM_MACROASSEMBLER_HPP
-#define SHARE_VM_ASM_MACROASSEMBLER_HPP
+#ifndef SHARE_ASM_MACROASSEMBLER_HPP
+#define SHARE_ASM_MACROASSEMBLER_HPP
#include "asm/assembler.hpp"
#include "utilities/macros.hpp"
#include CPU_HEADER(macroAssembler)
-#endif // SHARE_VM_ASM_MACROASSEMBLER_HPP
+#endif // SHARE_ASM_MACROASSEMBLER_HPP
--- a/src/hotspot/share/asm/macroAssembler.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/asm/macroAssembler.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,10 +22,10 @@
*
*/
-#ifndef SHARE_VM_ASM_MACROASSEMBLER_INLINE_HPP
-#define SHARE_VM_ASM_MACROASSEMBLER_INLINE_HPP
+#ifndef SHARE_ASM_MACROASSEMBLER_INLINE_HPP
+#define SHARE_ASM_MACROASSEMBLER_INLINE_HPP
#include "asm/macroAssembler.hpp"
#include CPU_HEADER_INLINE(macroAssembler)
-#endif // SHARE_VM_ASM_MACROASSEMBLER_INLINE_HPP
+#endif // SHARE_ASM_MACROASSEMBLER_INLINE_HPP
--- a/src/hotspot/share/asm/register.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/asm/register.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ASM_REGISTER_HPP
-#define SHARE_VM_ASM_REGISTER_HPP
+#ifndef SHARE_ASM_REGISTER_HPP
+#define SHARE_ASM_REGISTER_HPP
#include "utilities/debug.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -358,4 +358,4 @@
);
}
-#endif // SHARE_VM_ASM_REGISTER_HPP
+#endif // SHARE_ASM_REGISTER_HPP
--- a/src/hotspot/share/c1/c1_CFGPrinter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_CFGPrinter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_CFGPRINTER_HPP
-#define SHARE_VM_C1_C1_CFGPRINTER_HPP
+#ifndef SHARE_C1_C1_CFGPRINTER_HPP
+#define SHARE_C1_C1_CFGPRINTER_HPP
#include "c1/c1_Compilation.hpp"
#include "c1/c1_Instruction.hpp"
@@ -88,4 +88,4 @@
#endif
-#endif // SHARE_VM_C1_C1_CFGPRINTER_HPP
+#endif // SHARE_C1_C1_CFGPRINTER_HPP
--- a/src/hotspot/share/c1/c1_Canonicalizer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_Canonicalizer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_CANONICALIZER_HPP
-#define SHARE_VM_C1_C1_CANONICALIZER_HPP
+#ifndef SHARE_C1_C1_CANONICALIZER_HPP
+#define SHARE_C1_C1_CANONICALIZER_HPP
#include "c1/c1_Instruction.hpp"
@@ -116,4 +116,4 @@
#endif
};
-#endif // SHARE_VM_C1_C1_CANONICALIZER_HPP
+#endif // SHARE_C1_C1_CANONICALIZER_HPP
--- a/src/hotspot/share/c1/c1_CodeStubs.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_CodeStubs.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_CODESTUBS_HPP
-#define SHARE_VM_C1_C1_CODESTUBS_HPP
+#ifndef SHARE_C1_C1_CODESTUBS_HPP
+#define SHARE_C1_C1_CODESTUBS_HPP
#include "c1/c1_FrameMap.hpp"
#include "c1/c1_IR.hpp"
@@ -536,4 +536,4 @@
#endif // PRODUCT
};
-#endif // SHARE_VM_C1_C1_CODESTUBS_HPP
+#endif // SHARE_C1_C1_CODESTUBS_HPP
--- a/src/hotspot/share/c1/c1_Compilation.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_Compilation.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_COMPILATION_HPP
-#define SHARE_VM_C1_C1_COMPILATION_HPP
+#ifndef SHARE_C1_C1_COMPILATION_HPP
+#define SHARE_C1_C1_COMPILATION_HPP
#include "ci/ciEnv.hpp"
#include "ci/ciMethodData.hpp"
@@ -347,4 +347,4 @@
XHandlers* exception_handlers() { return _exception_handlers; }
};
-#endif // SHARE_VM_C1_C1_COMPILATION_HPP
+#endif // SHARE_C1_C1_COMPILATION_HPP
--- a/src/hotspot/share/c1/c1_Compiler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_Compiler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_COMPILER_HPP
-#define SHARE_VM_C1_C1_COMPILER_HPP
+#ifndef SHARE_C1_C1_COMPILER_HPP
+#define SHARE_C1_C1_COMPILER_HPP
#include "compiler/abstractCompiler.hpp"
#include "compiler/compilerDirectives.hpp"
@@ -63,4 +63,4 @@
static int code_buffer_size();
};
-#endif // SHARE_VM_C1_C1_COMPILER_HPP
+#endif // SHARE_C1_C1_COMPILER_HPP
--- a/src/hotspot/share/c1/c1_Decorators.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_Decorators.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_DECORATORS_HPP
-#define SHARE_VM_C1_C1_DECORATORS_HPP
+#ifndef SHARE_C1_C1_DECORATORS_HPP
+#define SHARE_C1_C1_DECORATORS_HPP
#include "oops/accessDecorators.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -35,4 +35,4 @@
// needs to be masked.
const DecoratorSet C1_MASK_BOOLEAN = DECORATOR_LAST << 2;
-#endif // SHARE_VM_C1_C1_DECORATORS_HPP
+#endif // SHARE_C1_C1_DECORATORS_HPP
--- a/src/hotspot/share/c1/c1_Defs.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_Defs.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_DEFS_HPP
-#define SHARE_VM_C1_C1_DEFS_HPP
+#ifndef SHARE_C1_C1_DEFS_HPP
+#define SHARE_C1_C1_DEFS_HPP
#include "asm/register.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -56,4 +56,4 @@
float_saved_as_double = pd_float_saved_as_double
};
-#endif // SHARE_VM_C1_C1_DEFS_HPP
+#endif // SHARE_C1_C1_DEFS_HPP
--- a/src/hotspot/share/c1/c1_FpuStackSim.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_FpuStackSim.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_FPUSTACKSIM_HPP
-#define SHARE_VM_C1_C1_FPUSTACKSIM_HPP
+#ifndef SHARE_C1_C1_FPUSTACKSIM_HPP
+#define SHARE_C1_C1_FPUSTACKSIM_HPP
#include "c1/c1_FrameMap.hpp"
#include "utilities/macros.hpp"
@@ -34,4 +34,4 @@
#include CPU_HEADER(c1_FpuStackSim)
-#endif // SHARE_VM_C1_C1_FPUSTACKSIM_HPP
+#endif // SHARE_C1_C1_FPUSTACKSIM_HPP
--- a/src/hotspot/share/c1/c1_FrameMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_FrameMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_FRAMEMAP_HPP
-#define SHARE_VM_C1_C1_FRAMEMAP_HPP
+#ifndef SHARE_C1_C1_FRAMEMAP_HPP
+#define SHARE_C1_C1_FRAMEMAP_HPP
#include "asm/macroAssembler.hpp"
#include "c1/c1_Defs.hpp"
@@ -280,4 +280,4 @@
#endif // PRODUCT
};
-#endif // SHARE_VM_C1_C1_FRAMEMAP_HPP
+#endif // SHARE_C1_C1_FRAMEMAP_HPP
--- a/src/hotspot/share/c1/c1_GraphBuilder.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_GraphBuilder.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_GRAPHBUILDER_HPP
-#define SHARE_VM_C1_C1_GRAPHBUILDER_HPP
+#ifndef SHARE_C1_C1_GRAPHBUILDER_HPP
+#define SHARE_C1_C1_GRAPHBUILDER_HPP
#include "c1/c1_IR.hpp"
#include "c1/c1_Instruction.hpp"
@@ -424,4 +424,4 @@
BlockBegin* start() const { return _start; }
};
-#endif // SHARE_VM_C1_C1_GRAPHBUILDER_HPP
+#endif // SHARE_C1_C1_GRAPHBUILDER_HPP
--- a/src/hotspot/share/c1/c1_IR.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_IR.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_IR_HPP
-#define SHARE_VM_C1_C1_IR_HPP
+#ifndef SHARE_C1_C1_IR_HPP
+#define SHARE_C1_C1_IR_HPP
#include "c1/c1_Instruction.hpp"
#include "ci/ciExceptionHandler.hpp"
@@ -356,4 +356,4 @@
virtual void block_do(BlockBegin* block);
};
-#endif // SHARE_VM_C1_C1_IR_HPP
+#endif // SHARE_C1_C1_IR_HPP
--- a/src/hotspot/share/c1/c1_Instruction.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_Instruction.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_INSTRUCTION_HPP
-#define SHARE_VM_C1_C1_INSTRUCTION_HPP
+#ifndef SHARE_C1_C1_INSTRUCTION_HPP
+#define SHARE_C1_C1_INSTRUCTION_HPP
#include "c1/c1_Compilation.hpp"
#include "c1/c1_LIR.hpp"
@@ -2632,4 +2632,4 @@
#undef ASSERT_VALUES
-#endif // SHARE_VM_C1_C1_INSTRUCTION_HPP
+#endif // SHARE_C1_C1_INSTRUCTION_HPP
--- a/src/hotspot/share/c1/c1_InstructionPrinter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_InstructionPrinter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_INSTRUCTIONPRINTER_HPP
-#define SHARE_VM_C1_C1_INSTRUCTIONPRINTER_HPP
+#ifndef SHARE_C1_C1_INSTRUCTIONPRINTER_HPP
+#define SHARE_C1_C1_INSTRUCTIONPRINTER_HPP
#include "c1/c1_IR.hpp"
#include "c1/c1_Instruction.hpp"
@@ -141,4 +141,4 @@
};
#endif // PRODUCT
-#endif // SHARE_VM_C1_C1_INSTRUCTIONPRINTER_HPP
+#endif // SHARE_C1_C1_INSTRUCTIONPRINTER_HPP
--- a/src/hotspot/share/c1/c1_LIR.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_LIR.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_LIR_HPP
-#define SHARE_VM_C1_C1_LIR_HPP
+#ifndef SHARE_C1_C1_LIR_HPP
+#define SHARE_C1_C1_LIR_HPP
#include "c1/c1_Defs.hpp"
#include "c1/c1_ValueType.hpp"
@@ -949,7 +949,6 @@
, lir_ushr
, lir_alloc_array
, lir_throw
- , lir_compare_to
, lir_xadd
, lir_xchg
, end_op2
@@ -2129,10 +2128,6 @@
append(new LIR_Op1(lir_unwind, exceptionOop));
}
- void compare_to (LIR_Opr left, LIR_Opr right, LIR_Opr dst) {
- append(new LIR_Op2(lir_compare_to, left, right, dst));
- }
-
void push(LIR_Opr opr) { append(new LIR_Op1(lir_push, opr)); }
void pop(LIR_Opr reg) { append(new LIR_Op1(lir_pop, reg)); }
@@ -2469,4 +2464,4 @@
inline LIR_Opr LIR_OprDesc::illegalOpr() { return LIR_OprFact::illegalOpr; };
-#endif // SHARE_VM_C1_C1_LIR_HPP
+#endif // SHARE_C1_C1_LIR_HPP
--- a/src/hotspot/share/c1/c1_LIRAssembler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_LIRAssembler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_LIRASSEMBLER_HPP
-#define SHARE_VM_C1_C1_LIRASSEMBLER_HPP
+#ifndef SHARE_C1_C1_LIRASSEMBLER_HPP
+#define SHARE_C1_C1_LIRASSEMBLER_HPP
#include "c1/c1_CodeStubs.hpp"
#include "ci/ciMethodData.hpp"
@@ -279,4 +279,4 @@
}
};
-#endif // SHARE_VM_C1_C1_LIRASSEMBLER_HPP
+#endif // SHARE_C1_C1_LIRASSEMBLER_HPP
--- a/src/hotspot/share/c1/c1_LIRGenerator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_LIRGenerator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_LIRGENERATOR_HPP
-#define SHARE_VM_C1_C1_LIRGENERATOR_HPP
+#ifndef SHARE_C1_C1_LIRGENERATOR_HPP
+#define SHARE_C1_C1_LIRGENERATOR_HPP
#include "c1/c1_Decorators.hpp"
#include "c1/c1_Instruction.hpp"
@@ -686,4 +686,4 @@
jint get_address_constant() const;
};
-#endif // SHARE_VM_C1_C1_LIRGENERATOR_HPP
+#endif // SHARE_C1_C1_LIRGENERATOR_HPP
--- a/src/hotspot/share/c1/c1_LinearScan.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_LinearScan.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_LINEARSCAN_HPP
-#define SHARE_VM_C1_C1_LINEARSCAN_HPP
+#ifndef SHARE_C1_C1_LINEARSCAN_HPP
+#define SHARE_C1_C1_LINEARSCAN_HPP
#include "c1/c1_FpuStackSim.hpp"
#include "c1/c1_FrameMap.hpp"
@@ -964,4 +964,4 @@
// Pick up platform-dependent implementation details
#include CPU_HEADER(c1_LinearScan)
-#endif // SHARE_VM_C1_C1_LINEARSCAN_HPP
+#endif // SHARE_C1_C1_LINEARSCAN_HPP
--- a/src/hotspot/share/c1/c1_MacroAssembler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_MacroAssembler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_MACROASSEMBLER_HPP
-#define SHARE_VM_C1_C1_MACROASSEMBLER_HPP
+#ifndef SHARE_C1_C1_MACROASSEMBLER_HPP
+#define SHARE_C1_C1_MACROASSEMBLER_HPP
#include "asm/macroAssembler.hpp"
#include "utilities/macros.hpp"
@@ -93,4 +93,4 @@
void epilogue();
};
-#endif // SHARE_VM_C1_C1_MACROASSEMBLER_HPP
+#endif // SHARE_C1_C1_MACROASSEMBLER_HPP
--- a/src/hotspot/share/c1/c1_Optimizer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_Optimizer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_OPTIMIZER_HPP
-#define SHARE_VM_C1_C1_OPTIMIZER_HPP
+#ifndef SHARE_C1_C1_OPTIMIZER_HPP
+#define SHARE_C1_C1_OPTIMIZER_HPP
#include "c1/c1_IR.hpp"
#include "c1/c1_Instruction.hpp"
@@ -42,4 +42,4 @@
void eliminate_null_checks();
};
-#endif // SHARE_VM_C1_C1_OPTIMIZER_HPP
+#endif // SHARE_C1_C1_OPTIMIZER_HPP
--- a/src/hotspot/share/c1/c1_RangeCheckElimination.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_RangeCheckElimination.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_RANGECHECKELIMINATION_HPP
-#define SHARE_VM_C1_C1_RANGECHECKELIMINATION_HPP
+#ifndef SHARE_C1_C1_RANGECHECKELIMINATION_HPP
+#define SHARE_C1_C1_RANGECHECKELIMINATION_HPP
#include "c1/c1_Instruction.hpp"
@@ -240,4 +240,4 @@
static void print_statistics();
};
-#endif // SHARE_VM_C1_C1_RANGECHECKELIMINATION_HPP
+#endif // SHARE_C1_C1_RANGECHECKELIMINATION_HPP
--- a/src/hotspot/share/c1/c1_Runtime1.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_Runtime1.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_RUNTIME1_HPP
-#define SHARE_VM_C1_C1_RUNTIME1_HPP
+#ifndef SHARE_C1_C1_RUNTIME1_HPP
+#define SHARE_C1_C1_RUNTIME1_HPP
#include "c1/c1_FrameMap.hpp"
#include "code/stubs.hpp"
@@ -199,4 +199,4 @@
static void print_statistics() PRODUCT_RETURN;
};
-#endif // SHARE_VM_C1_C1_RUNTIME1_HPP
+#endif // SHARE_C1_C1_RUNTIME1_HPP
--- a/src/hotspot/share/c1/c1_ValueMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_ValueMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_VALUEMAP_HPP
-#define SHARE_VM_C1_C1_VALUEMAP_HPP
+#ifndef SHARE_C1_C1_VALUEMAP_HPP
+#define SHARE_C1_C1_VALUEMAP_HPP
#include "c1/c1_Instruction.hpp"
#include "c1/c1_ValueSet.hpp"
@@ -257,4 +257,4 @@
void substitute(Instruction* instr); // substitute instruction if it is contained in current value map
};
-#endif // SHARE_VM_C1_C1_VALUEMAP_HPP
+#endif // SHARE_C1_C1_VALUEMAP_HPP
--- a/src/hotspot/share/c1/c1_ValueSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_ValueSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_VALUESET_HPP
-#define SHARE_VM_C1_C1_VALUESET_HPP
+#ifndef SHARE_C1_C1_VALUESET_HPP
+#define SHARE_C1_C1_VALUESET_HPP
#include "c1/c1_Instruction.hpp"
#include "memory/allocation.hpp"
@@ -52,4 +52,4 @@
bool equals (ValueSet* other);
};
-#endif // SHARE_VM_C1_C1_VALUESET_HPP
+#endif // SHARE_C1_C1_VALUESET_HPP
--- a/src/hotspot/share/c1/c1_ValueSet.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_ValueSet.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_VALUESET_INLINE_HPP
-#define SHARE_VM_C1_C1_VALUESET_INLINE_HPP
+#ifndef SHARE_C1_C1_VALUESET_INLINE_HPP
+#define SHARE_C1_C1_VALUESET_INLINE_HPP
#include "c1/c1_Instruction.hpp"
#include "c1/c1_ValueSet.hpp"
@@ -70,4 +70,4 @@
return _map.is_same(other->_map);
}
-#endif // SHARE_VM_C1_C1_VALUESET_INLINE_HPP
+#endif // SHARE_C1_C1_VALUESET_INLINE_HPP
--- a/src/hotspot/share/c1/c1_ValueStack.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_ValueStack.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_VALUESTACK_HPP
-#define SHARE_VM_C1_C1_VALUESTACK_HPP
+#ifndef SHARE_C1_C1_VALUESTACK_HPP
+#define SHARE_C1_C1_VALUESTACK_HPP
#include "c1/c1_Instruction.hpp"
@@ -331,4 +331,4 @@
} \
}
-#endif // SHARE_VM_C1_C1_VALUESTACK_HPP
+#endif // SHARE_C1_C1_VALUESTACK_HPP
--- a/src/hotspot/share/c1/c1_ValueType.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_ValueType.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_VALUETYPE_HPP
-#define SHARE_VM_C1_C1_VALUETYPE_HPP
+#ifndef SHARE_C1_C1_VALUETYPE_HPP
+#define SHARE_C1_C1_VALUETYPE_HPP
#include "c1/c1_Compilation.hpp"
#include "ci/ciConstant.hpp"
@@ -515,4 +515,4 @@
inline ValueType* as_ValueType(ciType* type) { return as_ValueType(type->basic_type()); }
-#endif // SHARE_VM_C1_C1_VALUETYPE_HPP
+#endif // SHARE_C1_C1_VALUETYPE_HPP
--- a/src/hotspot/share/c1/c1_globals.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/c1/c1_globals.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_C1_C1_GLOBALS_HPP
-#define SHARE_VM_C1_C1_GLOBALS_HPP
+#ifndef SHARE_C1_C1_GLOBALS_HPP
+#define SHARE_C1_C1_GLOBALS_HPP
#include "runtime/globals.hpp"
#include "utilities/macros.hpp"
@@ -337,4 +337,4 @@
IGNORE_CONSTRAINT, \
IGNORE_WRITEABLE)
-#endif // SHARE_VM_C1_C1_GLOBALS_HPP
+#endif // SHARE_C1_C1_GLOBALS_HPP
--- a/src/hotspot/share/ci/bcEscapeAnalyzer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/bcEscapeAnalyzer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_BCESCAPEANALYZER_HPP
-#define SHARE_VM_CI_BCESCAPEANALYZER_HPP
+#ifndef SHARE_CI_BCESCAPEANALYZER_HPP
+#define SHARE_CI_BCESCAPEANALYZER_HPP
#ifdef COMPILER2
#include "ci/ciObject.hpp"
@@ -162,4 +162,4 @@
#endif
};
-#endif // SHARE_VM_CI_BCESCAPEANALYZER_HPP
+#endif // SHARE_CI_BCESCAPEANALYZER_HPP
--- a/src/hotspot/share/ci/ciArray.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciArray.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIARRAY_HPP
-#define SHARE_VM_CI_CIARRAY_HPP
+#ifndef SHARE_CI_CIARRAY_HPP
+#define SHARE_CI_CIARRAY_HPP
#include "ci/ciArrayKlass.hpp"
#include "ci/ciConstant.hpp"
@@ -76,4 +76,4 @@
bool is_java_object() { return true; }
};
-#endif // SHARE_VM_CI_CIARRAY_HPP
+#endif // SHARE_CI_CIARRAY_HPP
--- a/src/hotspot/share/ci/ciArrayKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciArrayKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIARRAYKLASS_HPP
-#define SHARE_VM_CI_CIARRAYKLASS_HPP
+#ifndef SHARE_CI_CIARRAYKLASS_HPP
+#define SHARE_CI_CIARRAYKLASS_HPP
#include "ci/ciKlass.hpp"
@@ -59,4 +59,4 @@
static ciArrayKlass* make(ciType* element_type);
};
-#endif // SHARE_VM_CI_CIARRAYKLASS_HPP
+#endif // SHARE_CI_CIARRAYKLASS_HPP
--- a/src/hotspot/share/ci/ciBaseObject.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciBaseObject.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIBASEOBJECT_HPP
-#define SHARE_VM_CI_CIBASEOBJECT_HPP
+#ifndef SHARE_CI_CIBASEOBJECT_HPP
+#define SHARE_CI_CIBASEOBJECT_HPP
#include "ci/ciClassList.hpp"
#include "memory/allocation.hpp"
@@ -87,4 +87,4 @@
return (ciMetadata*)this;
}
};
-#endif // SHARE_VM_CI_CIBASEOBJECT_HPP
+#endif // SHARE_CI_CIBASEOBJECT_HPP
--- a/src/hotspot/share/ci/ciCallProfile.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciCallProfile.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CICALLPROFILE_HPP
-#define SHARE_VM_CI_CICALLPROFILE_HPP
+#ifndef SHARE_CI_CICALLPROFILE_HPP
+#define SHARE_CI_CICALLPROFILE_HPP
#include "ci/ciClassList.hpp"
#include "memory/allocation.hpp"
@@ -92,4 +92,4 @@
}
};
-#endif // SHARE_VM_CI_CICALLPROFILE_HPP
+#endif // SHARE_CI_CICALLPROFILE_HPP
--- a/src/hotspot/share/ci/ciCallSite.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciCallSite.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CICALLSITE_HPP
-#define SHARE_VM_CI_CICALLSITE_HPP
+#ifndef SHARE_CI_CICALLSITE_HPP
+#define SHARE_CI_CICALLSITE_HPP
#include "ci/ciInstance.hpp"
@@ -47,4 +47,4 @@
void print();
};
-#endif // SHARE_VM_CI_CICALLSITE_HPP
+#endif // SHARE_CI_CICALLSITE_HPP
--- a/src/hotspot/share/ci/ciClassList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciClassList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CICLASSLIST_HPP
-#define SHARE_VM_CI_CICLASSLIST_HPP
+#ifndef SHARE_CI_CICLASSLIST_HPP
+#define SHARE_CI_CICLASSLIST_HPP
class ciEnv;
class ciObjectFactory;
@@ -118,4 +118,4 @@
friend class ciObjArrayKlass; \
friend class ciTypeArrayKlass; \
-#endif // SHARE_VM_CI_CICLASSLIST_HPP
+#endif // SHARE_CI_CICLASSLIST_HPP
--- a/src/hotspot/share/ci/ciConstant.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciConstant.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CICONSTANT_HPP
-#define SHARE_VM_CI_CICONSTANT_HPP
+#ifndef SHARE_CI_CICONSTANT_HPP
+#define SHARE_CI_CICONSTANT_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciNullObject.hpp"
@@ -131,4 +131,4 @@
void print();
};
-#endif // SHARE_VM_CI_CICONSTANT_HPP
+#endif // SHARE_CI_CICONSTANT_HPP
--- a/src/hotspot/share/ci/ciConstantPoolCache.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciConstantPoolCache.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CICONSTANTPOOLCACHE_HPP
-#define SHARE_VM_CI_CICONSTANTPOOLCACHE_HPP
+#ifndef SHARE_CI_CICONSTANTPOOLCACHE_HPP
+#define SHARE_CI_CICONSTANTPOOLCACHE_HPP
#include "memory/resourceArea.hpp"
#include "utilities/growableArray.hpp"
@@ -52,4 +52,4 @@
void print();
};
-#endif // SHARE_VM_CI_CICONSTANTPOOLCACHE_HPP
+#endif // SHARE_CI_CICONSTANTPOOLCACHE_HPP
--- a/src/hotspot/share/ci/ciEnv.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciEnv.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -233,10 +233,6 @@
_jvmti_can_pop_frame = JvmtiExport::can_pop_frame();
}
-bool ciEnv::should_retain_local_variables() const {
- return _jvmti_can_access_local_variables || _jvmti_can_pop_frame;
-}
-
bool ciEnv::jvmti_state_changed() const {
if (!_jvmti_can_access_local_variables &&
JvmtiExport::can_access_local_variables()) {
--- a/src/hotspot/share/ci/ciEnv.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciEnv.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIENV_HPP
-#define SHARE_VM_CI_CIENV_HPP
+#ifndef SHARE_CI_CIENV_HPP
+#define SHARE_CI_CIENV_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciObjectFactory.hpp"
@@ -46,6 +46,7 @@
friend class CompileBroker;
friend class Dependencies; // for get_object, during logging
+ friend class PrepareExtraDataClosure;
private:
Arena* _arena; // Alias for _ciEnv_arena except in init_shared_objects()
@@ -188,6 +189,10 @@
}
}
+ ciMetadata* cached_metadata(Metadata* o) {
+ return _factory->cached_metadata(o);
+ }
+
ciInstance* get_instance(oop o) {
if (o == NULL) return NULL;
return get_object(o)->as_instance();
@@ -338,7 +343,9 @@
// Cache Jvmti state
void cache_jvmti_state();
bool jvmti_state_changed() const;
- bool should_retain_local_variables() const;
+ bool should_retain_local_variables() const {
+ return _jvmti_can_access_local_variables || _jvmti_can_pop_frame;
+ }
bool jvmti_can_hotswap_or_post_breakpoint() const { return _jvmti_can_hotswap_or_post_breakpoint; }
bool jvmti_can_post_on_exceptions() const { return _jvmti_can_post_on_exceptions; }
@@ -466,4 +473,4 @@
void dump_compile_data(outputStream* out);
};
-#endif // SHARE_VM_CI_CIENV_HPP
+#endif // SHARE_CI_CIENV_HPP
--- a/src/hotspot/share/ci/ciExceptionHandler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciExceptionHandler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIEXCEPTIONHANDLER_HPP
-#define SHARE_VM_CI_CIEXCEPTIONHANDLER_HPP
+#ifndef SHARE_CI_CIEXCEPTIONHANDLER_HPP
+#define SHARE_CI_CIEXCEPTIONHANDLER_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciInstanceKlass.hpp"
@@ -80,4 +80,4 @@
void print();
};
-#endif // SHARE_VM_CI_CIEXCEPTIONHANDLER_HPP
+#endif // SHARE_CI_CIEXCEPTIONHANDLER_HPP
--- a/src/hotspot/share/ci/ciField.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciField.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIFIELD_HPP
-#define SHARE_VM_CI_CIFIELD_HPP
+#ifndef SHARE_CI_CIFIELD_HPP
+#define SHARE_CI_CIFIELD_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciConstant.hpp"
@@ -201,4 +201,4 @@
void print_name_on(outputStream* st);
};
-#endif // SHARE_VM_CI_CIFIELD_HPP
+#endif // SHARE_CI_CIFIELD_HPP
--- a/src/hotspot/share/ci/ciFlags.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciFlags.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIFLAGS_HPP
-#define SHARE_VM_CI_CIFLAGS_HPP
+#ifndef SHARE_CI_CIFLAGS_HPP
+#define SHARE_CI_CIFLAGS_HPP
#include "jvm.h"
#include "ci/ciClassList.hpp"
@@ -74,4 +74,4 @@
void print(outputStream* st = tty);
};
-#endif // SHARE_VM_CI_CIFLAGS_HPP
+#endif // SHARE_CI_CIFLAGS_HPP
--- a/src/hotspot/share/ci/ciInstance.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciInstance.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIINSTANCE_HPP
-#define SHARE_VM_CI_CIINSTANCE_HPP
+#ifndef SHARE_CI_CIINSTANCE_HPP
+#define SHARE_CI_CIINSTANCE_HPP
#include "ci/ciObject.hpp"
#include "oops/instanceOop.hpp"
@@ -72,4 +72,4 @@
ciKlass* java_lang_Class_klass();
};
-#endif // SHARE_VM_CI_CIINSTANCE_HPP
+#endif // SHARE_CI_CIINSTANCE_HPP
--- a/src/hotspot/share/ci/ciInstanceKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciInstanceKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIINSTANCEKLASS_HPP
-#define SHARE_VM_CI_CIINSTANCEKLASS_HPP
+#ifndef SHARE_CI_CIINSTANCEKLASS_HPP
+#define SHARE_CI_CIINSTANCEKLASS_HPP
#include "ci/ciConstantPoolCache.hpp"
#include "ci/ciFlags.hpp"
@@ -281,4 +281,4 @@
#endif
};
-#endif // SHARE_VM_CI_CIINSTANCEKLASS_HPP
+#endif // SHARE_CI_CIINSTANCEKLASS_HPP
--- a/src/hotspot/share/ci/ciKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIKLASS_HPP
-#define SHARE_VM_CI_CIKLASS_HPP
+#ifndef SHARE_CI_CIKLASS_HPP
+#define SHARE_CI_CIKLASS_HPP
#include "ci/ciType.hpp"
#include "oops/klass.hpp"
@@ -131,4 +131,4 @@
const char* external_name() const;
};
-#endif // SHARE_VM_CI_CIKLASS_HPP
+#endif // SHARE_CI_CIKLASS_HPP
--- a/src/hotspot/share/ci/ciMemberName.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciMemberName.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIMEMBERNAME_HPP
-#define SHARE_VM_CI_CIMEMBERNAME_HPP
+#ifndef SHARE_CI_CIMEMBERNAME_HPP
+#define SHARE_CI_CIMEMBERNAME_HPP
#include "ci/ciCallProfile.hpp"
#include "ci/ciInstance.hpp"
@@ -41,4 +41,4 @@
ciMethod* get_vmtarget() const;
};
-#endif // SHARE_VM_CI_CIMEMBERNAME_HPP
+#endif // SHARE_CI_CIMEMBERNAME_HPP
--- a/src/hotspot/share/ci/ciMetadata.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciMetadata.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIMETADATA_HPP
-#define SHARE_VM_CI_CIMETADATA_HPP
+#ifndef SHARE_CI_CIMETADATA_HPP
+#define SHARE_CI_CIMETADATA_HPP
#include "ci/ciBaseObject.hpp"
#include "ci/ciClassList.hpp"
@@ -117,4 +117,4 @@
void print_metadata(outputStream* st = tty);
};
-#endif // SHARE_VM_CI_CIMETADATA_HPP
+#endif // SHARE_CI_CIMETADATA_HPP
--- a/src/hotspot/share/ci/ciMethod.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciMethod.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -402,12 +402,14 @@
// will return true for all locals in some cases to improve debug
// information.
MethodLivenessResult ciMethod::liveness_at_bci(int bci) {
- MethodLivenessResult result = raw_liveness_at_bci(bci);
if (CURRENT_ENV->should_retain_local_variables() || DeoptimizeALot) {
// Keep all locals live for the user's edification and amusement.
- result.at_put_range(0, result.size(), true);
+ MethodLivenessResult result(_max_locals);
+ result.set_range(0, _max_locals);
+ result.set_is_valid();
+ return result;
}
- return result;
+ return raw_liveness_at_bci(bci);
}
// ciMethod::live_local_oops_at_bci
--- a/src/hotspot/share/ci/ciMethod.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciMethod.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIMETHOD_HPP
-#define SHARE_VM_CI_CIMETHOD_HPP
+#ifndef SHARE_CI_CIMETHOD_HPP
+#define SHARE_CI_CIMETHOD_HPP
#include "ci/ciFlags.hpp"
#include "ci/ciInstanceKlass.hpp"
@@ -363,4 +363,4 @@
static bool is_consistent_info(ciMethod* declared_method, ciMethod* resolved_method);
};
-#endif // SHARE_VM_CI_CIMETHOD_HPP
+#endif // SHARE_CI_CIMETHOD_HPP
--- a/src/hotspot/share/ci/ciMethodBlocks.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciMethodBlocks.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIMETHODBLOCKS_HPP
-#define SHARE_VM_CI_CIMETHODBLOCKS_HPP
+#ifndef SHARE_CI_CIMETHODBLOCKS_HPP
+#define SHARE_CI_CIMETHODBLOCKS_HPP
#include "ci/ciMethod.hpp"
#include "memory/resourceArea.hpp"
@@ -129,4 +129,4 @@
#endif
};
-#endif // SHARE_VM_CI_CIMETHODBLOCKS_HPP
+#endif // SHARE_CI_CIMETHODBLOCKS_HPP
--- a/src/hotspot/share/ci/ciMethodData.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciMethodData.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -78,10 +78,81 @@
_parameters = NULL;
}
+// Check for entries that reference an unloaded method
+class PrepareExtraDataClosure : public CleanExtraDataClosure {
+ MethodData* _mdo;
+ uint64_t _safepoint_counter;
+ GrowableArray<Method*> _uncached_methods;
+
+public:
+ PrepareExtraDataClosure(MethodData* mdo)
+ : _mdo(mdo),
+ _safepoint_counter(SafepointSynchronize::safepoint_counter()),
+ _uncached_methods()
+ { }
+
+ bool is_live(Method* m) {
+ if (!m->method_holder()->is_loader_alive()) {
+ return false;
+ }
+ if (CURRENT_ENV->cached_metadata(m) == NULL) {
+ // Uncached entries need to be pre-populated.
+ _uncached_methods.append(m);
+ }
+ return true;
+ }
+
+ bool has_safepointed() {
+ return SafepointSynchronize::safepoint_counter() != _safepoint_counter;
+ }
+
+ bool finish() {
+ if (_uncached_methods.length() == 0) {
+ // Preparation finished iff all Methods* were already cached.
+ return true;
+ }
+ // Holding locks through safepoints is bad practice.
+ MutexUnlocker mu(_mdo->extra_data_lock());
+ for (int i = 0; i < _uncached_methods.length(); ++i) {
+ if (has_safepointed()) {
+ // The metadata in the growable array might contain stale
+ // entries after a safepoint.
+ return false;
+ }
+ Method* method = _uncached_methods.at(i);
+ // Populating ciEnv caches may cause safepoints due
+ // to taking the Compile_lock with safepoint checks.
+ (void)CURRENT_ENV->get_method(method);
+ }
+ return false;
+ }
+};
+
+void ciMethodData::prepare_metadata() {
+ MethodData* mdo = get_MethodData();
+
+ for (;;) {
+ ResourceMark rm;
+ PrepareExtraDataClosure cl(mdo);
+ mdo->clean_extra_data(&cl);
+ if (cl.finish()) {
+ // When encountering uncached metadata, the Compile_lock might be
+ // acquired when creating ciMetadata handles, causing safepoints
+ // which requires a new round of preparation to clean out potentially
+ // new unloading metadata.
+ return;
+ }
+ }
+}
+
void ciMethodData::load_extra_data() {
MethodData* mdo = get_MethodData();
-
MutexLocker ml(mdo->extra_data_lock());
+ // Deferred metadata cleaning due to concurrent class unloading.
+ prepare_metadata();
+ // After metadata preparation, there is no stale metadata,
+ // and no safepoints can introduce more stale metadata.
+ NoSafepointVerifier no_safepoint;
// speculative trap entries also hold a pointer to a Method so need to be translated
DataLayout* dp_src = mdo->extra_data_base();
@@ -94,22 +165,21 @@
// New traps in the MDO may have been added since we copied the
// data (concurrent deoptimizations before we acquired
// extra_data_lock above) or can be removed (a safepoint may occur
- // in the translate_from call below) as we translate the copy:
+ // in the prepare_metadata call above) as we translate the copy:
// update the copy as we go.
int tag = dp_src->tag();
- if (tag != DataLayout::arg_info_data_tag) {
- memcpy(dp_dst, dp_src, ((intptr_t)MethodData::next_extra(dp_src)) - ((intptr_t)dp_src));
+ size_t entry_size = DataLayout::header_size_in_bytes();
+ if (tag != DataLayout::no_tag) {
+ ProfileData* src_data = dp_src->data_in();
+ entry_size = src_data->size_in_bytes();
}
+ memcpy(dp_dst, dp_src, entry_size);
switch(tag) {
case DataLayout::speculative_trap_data_tag: {
ciSpeculativeTrapData data_dst(dp_dst);
SpeculativeTrapData data_src(dp_src);
-
- { // During translation a safepoint can happen or VM lock can be taken (e.g., Compile_lock).
- MutexUnlocker ml(mdo->extra_data_lock());
- data_dst.translate_from(&data_src);
- }
+ data_dst.translate_from(&data_src);
break;
}
case DataLayout::bit_data_tag:
--- a/src/hotspot/share/ci/ciMethodData.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciMethodData.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIMETHODDATA_HPP
-#define SHARE_VM_CI_CIMETHODDATA_HPP
+#ifndef SHARE_CI_CIMETHODDATA_HPP
+#define SHARE_CI_CIMETHODDATA_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciKlass.hpp"
@@ -475,6 +475,7 @@
return (address) _data;
}
+ void prepare_metadata();
void load_extra_data();
ciProfileData* bci_to_extra_data(int bci, ciMethod* m, bool& two_free_slots);
@@ -602,4 +603,4 @@
void dump_replay_data(outputStream* out);
};
-#endif // SHARE_VM_CI_CIMETHODDATA_HPP
+#endif // SHARE_CI_CIMETHODDATA_HPP
--- a/src/hotspot/share/ci/ciMethodHandle.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciMethodHandle.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIMETHODHANDLE_HPP
-#define SHARE_VM_CI_CIMETHODHANDLE_HPP
+#ifndef SHARE_CI_CIMETHODHANDLE_HPP
+#define SHARE_CI_CIMETHODHANDLE_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciInstance.hpp"
@@ -41,4 +41,4 @@
ciMethod* get_vmtarget() const;
};
-#endif // SHARE_VM_CI_CIMETHODHANDLE_HPP
+#endif // SHARE_CI_CIMETHODHANDLE_HPP
--- a/src/hotspot/share/ci/ciMethodType.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciMethodType.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIMETHODTYPE_HPP
-#define SHARE_VM_CI_CIMETHODTYPE_HPP
+#ifndef SHARE_CI_CIMETHODTYPE_HPP
+#define SHARE_CI_CIMETHODTYPE_HPP
#include "ci/ciInstance.hpp"
@@ -48,4 +48,4 @@
ciType* ptype_at(int index) const;
};
-#endif // SHARE_VM_CI_CIMETHODTYPE_HPP
+#endif // SHARE_CI_CIMETHODTYPE_HPP
--- a/src/hotspot/share/ci/ciNullObject.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciNullObject.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CINULLOBJECT_HPP
-#define SHARE_VM_CI_CINULLOBJECT_HPP
+#ifndef SHARE_CI_CINULLOBJECT_HPP
+#define SHARE_CI_CINULLOBJECT_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciObject.hpp"
@@ -54,4 +54,4 @@
static ciNullObject* make();
};
-#endif // SHARE_VM_CI_CINULLOBJECT_HPP
+#endif // SHARE_CI_CINULLOBJECT_HPP
--- a/src/hotspot/share/ci/ciObjArray.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciObjArray.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIOBJARRAY_HPP
-#define SHARE_VM_CI_CIOBJARRAY_HPP
+#ifndef SHARE_CI_CIOBJARRAY_HPP
+#define SHARE_CI_CIOBJARRAY_HPP
#include "ci/ciArray.hpp"
#include "ci/ciClassList.hpp"
@@ -54,4 +54,4 @@
ciObject* obj_at(int index);
};
-#endif // SHARE_VM_CI_CIOBJARRAY_HPP
+#endif // SHARE_CI_CIOBJARRAY_HPP
--- a/src/hotspot/share/ci/ciObjArrayKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciObjArrayKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIOBJARRAYKLASS_HPP
-#define SHARE_VM_CI_CIOBJARRAYKLASS_HPP
+#ifndef SHARE_CI_CIOBJARRAYKLASS_HPP
+#define SHARE_CI_CIOBJARRAYKLASS_HPP
#include "ci/ciArrayKlass.hpp"
@@ -77,4 +77,4 @@
virtual ciKlass* exact_klass();
};
-#endif // SHARE_VM_CI_CIOBJARRAYKLASS_HPP
+#endif // SHARE_CI_CIOBJARRAYKLASS_HPP
--- a/src/hotspot/share/ci/ciObject.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciObject.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIOBJECT_HPP
-#define SHARE_VM_CI_CIOBJECT_HPP
+#ifndef SHARE_CI_CIOBJECT_HPP
+#define SHARE_CI_CIOBJECT_HPP
#include "ci/ciBaseObject.hpp"
#include "ci/ciClassList.hpp"
@@ -185,4 +185,4 @@
void print_oop(outputStream* st = tty);
};
-#endif // SHARE_VM_CI_CIOBJECT_HPP
+#endif // SHARE_CI_CIOBJECT_HPP
--- a/src/hotspot/share/ci/ciObjectFactory.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciObjectFactory.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -266,6 +266,24 @@
}
// ------------------------------------------------------------------
+// ciObjectFactory::cached_metadata
+//
+// Get the ciMetadata corresponding to some Metadata. If the ciMetadata has
+// already been created, it is returned. Otherwise, null is returned.
+ciMetadata* ciObjectFactory::cached_metadata(Metadata* key) {
+ ASSERT_IN_VM;
+
+ bool found = false;
+ int index = _ci_metadata->find_sorted<Metadata*, ciObjectFactory::metadata_compare>(key, found);
+
+ if (!found) {
+ return NULL;
+ }
+ return _ci_metadata->at(index)->as_metadata();
+}
+
+
+// ------------------------------------------------------------------
// ciObjectFactory::get_metadata
//
// Get the ciMetadata corresponding to some Metadata. If the ciMetadata has
--- a/src/hotspot/share/ci/ciObjectFactory.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciObjectFactory.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIOBJECTFACTORY_HPP
-#define SHARE_VM_CI_CIOBJECTFACTORY_HPP
+#ifndef SHARE_CI_CIOBJECTFACTORY_HPP
+#define SHARE_CI_CIOBJECTFACTORY_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciObject.hpp"
@@ -100,6 +100,7 @@
// Get the ciObject corresponding to some oop.
ciObject* get(oop key);
ciMetadata* get_metadata(Metadata* key);
+ ciMetadata* cached_metadata(Metadata* key);
ciSymbol* get_symbol(Symbol* key);
// Get the ciSymbol corresponding to one of the vmSymbols.
@@ -145,4 +146,4 @@
void print();
};
-#endif // SHARE_VM_CI_CIOBJECTFACTORY_HPP
+#endif // SHARE_CI_CIOBJECTFACTORY_HPP
--- a/src/hotspot/share/ci/ciReplay.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciReplay.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIREPLAY_HPP
-#define SHARE_VM_CI_CIREPLAY_HPP
+#ifndef SHARE_CI_CIREPLAY_HPP
+#define SHARE_CI_CIREPLAY_HPP
#include "ci/ciMethod.hpp"
@@ -125,4 +125,4 @@
#endif
};
-#endif // SHARE_VM_CI_CIREPLAY_HPP
+#endif // SHARE_CI_CIREPLAY_HPP
--- a/src/hotspot/share/ci/ciSignature.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciSignature.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CISIGNATURE_HPP
-#define SHARE_VM_CI_CISIGNATURE_HPP
+#ifndef SHARE_CI_CISIGNATURE_HPP
+#define SHARE_CI_CISIGNATURE_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciSymbol.hpp"
@@ -72,4 +72,4 @@
void print();
};
-#endif // SHARE_VM_CI_CISIGNATURE_HPP
+#endif // SHARE_CI_CISIGNATURE_HPP
--- a/src/hotspot/share/ci/ciStreams.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciStreams.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CISTREAMS_HPP
-#define SHARE_VM_CI_CISTREAMS_HPP
+#ifndef SHARE_CI_CISTREAMS_HPP
+#define SHARE_CI_CISTREAMS_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciExceptionHandler.hpp"
@@ -438,4 +438,4 @@
Bytecode_lookupswitch::Bytecode_lookupswitch(const ciBytecodeStream* stream): Bytecode(stream) { verify(); }
Bytecode_tableswitch::Bytecode_tableswitch(const ciBytecodeStream* stream): Bytecode(stream) { verify(); }
-#endif // SHARE_VM_CI_CISTREAMS_HPP
+#endif // SHARE_CI_CISTREAMS_HPP
--- a/src/hotspot/share/ci/ciSymbol.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciSymbol.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CISYMBOL_HPP
-#define SHARE_VM_CI_CISYMBOL_HPP
+#ifndef SHARE_CI_CISYMBOL_HPP
+#define SHARE_CI_CISYMBOL_HPP
#include "ci/ciBaseObject.hpp"
#include "ci/ciObject.hpp"
@@ -114,4 +114,4 @@
bool is_signature_polymorphic_name() const;
};
-#endif // SHARE_VM_CI_CISYMBOL_HPP
+#endif // SHARE_CI_CISYMBOL_HPP
--- a/src/hotspot/share/ci/ciType.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciType.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CITYPE_HPP
-#define SHARE_VM_CI_CITYPE_HPP
+#ifndef SHARE_CI_CITYPE_HPP
+#define SHARE_CI_CITYPE_HPP
#include "ci/ciMetadata.hpp"
@@ -112,4 +112,4 @@
static ciReturnAddress* make(int bci);
};
-#endif // SHARE_VM_CI_CITYPE_HPP
+#endif // SHARE_CI_CITYPE_HPP
--- a/src/hotspot/share/ci/ciTypeArray.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciTypeArray.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CITYPEARRAY_HPP
-#define SHARE_VM_CI_CITYPEARRAY_HPP
+#ifndef SHARE_CI_CITYPEARRAY_HPP
+#define SHARE_CI_CITYPEARRAY_HPP
#include "ci/ciArray.hpp"
#include "ci/ciClassList.hpp"
@@ -61,4 +61,4 @@
};
-#endif // SHARE_VM_CI_CITYPEARRAY_HPP
+#endif // SHARE_CI_CITYPEARRAY_HPP
--- a/src/hotspot/share/ci/ciTypeArrayKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciTypeArrayKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CITYPEARRAYKLASS_HPP
-#define SHARE_VM_CI_CITYPEARRAYKLASS_HPP
+#ifndef SHARE_CI_CITYPEARRAYKLASS_HPP
+#define SHARE_CI_CITYPEARRAYKLASS_HPP
#include "ci/ciArrayKlass.hpp"
@@ -63,4 +63,4 @@
}
};
-#endif // SHARE_VM_CI_CITYPEARRAYKLASS_HPP
+#endif // SHARE_CI_CITYPEARRAYKLASS_HPP
--- a/src/hotspot/share/ci/ciTypeFlow.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciTypeFlow.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CITYPEFLOW_HPP
-#define SHARE_VM_CI_CITYPEFLOW_HPP
+#ifndef SHARE_CI_CITYPEFLOW_HPP
+#define SHARE_CI_CITYPEFLOW_HPP
#ifdef COMPILER2
#include "ci/ciEnv.hpp"
@@ -950,4 +950,4 @@
void rpo_print_on(outputStream* st) const PRODUCT_RETURN;
};
-#endif // SHARE_VM_CI_CITYPEFLOW_HPP
+#endif // SHARE_CI_CITYPEFLOW_HPP
--- a/src/hotspot/share/ci/ciUtilities.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciUtilities.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIUTILITIES_HPP
-#define SHARE_VM_CI_CIUTILITIES_HPP
+#ifndef SHARE_CI_CIUTILITIES_HPP
+#define SHARE_CI_CIUTILITIES_HPP
#include "ci/ciEnv.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -56,4 +56,4 @@
return reinterpret_cast<T>(ci_card_table_address());
}
-#endif // SHARE_VM_CI_CIUTILITIES_HPP
+#endif // SHARE_CI_CIUTILITIES_HPP
--- a/src/hotspot/share/ci/ciUtilities.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/ciUtilities.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_CIUTILITIES_INLINE_HPP
-#define SHARE_VM_CI_CIUTILITIES_INLINE_HPP
+#ifndef SHARE_CI_CIUTILITIES_INLINE_HPP
+#define SHARE_CI_CIUTILITIES_INLINE_HPP
#include "ci/ciUtilities.hpp"
#include "runtime/interfaceSupport.inline.hpp"
@@ -89,5 +89,4 @@
} \
(void)(0
-#endif // SHARE_VM_CI_CIUTILITIES_INLINE_HPP
-
+#endif // SHARE_CI_CIUTILITIES_INLINE_HPP
--- a/src/hotspot/share/ci/compilerInterface.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/ci/compilerInterface.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CI_COMPILERINTERFACE_HPP
-#define SHARE_VM_CI_COMPILERINTERFACE_HPP
+#ifndef SHARE_CI_COMPILERINTERFACE_HPP
+#define SHARE_CI_COMPILERINTERFACE_HPP
#include "ci/ciArray.hpp"
#include "ci/ciArrayKlass.hpp"
@@ -50,4 +50,4 @@
// This is a dummy file used for including the complete
// compiler interface.
-#endif // SHARE_VM_CI_COMPILERINTERFACE_HPP
+#endif // SHARE_CI_COMPILERINTERFACE_HPP
--- a/src/hotspot/share/classfile/altHashing.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/altHashing.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_ALTHASHING_HPP
-#define SHARE_VM_CLASSFILE_ALTHASHING_HPP
+#ifndef SHARE_CLASSFILE_ALTHASHING_HPP
+#define SHARE_CLASSFILE_ALTHASHING_HPP
#include "jni.h"
#include "classfile/symbolTable.hpp"
@@ -51,4 +51,4 @@
static juint murmur3_32(juint seed, const jbyte* data, int len);
static juint murmur3_32(juint seed, const jchar* data, int len);
};
-#endif // SHARE_VM_CLASSFILE_ALTHASHING_HPP
+#endif // SHARE_CLASSFILE_ALTHASHING_HPP
--- a/src/hotspot/share/classfile/bytecodeAssembler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/bytecodeAssembler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_BYTECODEASSEMBLER_HPP
-#define SHARE_VM_CLASSFILE_BYTECODEASSEMBLER_HPP
+#ifndef SHARE_CLASSFILE_BYTECODEASSEMBLER_HPP
+#define SHARE_CLASSFILE_BYTECODEASSEMBLER_HPP
#include "memory/allocation.hpp"
#include "oops/method.hpp"
@@ -211,4 +211,4 @@
void _return(BasicType bt);
};
-#endif // SHARE_VM_CLASSFILE_BYTECODEASSEMBLER_HPP
+#endif // SHARE_CLASSFILE_BYTECODEASSEMBLER_HPP
--- a/src/hotspot/share/classfile/classFileParser.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classFileParser.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -4486,33 +4486,6 @@
}
}
-// Attach super classes and interface classes to class loader data
-static void record_defined_class_dependencies(const InstanceKlass* defined_klass,
- TRAPS) {
- assert(defined_klass != NULL, "invariant");
-
- ClassLoaderData* const defining_loader_data = defined_klass->class_loader_data();
- if (defining_loader_data->is_the_null_class_loader_data()) {
- // Dependencies to null class loader data are implicit.
- return;
- } else {
- // add super class dependency
- Klass* const super = defined_klass->super();
- if (super != NULL) {
- defining_loader_data->record_dependency(super);
- }
-
- // add super interface dependencies
- const Array<InstanceKlass*>* const local_interfaces = defined_klass->local_interfaces();
- if (local_interfaces != NULL) {
- const int length = local_interfaces->length();
- for (int i = 0; i < length; i++) {
- defining_loader_data->record_dependency(local_interfaces->at(i));
- }
- }
- }
-}
-
// utility methods for appending an array with check for duplicates
static void append_interfaces(GrowableArray<InstanceKlass*>* result,
@@ -5719,9 +5692,6 @@
}
}
- // Update the loader_data graph.
- record_defined_class_dependencies(ik, CHECK);
-
ClassLoadingService::notify_class_loaded(ik, false /* not shared class */);
if (!is_internal()) {
--- a/src/hotspot/share/classfile/classFileParser.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classFileParser.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_CLASSFILEPARSER_HPP
-#define SHARE_VM_CLASSFILE_CLASSFILEPARSER_HPP
+#ifndef SHARE_CLASSFILE_CLASSFILEPARSER_HPP
+#define SHARE_CLASSFILE_CLASSFILEPARSER_HPP
#include "memory/referenceType.hpp"
#include "oops/annotations.hpp"
@@ -546,4 +546,4 @@
};
-#endif // SHARE_VM_CLASSFILE_CLASSFILEPARSER_HPP
+#endif // SHARE_CLASSFILE_CLASSFILEPARSER_HPP
--- a/src/hotspot/share/classfile/classFileStream.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classFileStream.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_CLASSFILESTREAM_HPP
-#define SHARE_VM_CLASSFILE_CLASSFILESTREAM_HPP
+#ifndef SHARE_CLASSFILE_CLASSFILESTREAM_HPP
+#define SHARE_CLASSFILE_CLASSFILESTREAM_HPP
#include "memory/allocation.hpp"
#include "utilities/bytes.hpp"
@@ -143,4 +143,4 @@
uint64_t compute_fingerprint() const;
};
-#endif // SHARE_VM_CLASSFILE_CLASSFILESTREAM_HPP
+#endif // SHARE_CLASSFILE_CLASSFILESTREAM_HPP
--- a/src/hotspot/share/classfile/classListParser.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classListParser.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -47,7 +47,15 @@
assert(_instance == NULL, "must be singleton");
_instance = this;
_classlist_file = file;
- _file = fopen(file, "r");
+ _file = NULL;
+ // Use os::open() because neither fopen() nor os::fopen()
+ // can handle long path name on Windows.
+ int fd = os::open(file, O_RDONLY, S_IREAD);
+ if (fd != -1) {
+ // Obtain a File* from the file descriptor so that fgets()
+ // can be used in parse_one_line()
+ _file = os::open(fd, "r");
+ }
if (_file == NULL) {
char errmsg[JVM_MAXPATHLEN];
os::lasterror(errmsg, JVM_MAXPATHLEN);
--- a/src/hotspot/share/classfile/classListParser.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classListParser.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_CLASSLISTPARSER_HPP
-#define SHARE_VM_MEMORY_CLASSLISTPARSER_HPP
+#ifndef SHARE_CLASSFILE_CLASSLISTPARSER_HPP
+#define SHARE_CLASSFILE_CLASSLISTPARSER_HPP
#include "utilities/exceptions.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -127,4 +127,4 @@
InstanceKlass* lookup_super_for_current_class(Symbol* super_name);
InstanceKlass* lookup_interface_for_current_class(Symbol* interface_name);
};
-#endif
+#endif // SHARE_CLASSFILE_CLASSLISTPARSER_HPP
--- a/src/hotspot/share/classfile/classLoader.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classLoader.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_CLASSLOADER_HPP
-#define SHARE_VM_CLASSFILE_CLASSLOADER_HPP
+#ifndef SHARE_CLASSFILE_CLASSLOADER_HPP
+#define SHARE_CLASSFILE_CLASSLOADER_HPP
#include "jimage.hpp"
#include "runtime/handles.hpp"
@@ -506,4 +506,4 @@
void initialize();
};
-#endif // SHARE_VM_CLASSFILE_CLASSLOADER_HPP
+#endif // SHARE_CLASSFILE_CLASSLOADER_HPP
--- a/src/hotspot/share/classfile/classLoader.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classLoader.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_CLASSLOADER_INLINE_HPP
-#define SHARE_VM_CLASSFILE_CLASSLOADER_INLINE_HPP
+#ifndef SHARE_CLASSFILE_CLASSLOADER_INLINE_HPP
+#define SHARE_CLASSFILE_CLASSLOADER_INLINE_HPP
#include "classfile/classLoader.hpp"
#include "runtime/orderAccess.hpp"
@@ -96,4 +96,4 @@
#endif // INCLUDE_CDS
-#endif // SHARE_VM_CLASSFILE_CLASSLOADER_INLINE_HPP
+#endif // SHARE_CLASSFILE_CLASSLOADER_INLINE_HPP
--- a/src/hotspot/share/classfile/classLoaderData.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classLoaderData.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_CLASSLOADERDATA_HPP
-#define SHARE_VM_CLASSFILE_CLASSLOADERDATA_HPP
+#ifndef SHARE_CLASSFILE_CLASSLOADERDATA_HPP
+#define SHARE_CLASSFILE_CLASSLOADERDATA_HPP
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp"
@@ -327,4 +327,4 @@
JFR_ONLY(DEFINE_TRACE_ID_METHODS;)
};
-#endif // SHARE_VM_CLASSFILE_CLASSLOADERDATA_HPP
+#endif // SHARE_CLASSFILE_CLASSLOADERDATA_HPP
--- a/src/hotspot/share/classfile/classLoaderData.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classLoaderData.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_CLASSLOADERDATA_INLINE_HPP
-#define SHARE_VM_CLASSFILE_CLASSLOADERDATA_INLINE_HPP
+#ifndef SHARE_CLASSFILE_CLASSLOADERDATA_INLINE_HPP
+#define SHARE_CLASSFILE_CLASSLOADERDATA_INLINE_HPP
#include "classfile/classLoaderData.hpp"
#include "classfile/javaClasses.hpp"
@@ -55,4 +55,4 @@
return loader_data;
}
-#endif // SHARE_VM_CLASSFILE_CLASSLOADERDATA_INLINE_HPP
+#endif // SHARE_CLASSFILE_CLASSLOADERDATA_INLINE_HPP
--- a/src/hotspot/share/classfile/classLoaderDataGraph.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -561,11 +561,6 @@
ClassLoaderData* data = _head;
while (data != NULL) {
- // Remove entries in the dictionary of live class loader that have
- // initiated loading classes in a dead class loader.
- if (data->dictionary() != NULL) {
- data->dictionary()->do_unloading();
- }
// Walk a ModuleEntry's reads, and a PackageEntry's exports
// lists to determine if there are modules on those lists that are now
// dead and should be removed. A module's life cycle is equivalent
--- a/src/hotspot/share/classfile/classLoaderDataGraph.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_CLASSLOADERDATAGRAPH_HPP
-#define SHARE_VM_CLASSFILE_CLASSLOADERDATAGRAPH_HPP
+#ifndef SHARE_CLASSFILE_CLASSLOADERDATAGRAPH_HPP
+#define SHARE_CLASSFILE_CLASSLOADERDATAGRAPH_HPP
#include "classfile/classLoaderData.hpp"
#include "memory/allocation.hpp"
@@ -185,4 +185,4 @@
bool repeat() { return _data != NULL; }
ClassLoaderMetaspace* get_next();
};
-#endif // SHARE_VM_CLASSFILE_CLASSLOADERDATAGRAPH_HPP
+#endif // SHARE_CLASSFILE_CLASSLOADERDATAGRAPH_HPP
--- a/src/hotspot/share/classfile/classLoaderDataGraph.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_CLASSLOADERDATAGRAPH_INLINE_HPP
-#define SHARE_VM_CLASSFILE_CLASSLOADERDATAGRAPH_INLINE_HPP
+#ifndef SHARE_CLASSFILE_CLASSLOADERDATAGRAPH_INLINE_HPP
+#define SHARE_CLASSFILE_CLASSLOADERDATAGRAPH_INLINE_HPP
#include "classfile/classLoaderDataGraph.hpp"
#include "classfile/javaClasses.hpp"
@@ -79,4 +79,4 @@
return do_cleaning;
}
-#endif // SHARE_VM_CLASSFILE_CLASSLOADERDATAGRAPH_INLINE_HPP
+#endif // SHARE_CLASSFILE_CLASSLOADERDATAGRAPH_INLINE_HPP
--- a/src/hotspot/share/classfile/classLoaderExt.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classLoaderExt.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_CLASSLOADEREXT_HPP
-#define SHARE_VM_CLASSFILE_CLASSLOADEREXT_HPP
+#ifndef SHARE_CLASSFILE_CLASSLOADEREXT_HPP
+#define SHARE_CLASSFILE_CLASSLOADEREXT_HPP
#include "classfile/classLoader.hpp"
#include "classfile/moduleEntry.hpp"
@@ -124,4 +124,4 @@
#endif
};
-#endif // SHARE_VM_CLASSFILE_CLASSLOADEREXT_HPP
+#endif // SHARE_CLASSFILE_CLASSLOADEREXT_HPP
--- a/src/hotspot/share/classfile/classLoaderHierarchyDCmd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classLoaderHierarchyDCmd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef HOTSPOT_SHARE_CLASSFILE_CLASSLOADERHIERARCHYDCMD_HPP_
-#define HOTSPOT_SHARE_CLASSFILE_CLASSLOADERHIERARCHYDCMD_HPP_
+#ifndef SHARE_CLASSFILE_CLASSLOADERHIERARCHYDCMD_HPP
+#define SHARE_CLASSFILE_CLASSLOADERHIERARCHYDCMD_HPP
#include "services/diagnosticCommand.hpp"
@@ -56,4 +56,4 @@
};
-#endif /* HOTSPOT_SHARE_CLASSFILE_CLASSLOADERHIERARCHYDCMD_HPP_ */
+#endif // SHARE_CLASSFILE_CLASSLOADERHIERARCHYDCMD_HPP
--- a/src/hotspot/share/classfile/classLoaderStats.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/classLoaderStats.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_CLASSLOADERSTATS_HPP
-#define SHARE_VM_CLASSFILE_CLASSLOADERSTATS_HPP
+#ifndef SHARE_CLASSFILE_CLASSLOADERSTATS_HPP
+#define SHARE_CLASSFILE_CLASSLOADERSTATS_HPP
#include "classfile/classLoaderData.hpp"
@@ -150,4 +150,4 @@
void doit();
};
-#endif // SHARE_VM_CLASSFILE_CLASSLOADERSTATS_HPP
+#endif // SHARE_CLASSFILE_CLASSLOADERSTATS_HPP
--- a/src/hotspot/share/classfile/compactHashtable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/compactHashtable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_COMPACTHASHTABLE_HPP
-#define SHARE_VM_CLASSFILE_COMPACTHASHTABLE_HPP
+#ifndef SHARE_CLASSFILE_COMPACTHASHTABLE_HPP
+#define SHARE_CLASSFILE_COMPACTHASHTABLE_HPP
#include "oops/array.hpp"
#include "oops/symbol.hpp"
@@ -428,4 +428,4 @@
static void put_utf8(outputStream* st, const char* utf8_string, int utf8_length);
};
-#endif // SHARE_VM_CLASSFILE_COMPACTHASHTABLE_HPP
+#endif // SHARE_CLASSFILE_COMPACTHASHTABLE_HPP
--- a/src/hotspot/share/classfile/defaultMethods.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/defaultMethods.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_DEFAULTMETHODS_HPP
-#define SHARE_VM_CLASSFILE_DEFAULTMETHODS_HPP
+#ifndef SHARE_CLASSFILE_DEFAULTMETHODS_HPP
+#define SHARE_CLASSFILE_DEFAULTMETHODS_HPP
#include "runtime/handles.hpp"
#include "utilities/growableArray.hpp"
@@ -45,4 +45,4 @@
static void generate_default_methods(
InstanceKlass* klass, const GrowableArray<Method*>* mirandas, TRAPS);
};
-#endif // SHARE_VM_CLASSFILE_DEFAULTMETHODS_HPP
+#endif // SHARE_CLASSFILE_DEFAULTMETHODS_HPP
--- a/src/hotspot/share/classfile/dictionary.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/dictionary.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -233,40 +233,6 @@
}
}
-
-void Dictionary::do_unloading() {
- assert_locked_or_safepoint(SystemDictionary_lock);
-
- // The NULL class loader doesn't initiate loading classes from other class loaders
- if (loader_data() == ClassLoaderData::the_null_class_loader_data()) {
- return;
- }
-
- // Remove unloaded entries and classes from this dictionary
- DictionaryEntry* probe = NULL;
- for (int index = 0; index < table_size(); index++) {
- for (DictionaryEntry** p = bucket_addr(index); *p != NULL; ) {
- probe = *p;
- InstanceKlass* ik = probe->instance_klass();
- ClassLoaderData* k_def_class_loader_data = ik->class_loader_data();
-
- // If the klass that this loader initiated is dead,
- // (determined by checking the defining class loader)
- // remove this entry.
- if (k_def_class_loader_data->is_unloading()) {
- assert(k_def_class_loader_data != loader_data(),
- "cannot have live defining loader and unreachable klass");
- *p = probe->next();
- free_entry(probe);
- continue;
- }
- // Clean pd_set
- clean_cached_protection_domains(probe);
- p = probe->next_addr();
- }
- }
-}
-
// Just the classes from defining class loaders
void Dictionary::classes_do(void f(InstanceKlass*)) {
for (int index = 0; index < table_size(); index++) {
--- a/src/hotspot/share/classfile/dictionary.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/dictionary.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_DICTIONARY_HPP
-#define SHARE_VM_CLASSFILE_DICTIONARY_HPP
+#ifndef SHARE_CLASSFILE_DICTIONARY_HPP
+#define SHARE_CLASSFILE_DICTIONARY_HPP
#include "classfile/protectionDomainCache.hpp"
#include "classfile/systemDictionary.hpp"
@@ -74,9 +74,6 @@
void unlink();
- // Unload classes whose defining loaders are unloaded
- void do_unloading();
-
// Protection domains
InstanceKlass* find(unsigned int hash, Symbol* name, Handle protection_domain);
bool is_valid_protection_domain(unsigned int hash,
@@ -307,4 +304,4 @@
return (SymbolPropertyEntry*) Hashtable<Symbol*, mtSymbol>::bucket(i);
}
};
-#endif // SHARE_VM_CLASSFILE_DICTIONARY_HPP
+#endif // SHARE_CLASSFILE_DICTIONARY_HPP
--- a/src/hotspot/share/classfile/dictionary.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/dictionary.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_DICTIONARY_INLINE_HPP
-#define SHARE_VM_CLASSFILE_DICTIONARY_INLINE_HPP
+#ifndef SHARE_CLASSFILE_DICTIONARY_INLINE_HPP
+#define SHARE_CLASSFILE_DICTIONARY_INLINE_HPP
#include "classfile/dictionary.hpp"
#include "runtime/orderAccess.hpp"
@@ -36,4 +36,4 @@
OrderAccess::release_store(&_pd_set, new_head);
}
-#endif // SHARE_VM_CLASSFILE_DICTIONARY_INLINE_HPP
+#endif // SHARE_CLASSFILE_DICTIONARY_INLINE_HPP
--- a/src/hotspot/share/classfile/javaAssertions.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/javaAssertions.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_JAVAASSERTIONS_HPP
-#define SHARE_VM_CLASSFILE_JAVAASSERTIONS_HPP
+#ifndef SHARE_CLASSFILE_JAVAASSERTIONS_HPP
+#define SHARE_CLASSFILE_JAVAASSERTIONS_HPP
#include "oops/objArrayOop.hpp"
#include "oops/typeArrayOop.hpp"
@@ -104,4 +104,4 @@
_sysDefault = enabled;
}
-#endif // SHARE_VM_CLASSFILE_JAVAASSERTIONS_HPP
+#endif // SHARE_CLASSFILE_JAVAASSERTIONS_HPP
--- a/src/hotspot/share/classfile/javaClasses.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/javaClasses.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -421,7 +421,7 @@
oop obj = java_string();
// Typical usage is to convert all '/' to '.' in string.
typeArrayOop value = java_lang_String::value(obj);
- int length = java_lang_String::length(obj);
+ int length = java_lang_String::length(obj, value);
bool is_latin1 = java_lang_String::is_latin1(obj);
// First check if any from_char exist
@@ -485,7 +485,7 @@
jchar* java_lang_String::as_unicode_string(oop java_string, int& length, TRAPS) {
typeArrayOop value = java_lang_String::value(java_string);
- length = java_lang_String::length(java_string);
+ length = java_lang_String::length(java_string, value);
bool is_latin1 = java_lang_String::is_latin1(java_string);
jchar* result = NEW_RESOURCE_ARRAY_RETURN_NULL(jchar, length);
@@ -506,11 +506,11 @@
}
unsigned int java_lang_String::hash_code(oop java_string) {
- int length = java_lang_String::length(java_string);
+ typeArrayOop value = java_lang_String::value(java_string);
+ int length = java_lang_String::length(java_string, value);
// Zero length string will hash to zero with String.hashCode() function.
if (length == 0) return 0;
- typeArrayOop value = java_lang_String::value(java_string);
bool is_latin1 = java_lang_String::is_latin1(java_string);
if (is_latin1) {
@@ -522,7 +522,7 @@
char* java_lang_String::as_quoted_ascii(oop java_string) {
typeArrayOop value = java_lang_String::value(java_string);
- int length = java_lang_String::length(java_string);
+ int length = java_lang_String::length(java_string, value);
bool is_latin1 = java_lang_String::is_latin1(java_string);
if (length == 0) return NULL;
@@ -547,7 +547,7 @@
Symbol* java_lang_String::as_symbol(oop java_string, TRAPS) {
typeArrayOop value = java_lang_String::value(java_string);
- int length = java_lang_String::length(java_string);
+ int length = java_lang_String::length(java_string, value);
bool is_latin1 = java_lang_String::is_latin1(java_string);
if (!is_latin1) {
jchar* base = (length == 0) ? NULL : value->char_at_addr(0);
@@ -564,7 +564,7 @@
Symbol* java_lang_String::as_symbol_or_null(oop java_string) {
typeArrayOop value = java_lang_String::value(java_string);
- int length = java_lang_String::length(java_string);
+ int length = java_lang_String::length(java_string, value);
bool is_latin1 = java_lang_String::is_latin1(java_string);
if (!is_latin1) {
jchar* base = (length == 0) ? NULL : value->char_at_addr(0);
@@ -577,23 +577,28 @@
}
}
-int java_lang_String::utf8_length(oop java_string) {
- typeArrayOop value = java_lang_String::value(java_string);
- int length = java_lang_String::length(java_string);
- bool is_latin1 = java_lang_String::is_latin1(java_string);
+int java_lang_String::utf8_length(oop java_string, typeArrayOop value) {
+ assert(oopDesc::equals_raw(value, java_lang_String::value(java_string)),
+ "value must be same as java_lang_String::value(java_string)");
+ int length = java_lang_String::length(java_string, value);
if (length == 0) {
return 0;
}
- if (!is_latin1) {
+ if (!java_lang_String::is_latin1(java_string)) {
return UNICODE::utf8_length(value->char_at_addr(0), length);
} else {
return UNICODE::utf8_length(value->byte_at_addr(0), length);
}
}
+int java_lang_String::utf8_length(oop java_string) {
+ typeArrayOop value = java_lang_String::value(java_string);
+ return utf8_length(java_string, value);
+}
+
char* java_lang_String::as_utf8_string(oop java_string) {
typeArrayOop value = java_lang_String::value(java_string);
- int length = java_lang_String::length(java_string);
+ int length = java_lang_String::length(java_string, value);
bool is_latin1 = java_lang_String::is_latin1(java_string);
if (!is_latin1) {
jchar* position = (length == 0) ? NULL : value->char_at_addr(0);
@@ -604,10 +609,11 @@
}
}
-char* java_lang_String::as_utf8_string(oop java_string, char* buf, int buflen) {
- typeArrayOop value = java_lang_String::value(java_string);
- int length = java_lang_String::length(java_string);
- bool is_latin1 = java_lang_String::is_latin1(java_string);
+char* java_lang_String::as_utf8_string(oop java_string, typeArrayOop value, char* buf, int buflen) {
+ assert(oopDesc::equals_raw(value, java_lang_String::value(java_string)),
+ "value must be same as java_lang_String::value(java_string)");
+ int length = java_lang_String::length(java_string, value);
+ bool is_latin1 = java_lang_String::is_latin1(java_string);
if (!is_latin1) {
jchar* position = (length == 0) ? NULL : value->char_at_addr(0);
return UNICODE::as_utf8(position, length, buf, buflen);
@@ -617,11 +623,15 @@
}
}
+char* java_lang_String::as_utf8_string(oop java_string, char* buf, int buflen) {
+ typeArrayOop value = java_lang_String::value(java_string);
+ return as_utf8_string(java_string, value, buf, buflen);
+}
+
char* java_lang_String::as_utf8_string(oop java_string, int start, int len) {
typeArrayOop value = java_lang_String::value(java_string);
- int length = java_lang_String::length(java_string);
- assert(start + len <= length, "just checking");
bool is_latin1 = java_lang_String::is_latin1(java_string);
+ assert(start + len <= java_lang_String::length(java_string), "just checking");
if (!is_latin1) {
jchar* position = value->char_at_addr(start);
return UNICODE::as_utf8(position, len);
@@ -631,11 +641,11 @@
}
}
-char* java_lang_String::as_utf8_string(oop java_string, int start, int len, char* buf, int buflen) {
- typeArrayOop value = java_lang_String::value(java_string);
- int length = java_lang_String::length(java_string);
- assert(start + len <= length, "just checking");
- bool is_latin1 = java_lang_String::is_latin1(java_string);
+char* java_lang_String::as_utf8_string(oop java_string, typeArrayOop value, int start, int len, char* buf, int buflen) {
+ assert(oopDesc::equals_raw(value, java_lang_String::value(java_string)),
+ "value must be same as java_lang_String::value(java_string)");
+ assert(start + len <= java_lang_String::length(java_string), "just checking");
+ bool is_latin1 = java_lang_String::is_latin1(java_string);
if (!is_latin1) {
jchar* position = value->char_at_addr(start);
return UNICODE::as_utf8(position, len, buf, buflen);
@@ -649,7 +659,7 @@
assert(java_string->klass() == SystemDictionary::String_klass(),
"must be java_string");
typeArrayOop value = java_lang_String::value_no_keepalive(java_string);
- int length = java_lang_String::length(java_string);
+ int length = java_lang_String::length(java_string, value);
if (length != len) {
return false;
}
@@ -676,10 +686,10 @@
assert(str2->klass() == SystemDictionary::String_klass(),
"must be java String");
typeArrayOop value1 = java_lang_String::value_no_keepalive(str1);
- int length1 = java_lang_String::length(str1);
+ int length1 = java_lang_String::length(str1, value1);
bool is_latin1 = java_lang_String::is_latin1(str1);
typeArrayOop value2 = java_lang_String::value_no_keepalive(str2);
- int length2 = java_lang_String::length(str2);
+ int length2 = java_lang_String::length(str2, value2);
bool is_latin2 = java_lang_String::is_latin1(str2);
if ((length1 != length2) || (is_latin1 != is_latin2)) {
@@ -707,7 +717,7 @@
return;
}
- int length = java_lang_String::length(java_string);
+ int length = java_lang_String::length(java_string, value);
bool is_latin1 = java_lang_String::is_latin1(java_string);
st->print("\"");
@@ -1257,12 +1267,6 @@
return size;
}
-int java_lang_Class::oop_size_raw(oop java_class) {
- assert(_oop_size_offset != 0, "must be set");
- int size = java_class->int_field_raw(_oop_size_offset);
- assert(size > 0, "Oop size must be greater than zero, not %d", size);
- return size;
-}
void java_lang_Class::set_oop_size(HeapWord* java_class, int size) {
assert(_oop_size_offset != 0, "must be set");
@@ -1354,6 +1358,16 @@
return o;
}
+oop java_lang_Class::source_file(oop java_class) {
+ assert(_source_file_offset != 0, "must be set");
+ return java_class->obj_field(_source_file_offset);
+}
+
+void java_lang_Class::set_source_file(oop java_class, oop source_file) {
+ assert(_source_file_offset != 0, "must be set");
+ java_class->obj_field_put(_source_file_offset, source_file);
+}
+
oop java_lang_Class::create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS) {
// This should be improved by adding a field at the Java level or by
// introducing a new VM klass (see comment in ClassFileParser)
@@ -2602,10 +2616,26 @@
} else {
// Fill in source file name and line number.
Symbol* source = Backtrace::get_source_file_name(holder, version);
- if (ShowHiddenFrames && source == NULL)
- source = vmSymbols::unknown_class_name();
- oop filename = StringTable::intern(source, CHECK);
- java_lang_StackTraceElement::set_fileName(element(), filename);
+ oop source_file = java_lang_Class::source_file(java_class());
+ if (source != NULL) {
+ // Class was not redefined. We can trust its cache if set,
+ // else we have to initialize it.
+ if (source_file == NULL) {
+ source_file = StringTable::intern(source, CHECK);
+ java_lang_Class::set_source_file(java_class(), source_file);
+ }
+ } else {
+ // Class was redefined. Dump the cache if it was set.
+ if (source_file != NULL) {
+ source_file = NULL;
+ java_lang_Class::set_source_file(java_class(), source_file);
+ }
+ if (ShowHiddenFrames) {
+ source = vmSymbols::unknown_class_name();
+ source_file = StringTable::intern(source, CHECK);
+ }
+ }
+ java_lang_StackTraceElement::set_fileName(element(), source_file);
int line_number = Backtrace::get_line_number(method, bci);
java_lang_StackTraceElement::set_lineNumber(element(), line_number);
@@ -3980,6 +4010,7 @@
int java_lang_Class::_init_lock_offset;
int java_lang_Class::_signers_offset;
int java_lang_Class::_name_offset;
+int java_lang_Class::_source_file_offset;
GrowableArray<Klass*>* java_lang_Class::_fixup_mirror_list = NULL;
GrowableArray<Klass*>* java_lang_Class::_fixup_module_field_list = NULL;
int java_lang_Throwable::backtrace_offset;
--- a/src/hotspot/share/classfile/javaClasses.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/javaClasses.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_JAVACLASSES_HPP
-#define SHARE_VM_CLASSFILE_JAVACLASSES_HPP
+#ifndef SHARE_CLASSFILE_JAVACLASSES_HPP
+#define SHARE_CLASSFILE_JAVACLASSES_HPP
#include "classfile/systemDictionary.hpp"
#include "jvmtifiles/jvmti.h"
@@ -147,13 +147,16 @@
static inline unsigned int hash(oop java_string);
static inline bool is_latin1(oop java_string);
static inline int length(oop java_string);
+ static inline int length(oop java_string, typeArrayOop string_value);
static int utf8_length(oop java_string);
+ static int utf8_length(oop java_string, typeArrayOop string_value);
// String converters
static char* as_utf8_string(oop java_string);
static char* as_utf8_string(oop java_string, char* buf, int buflen);
static char* as_utf8_string(oop java_string, int start, int len);
- static char* as_utf8_string(oop java_string, int start, int len, char* buf, int buflen);
+ static char* as_utf8_string(oop java_string, typeArrayOop value, char* buf, int buflen);
+ static char* as_utf8_string(oop java_string, typeArrayOop value, int start, int len, char* buf, int buflen);
static char* as_platform_dependent_str(Handle java_string, TRAPS);
static jchar* as_unicode_string(oop java_string, int& length, TRAPS);
// produce an ascii string with all other values quoted using \u####
@@ -219,7 +222,8 @@
macro(java_lang_Class, oop_size, int_signature, false) \
macro(java_lang_Class, static_oop_field_count, int_signature, false) \
macro(java_lang_Class, protection_domain, object_signature, false) \
- macro(java_lang_Class, signers, object_signature, false)
+ macro(java_lang_Class, signers, object_signature, false) \
+ macro(java_lang_Class, source_file, object_signature, false) \
class java_lang_Class : AllStatic {
friend class VMStructs;
@@ -241,6 +245,7 @@
static int _module_offset;
static int _component_mirror_offset;
static int _name_offset;
+ static int _source_file_offset;
static bool offsets_computed;
static int classRedefinedCount_offset;
@@ -313,6 +318,9 @@
static oop name(Handle java_class, TRAPS);
+ static oop source_file(oop java_class);
+ static void set_source_file(oop java_class, oop source_file);
+
static int oop_size(oop java_class);
static int oop_size_raw(oop java_class);
static void set_oop_size(HeapWord* java_class, int size);
@@ -1541,4 +1549,4 @@
#undef DECLARE_INJECTED_FIELD_ENUM
-#endif // SHARE_VM_CLASSFILE_JAVACLASSES_HPP
+#endif // SHARE_CLASSFILE_JAVACLASSES_HPP
--- a/src/hotspot/share/classfile/javaClasses.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/javaClasses.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_JAVACLASSES_INLINE_HPP
-#define SHARE_VM_CLASSFILE_JAVACLASSES_INLINE_HPP
+#ifndef SHARE_CLASSFILE_JAVACLASSES_INLINE_HPP
+#define SHARE_CLASSFILE_JAVACLASSES_INLINE_HPP
#include "classfile/javaClasses.hpp"
#include "oops/access.inline.hpp"
@@ -71,10 +71,11 @@
assert(CompactStrings || coder == CODER_UTF16, "Must be UTF16 without CompactStrings");
return coder == CODER_LATIN1;
}
-int java_lang_String::length(oop java_string) {
+int java_lang_String::length(oop java_string, typeArrayOop value) {
assert(initialized, "Must be initialized");
assert(is_instance(java_string), "must be java_string");
- typeArrayOop value = java_lang_String::value_no_keepalive(java_string);
+ assert(oopDesc::equals_raw(value, java_lang_String::value(java_string)),
+ "value must be same as java_lang_String::value(java_string)");
if (value == NULL) {
return 0;
}
@@ -85,6 +86,12 @@
}
return arr_length;
}
+int java_lang_String::length(oop java_string) {
+ assert(initialized, "Must be initialized");
+ assert(is_instance(java_string), "must be java_string");
+ typeArrayOop value = java_lang_String::value_no_keepalive(java_string);
+ return length(java_string, value);
+}
bool java_lang_String::is_instance_inlined(oop obj) {
return obj != NULL && obj->klass() == SystemDictionary::String_klass();
@@ -190,6 +197,13 @@
return is_primitive;
}
+inline int java_lang_Class::oop_size_raw(oop java_class) {
+ assert(_oop_size_offset != 0, "must be set");
+ int size = java_class->int_field_raw(_oop_size_offset);
+ assert(size > 0, "Oop size must be greater than zero, not %d", size);
+ return size;
+}
+
inline bool java_lang_invoke_DirectMethodHandle::is_instance(oop obj) {
return obj != NULL && is_subclass(obj->klass());
}
@@ -258,4 +272,4 @@
}
}
-#endif // SHARE_VM_CLASSFILE_JAVACLASSES_INLINE_HPP
+#endif // SHARE_CLASSFILE_JAVACLASSES_INLINE_HPP
--- a/src/hotspot/share/classfile/klassFactory.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/klassFactory.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_KLASSFACTORY_HPP
-#define SHARE_VM_CLASSFILE_KLASSFACTORY_HPP
+#ifndef SHARE_CLASSFILE_KLASSFACTORY_HPP
+#define SHARE_CLASSFILE_KLASSFACTORY_HPP
#include "memory/allocation.hpp"
#include "runtime/handles.hpp"
@@ -83,4 +83,4 @@
Handle protection_domain, TRAPS);
};
-#endif // SHARE_VM_CLASSFILE_KLASSFACTORY_HPP
+#endif // SHARE_CLASSFILE_KLASSFACTORY_HPP
--- a/src/hotspot/share/classfile/loaderConstraints.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/loaderConstraints.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_LOADERCONSTRAINTS_HPP
-#define SHARE_VM_CLASSFILE_LOADERCONSTRAINTS_HPP
+#ifndef SHARE_CLASSFILE_LOADERCONSTRAINTS_HPP
+#define SHARE_CLASSFILE_LOADERCONSTRAINTS_HPP
#include "classfile/placeholders.hpp"
#include "utilities/hashtable.hpp"
@@ -130,4 +130,4 @@
void set_loader(int i, oop p);
};
-#endif // SHARE_VM_CLASSFILE_LOADERCONSTRAINTS_HPP
+#endif // SHARE_CLASSFILE_LOADERCONSTRAINTS_HPP
--- a/src/hotspot/share/classfile/metadataOnStackMark.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/metadataOnStackMark.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_METADATAONSTACKMARK_HPP
-#define SHARE_VM_CLASSFILE_METADATAONSTACKMARK_HPP
+#ifndef SHARE_CLASSFILE_METADATAONSTACKMARK_HPP
+#define SHARE_CLASSFILE_METADATAONSTACKMARK_HPP
#include "memory/allocation.hpp"
#include "utilities/chunkedList.hpp"
@@ -55,4 +55,4 @@
static void retire_current_buffer();
};
-#endif // SHARE_VM_CLASSFILE_METADATAONSTACKMARK_HPP
+#endif // SHARE_CLASSFILE_METADATAONSTACKMARK_HPP
--- a/src/hotspot/share/classfile/moduleEntry.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/moduleEntry.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_MODULEENTRY_HPP
-#define SHARE_VM_CLASSFILE_MODULEENTRY_HPP
+#ifndef SHARE_CLASSFILE_MODULEENTRY_HPP
+#define SHARE_CLASSFILE_MODULEENTRY_HPP
#include "jni.h"
#include "classfile/classLoaderData.hpp"
@@ -264,4 +264,4 @@
void verify();
};
-#endif // SHARE_VM_CLASSFILE_MODULEENTRY_HPP
+#endif // SHARE_CLASSFILE_MODULEENTRY_HPP
--- a/src/hotspot/share/classfile/modules.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/modules.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_MODULES_HPP
-#define SHARE_VM_CLASSFILE_MODULES_HPP
+#ifndef SHARE_CLASSFILE_MODULES_HPP
+#define SHARE_CLASSFILE_MODULES_HPP
#include "memory/allocation.hpp"
#include "runtime/handles.hpp"
@@ -126,4 +126,4 @@
static ModuleEntryTable* get_module_entry_table(Handle h_loader);
};
-#endif // SHARE_VM_CLASSFILE_MODULES_HPP
+#endif // SHARE_CLASSFILE_MODULES_HPP
--- a/src/hotspot/share/classfile/packageEntry.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/packageEntry.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_PACKAGEENTRY_HPP
-#define SHARE_VM_CLASSFILE_PACKAGEENTRY_HPP
+#ifndef SHARE_CLASSFILE_PACKAGEENTRY_HPP
+#define SHARE_CLASSFILE_PACKAGEENTRY_HPP
#include "classfile/moduleEntry.hpp"
#include "oops/symbol.hpp"
@@ -265,4 +265,4 @@
void verify();
};
-#endif // SHARE_VM_CLASSFILE_PACKAGEENTRY_HPP
+#endif // SHARE_CLASSFILE_PACKAGEENTRY_HPP
--- a/src/hotspot/share/classfile/placeholders.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/placeholders.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_PLACEHOLDERS_HPP
-#define SHARE_VM_CLASSFILE_PLACEHOLDERS_HPP
+#ifndef SHARE_CLASSFILE_PLACEHOLDERS_HPP
+#define SHARE_CLASSFILE_PLACEHOLDERS_HPP
#include "runtime/thread.hpp"
#include "utilities/hashtable.hpp"
@@ -321,4 +321,4 @@
void verify() const;
};
-#endif // SHARE_VM_CLASSFILE_PLACEHOLDERS_HPP
+#endif // SHARE_CLASSFILE_PLACEHOLDERS_HPP
--- a/src/hotspot/share/classfile/protectionDomainCache.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/protectionDomainCache.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_PROTECTIONDOMAINCACHE_HPP
-#define SHARE_VM_CLASSFILE_PROTECTIONDOMAINCACHE_HPP
+#ifndef SHARE_CLASSFILE_PROTECTIONDOMAINCACHE_HPP
+#define SHARE_CLASSFILE_PROTECTIONDOMAINCACHE_HPP
#include "oops/oop.hpp"
#include "oops/weakHandle.hpp"
@@ -120,4 +120,4 @@
oop object();
oop object_no_keepalive();
};
-#endif // SHARE_VM_CLASSFILE_PROTECTIONDOMAINCACHE_HPP
+#endif // SHARE_CLASSFILE_PROTECTIONDOMAINCACHE_HPP
--- a/src/hotspot/share/classfile/resolutionErrors.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/resolutionErrors.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_RESOLUTIONERRORS_HPP
-#define SHARE_VM_CLASSFILE_RESOLUTIONERRORS_HPP
+#ifndef SHARE_CLASSFILE_RESOLUTIONERRORS_HPP
+#define SHARE_CLASSFILE_RESOLUTIONERRORS_HPP
#include "oops/constantPool.hpp"
#include "utilities/hashtable.hpp"
@@ -117,4 +117,4 @@
}
};
-#endif // SHARE_VM_CLASSFILE_RESOLUTIONERRORS_HPP
+#endif // SHARE_CLASSFILE_RESOLUTIONERRORS_HPP
--- a/src/hotspot/share/classfile/sharedPathsMiscInfo.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/sharedPathsMiscInfo.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_SHAREDPATHSMISCINFO_HPP
-#define SHARE_VM_CLASSFILE_SHAREDPATHSMISCINFO_HPP
+#ifndef SHARE_CLASSFILE_SHAREDPATHSMISCINFO_HPP
+#define SHARE_CLASSFILE_SHAREDPATHSMISCINFO_HPP
#include "classfile/classLoader.hpp"
#include "runtime/os.hpp"
@@ -165,4 +165,4 @@
bool check();
};
-#endif // SHARE_VM_CLASSFILE_SHAREDPATHSMISCINFO_HPP
+#endif // SHARE_CLASSFILE_SHAREDPATHSMISCINFO_HPP
--- a/src/hotspot/share/classfile/stackMapFrame.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/stackMapFrame.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_STACKMAPFRAME_HPP
-#define SHARE_VM_CLASSFILE_STACKMAPFRAME_HPP
+#ifndef SHARE_CLASSFILE_STACKMAPFRAME_HPP
+#define SHARE_CLASSFILE_STACKMAPFRAME_HPP
#include "classfile/verificationType.hpp"
#include "classfile/verifier.hpp"
@@ -295,4 +295,4 @@
void print_on(outputStream* str) const;
};
-#endif // SHARE_VM_CLASSFILE_STACKMAPFRAME_HPP
+#endif // SHARE_CLASSFILE_STACKMAPFRAME_HPP
--- a/src/hotspot/share/classfile/stackMapTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/stackMapTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_STACKMAPTABLE_HPP
-#define SHARE_VM_CLASSFILE_STACKMAPTABLE_HPP
+#ifndef SHARE_CLASSFILE_STACKMAPTABLE_HPP
+#define SHARE_CLASSFILE_STACKMAPTABLE_HPP
#include "classfile/stackMapFrame.hpp"
#include "classfile/verifier.hpp"
@@ -155,4 +155,4 @@
}
};
-#endif // SHARE_VM_CLASSFILE_STACKMAPTABLE_HPP
+#endif // SHARE_CLASSFILE_STACKMAPTABLE_HPP
--- a/src/hotspot/share/classfile/stackMapTableFormat.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/stackMapTableFormat.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_STACKMAPTABLEFORMAT_HPP
-#define SHARE_VM_CLASSFILE_STACKMAPTABLEFORMAT_HPP
+#ifndef SHARE_CLASSFILE_STACKMAPTABLEFORMAT_HPP
+#define SHARE_CLASSFILE_STACKMAPTABLEFORMAT_HPP
#include "classfile/verificationType.hpp"
@@ -963,4 +963,4 @@
#undef FOR_EACH_STACKMAP_FRAME_TYPE
-#endif // SHARE_VM_CLASSFILE_STACKMAPTABLEFORMAT_HPP
+#endif // SHARE_CLASSFILE_STACKMAPTABLEFORMAT_HPP
--- a/src/hotspot/share/classfile/stringTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/stringTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_STRINGTABLE_HPP
-#define SHARE_VM_CLASSFILE_STRINGTABLE_HPP
+#ifndef SHARE_CLASSFILE_STRINGTABLE_HPP
+#define SHARE_CLASSFILE_STRINGTABLE_HPP
#include "gc/shared/oopStorage.hpp"
#include "gc/shared/oopStorageParState.hpp"
@@ -177,4 +177,4 @@
static void verify();
};
-#endif // SHARE_VM_CLASSFILE_STRINGTABLE_HPP
+#endif // SHARE_CLASSFILE_STRINGTABLE_HPP
--- a/src/hotspot/share/classfile/symbolTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/symbolTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_SYMBOLTABLE_HPP
-#define SHARE_VM_CLASSFILE_SYMBOLTABLE_HPP
+#ifndef SHARE_CLASSFILE_SYMBOLTABLE_HPP
+#define SHARE_CLASSFILE_SYMBOLTABLE_HPP
#include "memory/allocation.hpp"
#include "memory/padded.hpp"
@@ -259,4 +259,4 @@
static void print_histogram() PRODUCT_RETURN;
};
-#endif // SHARE_VM_CLASSFILE_SYMBOLTABLE_HPP
+#endif // SHARE_CLASSFILE_SYMBOLTABLE_HPP
--- a/src/hotspot/share/classfile/systemDictionary.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/systemDictionary.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -860,8 +860,15 @@
check_constraints(d_hash, k, class_loader, false, THREAD);
// Need to check for a PENDING_EXCEPTION again; check_constraints
- // can throw and doesn't use the CHECK macro.
+ // can throw but we may have to remove entry from the placeholder table below.
if (!HAS_PENDING_EXCEPTION) {
+ // Record dependency for non-parent delegation.
+ // This recording keeps the defining class loader of the klass (k) found
+ // from being unloaded while the initiating class loader is loaded
+ // even if the reference to the defining class loader is dropped
+ // before references to the initiating class loader.
+ loader_data->record_dependency(k);
+
{ // Grabbing the Compile_lock prevents systemDictionary updates
// during compilations.
MutexLocker mu(Compile_lock, THREAD);
@@ -2179,6 +2186,7 @@
InstanceKlass* sd_check = find_class(d_hash, name, dictionary);
if (sd_check == NULL) {
dictionary->add_klass(d_hash, name, k);
+
notice_modification();
}
#ifdef ASSERT
--- a/src/hotspot/share/classfile/systemDictionary.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/systemDictionary.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_SYSTEMDICTIONARY_HPP
-#define SHARE_VM_CLASSFILE_SYSTEMDICTIONARY_HPP
+#ifndef SHARE_CLASSFILE_SYSTEMDICTIONARY_HPP
+#define SHARE_CLASSFILE_SYSTEMDICTIONARY_HPP
#include "classfile/classLoader.hpp"
#include "jvmci/systemDictionary_jvmci.hpp"
@@ -703,4 +703,4 @@
static bool _has_checkPackageAccess;
};
-#endif // SHARE_VM_CLASSFILE_SYSTEMDICTIONARY_HPP
+#endif // SHARE_CLASSFILE_SYSTEMDICTIONARY_HPP
--- a/src/hotspot/share/classfile/systemDictionaryShared.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/systemDictionaryShared.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -503,26 +503,33 @@
Handle SystemDictionaryShared::get_shared_protection_domain(Handle class_loader,
ModuleEntry* mod, TRAPS) {
ClassLoaderData *loader_data = mod->loader_data();
- Handle protection_domain;
if (mod->shared_protection_domain() == NULL) {
Symbol* location = mod->location();
if (location != NULL) {
- Handle url_string = java_lang_String::create_from_symbol(
- location, CHECK_(protection_domain));
+ Handle location_string = java_lang_String::create_from_symbol(
+ location, CHECK_NH);
+ Handle url;
JavaValue result(T_OBJECT);
- Klass* classLoaders_klass =
- SystemDictionary::jdk_internal_loader_ClassLoaders_klass();
- JavaCalls::call_static(&result, classLoaders_klass, vmSymbols::toFileURL_name(),
+ if (location->starts_with("jrt:/")) {
+ url = JavaCalls::construct_new_instance(SystemDictionary::URL_klass(),
+ vmSymbols::string_void_signature(),
+ location_string, CHECK_NH);
+ } else {
+ Klass* classLoaders_klass =
+ SystemDictionary::jdk_internal_loader_ClassLoaders_klass();
+ JavaCalls::call_static(&result, classLoaders_klass, vmSymbols::toFileURL_name(),
vmSymbols::toFileURL_signature(),
- url_string, CHECK_(protection_domain));
- Handle url = Handle(THREAD, (oop)result.get_jobject());
+ location_string, CHECK_NH);
+ url = Handle(THREAD, (oop)result.get_jobject());
+ }
- Handle pd = get_protection_domain_from_classloader(class_loader, url, THREAD);
+ Handle pd = get_protection_domain_from_classloader(class_loader, url,
+ CHECK_NH);
mod->set_shared_protection_domain(loader_data, pd);
}
}
- protection_domain = Handle(THREAD, mod->shared_protection_domain());
+ Handle protection_domain(THREAD, mod->shared_protection_domain());
assert(protection_domain.not_null(), "sanity");
return protection_domain;
}
--- a/src/hotspot/share/classfile/systemDictionaryShared.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/systemDictionaryShared.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP
-#define SHARE_VM_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP
+#ifndef SHARE_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP
+#define SHARE_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP
#include "oops/klass.hpp"
#include "classfile/dictionary.hpp"
@@ -300,4 +300,4 @@
DEBUG_ONLY(static bool checked_excluded_classes() {return _checked_excluded_classes;})
};
-#endif // SHARE_VM_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP
+#endif // SHARE_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP
--- a/src/hotspot/share/classfile/verificationType.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/verificationType.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -50,7 +50,6 @@
Klass* this_class = SystemDictionary::resolve_or_fail(
name, Handle(THREAD, klass->class_loader()),
Handle(THREAD, klass->protection_domain()), true, CHECK_false);
- klass->class_loader_data()->record_dependency(this_class);
if (log_is_enabled(Debug, class, resolve)) {
Verifier::trace_class_resolution(this_class, klass);
}
@@ -68,7 +67,6 @@
Klass* from_class = SystemDictionary::resolve_or_fail(
from_name, Handle(THREAD, klass->class_loader()),
Handle(THREAD, klass->protection_domain()), true, CHECK_false);
- klass->class_loader_data()->record_dependency(from_class);
if (log_is_enabled(Debug, class, resolve)) {
Verifier::trace_class_resolution(from_class, klass);
}
--- a/src/hotspot/share/classfile/verificationType.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/verificationType.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_VERIFICATIONTYPE_HPP
-#define SHARE_VM_CLASSFILE_VERIFICATIONTYPE_HPP
+#ifndef SHARE_CLASSFILE_VERIFICATIONTYPE_HPP
+#define SHARE_CLASSFILE_VERIFICATIONTYPE_HPP
#include "classfile/systemDictionary.hpp"
#include "oops/instanceKlass.hpp"
@@ -341,4 +341,4 @@
TRAPS);
};
-#endif // SHARE_VM_CLASSFILE_VERIFICATIONTYPE_HPP
+#endif // SHARE_CLASSFILE_VERIFICATIONTYPE_HPP
--- a/src/hotspot/share/classfile/verifier.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/verifier.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -2015,7 +2015,6 @@
true, THREAD);
if (kls != NULL) {
- current_class()->class_loader_data()->record_dependency(kls);
if (log_is_enabled(Debug, class, resolve)) {
Verifier::trace_class_resolution(kls, current_class());
}
--- a/src/hotspot/share/classfile/verifier.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/verifier.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_VERIFIER_HPP
-#define SHARE_VM_CLASSFILE_VERIFIER_HPP
+#ifndef SHARE_CLASSFILE_VERIFIER_HPP
+#define SHARE_CLASSFILE_VERIFIER_HPP
#include "classfile/verificationType.hpp"
#include "oops/klass.hpp"
@@ -463,4 +463,4 @@
}
}
-#endif // SHARE_VM_CLASSFILE_VERIFIER_HPP
+#endif // SHARE_CLASSFILE_VERIFIER_HPP
--- a/src/hotspot/share/classfile/vmSymbols.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/classfile/vmSymbols.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CLASSFILE_VMSYMBOLS_HPP
-#define SHARE_VM_CLASSFILE_VMSYMBOLS_HPP
+#ifndef SHARE_CLASSFILE_VMSYMBOLS_HPP
+#define SHARE_CLASSFILE_VMSYMBOLS_HPP
#include "classfile/moduleEntry.hpp"
#include "jfr/support/jfrIntrinsics.hpp"
@@ -425,6 +425,7 @@
template(static_oop_field_count_name, "static_oop_field_count") \
template(protection_domain_name, "protection_domain") \
template(signers_name, "signers_name") \
+ template(source_file_name, "source_file") \
template(loader_data_name, "loader_data") \
template(vmdependencies_name, "vmdependencies") \
template(last_cleanup_name, "last_cleanup") \
@@ -1656,4 +1657,4 @@
static bool is_intrinsic_available(vmIntrinsics::ID id);
};
-#endif // SHARE_VM_CLASSFILE_VMSYMBOLS_HPP
+#endif // SHARE_CLASSFILE_VMSYMBOLS_HPP
--- a/src/hotspot/share/code/codeBlob.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/codeBlob.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_CODEBLOB_HPP
-#define SHARE_VM_CODE_CODEBLOB_HPP
+#ifndef SHARE_CODE_CODEBLOB_HPP
+#define SHARE_CODE_CODEBLOB_HPP
#include "asm/codeBuffer.hpp"
#include "compiler/compilerDefinitions.hpp"
@@ -732,4 +732,4 @@
bool is_safepoint_stub() const { return true; }
};
-#endif // SHARE_VM_CODE_CODEBLOB_HPP
+#endif // SHARE_CODE_CODEBLOB_HPP
--- a/src/hotspot/share/code/codeCache.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/codeCache.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_CODECACHE_HPP
-#define SHARE_VM_CODE_CODECACHE_HPP
+#ifndef SHARE_CODE_CODECACHE_HPP
+#define SHARE_CODE_CODECACHE_HPP
#include "code/codeBlob.hpp"
#include "code/nmethod.hpp"
@@ -430,4 +430,4 @@
typedef CodeBlobIterator<CompiledMethod, CompiledMethodFilter> CompiledMethodIterator;
typedef CodeBlobIterator<nmethod, NMethodFilter> NMethodIterator;
-#endif // SHARE_VM_CODE_CODECACHE_HPP
+#endif // SHARE_CODE_CODECACHE_HPP
--- a/src/hotspot/share/code/codeHeapState.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/codeHeapState.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2018 SAP SE. All rights reserved.
+ * Copyright (c) 2018, 2019 SAP SE. 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
@@ -40,15 +40,17 @@
// contain enough detail to gain initial insight while keeping the
// internal structure sizes in check.
//
-// The CodeHeap is a living thing. Therefore, the aggregate is collected
-// under the CodeCache_lock. The subsequent print steps are only locked
-// against concurrent aggregations. That keeps the impact on
-// "normal operation" (JIT compiler and sweeper activity) to a minimum.
-//
// The second part, which consists of several, independent steps,
// prints the previously collected information with emphasis on
// various aspects.
//
+// The CodeHeap is a living thing. Therefore, protection against concurrent
+// modification (by acquiring the CodeCache_lock) is necessary. It has
+// to be provided by the caller of the analysis functions.
+// If the CodeCache_lock is not held, the analysis functions may print
+// less detailed information or may just do nothing. It is by intention
+// that an unprotected invocation is not abnormally terminated.
+//
// Data collection and printing is done on an "on request" basis.
// While no request is being processed, there is no impact on performance.
// The CodeHeap state analytics do have some memory footprint.
@@ -456,7 +458,7 @@
bool done = false;
const int min_granules = 256;
const int max_granules = 512*K; // limits analyzable CodeHeap (with segment_granules) to 32M..128M
- // results in StatArray size of 20M (= max_granules * 40 Bytes per element)
+ // results in StatArray size of 24M (= max_granules * 48 Bytes per element)
// For a 1GB CodeHeap, the granule size must be at least 2kB to not violate the max_granles limit.
const char* heapName = get_heapName(heap);
STRINGSTREAM_DECL(ast, out)
@@ -495,6 +497,12 @@
return;
}
+ if (!CodeCache_lock->owned_by_self()) {
+ printBox(ast, '-', "aggregate function called without holding the CodeCache_lock for ", heapName);
+ STRINGSTREAM_FLUSH("")
+ return;
+ }
+
// Calculate granularity of analysis (and output).
// The CodeHeap is managed (allocated) in segments (units) of CodeCacheSegmentSize.
// The CodeHeap can become fairly large, in particular in productive real-life systems.
@@ -1028,6 +1036,7 @@
STRINGSTREAM_FLUSH("\n")
// This loop is intentionally printing directly to "out".
+ // It should not print anything, anyway.
out->print("Verifying collected data...");
size_t granule_segs = granule_size>>log2_seg_size;
for (unsigned int ix = 0; ix < granules; ix++) {
@@ -1071,6 +1080,7 @@
}
// This loop is intentionally printing directly to "out".
+ // It should not print anything, anyway.
if (used_topSizeBlocks > 0) {
unsigned int j = 0;
if (TopSizeArray[0].len != currMax) {
@@ -1166,6 +1176,7 @@
//---< calculate and fill remaining fields >---
if (FreeArray != NULL) {
// This loop is intentionally printing directly to "out".
+ // It should not print anything, anyway.
for (unsigned int ix = 0; ix < alloc_freeBlocks-1; ix++) {
size_t lenSum = 0;
FreeArray[ix].gap = (unsigned int)((address)FreeArray[ix+1].start - ((address)FreeArray[ix].start + FreeArray[ix].len));
@@ -1223,6 +1234,7 @@
//----------------------------
{
char* low_bound = heap->low_boundary();
+ bool have_CodeCache_lock = CodeCache_lock->owned_by_self();
printBox(ast, '-', "Largest Used Blocks in ", heapName);
print_blobType_legend(ast);
@@ -1241,12 +1253,19 @@
unsigned int printed_topSizeBlocks = 0;
for (unsigned int i = 0; i != tsbStopper; i = TopSizeArray[i].index) {
printed_topSizeBlocks++;
- CodeBlob* this_blob = (CodeBlob*)(heap->find_start(TopSizeArray[i].start));
nmethod* nm = NULL;
- const char* blob_name = "unnamed blob";
- if (this_blob != NULL) {
- blob_name = this_blob->name();
- nm = this_blob->as_nmethod_or_null();
+ const char* blob_name = "unnamed blob or blob name unavailable";
+ // heap->find_start() is safe. Only works on _segmap.
+ // Returns NULL or void*. Returned CodeBlob may be uninitialized.
+ HeapBlock* heapBlock = TopSizeArray[i].start;
+ CodeBlob* this_blob = (CodeBlob*)(heap->find_start(heapBlock));
+ bool blob_is_safe = blob_access_is_safe(this_blob, NULL);
+ if (blob_is_safe) {
+ //---< access these fields only if we own the CodeCache_lock >---
+ if (have_CodeCache_lock) {
+ blob_name = this_blob->name();
+ nm = this_blob->as_nmethod_or_null();
+ }
//---< blob address >---
ast->print(INTPTR_FORMAT, p2i(this_blob));
ast->fill_to(19);
@@ -1262,10 +1281,18 @@
ast->fill_to(33);
}
-
//---< print size, name, and signature (for nMethods) >---
- if ((nm != NULL) && (nm->method() != NULL)) {
+ // access nmethod and Method fields only if we own the CodeCache_lock.
+ // This fact is implicitly transported via nm != NULL.
+ if (CompiledMethod::nmethod_access_is_safe(nm)) {
ResourceMark rm;
+ Method* method = nm->method();
+ if (nm->is_in_use()) {
+ blob_name = method->name_and_sig_as_C_string();
+ }
+ if (nm->is_not_entrant()) {
+ blob_name = method->name_and_sig_as_C_string();
+ }
//---< nMethod size in hex >---
unsigned int total_size = nm->total_size();
ast->print(PTR32_FORMAT, total_size);
@@ -1280,10 +1307,12 @@
ast->print("%5d", nm->hotness_counter());
//---< name and signature >---
ast->fill_to(67+6);
- if (nm->is_in_use()) {blob_name = nm->method()->name_and_sig_as_C_string(); }
- if (nm->is_not_entrant()) {blob_name = nm->method()->name_and_sig_as_C_string(); }
- if (nm->is_not_installed()) {ast->print("%s", " not (yet) installed method "); }
- if (nm->is_zombie()) {ast->print("%s", " zombie method "); }
+ if (nm->is_not_installed()) {
+ ast->print(" not (yet) installed method ");
+ }
+ if (nm->is_zombie()) {
+ ast->print(" zombie method ");
+ }
ast->print("%s", blob_name);
} else {
//---< block size in hex >---
@@ -2083,10 +2112,11 @@
}
STRINGSTREAM_DECL(ast, out)
- unsigned int granules_per_line = 128;
- char* low_bound = heap->low_boundary();
- CodeBlob* last_blob = NULL;
- bool name_in_addr_range = true;
+ unsigned int granules_per_line = 128;
+ char* low_bound = heap->low_boundary();
+ CodeBlob* last_blob = NULL;
+ bool name_in_addr_range = true;
+ bool have_CodeCache_lock = CodeCache_lock->owned_by_self();
//---< print at least 128K per block (i.e. between headers) >---
if (granules_per_line*granule_size < 128*K) {
@@ -2121,16 +2151,14 @@
StatArray[ix].stub_count + StatArray[ix].dead_count;
if (nBlobs > 0 ) {
for (unsigned int is = 0; is < granule_size; is+=(unsigned int)seg_size) {
- // heap->find_start() is safe. Only working with _segmap. Returns NULL or void*. Returned CodeBlob may be uninitialized.
- CodeBlob* this_blob = (CodeBlob *)(heap->find_start(low_bound+ix*granule_size+is));
- bool blob_initialized = (this_blob != NULL) && (this_blob->header_size() >= 0) && (this_blob->relocation_size() >= 0) &&
- ((address)this_blob + this_blob->header_size() == (address)(this_blob->relocation_begin())) &&
- ((address)this_blob + CodeBlob::align_code_offset(this_blob->header_size() + this_blob->relocation_size()) == (address)(this_blob->content_begin())) &&
- os::is_readable_pointer((address)(this_blob->relocation_begin())) &&
- os::is_readable_pointer(this_blob->content_begin());
+ // heap->find_start() is safe. Only works on _segmap.
+ // Returns NULL or void*. Returned CodeBlob may be uninitialized.
+ char* this_seg = low_bound + ix*granule_size + is;
+ CodeBlob* this_blob = (CodeBlob*)(heap->find_start(this_seg));
+ bool blob_is_safe = blob_access_is_safe(this_blob, NULL);
// blob could have been flushed, freed, and merged.
// this_blob < last_blob is an indicator for that.
- if (blob_initialized && (this_blob > last_blob)) {
+ if (blob_is_safe && (this_blob > last_blob)) {
last_blob = this_blob;
//---< get type and name >---
@@ -2138,12 +2166,22 @@
if (segment_granules) {
cbType = (blobType)StatArray[ix].type;
} else {
- cbType = get_cbType(this_blob);
+ //---< access these fields only if we own the CodeCache_lock >---
+ if (have_CodeCache_lock) {
+ cbType = get_cbType(this_blob);
+ }
}
- // this_blob->name() could return NULL if no name was given to CTOR. Inlined, maybe invisible on stack
- const char* blob_name = this_blob->name();
- if ((blob_name == NULL) || !os::is_readable_pointer(blob_name)) {
- blob_name = "<unavailable>";
+
+ //---< access these fields only if we own the CodeCache_lock >---
+ const char* blob_name = "<unavailable>";
+ nmethod* nm = NULL;
+ if (have_CodeCache_lock) {
+ blob_name = this_blob->name();
+ nm = this_blob->as_nmethod_or_null();
+ // this_blob->name() could return NULL if no name was given to CTOR. Inlined, maybe invisible on stack
+ if ((blob_name == NULL) || !os::is_readable_pointer(blob_name)) {
+ blob_name = "<unavailable>";
+ }
}
//---< print table header for new print range >---
@@ -2163,8 +2201,8 @@
ast->print("(+" PTR32_FORMAT ")", (unsigned int)((char*)this_blob-low_bound));
ast->fill_to(33);
- // this_blob->as_nmethod_or_null() is safe. Inlined, maybe invisible on stack.
- nmethod* nm = this_blob->as_nmethod_or_null();
+ // access nmethod and Method fields only if we own the CodeCache_lock.
+ // This fact is implicitly transported via nm != NULL.
if (CompiledMethod::nmethod_access_is_safe(nm)) {
Method* method = nm->method();
ResourceMark rm;
@@ -2201,14 +2239,17 @@
} else {
ast->print("%s", blob_name);
}
- } else {
+ } else if (blob_is_safe) {
ast->fill_to(62+6);
ast->print("%s", blobTypeName[cbType]);
ast->fill_to(82+6);
ast->print("%s", blob_name);
+ } else {
+ ast->fill_to(62+6);
+ ast->print("<stale blob>");
}
STRINGSTREAM_FLUSH_LOCKED("\n")
- } else if (!blob_initialized && (this_blob != last_blob) && (this_blob != NULL)) {
+ } else if (!blob_is_safe && (this_blob != last_blob) && (this_blob != NULL)) {
last_blob = this_blob;
STRINGSTREAM_FLUSH_LOCKED("\n")
}
@@ -2375,16 +2416,31 @@
if (cb->is_method_handles_adapter_blob()) return mh_adapterBlob;
if (cb->is_buffer_blob()) return bufferBlob;
- nmethod* nm = cb->as_nmethod_or_null();
- if (nm != NULL) { // no is_readable check required, nm = (nmethod*)cb.
- if (nm->is_not_installed()) return nMethod_inconstruction;
- if (nm->is_zombie()) return nMethod_dead;
- if (nm->is_unloaded()) return nMethod_unloaded;
- if (nm->is_in_use()) return nMethod_inuse;
- if (nm->is_alive() && !(nm->is_not_entrant())) return nMethod_notused;
- if (nm->is_alive()) return nMethod_alive;
- return nMethod_dead;
+ //---< access these fields only if we own the CodeCache_lock >---
+ // Should be ensured by caller. aggregate() amd print_names() do that.
+ if (CodeCache_lock->owned_by_self()) {
+ nmethod* nm = cb->as_nmethod_or_null();
+ if (nm != NULL) { // no is_readable check required, nm = (nmethod*)cb.
+ if (nm->is_not_installed()) return nMethod_inconstruction;
+ if (nm->is_zombie()) return nMethod_dead;
+ if (nm->is_unloaded()) return nMethod_unloaded;
+ if (nm->is_in_use()) return nMethod_inuse;
+ if (nm->is_alive() && !(nm->is_not_entrant())) return nMethod_notused;
+ if (nm->is_alive()) return nMethod_alive;
+ return nMethod_dead;
+ }
}
}
return noType;
}
+
+bool CodeHeapState::blob_access_is_safe(CodeBlob* this_blob, CodeBlob* prev_blob) {
+ return (this_blob != NULL) && // a blob must have been found, obviously
+ ((this_blob == prev_blob) || (prev_blob == NULL)) && // when re-checking, the same blob must have been found
+ (this_blob->header_size() >= 0) &&
+ (this_blob->relocation_size() >= 0) &&
+ ((address)this_blob + this_blob->header_size() == (address)(this_blob->relocation_begin())) &&
+ ((address)this_blob + CodeBlob::align_code_offset(this_blob->header_size() + this_blob->relocation_size()) == (address)(this_blob->content_begin())) &&
+ os::is_readable_pointer((address)(this_blob->relocation_begin())) &&
+ os::is_readable_pointer(this_blob->content_begin());
+}
--- a/src/hotspot/share/code/codeHeapState.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/codeHeapState.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2018 SAP SE. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019 SAP SE. 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
@@ -95,6 +95,7 @@
static void print_line_delim(outputStream* out, bufferedStream *sst, char* low_bound, unsigned int ix, unsigned int gpl);
static void print_line_delim(outputStream* out, outputStream *sst, char* low_bound, unsigned int ix, unsigned int gpl);
static blobType get_cbType(CodeBlob* cb);
+ static bool blob_access_is_safe(CodeBlob* this_blob, CodeBlob* prev_blob);
public:
static void discard(outputStream* out, CodeHeap* heap);
--- a/src/hotspot/share/code/compiledIC.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/compiledIC.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -482,10 +482,10 @@
if (TraceICs) {
ResourceMark rm(thread);
assert(info.cached_metadata() == NULL || info.cached_metadata()->is_klass(), "must be");
- tty->print_cr ("IC@" INTPTR_FORMAT ": monomorphic to compiled (rcvr klass) %s: %s",
+ tty->print_cr ("IC@" INTPTR_FORMAT ": monomorphic to compiled (rcvr klass = %s) %s",
p2i(instruction_address()),
- ((Klass*)info.cached_metadata())->print_value_string(),
- (safe) ? "" : "via stub");
+ (info.cached_metadata() != NULL) ? ((Klass*)info.cached_metadata())->print_value_string() : "NULL",
+ (safe) ? "" : " via stub");
}
}
// We can't check this anymore. With lazy deopt we could have already
--- a/src/hotspot/share/code/compiledIC.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/compiledIC.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_COMPILEDIC_HPP
-#define SHARE_VM_CODE_COMPILEDIC_HPP
+#ifndef SHARE_CODE_COMPILEDIC_HPP
+#define SHARE_CODE_COMPILEDIC_HPP
#include "code/nativeInst.hpp"
#include "interpreter/linkResolver.hpp"
@@ -454,4 +454,4 @@
virtual const char* name() const { return "CompiledDirectStaticCall"; }
};
-#endif // SHARE_VM_CODE_COMPILEDIC_HPP
+#endif // SHARE_CODE_COMPILEDIC_HPP
--- a/src/hotspot/share/code/compiledMethod.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/compiledMethod.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_COMPILEDMETHOD_HPP
-#define SHARE_VM_CODE_COMPILEDMETHOD_HPP
+#ifndef SHARE_CODE_COMPILEDMETHOD_HPP
+#define SHARE_CODE_COMPILEDMETHOD_HPP
#include "code/codeBlob.hpp"
#include "code/pcDesc.hpp"
@@ -414,4 +414,4 @@
nmethod* _scavenge_root_link; // from CodeCache::scavenge_root_nmethods
};
-#endif //SHARE_VM_CODE_COMPILEDMETHOD_HPP
+#endif // SHARE_CODE_COMPILEDMETHOD_HPP
--- a/src/hotspot/share/code/compiledMethod.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/compiledMethod.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_COMPILEDMETHOD_INLINE_HPP
-#define SHARE_VM_CODE_COMPILEDMETHOD_INLINE_HPP
+#ifndef SHARE_CODE_COMPILEDMETHOD_INLINE_HPP
+#define SHARE_CODE_COMPILEDMETHOD_INLINE_HPP
#include "code/compiledMethod.hpp"
#include "code/nativeInst.hpp"
@@ -77,4 +77,4 @@
inline void ExceptionCache::increment_count() { OrderAccess::release_store(&_count, _count + 1); }
-#endif //SHARE_VM_CODE_COMPILEDMETHOD_INLINE_HPP
+#endif // SHARE_CODE_COMPILEDMETHOD_INLINE_HPP
--- a/src/hotspot/share/code/compressedStream.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/compressedStream.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_COMPRESSEDSTREAM_HPP
-#define SHARE_VM_CODE_COMPRESSEDSTREAM_HPP
+#ifndef SHARE_CODE_COMPRESSEDSTREAM_HPP
+#define SHARE_CODE_COMPRESSEDSTREAM_HPP
#include "memory/allocation.hpp"
@@ -157,4 +157,4 @@
void write_long(jlong value); // write_signed_int(<low,high>)
};
-#endif // SHARE_VM_CODE_COMPRESSEDSTREAM_HPP
+#endif // SHARE_CODE_COMPRESSEDSTREAM_HPP
--- a/src/hotspot/share/code/debugInfo.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/debugInfo.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_DEBUGINFO_HPP
-#define SHARE_VM_CODE_DEBUGINFO_HPP
+#ifndef SHARE_CODE_DEBUGINFO_HPP
+#define SHARE_CODE_DEBUGINFO_HPP
#include "code/compressedStream.hpp"
#include "code/location.hpp"
@@ -301,4 +301,4 @@
void write_metadata(Metadata* m);
};
-#endif // SHARE_VM_CODE_DEBUGINFO_HPP
+#endif // SHARE_CODE_DEBUGINFO_HPP
--- a/src/hotspot/share/code/debugInfoRec.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/debugInfoRec.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_DEBUGINFOREC_HPP
-#define SHARE_VM_CODE_DEBUGINFOREC_HPP
+#ifndef SHARE_CODE_DEBUGINFOREC_HPP
+#define SHARE_CODE_DEBUGINFOREC_HPP
#include "ci/ciClassList.hpp"
#include "ci/ciInstanceKlass.hpp"
@@ -208,4 +208,4 @@
enum { serialized_null = 0 };
};
-#endif // SHARE_VM_CODE_DEBUGINFOREC_HPP
+#endif // SHARE_CODE_DEBUGINFOREC_HPP
--- a/src/hotspot/share/code/dependencies.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/dependencies.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_DEPENDENCIES_HPP
-#define SHARE_VM_CODE_DEPENDENCIES_HPP
+#ifndef SHARE_CODE_DEPENDENCIES_HPP
+#define SHARE_CODE_DEPENDENCIES_HPP
#include "ci/ciCallSite.hpp"
#include "ci/ciKlass.hpp"
@@ -799,4 +799,4 @@
oop method_handle() const { return _method_handle(); }
};
-#endif // SHARE_VM_CODE_DEPENDENCIES_HPP
+#endif // SHARE_CODE_DEPENDENCIES_HPP
--- a/src/hotspot/share/code/dependencyContext.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/dependencyContext.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_DEPENDENCYCONTEXT_HPP
-#define SHARE_VM_CODE_DEPENDENCYCONTEXT_HPP
+#ifndef SHARE_CODE_DEPENDENCYCONTEXT_HPP
+#define SHARE_CODE_DEPENDENCYCONTEXT_HPP
#include "memory/allocation.hpp"
#include "oops/oop.hpp"
@@ -132,4 +132,4 @@
bool is_dependent_nmethod(nmethod* nm);
#endif //PRODUCT
};
-#endif // SHARE_VM_CODE_DEPENDENCYCONTEXT_HPP
+#endif // SHARE_CODE_DEPENDENCYCONTEXT_HPP
--- a/src/hotspot/share/code/exceptionHandlerTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/exceptionHandlerTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_EXCEPTIONHANDLERTABLE_HPP
-#define SHARE_VM_CODE_EXCEPTIONHANDLERTABLE_HPP
+#ifndef SHARE_CODE_EXCEPTIONHANDLERTABLE_HPP
+#define SHARE_CODE_EXCEPTIONHANDLERTABLE_HPP
#include "memory/allocation.hpp"
#include "oops/method.hpp"
@@ -163,4 +163,4 @@
void verify(nmethod *nm) const;
};
-#endif // SHARE_VM_CODE_EXCEPTIONHANDLERTABLE_HPP
+#endif // SHARE_CODE_EXCEPTIONHANDLERTABLE_HPP
--- a/src/hotspot/share/code/icBuffer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/icBuffer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_ICBUFFER_HPP
-#define SHARE_VM_CODE_ICBUFFER_HPP
+#ifndef SHARE_CODE_ICBUFFER_HPP
+#define SHARE_CODE_ICBUFFER_HPP
#include "asm/codeBuffer.hpp"
#include "code/stubs.hpp"
@@ -178,4 +178,4 @@
static void* cached_value_for(CompiledIC *ic);
};
-#endif // SHARE_VM_CODE_ICBUFFER_HPP
+#endif // SHARE_CODE_ICBUFFER_HPP
--- a/src/hotspot/share/code/location.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/location.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_LOCATION_HPP
-#define SHARE_VM_CODE_LOCATION_HPP
+#ifndef SHARE_CODE_LOCATION_HPP
+#define SHARE_CODE_LOCATION_HPP
#include "asm/assembler.hpp"
#include "code/vmreg.hpp"
@@ -123,4 +123,4 @@
static bool legal_offset_in_bytes(int offset_in_bytes);
};
-#endif // SHARE_VM_CODE_LOCATION_HPP
+#endif // SHARE_CODE_LOCATION_HPP
--- a/src/hotspot/share/code/nativeInst.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/nativeInst.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,11 +22,11 @@
*
*/
-#ifndef SHARE_VM_CODE_NATIVEINST_HPP
-#define SHARE_VM_CODE_NATIVEINST_HPP
+#ifndef SHARE_CODE_NATIVEINST_HPP
+#define SHARE_CODE_NATIVEINST_HPP
#include "utilities/macros.hpp"
#include CPU_HEADER(nativeInst)
-#endif // SHARE_VM_CODE_NATIVEINST_HPP
+#endif // SHARE_CODE_NATIVEINST_HPP
--- a/src/hotspot/share/code/nmethod.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/nmethod.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1159,6 +1159,19 @@
}
}
+void nmethod::unlink_from_method(bool acquire_lock) {
+ // We need to check if both the _code and _from_compiled_code_entry_point
+ // refer to this nmethod because there is a race in setting these two fields
+ // in Method* as seen in bugid 4947125.
+ // If the vep() points to the zombie nmethod, the memory for the nmethod
+ // could be flushed and the compiler and vtable stubs could still call
+ // through it.
+ if (method() != NULL && (method()->code() == this ||
+ method()->from_compiled_entry() == verified_entry_point())) {
+ method()->clear_code(acquire_lock);
+ }
+}
+
/**
* Common functionality for both make_not_entrant and make_zombie
*/
@@ -1246,17 +1259,7 @@
JVMCI_ONLY(maybe_invalidate_installed_code());
// Remove nmethod from method.
- // We need to check if both the _code and _from_compiled_code_entry_point
- // refer to this nmethod because there is a race in setting these two fields
- // in Method* as seen in bugid 4947125.
- // If the vep() points to the zombie nmethod, the memory for the nmethod
- // could be flushed and the compiler and vtable stubs could still call
- // through it.
- if (method() != NULL && (method()->code() == this ||
- method()->from_compiled_entry() == verified_entry_point())) {
- HandleMark hm;
- method()->clear_code(false /* already owns Patching_lock */);
- }
+ unlink_from_method(false /* already owns Patching_lock */);
} // leave critical region under Patching_lock
#ifdef ASSERT
--- a/src/hotspot/share/code/nmethod.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/nmethod.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_NMETHOD_HPP
-#define SHARE_VM_CODE_NMETHOD_HPP
+#ifndef SHARE_CODE_NMETHOD_HPP
+#define SHARE_CODE_NMETHOD_HPP
#include "code/compiledMethod.hpp"
@@ -377,6 +377,8 @@
int comp_level() const { return _comp_level; }
+ void unlink_from_method(bool acquire_lock);
+
// Support for oops in scopes and relocs:
// Note: index 0 is reserved for null.
oop oop_at(int index) const;
@@ -668,4 +670,4 @@
}
};
-#endif // SHARE_VM_CODE_NMETHOD_HPP
+#endif // SHARE_CODE_NMETHOD_HPP
--- a/src/hotspot/share/code/oopRecorder.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/oopRecorder.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_OOPRECORDER_HPP
-#define SHARE_VM_CODE_OOPRECORDER_HPP
+#ifndef SHARE_CODE_OOPRECORDER_HPP
+#define SHARE_CODE_OOPRECORDER_HPP
#include "memory/universe.hpp"
#include "runtime/handles.hpp"
@@ -257,4 +257,4 @@
};
-#endif // SHARE_VM_CODE_OOPRECORDER_HPP
+#endif // SHARE_CODE_OOPRECORDER_HPP
--- a/src/hotspot/share/code/pcDesc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/pcDesc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_PCDESC_HPP
-#define SHARE_VM_CODE_PCDESC_HPP
+#ifndef SHARE_CODE_PCDESC_HPP
+#define SHARE_CODE_PCDESC_HPP
// PcDescs map a physical PC (given as offset from start of nmethod) to
@@ -96,4 +96,4 @@
bool verify(CompiledMethod* code);
};
-#endif // SHARE_VM_CODE_PCDESC_HPP
+#endif // SHARE_CODE_PCDESC_HPP
--- a/src/hotspot/share/code/relocInfo.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/relocInfo.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_RELOCINFO_HPP
-#define SHARE_VM_CODE_RELOCINFO_HPP
+#ifndef SHARE_CODE_RELOCINFO_HPP
+#define SHARE_CODE_RELOCINFO_HPP
#include "runtime/os.hpp"
#include "utilities/macros.hpp"
@@ -1392,4 +1392,4 @@
initialize(nm, begin, limit);
}
-#endif // SHARE_VM_CODE_RELOCINFO_HPP
+#endif // SHARE_CODE_RELOCINFO_HPP
--- a/src/hotspot/share/code/relocInfo_ext.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/relocInfo_ext.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_RELOCINFO_EXT_HPP
-#define SHARE_VM_CODE_RELOCINFO_EXT_HPP
+#ifndef SHARE_CODE_RELOCINFO_EXT_HPP
+#define SHARE_CODE_RELOCINFO_EXT_HPP
// symbolic_Relocation allows to anotate some addresses in the generated code.
//
@@ -58,4 +58,4 @@
static address symbolic_value(symbolic_reference t);
};
-#endif // SHARE_VM_CODE_RELOCINFO_EXT_HPP
+#endif // SHARE_CODE_RELOCINFO_EXT_HPP
--- a/src/hotspot/share/code/scopeDesc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/scopeDesc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_SCOPEDESC_HPP
-#define SHARE_VM_CODE_SCOPEDESC_HPP
+#ifndef SHARE_CODE_SCOPEDESC_HPP
+#define SHARE_CODE_SCOPEDESC_HPP
#include "code/debugInfo.hpp"
#include "code/pcDesc.hpp"
@@ -141,4 +141,4 @@
#endif
};
-#endif // SHARE_VM_CODE_SCOPEDESC_HPP
+#endif // SHARE_CODE_SCOPEDESC_HPP
--- a/src/hotspot/share/code/stubs.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/stubs.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_STUBS_HPP
-#define SHARE_VM_CODE_STUBS_HPP
+#ifndef SHARE_CODE_STUBS_HPP
+#define SHARE_CODE_STUBS_HPP
#include "asm/codeBuffer.hpp"
#include "memory/allocation.hpp"
@@ -215,4 +215,4 @@
};
-#endif // SHARE_VM_CODE_STUBS_HPP
+#endif // SHARE_CODE_STUBS_HPP
--- a/src/hotspot/share/code/vmreg.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/vmreg.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_VMREG_HPP
-#define SHARE_VM_CODE_VMREG_HPP
+#ifndef SHARE_CODE_VMREG_HPP
+#define SHARE_CODE_VMREG_HPP
#include "asm/register.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -197,4 +197,4 @@
VMRegPair() { _second = VMRegImpl::Bad(); _first = VMRegImpl::Bad(); }
};
-#endif // SHARE_VM_CODE_VMREG_HPP
+#endif // SHARE_CODE_VMREG_HPP
--- a/src/hotspot/share/code/vmreg.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/vmreg.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,11 +22,11 @@
*
*/
-#ifndef SHARE_VM_CODE_VMREG_INLINE_HPP
-#define SHARE_VM_CODE_VMREG_INLINE_HPP
+#ifndef SHARE_CODE_VMREG_INLINE_HPP
+#define SHARE_CODE_VMREG_INLINE_HPP
#include "asm/register.hpp"
#include "code/vmreg.hpp"
#include CPU_HEADER_INLINE(vmreg)
-#endif // SHARE_VM_CODE_VMREG_INLINE_HPP
+#endif // SHARE_CODE_VMREG_INLINE_HPP
--- a/src/hotspot/share/code/vtableStubs.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/code/vtableStubs.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_CODE_VTABLESTUBS_HPP
-#define SHARE_VM_CODE_VTABLESTUBS_HPP
+#ifndef SHARE_CODE_VTABLESTUBS_HPP
+#define SHARE_CODE_VTABLESTUBS_HPP
#include "asm/macroAssembler.hpp"
#include "code/vmreg.hpp"
@@ -181,4 +181,4 @@
};
-#endif // SHARE_VM_CODE_VTABLESTUBS_HPP
+#endif // SHARE_CODE_VTABLESTUBS_HPP
--- a/src/hotspot/share/compiler/abstractCompiler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/abstractCompiler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_ABSTRACTCOMPILER_HPP
-#define SHARE_VM_COMPILER_ABSTRACTCOMPILER_HPP
+#ifndef SHARE_COMPILER_ABSTRACTCOMPILER_HPP
+#define SHARE_COMPILER_ABSTRACTCOMPILER_HPP
#include "ci/compilerInterface.hpp"
#include "compiler/compilerDefinitions.hpp"
@@ -184,4 +184,4 @@
#endif
};
-#endif // SHARE_VM_COMPILER_ABSTRACTCOMPILER_HPP
+#endif // SHARE_COMPILER_ABSTRACTCOMPILER_HPP
--- a/src/hotspot/share/compiler/compileBroker.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/compileBroker.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -2045,6 +2045,7 @@
Method* target_handle = task->method();
int compilable = ciEnv::MethodCompilable;
const char* failure_reason = NULL;
+ bool failure_reason_on_C_heap = false;
const char* retry_message = NULL;
int system_dictionary_modification_counter;
@@ -2071,6 +2072,7 @@
jvmci->compile_method(method, osr_bci, &env);
failure_reason = env.failure_reason();
+ failure_reason_on_C_heap = env.failure_reason_on_C_heap();
if (!env.retryable()) {
retry_message = "not retryable";
compilable = ciEnv::MethodCompilable_not_at_tier;
@@ -2146,7 +2148,7 @@
pop_jni_handle_block();
if (failure_reason != NULL) {
- task->set_failure_reason(failure_reason);
+ task->set_failure_reason(failure_reason, failure_reason_on_C_heap);
if (_compilation_log != NULL) {
_compilation_log->log_failure(thread, task, failure_reason, retry_message);
}
@@ -2212,15 +2214,6 @@
// the point somewhat) our clearing of the bits must be occurring
// only after the setting of the bits. See also 14012000 above.
method->clear_queued_for_compilation();
-
-#ifdef ASSERT
- if (CollectedHeap::fired_fake_oom()) {
- // The current compile received a fake OOM during compilation so
- // go ahead and exit the VM since the test apparently succeeded
- tty->print_cr("*** Shutting down VM after successful fake OOM");
- vm_exit(0);
- }
-#endif
}
/**
@@ -2672,6 +2665,7 @@
// preventing concurrently printing threads from stalling a long time.
void CompileBroker::print_heapinfo(outputStream* out, const char* function, const char* granularity) {
TimeStamp ts_total;
+ TimeStamp ts_global;
TimeStamp ts;
bool allFun = !strcmp(function, "all");
@@ -2701,35 +2695,43 @@
}
// We hold the CodeHeapStateAnalytics_lock all the time, from here until we leave this function.
- // That helps us getting a consistent view on the CodeHeap, at least for the "all" function.
+ // That prevents another thread from destroying our view on the CodeHeap.
// When we request individual parts of the analysis via the jcmd interface, it is possible
// that in between another thread (another jcmd user or the vm running into CodeCache OOM)
// updated the aggregated data. That's a tolerable tradeoff because we can't hold a lock
// across user interaction.
+ // Acquire this lock before acquiring the CodeCache_lock.
+ // CodeHeapStateAnalytics_lock could be held by a concurrent thread for a long time,
+ // leading to an unnecessarily long hold time of the CodeCache_lock.
ts.update(); // record starting point
MutexLockerEx mu1(CodeHeapStateAnalytics_lock, Mutex::_no_safepoint_check_flag);
- out->cr();
- out->print_cr("__ CodeHeapStateAnalytics lock wait took %10.3f seconds _________", ts.seconds());
- out->cr();
+ out->print_cr("\n__ CodeHeapStateAnalytics lock wait took %10.3f seconds _________\n", ts.seconds());
+
+ // If we serve an "allFun" call, it is beneficial to hold the CodeCache_lock
+ // for the entire duration of aggregation and printing. That makes sure
+ // we see a consistent picture and do not run into issues caused by
+ // the CodeHeap being altered concurrently.
+ Monitor* global_lock = allFun ? CodeCache_lock : NULL;
+ Monitor* function_lock = allFun ? NULL : CodeCache_lock;
+ ts_global.update(); // record starting point
+ MutexLockerEx mu2(global_lock, Mutex::_no_safepoint_check_flag);
+ if (global_lock != NULL) {
+ out->print_cr("\n__ CodeCache (global) lock wait took %10.3f seconds _________\n", ts_global.seconds());
+ ts_global.update(); // record starting point
+ }
if (aggregate) {
- // It is sufficient to hold the CodeCache_lock only for the aggregate step.
- // All other functions operate on aggregated data - except MethodNames, but that should be safe.
- // The separate CodeHeapStateAnalytics_lock protects the printing functions against
- // concurrent aggregate steps. Acquire this lock before acquiring the CodeCache_lock.
- // CodeHeapStateAnalytics_lock could be held by a concurrent thread for a long time,
- // leading to an unnecessarily long hold time of the CodeCache_lock.
ts.update(); // record starting point
- MutexLockerEx mu2(CodeCache_lock, Mutex::_no_safepoint_check_flag);
- out->cr();
- out->print_cr("__ CodeCache lock wait took %10.3f seconds _________", ts.seconds());
- out->cr();
+ MutexLockerEx mu3(function_lock, Mutex::_no_safepoint_check_flag);
+ if (function_lock != NULL) {
+ out->print_cr("\n__ CodeCache (function) lock wait took %10.3f seconds _________\n", ts.seconds());
+ }
ts.update(); // record starting point
CodeCache::aggregate(out, granularity);
- out->cr();
- out->print_cr("__ CodeCache lock hold took %10.3f seconds _________", ts.seconds());
- out->cr();
+ if (function_lock != NULL) {
+ out->print_cr("\n__ CodeCache (function) lock hold took %10.3f seconds _________\n", ts.seconds());
+ }
}
if (usedSpace) CodeCache::print_usedSpace(out);
@@ -2737,10 +2739,16 @@
if (methodCount) CodeCache::print_count(out);
if (methodSpace) CodeCache::print_space(out);
if (methodAge) CodeCache::print_age(out);
- if (methodNames) CodeCache::print_names(out);
+ if (methodNames) {
+ // print_names() has shown to be sensitive to concurrent CodeHeap modifications.
+ // Therefore, request the CodeCache_lock before calling...
+ MutexLockerEx mu3(function_lock, Mutex::_no_safepoint_check_flag);
+ CodeCache::print_names(out);
+ }
if (discard) CodeCache::discard(out);
- out->cr();
- out->print_cr("__ CodeHeapStateAnalytics total duration %10.3f seconds _________", ts_total.seconds());
- out->cr();
+ if (global_lock != NULL) {
+ out->print_cr("\n__ CodeCache (global) lock hold took %10.3f seconds _________\n", ts_global.seconds());
+ }
+ out->print_cr("\n__ CodeHeapStateAnalytics total duration %10.3f seconds _________\n", ts_total.seconds());
}
--- a/src/hotspot/share/compiler/compileBroker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/compileBroker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_COMPILEBROKER_HPP
-#define SHARE_VM_COMPILER_COMPILEBROKER_HPP
+#ifndef SHARE_COMPILER_COMPILEBROKER_HPP
+#define SHARE_COMPILER_COMPILEBROKER_HPP
#include "ci/compilerInterface.hpp"
#include "compiler/abstractCompiler.hpp"
@@ -426,4 +426,4 @@
static void print_heapinfo(outputStream *out, const char* function, const char* granularity );
};
-#endif // SHARE_VM_COMPILER_COMPILEBROKER_HPP
+#endif // SHARE_COMPILER_COMPILEBROKER_HPP
--- a/src/hotspot/share/compiler/compileLog.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/compileLog.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_COMPILELOG_HPP
-#define SHARE_VM_COMPILER_COMPILELOG_HPP
+#ifndef SHARE_COMPILER_COMPILELOG_HPP
+#define SHARE_COMPILER_COMPILELOG_HPP
#include "utilities/xmlstream.hpp"
@@ -97,4 +97,4 @@
static void finish_log_on_error(outputStream* out, char *buf, int buflen);
};
-#endif // SHARE_VM_COMPILER_COMPILELOG_HPP
+#endif // SHARE_COMPILER_COMPILELOG_HPP
--- a/src/hotspot/share/compiler/compileTask.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/compileTask.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -72,6 +72,12 @@
JNIHandles::destroy_global(task->_method_holder);
JNIHandles::destroy_global(task->_hot_method_holder);
+ if (task->_failure_reason_on_C_heap && task->_failure_reason != NULL) {
+ os::free((void*) task->_failure_reason);
+ }
+ task->_failure_reason = NULL;
+ task->_failure_reason_on_C_heap = false;
+
task->set_is_free(true);
task->set_next(_task_free_list);
_task_free_list = task;
@@ -110,6 +116,7 @@
_time_queued = 0; // tidy
_compile_reason = compile_reason;
_failure_reason = NULL;
+ _failure_reason_on_C_heap = false;
if (LogCompilation) {
_time_queued = os::elapsed_counter();
--- a/src/hotspot/share/compiler/compileTask.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/compileTask.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_COMPILETASK_HPP
-#define SHARE_VM_COMPILER_COMPILETASK_HPP
+#ifndef SHARE_COMPILER_COMPILETASK_HPP
+#define SHARE_COMPILER_COMPILETASK_HPP
#include "ci/ciMethod.hpp"
#include "code/nmethod.hpp"
@@ -104,9 +104,11 @@
int _hot_count; // information about its invocation counter
CompileReason _compile_reason; // more info about the task
const char* _failure_reason;
+ // Specifies if _failure_reason is on the C heap.
+ bool _failure_reason_on_C_heap;
public:
- CompileTask() {
+ CompileTask() : _failure_reason(NULL), _failure_reason_on_C_heap(false) {
_lock = new Monitor(Mutex::nonleaf+2, "CompileTaskLock");
}
@@ -199,8 +201,9 @@
void log_task_start(CompileLog* log);
void log_task_done(CompileLog* log);
- void set_failure_reason(const char* reason) {
+ void set_failure_reason(const char* reason, bool on_C_heap = false) {
_failure_reason = reason;
+ _failure_reason_on_C_heap = on_C_heap;
}
bool check_break_at_flags();
@@ -212,4 +215,4 @@
static void print_inlining_ul(ciMethod* method, int inline_level, int bci, const char* msg = NULL);
};
-#endif // SHARE_VM_COMPILER_COMPILETASK_HPP
+#endif // SHARE_COMPILER_COMPILETASK_HPP
--- a/src/hotspot/share/compiler/compilerDefinitions.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/compilerDefinitions.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_COMPILERDEFINITIONS_HPP
-#define SHARE_VM_COMPILER_COMPILERDEFINITIONS_HPP
+#ifndef SHARE_COMPILER_COMPILERDEFINITIONS_HPP
+#define SHARE_COMPILER_COMPILERDEFINITIONS_HPP
#include "memory/allocation.hpp"
@@ -132,4 +132,4 @@
static void set_tiered_flags();
};
-#endif // SHARE_VM_COMPILER_COMPILERDEFINITIONS_HPP
+#endif // SHARE_COMPILER_COMPILERDEFINITIONS_HPP
--- a/src/hotspot/share/compiler/compilerDirectives.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/compilerDirectives.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_COMPILERDIRECTIVES_HPP
-#define SHARE_VM_COMPILER_COMPILERDIRECTIVES_HPP
+#ifndef SHARE_COMPILER_COMPILERDIRECTIVES_HPP
+#define SHARE_COMPILER_COMPILERDIRECTIVES_HPP
#include "ci/ciMetadata.hpp"
#include "ci/ciMethod.hpp"
@@ -186,4 +186,4 @@
DirectiveSet* _c2_store;
};
-#endif // SHARE_VM_COMPILER_COMPILERDIRECTIVES_HPP
+#endif // SHARE_COMPILER_COMPILERDIRECTIVES_HPP
--- a/src/hotspot/share/compiler/compilerOracle.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/compilerOracle.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_COMPILERORACLE_HPP
-#define SHARE_VM_COMPILER_COMPILERORACLE_HPP
+#ifndef SHARE_COMPILER_COMPILERORACLE_HPP
+#define SHARE_COMPILER_COMPILERORACLE_HPP
#include "memory/allocation.hpp"
#include "oops/oopsHierarchy.hpp"
@@ -91,4 +91,4 @@
static bool should_print_methods();
};
-#endif // SHARE_VM_COMPILER_COMPILERORACLE_HPP
+#endif // SHARE_COMPILER_COMPILERORACLE_HPP
--- a/src/hotspot/share/compiler/directivesParser.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/directivesParser.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -94,11 +94,13 @@
if (file_handle != -1) {
// read contents into resource array
char* buffer = NEW_RESOURCE_ARRAY(char, st.st_size+1);
- size_t num_read = os::read(file_handle, (char*) buffer, st.st_size);
- buffer[num_read] = '\0';
- // close file
- os::close(file_handle);
- return parse_string(buffer, stream) > 0;
+ ssize_t num_read = os::read(file_handle, (char*) buffer, st.st_size);
+ if (num_read >= 0) {
+ buffer[num_read] = '\0';
+ // close file
+ os::close(file_handle);
+ return parse_string(buffer, stream) > 0;
+ }
}
}
return false;
--- a/src/hotspot/share/compiler/directivesParser.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/directivesParser.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_DIRECTIVESPARSER_HPP
-#define SHARE_VM_COMPILER_DIRECTIVESPARSER_HPP
+#ifndef SHARE_COMPILER_DIRECTIVESPARSER_HPP
+#define SHARE_COMPILER_DIRECTIVESPARSER_HPP
#include "utilities/json.hpp"
#include "compiler/compilerDirectives.hpp"
@@ -139,4 +139,4 @@
static uint mask(keytype kt);
};
-#endif // SHARE_VM_COMPILER_DIRECTIVESPARSER_HPP
+#endif // SHARE_COMPILER_DIRECTIVESPARSER_HPP
--- a/src/hotspot/share/compiler/disassembler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/disassembler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_DISASSEMBLER_HPP
-#define SHARE_VM_COMPILER_DISASSEMBLER_HPP
+#ifndef SHARE_COMPILER_DISASSEMBLER_HPP
+#define SHARE_COMPILER_DISASSEMBLER_HPP
#include "asm/codeBuffer.hpp"
#include "runtime/globals.hpp"
@@ -90,4 +90,4 @@
}
};
-#endif // SHARE_VM_COMPILER_DISASSEMBLER_HPP
+#endif // SHARE_COMPILER_DISASSEMBLER_HPP
--- a/src/hotspot/share/compiler/methodLiveness.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/methodLiveness.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -31,7 +31,6 @@
#include "interpreter/bytecodes.hpp"
#include "memory/allocation.inline.hpp"
#include "memory/resourceArea.hpp"
-#include "runtime/timerTrace.hpp"
#include "utilities/bitMap.inline.hpp"
// The MethodLiveness class performs a simple liveness analysis on a method
@@ -71,64 +70,6 @@
// a single set (_exception_exit), losing some information but simplifying the
// analysis.
-
-//--------------------------------------------------------------------------
-// The BitCounter class is used for counting the number of bits set in
-// some BitMap. It is only used when collecting liveness statistics.
-
-#ifndef PRODUCT
-
-class BitCounter: public BitMapClosure {
- private:
- int _count;
- public:
- BitCounter() : _count(0) {}
-
- // Callback when bit in map is set
- virtual bool do_bit(size_t offset) {
- _count++;
- return true;
- }
-
- int count() {
- return _count;
- }
-};
-
-
-//--------------------------------------------------------------------------
-
-
-// Counts
-long MethodLiveness::_total_bytes = 0;
-int MethodLiveness::_total_methods = 0;
-
-long MethodLiveness::_total_blocks = 0;
-int MethodLiveness::_max_method_blocks = 0;
-
-long MethodLiveness::_total_edges = 0;
-int MethodLiveness::_max_block_edges = 0;
-
-long MethodLiveness::_total_exc_edges = 0;
-int MethodLiveness::_max_block_exc_edges = 0;
-
-long MethodLiveness::_total_method_locals = 0;
-int MethodLiveness::_max_method_locals = 0;
-
-long MethodLiveness::_total_locals_queried = 0;
-long MethodLiveness::_total_live_locals_queried = 0;
-
-long MethodLiveness::_total_visits = 0;
-
-#endif
-
-// Timers
-elapsedTimer MethodLiveness::_time_build_graph;
-elapsedTimer MethodLiveness::_time_gen_kill;
-elapsedTimer MethodLiveness::_time_flow;
-elapsedTimer MethodLiveness::_time_query;
-elapsedTimer MethodLiveness::_time_total;
-
MethodLiveness::MethodLiveness(Arena* arena, ciMethod* method)
#ifdef COMPILER1
: _bci_block_start(arena, method->code_size())
@@ -146,52 +87,11 @@
tty->print("# Computing liveness information for ");
method()->print_short_name();
}
-
- if (TimeLivenessAnalysis) _time_total.start();
#endif
- {
- TraceTime buildGraph(NULL, &_time_build_graph, TimeLivenessAnalysis);
- init_basic_blocks();
- }
- {
- TraceTime genKill(NULL, &_time_gen_kill, TimeLivenessAnalysis);
- init_gen_kill();
- }
- {
- TraceTime flow(NULL, &_time_flow, TimeLivenessAnalysis);
- propagate_liveness();
- }
-
-#ifndef PRODUCT
- if (TimeLivenessAnalysis) _time_total.stop();
-
- if (TimeLivenessAnalysis) {
- // Collect statistics
- _total_bytes += method()->code_size();
- _total_methods++;
-
- int num_blocks = _block_count;
- _total_blocks += num_blocks;
- _max_method_blocks = MAX2(num_blocks,_max_method_blocks);
-
- for (int i=0; i<num_blocks; i++) {
- BasicBlock *block = _block_list[i];
-
- int numEdges = block->_normal_predecessors->length();
- int numExcEdges = block->_exception_predecessors->length();
-
- _total_edges += numEdges;
- _total_exc_edges += numExcEdges;
- _max_block_edges = MAX2(numEdges,_max_block_edges);
- _max_block_exc_edges = MAX2(numExcEdges,_max_block_exc_edges);
- }
-
- int numLocals = _bit_map_size_bits;
- _total_method_locals += numLocals;
- _max_method_locals = MAX2(numLocals,_max_method_locals);
- }
-#endif
+ init_basic_blocks();
+ init_gen_kill();
+ propagate_liveness();
}
@@ -440,7 +340,6 @@
while ((block = work_list_get()) != NULL) {
block->propagate(this);
- NOT_PRODUCT(_total_visits++;)
}
}
@@ -473,8 +372,6 @@
MethodLivenessResult answer;
if (_block_count > 0) {
- if (TimeLivenessAnalysis) _time_total.start();
- if (TimeLivenessAnalysis) _time_query.start();
assert( 0 <= bci && bci < method()->code_size(), "bci out of range" );
BasicBlock *block = _block_map->at(bci);
@@ -501,73 +398,12 @@
tty->print(" @ %d : result is ", bci);
answer.print_on(tty);
}
-
- if (TimeLivenessAnalysis) _time_query.stop();
- if (TimeLivenessAnalysis) _time_total.stop();
#endif
}
-#ifndef PRODUCT
- if (TimeLivenessAnalysis) {
- // Collect statistics.
- _total_locals_queried += _bit_map_size_bits;
- BitCounter counter;
- answer.iterate(&counter);
- _total_live_locals_queried += counter.count();
- }
-#endif
-
return answer;
}
-
-#ifndef PRODUCT
-
-void MethodLiveness::print_times() {
- tty->print_cr ("Accumulated liveness analysis times/statistics:");
- tty->print_cr ("-----------------------------------------------");
- tty->print_cr (" Total : %3.3f sec.", _time_total.seconds());
- tty->print_cr (" Build graph : %3.3f sec. (%2.2f%%)", _time_build_graph.seconds(),
- _time_build_graph.seconds() * 100 / _time_total.seconds());
- tty->print_cr (" Gen / Kill : %3.3f sec. (%2.2f%%)", _time_gen_kill.seconds(),
- _time_gen_kill.seconds() * 100 / _time_total.seconds());
- tty->print_cr (" Dataflow : %3.3f sec. (%2.2f%%)", _time_flow.seconds(),
- _time_flow.seconds() * 100 / _time_total.seconds());
- tty->print_cr (" Query : %3.3f sec. (%2.2f%%)", _time_query.seconds(),
- _time_query.seconds() * 100 / _time_total.seconds());
- tty->print_cr (" #bytes : %8ld (%3.0f bytes per sec)",
- _total_bytes,
- _total_bytes / _time_total.seconds());
- tty->print_cr (" #methods : %8d (%3.0f methods per sec)",
- _total_methods,
- _total_methods / _time_total.seconds());
- tty->print_cr (" avg locals : %3.3f max locals : %3d",
- (float)_total_method_locals / _total_methods,
- _max_method_locals);
- tty->print_cr (" avg blocks : %3.3f max blocks : %3d",
- (float)_total_blocks / _total_methods,
- _max_method_blocks);
- tty->print_cr (" avg bytes : %3.3f",
- (float)_total_bytes / _total_methods);
- tty->print_cr (" #blocks : %8ld",
- _total_blocks);
- tty->print_cr (" avg normal predecessors : %3.3f max normal predecessors : %3d",
- (float)_total_edges / _total_blocks,
- _max_block_edges);
- tty->print_cr (" avg exception predecessors : %3.3f max exception predecessors : %3d",
- (float)_total_exc_edges / _total_blocks,
- _max_block_exc_edges);
- tty->print_cr (" avg visits : %3.3f",
- (float)_total_visits / _total_blocks);
- tty->print_cr (" #locals queried : %8ld #live : %8ld %%live : %2.2f%%",
- _total_locals_queried,
- _total_live_locals_queried,
- 100.0 * _total_live_locals_queried / _total_locals_queried);
-}
-
-#endif
-
-
MethodLiveness::BasicBlock::BasicBlock(MethodLiveness *analyzer, int start, int limit) :
_entry(analyzer->arena(), analyzer->bit_map_size_bits()),
_normal_exit(analyzer->arena(), analyzer->bit_map_size_bits()),
--- a/src/hotspot/share/compiler/methodLiveness.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/methodLiveness.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_METHODLIVENESS_HPP
-#define SHARE_VM_COMPILER_METHODLIVENESS_HPP
+#ifndef SHARE_COMPILER_METHODLIVENESS_HPP
+#define SHARE_COMPILER_METHODLIVENESS_HPP
#include "utilities/bitMap.hpp"
#include "utilities/growableArray.hpp"
@@ -222,41 +222,6 @@
BasicBlock *work_list_get();
void work_list_add(BasicBlock *block);
- // -- Timing and Statistics.
-
-
- // Timers
- static elapsedTimer _time_build_graph;
- static elapsedTimer _time_gen_kill;
- static elapsedTimer _time_flow;
- static elapsedTimer _time_query;
- static elapsedTimer _time_total;
-
-#ifndef PRODUCT
-
- // Counts
- static long _total_bytes;
- static int _total_methods;
-
- static long _total_blocks;
- static int _max_method_blocks;
-
- static long _total_edges;
- static int _max_block_edges;
-
- static long _total_exc_edges;
- static int _max_block_exc_edges;
-
- static long _total_method_locals;
- static int _max_method_locals;
-
- static long _total_locals_queried;
- static long _total_live_locals_queried;
-
- static long _total_visits;
-
-#endif
-
public:
// Create a liveness analyzer for a method
MethodLiveness(Arena* arena, ciMethod* method);
@@ -271,7 +236,6 @@
const BitMap& get_bci_block_start() const { return _bci_block_start; }
#endif // COMPILER1
- static void print_times() PRODUCT_RETURN;
};
-#endif // SHARE_VM_COMPILER_METHODLIVENESS_HPP
+#endif // SHARE_COMPILER_METHODLIVENESS_HPP
--- a/src/hotspot/share/compiler/methodMatcher.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/methodMatcher.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_METHODMATCHER_HPP
-#define SHARE_VM_COMPILER_METHODMATCHER_HPP
+#ifndef SHARE_COMPILER_METHODMATCHER_HPP
+#define SHARE_COMPILER_METHODMATCHER_HPP
#include "memory/allocation.hpp"
#include "runtime/handles.hpp"
@@ -123,5 +123,4 @@
InlineMatcher* clone();
};
-#endif // SHARE_VM_COMPILER_METHODMATCHER_HPP
-
+#endif // SHARE_COMPILER_METHODMATCHER_HPP
--- a/src/hotspot/share/compiler/oopMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/compiler/oopMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_COMPILER_OOPMAP_HPP
-#define SHARE_VM_COMPILER_OOPMAP_HPP
+#ifndef SHARE_COMPILER_OOPMAP_HPP
+#define SHARE_COMPILER_OOPMAP_HPP
#include "code/compressedStream.hpp"
#include "code/vmreg.hpp"
@@ -467,4 +467,4 @@
};
#endif // COMPILER2_OR_JVMCI
-#endif // SHARE_VM_COMPILER_OOPMAP_HPP
+#endif // SHARE_COMPILER_OOPMAP_HPP
--- a/src/hotspot/share/gc/cms/adaptiveFreeList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/adaptiveFreeList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_ADAPTIVEFREELIST_HPP
-#define SHARE_VM_GC_CMS_ADAPTIVEFREELIST_HPP
+#ifndef SHARE_GC_CMS_ADAPTIVEFREELIST_HPP
+#define SHARE_GC_CMS_ADAPTIVEFREELIST_HPP
#include "gc/cms/allocationStats.hpp"
#include "memory/freeList.hpp"
@@ -226,4 +226,4 @@
#endif // NOT PRODUCT
};
-#endif // SHARE_VM_GC_CMS_ADAPTIVEFREELIST_HPP
+#endif // SHARE_GC_CMS_ADAPTIVEFREELIST_HPP
--- a/src/hotspot/share/gc/cms/allocationStats.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/allocationStats.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_ALLOCATIONSTATS_HPP
-#define SHARE_VM_GC_CMS_ALLOCATIONSTATS_HPP
+#ifndef SHARE_GC_CMS_ALLOCATIONSTATS_HPP
+#define SHARE_GC_CMS_ALLOCATIONSTATS_HPP
#include "gc/shared/gcUtil.hpp"
#include "logging/log.hpp"
@@ -150,4 +150,4 @@
)
};
-#endif // SHARE_VM_GC_CMS_ALLOCATIONSTATS_HPP
+#endif // SHARE_GC_CMS_ALLOCATIONSTATS_HPP
--- a/src/hotspot/share/gc/cms/cmsCollectorPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/cmsCollectorPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_CMSCOLLECTORPOLICY_HPP
-#define SHARE_VM_GC_CMS_CMSCOLLECTORPOLICY_HPP
+#ifndef SHARE_GC_CMS_CMSCOLLECTORPOLICY_HPP
+#define SHARE_GC_CMS_CMSCOLLECTORPOLICY_HPP
#include "gc/shared/collectorPolicy.hpp"
@@ -35,4 +35,4 @@
ConcurrentMarkSweepPolicy() {}
};
-#endif // SHARE_VM_GC_CMS_CMSCOLLECTORPOLICY_HPP
+#endif // SHARE_GC_CMS_CMSCOLLECTORPOLICY_HPP
--- a/src/hotspot/share/gc/cms/cmsHeap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/cmsHeap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_CMSHEAP_HPP
-#define SHARE_VM_GC_CMS_CMSHEAP_HPP
+#ifndef SHARE_GC_CMS_CMSHEAP_HPP
+#define SHARE_GC_CMS_CMSHEAP_HPP
#include "gc/cms/concurrentMarkSweepGeneration.hpp"
#include "gc/cms/parNewGeneration.hpp"
@@ -139,4 +139,4 @@
void collect_mostly_concurrent(GCCause::Cause cause);
};
-#endif // SHARE_VM_GC_CMS_CMSHEAP_HPP
+#endif // SHARE_GC_CMS_CMSHEAP_HPP
--- a/src/hotspot/share/gc/cms/cmsLockVerifier.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/cmsLockVerifier.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_CMSLOCKVERIFIER_HPP
-#define SHARE_VM_GC_CMS_CMSLOCKVERIFIER_HPP
+#ifndef SHARE_GC_CMS_CMSLOCKVERIFIER_HPP
+#define SHARE_GC_CMS_CMSLOCKVERIFIER_HPP
#include "runtime/mutex.hpp"
@@ -44,4 +44,4 @@
}
};
-#endif // SHARE_VM_GC_CMS_CMSLOCKVERIFIER_HPP
+#endif // SHARE_GC_CMS_CMSLOCKVERIFIER_HPP
--- a/src/hotspot/share/gc/cms/cmsOopClosures.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/cmsOopClosures.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_CMSOOPCLOSURES_HPP
-#define SHARE_VM_GC_CMS_CMSOOPCLOSURES_HPP
+#ifndef SHARE_GC_CMS_CMSOOPCLOSURES_HPP
+#define SHARE_GC_CMS_CMSOOPCLOSURES_HPP
#include "gc/shared/genOopClosures.hpp"
#include "gc/shared/taskqueue.hpp"
@@ -330,4 +330,4 @@
virtual void do_oop(narrowOop* p);
};
-#endif // SHARE_VM_GC_CMS_CMSOOPCLOSURES_HPP
+#endif // SHARE_GC_CMS_CMSOOPCLOSURES_HPP
--- a/src/hotspot/share/gc/cms/cmsOopClosures.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/cmsOopClosures.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_CMSOOPCLOSURES_INLINE_HPP
-#define SHARE_VM_GC_CMS_CMSOOPCLOSURES_INLINE_HPP
+#ifndef SHARE_GC_CMS_CMSOOPCLOSURES_INLINE_HPP
+#define SHARE_GC_CMS_CMSOOPCLOSURES_INLINE_HPP
#include "gc/cms/cmsOopClosures.hpp"
#include "gc/cms/concurrentMarkSweepGeneration.hpp"
@@ -85,4 +85,4 @@
DO_OOP_WORK_IMPL(CMSInnerParMarkAndPushClosure)
DO_OOP_WORK_IMPL(CMSParKeepAliveClosure)
-#endif // SHARE_VM_GC_CMS_CMSOOPCLOSURES_INLINE_HPP
+#endif // SHARE_GC_CMS_CMSOOPCLOSURES_INLINE_HPP
--- a/src/hotspot/share/gc/cms/cmsVMOperations.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/cmsVMOperations.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_CMSVMOPERATIONS_HPP
-#define SHARE_VM_GC_CMS_CMSVMOPERATIONS_HPP
+#ifndef SHARE_GC_CMS_CMSVMOPERATIONS_HPP
+#define SHARE_GC_CMS_CMSVMOPERATIONS_HPP
#include "gc/cms/concurrentMarkSweepGeneration.hpp"
#include "gc/shared/gcCause.hpp"
@@ -143,4 +143,4 @@
virtual bool evaluate_at_safepoint() const;
};
-#endif // SHARE_VM_GC_CMS_CMSVMOPERATIONS_HPP
+#endif // SHARE_GC_CMS_CMSVMOPERATIONS_HPP
--- a/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_COMPACTIBLEFREELISTSPACE_HPP
-#define SHARE_VM_GC_CMS_COMPACTIBLEFREELISTSPACE_HPP
+#ifndef SHARE_GC_CMS_COMPACTIBLEFREELISTSPACE_HPP
+#define SHARE_GC_CMS_COMPACTIBLEFREELISTSPACE_HPP
#include "gc/cms/adaptiveFreeList.hpp"
#include "gc/cms/promotionInfo.hpp"
@@ -741,4 +741,4 @@
return CompactibleFreeListSpace::adjustObjectSize(sz);
}
-#endif // SHARE_VM_GC_CMS_COMPACTIBLEFREELISTSPACE_HPP
+#endif // SHARE_GC_CMS_COMPACTIBLEFREELISTSPACE_HPP
--- a/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPGENERATION_HPP
-#define SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPGENERATION_HPP
+#ifndef SHARE_GC_CMS_CONCURRENTMARKSWEEPGENERATION_HPP
+#define SHARE_GC_CMS_CONCURRENTMARKSWEEPGENERATION_HPP
#include "gc/cms/cmsOopClosures.hpp"
#include "gc/cms/gSpaceCounters.hpp"
@@ -1793,4 +1793,4 @@
};
-#endif // SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPGENERATION_HPP
+#endif // SHARE_GC_CMS_CONCURRENTMARKSWEEPGENERATION_HPP
--- a/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPGENERATION_INLINE_HPP
-#define SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPGENERATION_INLINE_HPP
+#ifndef SHARE_GC_CMS_CONCURRENTMARKSWEEPGENERATION_INLINE_HPP
+#define SHARE_GC_CMS_CONCURRENTMARKSWEEPGENERATION_INLINE_HPP
#include "gc/cms/cmsHeap.hpp"
#include "gc/cms/cmsLockVerifier.hpp"
@@ -469,4 +469,4 @@
_t->par_mark_range(mr2);
}
-#endif // SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPGENERATION_INLINE_HPP
+#endif // SHARE_GC_CMS_CONCURRENTMARKSWEEPGENERATION_INLINE_HPP
--- a/src/hotspot/share/gc/cms/concurrentMarkSweepThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/concurrentMarkSweepThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPTHREAD_HPP
-#define SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPTHREAD_HPP
+#ifndef SHARE_GC_CMS_CONCURRENTMARKSWEEPTHREAD_HPP
+#define SHARE_GC_CMS_CONCURRENTMARKSWEEPTHREAD_HPP
#include "gc/cms/concurrentMarkSweepGeneration.hpp"
#include "gc/shared/concurrentGCThread.hpp"
@@ -166,4 +166,4 @@
}
};
-#endif // SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPTHREAD_HPP
+#endif // SHARE_GC_CMS_CONCURRENTMARKSWEEPTHREAD_HPP
--- a/src/hotspot/share/gc/cms/freeChunk.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/freeChunk.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_FREECHUNK_HPP
-#define SHARE_VM_GC_CMS_FREECHUNK_HPP
+#ifndef SHARE_GC_CMS_FREECHUNK_HPP
+#define SHARE_GC_CMS_FREECHUNK_HPP
#include "memory/memRegion.hpp"
#include "oops/markOop.hpp"
@@ -147,4 +147,4 @@
extern size_t MinChunkSize;
-#endif // SHARE_VM_GC_CMS_FREECHUNK_HPP
+#endif // SHARE_GC_CMS_FREECHUNK_HPP
--- a/src/hotspot/share/gc/cms/gSpaceCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/gSpaceCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_GSPACECOUNTERS_HPP
-#define SHARE_VM_GC_CMS_GSPACECOUNTERS_HPP
+#ifndef SHARE_GC_CMS_GSPACECOUNTERS_HPP
+#define SHARE_GC_CMS_GSPACECOUNTERS_HPP
#include "gc/shared/generation.hpp"
#include "gc/shared/generationCounters.hpp"
@@ -107,4 +107,4 @@
}
};
-#endif // SHARE_VM_GC_CMS_GSPACECOUNTERS_HPP
+#endif // SHARE_GC_CMS_GSPACECOUNTERS_HPP
--- a/src/hotspot/share/gc/cms/jvmFlagConstraintsCMS.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/jvmFlagConstraintsCMS.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_GC_CMS_COMMANDLINEFLAGCONSTRAINTSCMS_HPP
-#define SHARE_GC_CMS_COMMANDLINEFLAGCONSTRAINTSCMS_HPP
+#ifndef SHARE_GC_CMS_JVMFLAGCONSTRAINTSCMS_HPP
+#define SHARE_GC_CMS_JVMFLAGCONSTRAINTSCMS_HPP
#include "runtime/globals.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -45,4 +45,4 @@
JVMFlag::Error ParallelGCThreadsConstraintFuncCMS(uint value, bool verbose);
JVMFlag::Error OldPLABSizeConstraintFuncCMS(size_t value, bool verbose);
-#endif // SHARE_GC_CMS_COMMANDLINEFLAGCONSTRAINTSCMS_HPP
+#endif // SHARE_GC_CMS_JVMFLAGCONSTRAINTSCMS_HPP
--- a/src/hotspot/share/gc/cms/parNewGeneration.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/parNewGeneration.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_PARNEWGENERATION_HPP
-#define SHARE_VM_GC_CMS_PARNEWGENERATION_HPP
+#ifndef SHARE_GC_CMS_PARNEWGENERATION_HPP
+#define SHARE_GC_CMS_PARNEWGENERATION_HPP
#include "gc/cms/parOopClosures.hpp"
#include "gc/serial/defNewGeneration.hpp"
@@ -415,4 +415,4 @@
static oop real_forwardee(oop obj);
};
-#endif // SHARE_VM_GC_CMS_PARNEWGENERATION_HPP
+#endif // SHARE_GC_CMS_PARNEWGENERATION_HPP
--- a/src/hotspot/share/gc/cms/parNewGeneration.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/parNewGeneration.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_PARNEWGENERATION_INLINE_HPP
-#define SHARE_VM_GC_CMS_PARNEWGENERATION_INLINE_HPP
+#ifndef SHARE_GC_CMS_PARNEWGENERATION_INLINE_HPP
+#define SHARE_GC_CMS_PARNEWGENERATION_INLINE_HPP
#include "gc/cms/parNewGeneration.hpp"
#include "gc/shared/plab.inline.hpp"
@@ -34,4 +34,4 @@
if (obj != NULL) return obj;
else return alloc_in_to_space_slow(word_sz);
}
-#endif // SHARE_VM_GC_CMS_PARNEWGENERATION_INLINE_HPP
+#endif // SHARE_GC_CMS_PARNEWGENERATION_INLINE_HPP
--- a/src/hotspot/share/gc/cms/parOopClosures.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/parOopClosures.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_PAROOPCLOSURES_HPP
-#define SHARE_VM_GC_CMS_PAROOPCLOSURES_HPP
+#ifndef SHARE_GC_CMS_PAROOPCLOSURES_HPP
+#define SHARE_GC_CMS_PAROOPCLOSURES_HPP
#include "gc/shared/genOopClosures.hpp"
#include "gc/shared/taskqueue.hpp"
@@ -143,4 +143,4 @@
virtual void do_void();
};
-#endif // SHARE_VM_GC_CMS_PAROOPCLOSURES_HPP
+#endif // SHARE_GC_CMS_PAROOPCLOSURES_HPP
--- a/src/hotspot/share/gc/cms/parOopClosures.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/parOopClosures.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_PAROOPCLOSURES_INLINE_HPP
-#define SHARE_VM_GC_CMS_PAROOPCLOSURES_INLINE_HPP
+#ifndef SHARE_GC_CMS_PAROOPCLOSURES_INLINE_HPP
+#define SHARE_GC_CMS_PAROOPCLOSURES_INLINE_HPP
#include "gc/cms/cmsHeap.hpp"
#include "gc/cms/parNewGeneration.hpp"
@@ -143,4 +143,4 @@
inline void ParScanWithoutBarrierClosure::do_oop(oop* p) { ParScanClosure::do_oop_work(p, false, false); }
inline void ParScanWithoutBarrierClosure::do_oop(narrowOop* p) { ParScanClosure::do_oop_work(p, false, false); }
-#endif // SHARE_VM_GC_CMS_PAROOPCLOSURES_INLINE_HPP
+#endif // SHARE_GC_CMS_PAROOPCLOSURES_INLINE_HPP
--- a/src/hotspot/share/gc/cms/promotionInfo.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/promotionInfo.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_PROMOTIONINFO_HPP
-#define SHARE_VM_GC_CMS_PROMOTIONINFO_HPP
+#ifndef SHARE_GC_CMS_PROMOTIONINFO_HPP
+#define SHARE_GC_CMS_PROMOTIONINFO_HPP
#include "gc/cms/freeChunk.hpp"
@@ -185,4 +185,4 @@
};
-#endif // SHARE_VM_GC_CMS_PROMOTIONINFO_HPP
+#endif // SHARE_GC_CMS_PROMOTIONINFO_HPP
--- a/src/hotspot/share/gc/cms/promotionInfo.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/promotionInfo.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. 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
@@ -74,4 +74,4 @@
assert(_firstIndex == _nextIndex, "empty buffer");
}
-#endif // SHARE_GC_CMS_PROMOTIONINFO_INLINE_HPP
+#endif // SHARE_GC_CMS_PROMOTIONINFO_INLINE_HPP
--- a/src/hotspot/share/gc/cms/vmStructs_cms.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/vmStructs_cms.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_VMSTRUCTS_CMS_HPP
-#define SHARE_VM_GC_CMS_VMSTRUCTS_CMS_HPP
+#ifndef SHARE_GC_CMS_VMSTRUCTS_CMS_HPP
+#define SHARE_GC_CMS_VMSTRUCTS_CMS_HPP
#include "gc/cms/cmsHeap.hpp"
#include "gc/cms/compactibleFreeListSpace.hpp"
@@ -88,4 +88,4 @@
declare_constant(Generation::ConcurrentMarkSweep) \
declare_constant(Generation::ParNew)
-#endif // SHARE_VM_GC_CMS_VMSTRUCTS_CMS_HPP
+#endif // SHARE_GC_CMS_VMSTRUCTS_CMS_HPP
--- a/src/hotspot/share/gc/cms/yieldingWorkgroup.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/cms/yieldingWorkgroup.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CMS_YIELDINGWORKGROUP_HPP
-#define SHARE_VM_GC_CMS_YIELDINGWORKGROUP_HPP
+#ifndef SHARE_GC_CMS_YIELDINGWORKGROUP_HPP
+#define SHARE_GC_CMS_YIELDINGWORKGROUP_HPP
#include "gc/shared/workgroup.hpp"
#include "utilities/macros.hpp"
@@ -269,4 +269,4 @@
void internal_note_finish();
};
-#endif // SHARE_VM_GC_CMS_YIELDINGWORKGROUP_HPP
+#endif // SHARE_GC_CMS_YIELDINGWORKGROUP_HPP
--- a/src/hotspot/share/gc/epsilon/epsilonBarrierSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/epsilon/epsilonBarrierSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_EPSILON_BARRIERSET_HPP
-#define SHARE_VM_GC_EPSILON_BARRIERSET_HPP
+#ifndef SHARE_GC_EPSILON_EPSILONBARRIERSET_HPP
+#define SHARE_GC_EPSILON_EPSILONBARRIERSET_HPP
#include "gc/shared/barrierSetAssembler.hpp"
#include "gc/shared/barrierSet.hpp"
@@ -54,4 +54,4 @@
typedef ::EpsilonBarrierSet type;
};
-#endif // SHARE_VM_GC_EPSILON_BARRIERSET_HPP
+#endif // SHARE_GC_EPSILON_EPSILONBARRIERSET_HPP
--- a/src/hotspot/share/gc/epsilon/epsilonCollectorPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/epsilon/epsilonCollectorPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_EPSILON_COLLECTORPOLICY_HPP
-#define SHARE_VM_GC_EPSILON_COLLECTORPOLICY_HPP
+#ifndef SHARE_GC_EPSILON_EPSILONCOLLECTORPOLICY_HPP
+#define SHARE_GC_EPSILON_EPSILONCOLLECTORPOLICY_HPP
#include "gc/shared/collectorPolicy.hpp"
@@ -39,4 +39,4 @@
EpsilonCollectorPolicy() : CollectorPolicy() {};
};
-#endif // SHARE_VM_GC_EPSILON_COLLECTORPOLICY_HPP
+#endif // SHARE_GC_EPSILON_EPSILONCOLLECTORPOLICY_HPP
--- a/src/hotspot/share/gc/epsilon/epsilonHeap.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/epsilon/epsilonHeap.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -161,12 +161,8 @@
{
size_t last = _last_heap_print;
if ((used - last >= _step_heap_print) && Atomic::cmpxchg(used, &_last_heap_print, last) == last) {
- log_info(gc)("Heap: " SIZE_FORMAT "M reserved, " SIZE_FORMAT "M (%.2f%%) committed, " SIZE_FORMAT "M (%.2f%%) used",
- max_capacity() / M,
- capacity() / M,
- capacity() * 100.0 / max_capacity(),
- used / M,
- used * 100.0 / max_capacity());
+ print_heap_info(used);
+ print_metaspace_info();
}
}
@@ -268,13 +264,26 @@
}
void EpsilonHeap::collect(GCCause::Cause cause) {
- log_info(gc)("GC request for \"%s\" is ignored", GCCause::to_string(cause));
+ switch (cause) {
+ case GCCause::_metadata_GC_threshold:
+ case GCCause::_metadata_GC_clear_soft_refs:
+ // Receiving these causes means the VM itself entered the safepoint for metadata collection.
+ // While Epsilon does not do GC, it has to perform sizing adjustments, otherwise we would
+ // re-enter the safepoint again very soon.
+
+ assert(SafepointSynchronize::is_at_safepoint(), "Expected at safepoint");
+ log_info(gc)("GC request for \"%s\" is handled", GCCause::to_string(cause));
+ MetaspaceGC::compute_new_size();
+ print_metaspace_info();
+ break;
+ default:
+ log_info(gc)("GC request for \"%s\" is ignored", GCCause::to_string(cause));
+ }
_monitoring_support->update_counters();
}
void EpsilonHeap::do_full_collection(bool clear_all_soft_refs) {
- log_info(gc)("Full GC request for \"%s\" is ignored", GCCause::to_string(gc_cause()));
- _monitoring_support->update_counters();
+ collect(gc_cause());
}
void EpsilonHeap::safe_object_iterate(ObjectClosure *cl) {
@@ -289,13 +298,46 @@
st->print_cr("Allocation space:");
_space->print_on(st);
+
+ MetaspaceUtils::print_on(st);
}
void EpsilonHeap::print_tracing_info() const {
- Log(gc) log;
- size_t allocated_kb = used() / K;
- log.info("Total allocated: " SIZE_FORMAT " KB",
- allocated_kb);
- log.info("Average allocation rate: " SIZE_FORMAT " KB/sec",
- (size_t)(allocated_kb * NANOSECS_PER_SEC / os::elapsed_counter()));
+ print_heap_info(used());
+ print_metaspace_info();
}
+
+void EpsilonHeap::print_heap_info(size_t used) const {
+ size_t reserved = max_capacity();
+ size_t committed = capacity();
+
+ if (reserved != 0) {
+ log_info(gc)("Heap: " SIZE_FORMAT "%s reserved, " SIZE_FORMAT "%s (%.2f%%) committed, "
+ SIZE_FORMAT "%s (%.2f%%) used",
+ byte_size_in_proper_unit(reserved), proper_unit_for_byte_size(reserved),
+ byte_size_in_proper_unit(committed), proper_unit_for_byte_size(committed),
+ committed * 100.0 / reserved,
+ byte_size_in_proper_unit(used), proper_unit_for_byte_size(used),
+ used * 100.0 / reserved);
+ } else {
+ log_info(gc)("Heap: no reliable data");
+ }
+}
+
+void EpsilonHeap::print_metaspace_info() const {
+ size_t reserved = MetaspaceUtils::reserved_bytes();
+ size_t committed = MetaspaceUtils::committed_bytes();
+ size_t used = MetaspaceUtils::used_bytes();
+
+ if (reserved != 0) {
+ log_info(gc, metaspace)("Metaspace: " SIZE_FORMAT "%s reserved, " SIZE_FORMAT "%s (%.2f%%) committed, "
+ SIZE_FORMAT "%s (%.2f%%) used",
+ byte_size_in_proper_unit(reserved), proper_unit_for_byte_size(reserved),
+ byte_size_in_proper_unit(committed), proper_unit_for_byte_size(committed),
+ committed * 100.0 / reserved,
+ byte_size_in_proper_unit(used), proper_unit_for_byte_size(used),
+ used * 100.0 / reserved);
+ } else {
+ log_info(gc, metaspace)("Metaspace: no reliable data");
+ }
+}
--- a/src/hotspot/share/gc/epsilon/epsilonHeap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/epsilon/epsilonHeap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_EPSILON_COLLECTEDHEAP_HPP
-#define SHARE_VM_GC_EPSILON_COLLECTEDHEAP_HPP
+#ifndef SHARE_GC_EPSILON_EPSILONHEAP_HPP
+#define SHARE_GC_EPSILON_EPSILONHEAP_HPP
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/softRefPolicy.hpp"
@@ -147,6 +147,10 @@
virtual void print_on(outputStream* st) const;
virtual void print_tracing_info() const;
+private:
+ void print_heap_info(size_t used) const;
+ void print_metaspace_info() const;
+
};
-#endif // SHARE_VM_GC_EPSILON_COLLECTEDHEAP_HPP
+#endif // SHARE_GC_EPSILON_EPSILONHEAP_HPP
--- a/src/hotspot/share/gc/epsilon/epsilonMemoryPool.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/epsilon/epsilonMemoryPool.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_EPSILON_EPSILONMEMORYPOOL_HPP
-#define SHARE_VM_GC_EPSILON_EPSILONMEMORYPOOL_HPP
+#ifndef SHARE_GC_EPSILON_EPSILONMEMORYPOOL_HPP
+#define SHARE_GC_EPSILON_EPSILONMEMORYPOOL_HPP
#include "gc/epsilon/epsilonHeap.hpp"
#include "services/memoryPool.hpp"
@@ -41,4 +41,4 @@
MemoryUsage get_memory_usage();
};
-#endif // SHARE_VM_GC_EPSILON_EPSILONMEMORYPOOL_HPP
+#endif // SHARE_GC_EPSILON_EPSILONMEMORYPOOL_HPP
--- a/src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_EPSILON_EPSILONMONITORINGSUPPORT_HPP
-#define SHARE_VM_GC_EPSILON_EPSILONMONITORINGSUPPORT_HPP
+#ifndef SHARE_GC_EPSILON_EPSILONMONITORINGSUPPORT_HPP
+#define SHARE_GC_EPSILON_EPSILONMONITORINGSUPPORT_HPP
#include "memory/allocation.hpp"
@@ -40,5 +40,4 @@
void update_counters();
};
-#endif // SHARE_VM_GC_EPSILON_EPSILONMONITORINGSUPPORT_HPP
-
+#endif // SHARE_GC_EPSILON_EPSILONMONITORINGSUPPORT_HPP
--- a/src/hotspot/share/gc/epsilon/epsilonThreadLocalData.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/epsilon/epsilonThreadLocalData.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_EPSILON_EPSILONTHREADLOCALDATA_HPP
-#define SHARE_VM_GC_EPSILON_EPSILONTHREADLOCALDATA_HPP
+#ifndef SHARE_GC_EPSILON_EPSILONTHREADLOCALDATA_HPP
+#define SHARE_GC_EPSILON_EPSILONTHREADLOCALDATA_HPP
#include "runtime/thread.hpp"
#include "utilities/debug.hpp"
@@ -67,4 +67,4 @@
}
};
-#endif // SHARE_VM_GC_EPSILON_EPSILONTHREADLOCALDATA_HPP
+#endif // SHARE_GC_EPSILON_EPSILONTHREADLOCALDATA_HPP
--- a/src/hotspot/share/gc/epsilon/epsilon_globals.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/epsilon/epsilon_globals.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_EPSILON_GLOBALS_HPP
-#define SHARE_VM_GC_EPSILON_GLOBALS_HPP
+#ifndef SHARE_GC_EPSILON_EPSILON_GLOBALS_HPP
+#define SHARE_GC_EPSILON_EPSILON_GLOBALS_HPP
#include "runtime/globals.hpp"
//
@@ -93,4 +93,4 @@
"at the potential expense of memory waste.") \
range(1, max_intx)
-#endif // SHARE_VM_GC_EPSILON_GLOBALS_HPP
+#endif // SHARE_GC_EPSILON_EPSILON_GLOBALS_HPP
--- a/src/hotspot/share/gc/epsilon/vmStructs_epsilon.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/epsilon/vmStructs_epsilon.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_GC_EPSILON_VMSTRUCTS_HPP
-#define SHARE_GC_EPSILON_VMSTRUCTS_HPP
+#ifndef SHARE_GC_EPSILON_VMSTRUCTS_EPSILON_HPP
+#define SHARE_GC_EPSILON_VMSTRUCTS_EPSILON_HPP
#include "gc/epsilon/epsilonHeap.hpp"
#include "gc/shared/space.hpp"
@@ -43,4 +43,4 @@
#define VM_INT_CONSTANTS_EPSILONGC(declare_constant, \
declare_constant_with_value)
-#endif // SHARE_GC_EPSILON_VMSTRUCTS_HPP
+#endif // SHARE_GC_EPSILON_VMSTRUCTS_EPSILON_HPP
--- a/src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_GC_SHARED_C2_G1BARRIERSETC2_HPP
-#define SHARE_GC_SHARED_C2_G1BARRIERSETC2_HPP
+#ifndef SHARE_GC_G1_C2_G1BARRIERSETC2_HPP
+#define SHARE_GC_G1_C2_G1BARRIERSETC2_HPP
#include "gc/shared/c2/cardTableBarrierSetC2.hpp"
@@ -96,4 +96,4 @@
virtual bool escape_add_to_con_graph(ConnectionGraph* conn_graph, PhaseGVN* gvn, Unique_Node_List* delayed_worklist, Node* n, uint opcode) const;
};
-#endif // SHARE_GC_SHARED_C2_G1BARRIERSETC2_HPP
+#endif // SHARE_GC_G1_C2_G1BARRIERSETC2_HPP
--- a/src/hotspot/share/gc/g1/collectionSetChooser.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/collectionSetChooser.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_COLLECTIONSETCHOOSER_HPP
-#define SHARE_VM_GC_G1_COLLECTIONSETCHOOSER_HPP
+#ifndef SHARE_GC_G1_COLLECTIONSETCHOOSER_HPP
+#define SHARE_GC_G1_COLLECTIONSETCHOOSER_HPP
#include "gc/g1/heapRegion.hpp"
#include "utilities/growableArray.hpp"
@@ -199,5 +199,4 @@
bool should_add(HeapRegion* hr) { return _chooser->should_add(hr); }
};
-#endif // SHARE_VM_GC_G1_COLLECTIONSETCHOOSER_HPP
-
+#endif // SHARE_GC_G1_COLLECTIONSETCHOOSER_HPP
--- a/src/hotspot/share/gc/g1/dirtyCardQueue.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/dirtyCardQueue.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_DIRTYCARDQUEUE_HPP
-#define SHARE_VM_GC_G1_DIRTYCARDQUEUE_HPP
+#ifndef SHARE_GC_G1_DIRTYCARDQUEUE_HPP
+#define SHARE_GC_G1_DIRTYCARDQUEUE_HPP
#include "gc/shared/ptrQueue.hpp"
#include "memory/allocation.hpp"
@@ -164,4 +164,4 @@
};
-#endif // SHARE_VM_GC_G1_DIRTYCARDQUEUE_HPP
+#endif // SHARE_GC_G1_DIRTYCARDQUEUE_HPP
--- a/src/hotspot/share/gc/g1/evacuationInfo.hpp Tue Jan 22 09:24:58 2019 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2013, 2015, Oracle and/or its affiliates. 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 SHARE_VM_GC_G1_EVACUATIONINFO_HPP
-#define SHARE_VM_GC_G1_EVACUATIONINFO_HPP
-
-#include "memory/allocation.hpp"
-
-class EvacuationInfo : public StackObj {
- uint _collectionset_regions;
- uint _allocation_regions;
- size_t _collectionset_used_before;
- size_t _collectionset_used_after;
- size_t _alloc_regions_used_before;
- size_t _bytes_copied;
- uint _regions_freed;
-
-public:
- EvacuationInfo() : _collectionset_regions(0), _allocation_regions(0), _collectionset_used_before(0),
- _collectionset_used_after(0), _alloc_regions_used_before(0),
- _bytes_copied(0), _regions_freed(0) { }
-
- void set_collectionset_regions(uint collectionset_regions) {
- _collectionset_regions = collectionset_regions;
- }
-
- void set_allocation_regions(uint allocation_regions) {
- _allocation_regions = allocation_regions;
- }
-
- void set_collectionset_used_before(size_t used) {
- _collectionset_used_before = used;
- }
-
- void increment_collectionset_used_after(size_t used) {
- _collectionset_used_after += used;
- }
-
- void set_alloc_regions_used_before(size_t used) {
- _alloc_regions_used_before = used;
- }
-
- void set_bytes_copied(size_t copied) {
- _bytes_copied = copied;
- }
-
- void set_regions_freed(uint freed) {
- _regions_freed += freed;
- }
-
- uint collectionset_regions() { return _collectionset_regions; }
- uint allocation_regions() { return _allocation_regions; }
- size_t collectionset_used_before() { return _collectionset_used_before; }
- size_t collectionset_used_after() { return _collectionset_used_after; }
- size_t alloc_regions_used_before() { return _alloc_regions_used_before; }
- size_t bytes_copied() { return _bytes_copied; }
- uint regions_freed() { return _regions_freed; }
-};
-
-#endif // SHARE_VM_GC_G1_EVACUATIONINFO_HPP
--- a/src/hotspot/share/gc/g1/g1AllocRegion.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1AllocRegion.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1ALLOCREGION_HPP
-#define SHARE_VM_GC_G1_G1ALLOCREGION_HPP
+#ifndef SHARE_GC_G1_G1ALLOCREGION_HPP
+#define SHARE_GC_G1_G1ALLOCREGION_HPP
#include "gc/g1/heapRegion.hpp"
#include "gc/g1/g1EvacStats.hpp"
@@ -281,4 +281,4 @@
virtual HeapRegion* release();
};
-#endif // SHARE_VM_GC_G1_G1ALLOCREGION_HPP
+#endif // SHARE_GC_G1_G1ALLOCREGION_HPP
--- a/src/hotspot/share/gc/g1/g1AllocRegion.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1AllocRegion.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1ALLOCREGION_INLINE_HPP
-#define SHARE_VM_GC_G1_G1ALLOCREGION_INLINE_HPP
+#ifndef SHARE_GC_G1_G1ALLOCREGION_INLINE_HPP
+#define SHARE_GC_G1_G1ALLOCREGION_INLINE_HPP
#include "gc/g1/g1AllocRegion.hpp"
#include "gc/g1/heapRegion.inline.hpp"
@@ -143,4 +143,4 @@
return NULL;
}
-#endif // SHARE_VM_GC_G1_G1ALLOCREGION_INLINE_HPP
+#endif // SHARE_GC_G1_G1ALLOCREGION_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1Allocator.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1Allocator.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -26,6 +26,7 @@
#include "gc/g1/g1Allocator.inline.hpp"
#include "gc/g1/g1AllocRegion.inline.hpp"
#include "gc/g1/g1EvacStats.inline.hpp"
+#include "gc/g1/g1EvacuationInfo.hpp"
#include "gc/g1/g1CollectedHeap.inline.hpp"
#include "gc/g1/g1Policy.hpp"
#include "gc/g1/heapRegion.inline.hpp"
@@ -57,7 +58,7 @@
return _retained_old_gc_alloc_region == hr;
}
-void G1Allocator::reuse_retained_old_region(EvacuationInfo& evacuation_info,
+void G1Allocator::reuse_retained_old_region(G1EvacuationInfo& evacuation_info,
OldGCAllocRegion* old,
HeapRegion** retained_old) {
HeapRegion* retained_region = *retained_old;
@@ -90,7 +91,7 @@
}
}
-void G1Allocator::init_gc_alloc_regions(EvacuationInfo& evacuation_info) {
+void G1Allocator::init_gc_alloc_regions(G1EvacuationInfo& evacuation_info) {
assert_at_safepoint_on_vm_thread();
_survivor_is_full = false;
@@ -103,7 +104,7 @@
&_retained_old_gc_alloc_region);
}
-void G1Allocator::release_gc_alloc_regions(EvacuationInfo& evacuation_info) {
+void G1Allocator::release_gc_alloc_regions(G1EvacuationInfo& evacuation_info) {
evacuation_info.set_allocation_regions(survivor_gc_alloc_region()->count() +
old_gc_alloc_region()->count());
survivor_gc_alloc_region()->release();
--- a/src/hotspot/share/gc/g1/g1Allocator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1Allocator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,15 +22,15 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1ALLOCATOR_HPP
-#define SHARE_VM_GC_G1_G1ALLOCATOR_HPP
+#ifndef SHARE_GC_G1_G1ALLOCATOR_HPP
+#define SHARE_GC_G1_G1ALLOCATOR_HPP
#include "gc/g1/g1AllocRegion.hpp"
#include "gc/g1/g1InCSetState.hpp"
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/plab.hpp"
-class EvacuationInfo;
+class G1EvacuationInfo;
// Interface to keep track of which regions G1 is currently allocating into. Provides
// some accessors (e.g. allocating into them, or getting their occupancy).
@@ -63,7 +63,7 @@
void set_survivor_full();
void set_old_full();
- void reuse_retained_old_region(EvacuationInfo& evacuation_info,
+ void reuse_retained_old_region(G1EvacuationInfo& evacuation_info,
OldGCAllocRegion* old,
HeapRegion** retained);
@@ -92,8 +92,8 @@
void init_mutator_alloc_region();
void release_mutator_alloc_region();
- void init_gc_alloc_regions(EvacuationInfo& evacuation_info);
- void release_gc_alloc_regions(EvacuationInfo& evacuation_info);
+ void init_gc_alloc_regions(G1EvacuationInfo& evacuation_info);
+ void release_gc_alloc_regions(G1EvacuationInfo& evacuation_info);
void abandon_gc_alloc_regions();
bool is_retained_old_region(HeapRegion* hr);
@@ -288,4 +288,4 @@
static inline bool archive_check_enabled();
};
-#endif // SHARE_VM_GC_G1_G1ALLOCATOR_HPP
+#endif // SHARE_GC_G1_G1ALLOCATOR_HPP
--- a/src/hotspot/share/gc/g1/g1Allocator.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1Allocator.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1ALLOCATOR_INLINE_HPP
-#define SHARE_VM_GC_G1_G1ALLOCATOR_INLINE_HPP
+#ifndef SHARE_GC_G1_G1ALLOCATOR_INLINE_HPP
+#define SHARE_GC_G1_G1ALLOCATOR_INLINE_HPP
#include "gc/g1/g1Allocator.hpp"
#include "gc/g1/g1AllocRegion.inline.hpp"
@@ -164,4 +164,4 @@
in_open_archive_range(object)));
}
-#endif // SHARE_VM_GC_G1_G1ALLOCATOR_HPP
+#endif // SHARE_GC_G1_G1ALLOCATOR_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1Analytics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1Analytics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1MEASUREMENTS_HPP
-#define SHARE_VM_GC_G1_G1MEASUREMENTS_HPP
+#ifndef SHARE_GC_G1_G1ANALYTICS_HPP
+#define SHARE_GC_G1_G1ANALYTICS_HPP
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -158,4 +158,4 @@
double last_known_gc_end_time_sec() const;
};
-#endif // SHARE_VM_GC_G1_G1MEASUREMENTS_HPP
+#endif // SHARE_GC_G1_G1ANALYTICS_HPP
--- a/src/hotspot/share/gc/g1/g1BarrierSet.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1BarrierSet.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -55,8 +55,8 @@
make_barrier_set_c2<G1BarrierSetC2>(),
card_table,
BarrierSet::FakeRtti(BarrierSet::G1BarrierSet)),
- _satb_mark_queue_buffer_allocator(G1SATBBufferSize, SATB_Q_FL_lock),
- _dirty_card_queue_buffer_allocator(G1UpdateBufferSize, DirtyCardQ_FL_lock),
+ _satb_mark_queue_buffer_allocator("SATB Buffer Allocator", G1SATBBufferSize),
+ _dirty_card_queue_buffer_allocator("DC Buffer Allocator", G1UpdateBufferSize),
_satb_mark_queue_set(),
_dirty_card_queue_set()
{}
--- a/src/hotspot/share/gc/g1/g1BarrierSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1BarrierSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1BARRIERSET_HPP
-#define SHARE_VM_GC_G1_G1BARRIERSET_HPP
+#ifndef SHARE_GC_G1_G1BARRIERSET_HPP
+#define SHARE_GC_G1_G1BARRIERSET_HPP
#include "gc/g1/dirtyCardQueue.hpp"
#include "gc/g1/g1SATBMarkQueueSet.hpp"
@@ -126,4 +126,4 @@
typedef ::G1BarrierSet type;
};
-#endif // SHARE_VM_GC_G1_G1BARRIERSET_HPP
+#endif // SHARE_GC_G1_G1BARRIERSET_HPP
--- a/src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1BARRIERSET_INLINE_HPP
-#define SHARE_VM_GC_G1_G1BARRIERSET_INLINE_HPP
+#ifndef SHARE_GC_G1_G1BARRIERSET_INLINE_HPP
+#define SHARE_GC_G1_G1BARRIERSET_INLINE_HPP
#include "gc/g1/g1BarrierSet.hpp"
#include "gc/g1/g1CardTable.hpp"
@@ -105,4 +105,4 @@
Raw::oop_store(addr, new_value);
}
-#endif // SHARE_VM_GC_G1_G1BARRIERSET_INLINE_HPP
+#endif // SHARE_GC_G1_G1BARRIERSET_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1BiasedArray.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1BiasedArray.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1BIASEDARRAY_HPP
-#define SHARE_VM_GC_G1_G1BIASEDARRAY_HPP
+#ifndef SHARE_GC_G1_G1BIASEDARRAY_HPP
+#define SHARE_GC_G1_G1BIASEDARRAY_HPP
#include "memory/memRegion.hpp"
#include "utilities/debug.hpp"
@@ -194,4 +194,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1BIASEDARRAY_HPP
+#endif // SHARE_GC_G1_G1BIASEDARRAY_HPP
--- a/src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1BLOCKOFFSETTABLE_HPP
-#define SHARE_VM_GC_G1_G1BLOCKOFFSETTABLE_HPP
+#ifndef SHARE_GC_G1_G1BLOCKOFFSETTABLE_HPP
+#define SHARE_GC_G1_G1BLOCKOFFSETTABLE_HPP
#include "gc/g1/g1RegionToSpaceMapper.hpp"
#include "gc/shared/blockOffsetTable.hpp"
@@ -232,4 +232,4 @@
void print_on(outputStream* out) PRODUCT_RETURN;
};
-#endif // SHARE_VM_GC_G1_G1BLOCKOFFSETTABLE_HPP
+#endif // SHARE_GC_G1_G1BLOCKOFFSETTABLE_HPP
--- a/src/hotspot/share/gc/g1/g1BlockOffsetTable.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1BlockOffsetTable.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1BLOCKOFFSETTABLE_INLINE_HPP
-#define SHARE_VM_GC_G1_G1BLOCKOFFSETTABLE_INLINE_HPP
+#ifndef SHARE_GC_G1_G1BLOCKOFFSETTABLE_INLINE_HPP
+#define SHARE_GC_G1_G1BLOCKOFFSETTABLE_INLINE_HPP
#include "gc/g1/g1BlockOffsetTable.hpp"
#include "gc/g1/heapRegion.hpp"
@@ -165,4 +165,4 @@
return q;
}
-#endif // SHARE_VM_GC_G1_G1BLOCKOFFSETTABLE_INLINE_HPP
+#endif // SHARE_GC_G1_G1BLOCKOFFSETTABLE_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1CardCounts.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CardCounts.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CARDCOUNTS_HPP
-#define SHARE_VM_GC_G1_G1CARDCOUNTS_HPP
+#ifndef SHARE_GC_G1_G1CARDCOUNTS_HPP
+#define SHARE_GC_G1_G1CARDCOUNTS_HPP
#include "gc/g1/g1CardTable.hpp"
#include "gc/g1/g1RegionToSpaceMapper.hpp"
@@ -128,4 +128,4 @@
void clear_all();
};
-#endif // SHARE_VM_GC_G1_G1CARDCOUNTS_HPP
+#endif // SHARE_GC_G1_G1CARDCOUNTS_HPP
--- a/src/hotspot/share/gc/g1/g1CardTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CardTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CARDTABLE_HPP
-#define SHARE_VM_GC_G1_G1CARDTABLE_HPP
+#ifndef SHARE_GC_G1_G1CARDTABLE_HPP
+#define SHARE_GC_G1_G1CARDTABLE_HPP
#include "gc/g1/g1RegionToSpaceMapper.hpp"
#include "gc/shared/cardTable.hpp"
@@ -110,4 +110,4 @@
virtual bool is_in_young(oop obj) const;
};
-#endif // SHARE_VM_GC_G1_G1CARDTABLE_HPP
+#endif // SHARE_GC_G1_G1CARDTABLE_HPP
--- a/src/hotspot/share/gc/g1/g1CardTable.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CardTable.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CARDTABLE_INLINE_HPP
-#define SHARE_VM_GC_G1_G1CARDTABLE_INLINE_HPP
+#ifndef SHARE_GC_G1_G1CARDTABLE_INLINE_HPP
+#define SHARE_GC_G1_G1CARDTABLE_INLINE_HPP
#include "gc/g1/g1CardTable.hpp"
@@ -37,4 +37,4 @@
_byte_map[card_index] = val;
}
-#endif // SHARE_VM_GC_G1_G1CARDTABLE_INLINE_HPP
+#endif // SHARE_GC_G1_G1CARDTABLE_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1CodeBlobClosure.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CodeBlobClosure.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CODEBLOBCLOSURE_HPP
-#define SHARE_VM_GC_G1_G1CODEBLOBCLOSURE_HPP
+#ifndef SHARE_GC_G1_G1CODEBLOBCLOSURE_HPP
+#define SHARE_GC_G1_G1CODEBLOBCLOSURE_HPP
#include "gc/g1/g1CollectedHeap.hpp"
#include "memory/iterator.hpp"
@@ -57,5 +57,4 @@
void do_code_blob(CodeBlob* cb);
};
-#endif // SHARE_VM_GC_G1_G1CODEBLOBCLOSURE_HPP
-
+#endif // SHARE_GC_G1_G1CODEBLOBCLOSURE_HPP
--- a/src/hotspot/share/gc/g1/g1CodeCacheRemSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CodeCacheRemSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CODECACHEREMSET_HPP
-#define SHARE_VM_GC_G1_G1CODECACHEREMSET_HPP
+#ifndef SHARE_GC_G1_G1CODECACHEREMSET_HPP
+#define SHARE_GC_G1_G1CODECACHEREMSET_HPP
class CodeBlobClosure;
class G1CodeRootSetTable;
@@ -84,4 +84,4 @@
};
-#endif // SHARE_VM_GC_G1_G1CODECACHEREMSET_HPP
+#endif // SHARE_GC_G1_G1CODECACHEREMSET_HPP
--- a/src/hotspot/share/gc/g1/g1CodeRootSetTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CodeRootSetTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_GC_G1_G1CODEROOTSETTABLE_HPP
-#define SHARE_VM_GC_G1_G1CODEROOTSETTABLE_HPP
+#ifndef SHARE_GC_G1_G1CODEROOTSETTABLE_HPP
+#define SHARE_GC_G1_G1CODEROOTSETTABLE_HPP
#include "utilities/hashtable.hpp"
@@ -73,4 +73,4 @@
size_t mem_size();
};
-#endif /* SHARE_VM_GC_G1_G1CODEROOTSETTABLE_HPP */
+#endif // SHARE_GC_G1_G1CODEROOTSETTABLE_HPP
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -2918,7 +2918,7 @@
// Inner scope for scope based logging, timers, and stats collection
{
- EvacuationInfo evacuation_info;
+ G1EvacuationInfo evacuation_info;
if (collector_state()->in_initial_mark_gc()) {
// We are about to start a marking cycle, so we increment the
@@ -3899,7 +3899,7 @@
phase_times->record_optional_evacuation((os::elapsedTime() - start_time_sec) * 1000.0);
}
-void G1CollectedHeap::post_evacuate_collection_set(EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* per_thread_states) {
+void G1CollectedHeap::post_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* per_thread_states) {
// Also cleans the card table from temporary duplicate detection information used
// during UpdateRS/ScanRS.
g1_rem_set()->cleanup_after_oops_into_collection_set_do();
@@ -4033,7 +4033,7 @@
// be done serially in a single thread.
class G1SerialFreeCollectionSetClosure : public HeapRegionClosure {
private:
- EvacuationInfo* _evacuation_info;
+ G1EvacuationInfo* _evacuation_info;
const size_t* _surviving_young_words;
// Bytes used in successfully evacuated regions before the evacuation.
@@ -4048,7 +4048,7 @@
FreeRegionList _local_free_list;
public:
- G1SerialFreeCollectionSetClosure(EvacuationInfo* evacuation_info, const size_t* surviving_young_words) :
+ G1SerialFreeCollectionSetClosure(G1EvacuationInfo* evacuation_info, const size_t* surviving_young_words) :
HeapRegionClosure(),
_evacuation_info(evacuation_info),
_surviving_young_words(surviving_young_words),
@@ -4202,7 +4202,7 @@
policy->cset_regions_freed();
}
public:
- G1FreeCollectionSetTask(G1CollectionSet* collection_set, EvacuationInfo* evacuation_info, const size_t* surviving_young_words) :
+ G1FreeCollectionSetTask(G1CollectionSet* collection_set, G1EvacuationInfo* evacuation_info, const size_t* surviving_young_words) :
AbstractGangTask("G1 Free Collection Set"),
_collection_set(collection_set),
_cl(evacuation_info, surviving_young_words),
@@ -4285,7 +4285,7 @@
}
};
-void G1CollectedHeap::free_collection_set(G1CollectionSet* collection_set, EvacuationInfo& evacuation_info, const size_t* surviving_young_words) {
+void G1CollectedHeap::free_collection_set(G1CollectionSet* collection_set, G1EvacuationInfo& evacuation_info, const size_t* surviving_young_words) {
_eden.clear();
double free_cset_start_time = os::elapsedTime();
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,10 +22,9 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1COLLECTEDHEAP_HPP
-#define SHARE_VM_GC_G1_G1COLLECTEDHEAP_HPP
+#ifndef SHARE_GC_G1_G1COLLECTEDHEAP_HPP
+#define SHARE_GC_G1_G1COLLECTEDHEAP_HPP
-#include "gc/g1/evacuationInfo.hpp"
#include "gc/g1/g1BarrierSet.hpp"
#include "gc/g1/g1BiasedArray.hpp"
#include "gc/g1/g1CardTable.hpp"
@@ -35,6 +34,7 @@
#include "gc/g1/g1EdenRegions.hpp"
#include "gc/g1/g1EvacFailure.hpp"
#include "gc/g1/g1EvacStats.hpp"
+#include "gc/g1/g1EvacuationInfo.hpp"
#include "gc/g1/g1GCPhaseTimes.hpp"
#include "gc/g1/g1HeapTransition.hpp"
#include "gc/g1/g1HeapVerifier.hpp"
@@ -735,7 +735,7 @@
void evacuate_optional_regions(G1ParScanThreadStateSet* per_thread_states, G1OptionalCSet* ocset);
void pre_evacuate_collection_set();
- void post_evacuate_collection_set(EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss);
+ void post_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss);
// Print the header for the per-thread termination statistics.
static void print_termination_stats_hdr();
@@ -762,7 +762,7 @@
// After a collection pause, convert the regions in the collection set into free
// regions.
- void free_collection_set(G1CollectionSet* collection_set, EvacuationInfo& evacuation_info, const size_t* surviving_young_words);
+ void free_collection_set(G1CollectionSet* collection_set, G1EvacuationInfo& evacuation_info, const size_t* surviving_young_words);
// Abandon the current collection set without recording policy
// statistics or updating free lists.
@@ -1452,4 +1452,4 @@
inline bool offer_termination();
};
-#endif // SHARE_VM_GC_G1_G1COLLECTEDHEAP_HPP
+#endif // SHARE_GC_G1_G1COLLECTEDHEAP_HPP
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1COLLECTEDHEAP_INLINE_HPP
-#define SHARE_VM_GC_G1_G1COLLECTEDHEAP_INLINE_HPP
+#ifndef SHARE_GC_G1_G1COLLECTEDHEAP_INLINE_HPP
+#define SHARE_GC_G1_G1COLLECTEDHEAP_INLINE_HPP
#include "gc/g1/g1BarrierSet.hpp"
#include "gc/g1/g1CollectedHeap.hpp"
@@ -293,4 +293,4 @@
}
}
-#endif // SHARE_VM_GC_G1_G1COLLECTEDHEAP_INLINE_HPP
+#endif // SHARE_GC_G1_G1COLLECTEDHEAP_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1CollectionSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CollectionSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1COLLECTIONSET_HPP
-#define SHARE_VM_GC_G1_G1COLLECTIONSET_HPP
+#ifndef SHARE_GC_G1_G1COLLECTIONSET_HPP
+#define SHARE_GC_G1_G1COLLECTIONSET_HPP
#include "gc/g1/collectionSetChooser.hpp"
#include "utilities/debug.hpp"
@@ -275,5 +275,4 @@
bool evacuation_failed();
};
-#endif // SHARE_VM_GC_G1_G1COLLECTIONSET_HPP
-
+#endif // SHARE_GC_G1_G1COLLECTIONSET_HPP
--- a/src/hotspot/share/gc/g1/g1CollectorPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CollectorPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1COLLECTORPOLICY_HPP
-#define SHARE_VM_GC_G1_G1COLLECTORPOLICY_HPP
+#ifndef SHARE_GC_G1_G1COLLECTORPOLICY_HPP
+#define SHARE_GC_G1_G1COLLECTORPOLICY_HPP
#include "gc/shared/collectorPolicy.hpp"
@@ -41,4 +41,4 @@
virtual size_t heap_reserved_size_bytes() const;
virtual bool is_hetero_heap() const;
};
-#endif // SHARE_VM_GC_G1_G1COLLECTORPOLICY_HPP
+#endif // SHARE_GC_G1_G1COLLECTORPOLICY_HPP
--- a/src/hotspot/share/gc/g1/g1CollectorState.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1CollectorState.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1COLLECTORSTATE_HPP
-#define SHARE_VM_GC_G1_G1COLLECTORSTATE_HPP
+#ifndef SHARE_GC_G1_G1COLLECTORSTATE_HPP
+#define SHARE_GC_G1_G1COLLECTORSTATE_HPP
#include "gc/g1/g1YCTypes.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -123,4 +123,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1COLLECTORSTATE_HPP
+#endif // SHARE_GC_G1_G1COLLECTORSTATE_HPP
--- a/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -2178,7 +2178,10 @@
}
bool G1CMTask::should_exit_termination() {
- regular_clock_call();
+ if (!regular_clock_call()) {
+ return true;
+ }
+
// This is called when we are in the termination protocol. We should
// quit if, for some reason, this task wants to abort or the global
// stack is not empty (this means that we can get work from it).
@@ -2189,12 +2192,12 @@
assert(_words_scanned >= _words_scanned_limit ||
_refs_reached >= _refs_reached_limit ,
"shouldn't have been called otherwise");
- regular_clock_call();
+ abort_marking_if_regular_check_fail();
}
-void G1CMTask::regular_clock_call() {
+bool G1CMTask::regular_clock_call() {
if (has_aborted()) {
- return;
+ return false;
}
// First, we need to recalculate the words scanned and refs reached
@@ -2205,21 +2208,19 @@
// (1) If an overflow has been flagged, then we abort.
if (_cm->has_overflown()) {
- set_has_aborted();
- return;
+ return false;
}
// If we are not concurrent (i.e. we're doing remark) we don't need
// to check anything else. The other steps are only needed during
// the concurrent marking phase.
if (!_cm->concurrent()) {
- return;
+ return true;
}
// (2) If marking has been aborted for Full GC, then we also abort.
if (_cm->has_aborted()) {
- set_has_aborted();
- return;
+ return false;
}
double curr_time_ms = os::elapsedVTime() * 1000.0;
@@ -2228,17 +2229,15 @@
if (SuspendibleThreadSet::should_yield()) {
// We should yield. To do this we abort the task. The caller is
// responsible for yielding.
- set_has_aborted();
- return;
+ return false;
}
// (5) We check whether we've reached our time quota. If we have,
// then we abort.
double elapsed_time_ms = curr_time_ms - _start_time_ms;
if (elapsed_time_ms > _time_target_ms) {
- set_has_aborted();
_has_timed_out = true;
- return;
+ return false;
}
// (6) Finally, we check whether there are enough completed STAB
@@ -2247,9 +2246,9 @@
if (!_draining_satb_buffers && satb_mq_set.process_completed_buffers()) {
// we do need to process SATB buffers, we'll abort and restart
// the marking task to do so
- set_has_aborted();
- return;
+ return false;
}
+ return true;
}
void G1CMTask::recalculate_limits() {
@@ -2404,7 +2403,7 @@
// until we run out of buffers or we need to abort.
while (!has_aborted() &&
satb_mq_set.apply_closure_to_completed_buffer(&satb_cl)) {
- regular_clock_call();
+ abort_marking_if_regular_check_fail();
}
_draining_satb_buffers = false;
@@ -2647,7 +2646,7 @@
// If the iteration is successful, give up the region.
if (mr.is_empty()) {
giveup_current_region();
- regular_clock_call();
+ abort_marking_if_regular_check_fail();
} else if (_curr_region->is_humongous() && mr.start() == _curr_region->bottom()) {
if (_next_mark_bitmap->is_marked(mr.start())) {
// The object is marked - apply the closure
@@ -2656,10 +2655,10 @@
// Even if this task aborted while scanning the humongous object
// we can (and should) give up the current region.
giveup_current_region();
- regular_clock_call();
+ abort_marking_if_regular_check_fail();
} else if (_next_mark_bitmap->iterate(&bitmap_closure, mr)) {
giveup_current_region();
- regular_clock_call();
+ abort_marking_if_regular_check_fail();
} else {
assert(has_aborted(), "currently the only way to do so");
// The only way to abort the bitmap iteration is to return
@@ -2714,7 +2713,7 @@
// block of empty regions. So we need to call the regular clock
// method once round the loop to make sure it's called
// frequently enough.
- regular_clock_call();
+ abort_marking_if_regular_check_fail();
}
if (!has_aborted() && _curr_region == NULL) {
@@ -2792,6 +2791,7 @@
guarantee(_cm->mark_stack_empty(), "only way to reach here");
guarantee(_task_queue->size() == 0, "only way to reach here");
guarantee(!_cm->has_overflown(), "only way to reach here");
+ guarantee(!has_aborted(), "should never happen if termination has completed");
} else {
// Apparently there's more work to do. Let's abort this task. It
// will restart it and we can hopefully find more things to do.
--- a/src/hotspot/share/gc/g1/g1ConcurrentMark.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CONCURRENTMARK_HPP
-#define SHARE_VM_GC_G1_G1CONCURRENTMARK_HPP
+#ifndef SHARE_GC_G1_G1CONCURRENTMARK_HPP
+#define SHARE_GC_G1_G1CONCURRENTMARK_HPP
#include "gc/g1/g1ConcurrentMarkBitMap.hpp"
#include "gc/g1/g1ConcurrentMarkObjArrayProcessor.hpp"
@@ -727,7 +727,11 @@
// Supposed to be called regularly during a marking step as
// it checks a bunch of conditions that might cause the marking step
// to abort
- void regular_clock_call();
+ // Return true if the marking step should continue. Otherwise, return false to abort
+ bool regular_clock_call();
+
+ // Set abort flag if regular_clock_call() check fails
+ inline void abort_marking_if_regular_check_fail();
// Test whether obj might have already been passed over by the
// mark bitmap scan, and so needs to be pushed onto the mark stack.
@@ -869,4 +873,4 @@
~G1PrintRegionLivenessInfoClosure();
};
-#endif // SHARE_VM_GC_G1_G1CONCURRENTMARK_HPP
+#endif // SHARE_GC_G1_G1CONCURRENTMARK_HPP
--- a/src/hotspot/share/gc/g1/g1ConcurrentMark.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CONCURRENTMARK_INLINE_HPP
-#define SHARE_VM_GC_G1_G1CONCURRENTMARK_INLINE_HPP
+#ifndef SHARE_GC_G1_G1CONCURRENTMARK_INLINE_HPP
+#define SHARE_GC_G1_G1CONCURRENTMARK_INLINE_HPP
#include "gc/g1/g1CollectedHeap.inline.hpp"
#include "gc/g1/g1ConcurrentMark.hpp"
@@ -210,6 +210,12 @@
task(worker_id)->update_liveness(obj, size);
}
+inline void G1CMTask::abort_marking_if_regular_check_fail() {
+ if (!regular_clock_call()) {
+ set_has_aborted();
+ }
+}
+
inline bool G1CMTask::make_reference_grey(oop obj) {
if (!_cm->mark_in_next_bitmap(_worker_id, obj)) {
return false;
@@ -287,4 +293,4 @@
}
}
-#endif // SHARE_VM_GC_G1_G1CONCURRENTMARK_INLINE_HPP
+#endif // SHARE_GC_G1_G1CONCURRENTMARK_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_HPP
-#define SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_HPP
+#ifndef SHARE_GC_G1_G1CONCURRENTMARKBITMAP_HPP
+#define SHARE_GC_G1_G1CONCURRENTMARKBITMAP_HPP
#include "gc/g1/g1RegionToSpaceMapper.hpp"
#include "gc/shared/markBitMap.hpp"
@@ -81,4 +81,4 @@
void clear_region(HeapRegion* hr);
};
-#endif // SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_HPP
+#endif // SHARE_GC_G1_G1CONCURRENTMARKBITMAP_HPP
--- a/src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_INLINE_HPP
-#define SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_INLINE_HPP
+#ifndef SHARE_GC_G1_G1CONCURRENTMARKBITMAP_INLINE_HPP
+#define SHARE_GC_G1_G1CONCURRENTMARKBITMAP_INLINE_HPP
#include "gc/g1/g1ConcurrentMarkBitMap.hpp"
#include "gc/shared/markBitMap.inline.hpp"
@@ -51,4 +51,4 @@
return true;
}
-#endif // SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_INLINE_HPP
+#endif // SHARE_GC_G1_G1CONCURRENTMARKBITMAP_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_HPP
-#define SHARE_VM_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_HPP
+#ifndef SHARE_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_HPP
+#define SHARE_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_HPP
#include "oops/oopsHierarchy.hpp"
@@ -56,4 +56,4 @@
size_t process_obj(oop obj);
};
-#endif /* SHARE_VM_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_HPP */
+#endif // SHARE_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_HPP
--- a/src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_INLINE_HPP
-#define SHARE_VM_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_INLINE_HPP
+#ifndef SHARE_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_INLINE_HPP
+#define SHARE_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_INLINE_HPP
#include "oops/oop.inline.hpp"
#include "oops/oopsHierarchy.hpp"
@@ -33,4 +33,4 @@
return obj->is_objArray() && ((size_t)((objArrayOop)obj)->size()) >= 2 * ObjArrayMarkingStride;
}
-#endif /* SHARE_VM_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_INLINE_HPP */
+#endif // SHARE_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CONCURRENTMARKTHREAD_HPP
-#define SHARE_VM_GC_G1_G1CONCURRENTMARKTHREAD_HPP
+#ifndef SHARE_GC_G1_G1CONCURRENTMARKTHREAD_HPP
+#define SHARE_GC_G1_G1CONCURRENTMARKTHREAD_HPP
#include "gc/shared/concurrentGCPhaseManager.hpp"
#include "gc/shared/concurrentGCThread.hpp"
@@ -98,4 +98,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1CONCURRENTMARKTHREAD_HPP
+#endif // SHARE_GC_G1_G1CONCURRENTMARKTHREAD_HPP
--- a/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CONCURRENTMARKTHREAD_INLINE_HPP
-#define SHARE_VM_GC_G1_G1CONCURRENTMARKTHREAD_INLINE_HPP
+#ifndef SHARE_GC_G1_G1CONCURRENTMARKTHREAD_INLINE_HPP
+#define SHARE_GC_G1_G1CONCURRENTMARKTHREAD_INLINE_HPP
#include "gc/g1/g1ConcurrentMark.hpp"
#include "gc/g1/g1ConcurrentMarkThread.hpp"
@@ -38,4 +38,4 @@
return _vtime_mark_accum + _cm->all_task_accum_vtime();
}
-#endif // SHARE_VM_GC_G1_G1CONCURRENTMARKTHREAD_INLINE_HPP
+#endif // SHARE_GC_G1_G1CONCURRENTMARKTHREAD_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1ConcurrentRefine.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentRefine.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CONCURRENTREFINE_HPP
-#define SHARE_VM_GC_G1_G1CONCURRENTREFINE_HPP
+#ifndef SHARE_GC_G1_G1CONCURRENTREFINE_HPP
+#define SHARE_GC_G1_G1CONCURRENTREFINE_HPP
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -136,4 +136,4 @@
size_t red_zone() const { return _red_zone; }
};
-#endif // SHARE_VM_GC_G1_G1CONCURRENTREFINE_HPP
+#endif // SHARE_GC_G1_G1CONCURRENTREFINE_HPP
--- a/src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1CONCURRENTREFINETHREAD_HPP
-#define SHARE_VM_GC_G1_G1CONCURRENTREFINETHREAD_HPP
+#ifndef SHARE_GC_G1_G1CONCURRENTREFINETHREAD_HPP
+#define SHARE_GC_G1_G1CONCURRENTREFINETHREAD_HPP
#include "gc/g1/dirtyCardQueue.hpp"
#include "gc/shared/concurrentGCThread.hpp"
@@ -67,4 +67,4 @@
double vtime_accum() { return _vtime_accum; }
};
-#endif // SHARE_VM_GC_G1_G1CONCURRENTREFINETHREAD_HPP
+#endif // SHARE_GC_G1_G1CONCURRENTREFINETHREAD_HPP
--- a/src/hotspot/share/gc/g1/g1EdenRegions.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1EdenRegions.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1EDENREGIONS_HPP
-#define SHARE_VM_GC_G1_G1EDENREGIONS_HPP
+#ifndef SHARE_GC_G1_G1EDENREGIONS_HPP
+#define SHARE_GC_G1_G1EDENREGIONS_HPP
#include "gc/g1/heapRegion.hpp"
#include "runtime/globals.hpp"
@@ -46,4 +46,4 @@
uint length() const { return _length; }
};
-#endif // SHARE_VM_GC_G1_G1EDENREGIONS_HPP
+#endif // SHARE_GC_G1_G1EDENREGIONS_HPP
--- a/src/hotspot/share/gc/g1/g1EvacFailure.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1EvacFailure.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1EVACFAILURE_HPP
-#define SHARE_VM_GC_G1_G1EVACFAILURE_HPP
+#ifndef SHARE_GC_G1_G1EVACFAILURE_HPP
+#define SHARE_GC_G1_G1EVACFAILURE_HPP
#include "gc/g1/g1OopClosures.hpp"
#include "gc/g1/heapRegionManager.hpp"
@@ -45,4 +45,4 @@
void work(uint worker_id);
};
-#endif // SHARE_VM_GC_G1_G1EVACFAILURE_HPP
+#endif // SHARE_GC_G1_G1EVACFAILURE_HPP
--- a/src/hotspot/share/gc/g1/g1EvacStats.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1EvacStats.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1EVACSTATS_HPP
-#define SHARE_VM_GC_G1_G1EVACSTATS_HPP
+#ifndef SHARE_GC_G1_G1EVACSTATS_HPP
+#define SHARE_GC_G1_G1EVACSTATS_HPP
#include "gc/shared/plab.hpp"
@@ -74,4 +74,4 @@
inline void add_failure_used_and_waste(size_t used, size_t waste);
};
-#endif // SHARE_VM_GC_G1_G1EVACSTATS_HPP
+#endif // SHARE_GC_G1_G1EVACSTATS_HPP
--- a/src/hotspot/share/gc/g1/g1EvacStats.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1EvacStats.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1EVACSTATS_INLINE_HPP
-#define SHARE_VM_GC_G1_G1EVACSTATS_INLINE_HPP
+#ifndef SHARE_GC_G1_G1EVACSTATS_INLINE_HPP
+#define SHARE_GC_G1_G1EVACSTATS_INLINE_HPP
#include "gc/g1/g1EvacStats.hpp"
#include "runtime/atomic.hpp"
@@ -42,4 +42,4 @@
Atomic::add(waste, &_failure_waste);
}
-#endif // SHARE_VM_GC_G1_G1EVACSTATS_INLINE_HPP
+#endif // SHARE_GC_G1_G1EVACSTATS_INLINE_HPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/share/gc/g1/g1EvacuationInfo.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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 SHARE_GC_G1_G1EVACUATIONINFO_HPP
+#define SHARE_GC_G1_G1EVACUATIONINFO_HPP
+
+#include "memory/allocation.hpp"
+
+class G1EvacuationInfo : public StackObj {
+ uint _collectionset_regions;
+ uint _allocation_regions;
+ size_t _collectionset_used_before;
+ size_t _collectionset_used_after;
+ size_t _alloc_regions_used_before;
+ size_t _bytes_copied;
+ uint _regions_freed;
+
+public:
+ G1EvacuationInfo() : _collectionset_regions(0), _allocation_regions(0), _collectionset_used_before(0),
+ _collectionset_used_after(0), _alloc_regions_used_before(0),
+ _bytes_copied(0), _regions_freed(0) { }
+
+ void set_collectionset_regions(uint collectionset_regions) {
+ _collectionset_regions = collectionset_regions;
+ }
+
+ void set_allocation_regions(uint allocation_regions) {
+ _allocation_regions = allocation_regions;
+ }
+
+ void set_collectionset_used_before(size_t used) {
+ _collectionset_used_before = used;
+ }
+
+ void increment_collectionset_used_after(size_t used) {
+ _collectionset_used_after += used;
+ }
+
+ void set_alloc_regions_used_before(size_t used) {
+ _alloc_regions_used_before = used;
+ }
+
+ void set_bytes_copied(size_t copied) {
+ _bytes_copied = copied;
+ }
+
+ void set_regions_freed(uint freed) {
+ _regions_freed += freed;
+ }
+
+ uint collectionset_regions() { return _collectionset_regions; }
+ uint allocation_regions() { return _allocation_regions; }
+ size_t collectionset_used_before() { return _collectionset_used_before; }
+ size_t collectionset_used_after() { return _collectionset_used_after; }
+ size_t alloc_regions_used_before() { return _alloc_regions_used_before; }
+ size_t bytes_copied() { return _bytes_copied; }
+ uint regions_freed() { return _regions_freed; }
+};
+
+#endif // SHARE_GC_G1_G1EVACUATIONINFO_HPP
--- a/src/hotspot/share/gc/g1/g1FromCardCache.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1FromCardCache.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1FROMCARDCACHE_HPP
-#define SHARE_VM_GC_G1_G1FROMCARDCACHE_HPP
+#ifndef SHARE_GC_G1_G1FROMCARDCACHE_HPP
+#define SHARE_GC_G1_G1FROMCARDCACHE_HPP
#include "memory/allocation.hpp"
#include "utilities/ostream.hpp"
@@ -90,4 +90,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1FROMCARDCACHE_HPP
+#endif // SHARE_GC_G1_G1FROMCARDCACHE_HPP
--- a/src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1MARKSTACK_INLINE_HPP
-#define SHARE_VM_GC_G1_G1MARKSTACK_INLINE_HPP
+#ifndef SHARE_GC_G1_G1FULLGCMARKER_INLINE_HPP
+#define SHARE_GC_G1_G1FULLGCMARKER_INLINE_HPP
#include "gc/g1/g1Allocator.inline.hpp"
#include "gc/g1/g1ConcurrentMarkBitMap.inline.hpp"
@@ -173,4 +173,4 @@
_cld_closure.do_cld(cld);
}
-#endif
+#endif // SHARE_GC_G1_G1FULLGCMARKER_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1FullGCOopClosures.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1FullGCOopClosures.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1FULLGCOOPCLOSURES_INLINE_HPP
-#define SHARE_VM_GC_G1_G1FULLGCOOPCLOSURES_INLINE_HPP
+#ifndef SHARE_GC_G1_G1FULLGCOOPCLOSURES_INLINE_HPP
+#define SHARE_GC_G1_G1FULLGCOOPCLOSURES_INLINE_HPP
#include "gc/g1/g1Allocator.inline.hpp"
#include "gc/g1/g1ConcurrentMarkBitMap.inline.hpp"
@@ -101,4 +101,4 @@
_marker->mark_and_push(p);
}
-#endif
+#endif // SHARE_GC_G1_G1FULLGCOOPCLOSURES_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1FullGCScope.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1FullGCScope.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1FULLGCSCOPE_HPP
-#define SHARE_VM_GC_G1_G1FULLGCSCOPE_HPP
+#ifndef SHARE_GC_G1_G1FULLGCSCOPE_HPP
+#define SHARE_GC_G1_G1FULLGCSCOPE_HPP
#include "gc/g1/g1CollectedHeap.hpp"
#include "gc/g1/g1HeapTransition.hpp"
@@ -65,4 +65,4 @@
G1HeapTransition* heap_transition();
};
-#endif //SHARE_VM_GC_G1_G1FULLGCSCOPE_HPP
+#endif // SHARE_GC_G1_G1FULLGCSCOPE_HPP
--- a/src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1GCPHASETIMES_HPP
-#define SHARE_VM_GC_G1_G1GCPHASETIMES_HPP
+#ifndef SHARE_GC_G1_G1GCPHASETIMES_HPP
+#define SHARE_GC_G1_G1GCPHASETIMES_HPP
#include "gc/shared/referenceProcessorPhaseTimes.hpp"
#include "gc/shared/weakProcessorPhaseTimes.hpp"
@@ -425,4 +425,4 @@
virtual ~G1EvacPhaseTimesTracker();
};
-#endif // SHARE_VM_GC_G1_G1GCPHASETIMES_HPP
+#endif // SHARE_GC_G1_G1GCPHASETIMES_HPP
--- a/src/hotspot/share/gc/g1/g1HRPrinter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1HRPrinter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1HRPRINTER_HPP
-#define SHARE_VM_GC_G1_G1HRPRINTER_HPP
+#ifndef SHARE_GC_G1_G1HRPRINTER_HPP
+#define SHARE_GC_G1_G1HRPRINTER_HPP
#include "gc/g1/heapRegion.hpp"
#include "logging/log.hpp"
@@ -105,4 +105,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1HRPRINTER_HPP
+#endif // SHARE_GC_G1_G1HRPRINTER_HPP
--- a/src/hotspot/share/gc/g1/g1HeapRegionEventSender.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1HeapRegionEventSender.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1HEAPREGIONEVENTSENDER_HPP
-#define SHARE_VM_GC_G1_G1HEAPREGIONEVENTSENDER_HPP
+#ifndef SHARE_GC_G1_G1HEAPREGIONEVENTSENDER_HPP
+#define SHARE_GC_G1_G1HEAPREGIONEVENTSENDER_HPP
#include "memory/allocation.hpp"
@@ -32,4 +32,4 @@
static void send_events();
};
-#endif // SHARE_VM_GC_G1_G1HEAPREGIONEVENTSENDER_HPP
+#endif // SHARE_GC_G1_G1HEAPREGIONEVENTSENDER_HPP
--- a/src/hotspot/share/gc/g1/g1HeapRegionTraceType.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1HeapRegionTraceType.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1HEAPREGIONTRACETYPE_HPP
-#define SHARE_VM_GC_G1_G1HEAPREGIONTRACETYPE_HPP
+#ifndef SHARE_GC_G1_G1HEAPREGIONTRACETYPE_HPP
+#define SHARE_GC_G1_G1HEAPREGIONTRACETYPE_HPP
#include "memory/allocation.hpp"
#include "utilities/debug.hpp"
@@ -57,4 +57,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1HEAPREGIONTRACETYPE_HPP
+#endif // SHARE_GC_G1_G1HEAPREGIONTRACETYPE_HPP
--- a/src/hotspot/share/gc/g1/g1HeapSizingPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1HeapSizingPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1HEAPSIZINGPOLICY_HPP
-#define SHARE_VM_GC_G1_G1HEAPSIZINGPOLICY_HPP
+#ifndef SHARE_GC_G1_G1HEAPSIZINGPOLICY_HPP
+#define SHARE_GC_G1_G1HEAPSIZINGPOLICY_HPP
#include "memory/allocation.hpp"
@@ -60,4 +60,4 @@
static G1HeapSizingPolicy* create(const G1CollectedHeap* g1h, const G1Analytics* analytics);
};
-#endif // SRC_SHARE_VM_GC_G1_G1HEAPSIZINGPOLICY_HPP
+#endif // SHARE_GC_G1_G1HEAPSIZINGPOLICY_HPP
--- a/src/hotspot/share/gc/g1/g1HeapTransition.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1HeapTransition.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1HEAPTRANSITION_HPP
-#define SHARE_VM_GC_G1_G1HEAPTRANSITION_HPP
+#ifndef SHARE_GC_G1_G1HEAPTRANSITION_HPP
+#define SHARE_GC_G1_G1HEAPTRANSITION_HPP
#include "gc/shared/plab.hpp"
@@ -50,4 +50,4 @@
void print();
};
-#endif // SHARE_VM_GC_G1_G1HEAPTRANSITION_HPP
+#endif // SHARE_GC_G1_G1HEAPTRANSITION_HPP
--- a/src/hotspot/share/gc/g1/g1HeapVerifier.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1HeapVerifier.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1HEAPVERIFIER_HPP
-#define SHARE_VM_GC_G1_G1HEAPVERIFIER_HPP
+#ifndef SHARE_GC_G1_G1HEAPVERIFIER_HPP
+#define SHARE_GC_G1_G1HEAPVERIFIER_HPP
#include "gc/g1/heapRegionSet.hpp"
#include "memory/allocation.hpp"
@@ -119,4 +119,4 @@
static void verify_archive_regions();
};
-#endif // SHARE_VM_GC_G1_G1HEAPVERIFIER_HPP
+#endif // SHARE_GC_G1_G1HEAPVERIFIER_HPP
--- a/src/hotspot/share/gc/g1/g1HeterogeneousCollectorPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1HeterogeneousCollectorPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1HETEROGENEOUSCOLLECTORPOLICY_HPP
-#define SHARE_VM_GC_G1_G1HETEROGENEOUSCOLLECTORPOLICY_HPP
+#ifndef SHARE_GC_G1_G1HETEROGENEOUSCOLLECTORPOLICY_HPP
+#define SHARE_GC_G1_G1HETEROGENEOUSCOLLECTORPOLICY_HPP
#include "gc/g1/g1CollectorPolicy.hpp"
#include "gc/g1/g1HeterogeneousHeapYoungGenSizer.hpp"
@@ -45,4 +45,4 @@
static size_t reasonable_max_memory_for_young();
};
-#endif // SHARE_VM_GC_G1_G1HETEROGENEOUSCOLLECTORPOLICY_HPP
+#endif // SHARE_GC_G1_G1HETEROGENEOUSCOLLECTORPOLICY_HPP
--- a/src/hotspot/share/gc/g1/g1HeterogeneousHeapPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1HeterogeneousHeapPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1HETEROGENEOUSHEAPPOLICY_HPP
-#define SHARE_VM_GC_G1_G1HETEROGENEOUSHEAPPOLICY_HPP
+#ifndef SHARE_GC_G1_G1HETEROGENEOUSHEAPPOLICY_HPP
+#define SHARE_GC_G1_G1HETEROGENEOUSHEAPPOLICY_HPP
#include "gc/g1/g1CollectorPolicy.hpp"
#include "gc/g1/g1Policy.hpp"
@@ -45,4 +45,4 @@
virtual bool force_upgrade_to_full();
};
-#endif // SHARE_VM_GC_G1_G1HETEROGENEOUSHEAPPOLICY_HPP
+#endif // SHARE_GC_G1_G1HETEROGENEOUSHEAPPOLICY_HPP
--- a/src/hotspot/share/gc/g1/g1HeterogeneousHeapYoungGenSizer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1HeterogeneousHeapYoungGenSizer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1HETEROGENEOUSHEAPYOUNGGENSIZER_HPP
-#define SHARE_VM_GC_G1_G1HETEROGENEOUSHEAPYOUNGGENSIZER_HPP
+#ifndef SHARE_GC_G1_G1HETEROGENEOUSHEAPYOUNGGENSIZER_HPP
+#define SHARE_GC_G1_G1HETEROGENEOUSHEAPYOUNGGENSIZER_HPP
#include "gc/g1/g1YoungGenSizer.hpp"
@@ -48,4 +48,4 @@
virtual void heap_size_changed(uint new_number_of_heap_regions);
};
-#endif // SHARE_VM_GC_G1_G1HETEROGENEOUSHEAPYOUNGGENSIZER_HPP
+#endif // SHARE_GC_G1_G1HETEROGENEOUSHEAPYOUNGGENSIZER_HPP
--- a/src/hotspot/share/gc/g1/g1HotCardCache.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1HotCardCache.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1HOTCARDCACHE_HPP
-#define SHARE_VM_GC_G1_G1HOTCARDCACHE_HPP
+#ifndef SHARE_GC_G1_G1HOTCARDCACHE_HPP
+#define SHARE_GC_G1_G1HOTCARDCACHE_HPP
#include "gc/g1/g1CardCounts.hpp"
#include "gc/g1/g1_globals.hpp"
@@ -141,4 +141,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1HOTCARDCACHE_HPP
+#endif // SHARE_GC_G1_G1HOTCARDCACHE_HPP
--- a/src/hotspot/share/gc/g1/g1IHOPControl.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1IHOPControl.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1IHOPCONTROL_HPP
-#define SHARE_VM_GC_G1_G1IHOPCONTROL_HPP
+#ifndef SHARE_GC_G1_G1IHOPCONTROL_HPP
+#define SHARE_GC_G1_G1IHOPCONTROL_HPP
#include "memory/allocation.hpp"
#include "utilities/numberSeq.hpp"
@@ -146,4 +146,4 @@
virtual void send_trace_event(G1NewTracer* tracer);
};
-#endif // SHARE_VM_GC_G1_G1IHOPCONTROL_HPP
+#endif // SHARE_GC_G1_G1IHOPCONTROL_HPP
--- a/src/hotspot/share/gc/g1/g1InCSetState.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1InCSetState.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1INCSETSTATE_HPP
-#define SHARE_VM_GC_G1_G1INCSETSTATE_HPP
+#ifndef SHARE_GC_G1_G1INCSETSTATE_HPP
+#define SHARE_GC_G1_G1INCSETSTATE_HPP
#include "gc/g1/g1BiasedArray.hpp"
#include "gc/g1/heapRegion.hpp"
@@ -139,4 +139,4 @@
void clear(const HeapRegion* hr) { return set_by_index(hr->hrm_index(), InCSetState::NotInCSet); }
};
-#endif // SHARE_VM_GC_G1_G1INCSETSTATE_HPP
+#endif // SHARE_GC_G1_G1INCSETSTATE_HPP
--- a/src/hotspot/share/gc/g1/g1InitialMarkToMixedTimeTracker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1InitialMarkToMixedTimeTracker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1INITIALMARKTOMIXEDTIMETRACKER_HPP
-#define SHARE_VM_GC_G1_G1INITIALMARKTOMIXEDTIMETRACKER_HPP
+#ifndef SHARE_GC_G1_G1INITIALMARKTOMIXEDTIMETRACKER_HPP
+#define SHARE_GC_G1_G1INITIALMARKTOMIXEDTIMETRACKER_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/debug.hpp"
@@ -84,4 +84,4 @@
bool has_result() const { return _mixed_start_time > 0.0 && _initial_mark_end_time > 0.0; }
};
-#endif // SHARE_VM_GC_G1_G1INITIALMARKTOMIXEDTIMETRACKER_HPP
+#endif // SHARE_GC_G1_G1INITIALMARKTOMIXEDTIMETRACKER_HPP
--- a/src/hotspot/share/gc/g1/g1MMUTracker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1MMUTracker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1MMUTRACKER_HPP
-#define SHARE_VM_GC_G1_G1MMUTRACKER_HPP
+#ifndef SHARE_GC_G1_G1MMUTRACKER_HPP
+#define SHARE_GC_G1_G1MMUTRACKER_HPP
#include "gc/shared/gcId.hpp"
#include "memory/allocation.hpp"
@@ -142,4 +142,4 @@
virtual double when_sec(double current_time, double pause_time);
};
-#endif // SHARE_VM_GC_G1_G1MMUTRACKER_HPP
+#endif // SHARE_GC_G1_G1MMUTRACKER_HPP
--- a/src/hotspot/share/gc/g1/g1MemoryPool.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1MemoryPool.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1MEMORYPOOL_HPP
-#define SHARE_VM_GC_G1_G1MEMORYPOOL_HPP
+#ifndef SHARE_GC_G1_G1MEMORYPOOL_HPP
+#define SHARE_GC_G1_G1MEMORYPOOL_HPP
#include "gc/g1/g1MonitoringSupport.hpp"
#include "services/memoryPool.hpp"
@@ -93,4 +93,4 @@
MemoryUsage get_memory_usage();
};
-#endif // SHARE_VM_GC_G1_G1MEMORYPOOL_HPP
+#endif // SHARE_GC_G1_G1MEMORYPOOL_HPP
--- a/src/hotspot/share/gc/g1/g1MonitoringSupport.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1MonitoringSupport.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1MONITORINGSUPPORT_HPP
-#define SHARE_VM_GC_G1_G1MONITORINGSUPPORT_HPP
+#ifndef SHARE_GC_G1_G1MONITORINGSUPPORT_HPP
+#define SHARE_GC_G1_G1MONITORINGSUPPORT_HPP
#include "gc/shared/collectorCounters.hpp"
#include "gc/shared/generationCounters.hpp"
@@ -259,4 +259,4 @@
G1MonitoringScope(G1MonitoringSupport* g1mm, bool full_gc, bool all_memory_pools_affected);
};
-#endif // SHARE_VM_GC_G1_G1MONITORINGSUPPORT_HPP
+#endif // SHARE_GC_G1_G1MONITORINGSUPPORT_HPP
--- a/src/hotspot/share/gc/g1/g1OopClosures.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1OopClosures.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1OOPCLOSURES_HPP
-#define SHARE_VM_GC_G1_G1OOPCLOSURES_HPP
+#ifndef SHARE_GC_G1_G1OOPCLOSURES_HPP
+#define SHARE_GC_G1_G1OOPCLOSURES_HPP
#include "gc/g1/g1InCSetState.hpp"
#include "memory/iterator.hpp"
@@ -251,4 +251,4 @@
virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
};
-#endif // SHARE_VM_GC_G1_G1OOPCLOSURES_HPP
+#endif // SHARE_GC_G1_G1OOPCLOSURES_HPP
--- a/src/hotspot/share/gc/g1/g1OopClosures.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1OopClosures.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1OOPCLOSURES_INLINE_HPP
-#define SHARE_VM_GC_G1_G1OOPCLOSURES_INLINE_HPP
+#ifndef SHARE_GC_G1_G1OOPCLOSURES_INLINE_HPP
+#define SHARE_GC_G1_G1OOPCLOSURES_INLINE_HPP
#include "gc/g1/g1CollectedHeap.hpp"
#include "gc/g1/g1ConcurrentMark.inline.hpp"
@@ -279,4 +279,4 @@
rem_set->add_reference(p, _worker_id);
}
-#endif // SHARE_VM_GC_G1_G1OOPCLOSURES_INLINE_HPP
+#endif // SHARE_GC_G1_G1OOPCLOSURES_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP
-#define SHARE_VM_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP
+#ifndef SHARE_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP
+#define SHARE_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP
#include "memory/memRegion.hpp"
#include "memory/virtualspace.hpp"
@@ -152,4 +152,4 @@
void print();
};
-#endif // SHARE_VM_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP
+#endif // SHARE_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP
--- a/src/hotspot/share/gc/g1/g1ParScanThreadState.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_HPP
-#define SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_HPP
+#ifndef SHARE_GC_G1_G1PARSCANTHREADSTATE_HPP
+#define SHARE_GC_G1_G1PARSCANTHREADSTATE_HPP
#include "gc/g1/dirtyCardQueue.hpp"
#include "gc/g1/g1CardTable.hpp"
@@ -249,4 +249,4 @@
G1ParScanThreadState* new_par_scan_state(uint worker_id, size_t young_cset_length);
};
-#endif // SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_HPP
+#endif // SHARE_GC_G1_G1PARSCANTHREADSTATE_HPP
--- a/src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP
-#define SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP
+#ifndef SHARE_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP
+#define SHARE_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP
#include "gc/g1/g1CollectedHeap.inline.hpp"
#include "gc/g1/g1OopStarChunkedList.inline.hpp"
@@ -223,4 +223,4 @@
return &_oops_into_optional_regions[hr->index_in_opt_cset()];
}
-#endif // SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP
+#endif // SHARE_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1Policy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1Policy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1POLICY_HPP
-#define SHARE_VM_GC_G1_G1POLICY_HPP
+#ifndef SHARE_GC_G1_G1POLICY_HPP
+#define SHARE_GC_G1_G1POLICY_HPP
#include "gc/g1/g1CollectorPolicy.hpp"
#include "gc/g1/g1CollectorState.hpp"
@@ -441,4 +441,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1POLICY_HPP
+#endif // SHARE_GC_G1_G1POLICY_HPP
--- a/src/hotspot/share/gc/g1/g1Predictions.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1Predictions.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1PREDICTIONS_HPP
-#define SHARE_VM_GC_G1_G1PREDICTIONS_HPP
+#ifndef SHARE_GC_G1_G1PREDICTIONS_HPP
+#define SHARE_GC_G1_G1PREDICTIONS_HPP
#include "utilities/numberSeq.hpp"
@@ -59,4 +59,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1PREDICTIONS_HPP
+#endif // SHARE_GC_G1_G1PREDICTIONS_HPP
--- a/src/hotspot/share/gc/g1/g1RegionMarkStatsCache.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1RegionMarkStatsCache.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1REGIONMARKSTATSCACHE_HPP
-#define SHARE_VM_GC_G1_G1REGIONMARKSTATSCACHE_HPP
+#ifndef SHARE_GC_G1_G1REGIONMARKSTATSCACHE_HPP
+#define SHARE_GC_G1_G1REGIONMARKSTATSCACHE_HPP
#include "memory/allocation.hpp"
#include "utilities/debug.hpp"
@@ -127,4 +127,4 @@
size_t misses() const { return _cache_misses; }
};
-#endif // SHARE_VM_GC_G1_G1REGIONMARKSTATSCACHE_HPP
+#endif // SHARE_GC_G1_G1REGIONMARKSTATSCACHE_HPP
--- a/src/hotspot/share/gc/g1/g1RegionMarkStatsCache.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1RegionMarkStatsCache.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1REGIONMARKSTATSCACHE_INLINE_HPP
-#define SHARE_VM_GC_G1_G1REGIONMARKSTATSCACHE_INLINE_HPP
+#ifndef SHARE_GC_G1_G1REGIONMARKSTATSCACHE_INLINE_HPP
+#define SHARE_GC_G1_G1REGIONMARKSTATSCACHE_INLINE_HPP
#include "gc/g1/g1RegionMarkStatsCache.hpp"
#include "runtime/atomic.hpp"
@@ -51,4 +51,4 @@
cur->clear();
}
-#endif // SHARE_VM_GC_G1_G1REGIONMARKSTATSCACHE_INLINE_HPP
+#endif // SHARE_GC_G1_G1REGIONMARKSTATSCACHE_INLINE_HPP
--- a/src/hotspot/share/gc/g1/g1RegionToSpaceMapper.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1RegionToSpaceMapper.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1REGIONTOSPACEMAPPER_HPP
-#define SHARE_VM_GC_G1_G1REGIONTOSPACEMAPPER_HPP
+#ifndef SHARE_GC_G1_G1REGIONTOSPACEMAPPER_HPP
+#define SHARE_GC_G1_G1REGIONTOSPACEMAPPER_HPP
#include "gc/g1/g1PageBasedVirtualSpace.hpp"
#include "memory/allocation.hpp"
@@ -121,4 +121,4 @@
virtual void commit_regions(uint start_idx, size_t num_regions = 1, WorkGang* pretouch_workers = NULL);
virtual void uncommit_regions(uint start_idx, size_t num_regions = 1);
};
-#endif // SHARE_VM_GC_G1_G1REGIONTOSPACEMAPPER_HPP
+#endif // SHARE_GC_G1_G1REGIONTOSPACEMAPPER_HPP
--- a/src/hotspot/share/gc/g1/g1RemSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1RemSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1REMSET_HPP
-#define SHARE_VM_GC_G1_G1REMSET_HPP
+#ifndef SHARE_GC_G1_G1REMSET_HPP
+#define SHARE_GC_G1_G1REMSET_HPP
#include "gc/g1/dirtyCardQueue.hpp"
#include "gc/g1/g1CardTable.hpp"
@@ -178,4 +178,4 @@
size_t cards_skipped() const { return _cards_skipped; }
};
-#endif // SHARE_VM_GC_G1_G1REMSET_HPP
+#endif // SHARE_GC_G1_G1REMSET_HPP
--- a/src/hotspot/share/gc/g1/g1RemSetSummary.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1RemSetSummary.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1REMSETSUMMARY_HPP
-#define SHARE_VM_GC_G1_G1REMSETSUMMARY_HPP
+#ifndef SHARE_GC_G1_G1REMSETSUMMARY_HPP
+#define SHARE_GC_G1_G1REMSETSUMMARY_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/ostream.hpp"
@@ -97,4 +97,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1REMSETSUMMARY_HPP
+#endif // SHARE_GC_G1_G1REMSETSUMMARY_HPP
--- a/src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1REMSETTRACKINGPOLICY_HPP
-#define SHARE_VM_GC_G1_G1REMSETTRACKINGPOLICY_HPP
+#ifndef SHARE_GC_G1_G1REMSETTRACKINGPOLICY_HPP
+#define SHARE_GC_G1_G1REMSETTRACKINGPOLICY_HPP
#include "gc/g1/heapRegion.hpp"
#include "gc/g1/heapRegionType.hpp"
@@ -54,5 +54,4 @@
void update_at_free(HeapRegion* r);
};
-#endif /* SHARE_VM_GC_G1_G1REMSETTRACKINGPOLICY_HPP */
-
+#endif // SHARE_GC_G1_G1REMSETTRACKINGPOLICY_HPP
--- a/src/hotspot/share/gc/g1/g1RootClosures.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1RootClosures.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1ROOTCLOSURESET_HPP
-#define SHARE_VM_GC_G1_G1ROOTCLOSURESET_HPP
+#ifndef SHARE_GC_G1_G1ROOTCLOSURES_HPP
+#define SHARE_GC_G1_G1ROOTCLOSURES_HPP
#include "memory/allocation.hpp"
#include "memory/iterator.hpp"
@@ -65,4 +65,4 @@
static G1EvacuationRootClosures* create_root_closures(G1ParScanThreadState* pss, G1CollectedHeap* g1h);
};
-#endif // SHARE_VM_GC_G1_G1ROOTCLOSURESET_HPP
+#endif // SHARE_GC_G1_G1ROOTCLOSURES_HPP
--- a/src/hotspot/share/gc/g1/g1RootProcessor.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1RootProcessor.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1ROOTPROCESSOR_HPP
-#define SHARE_VM_GC_G1_G1ROOTPROCESSOR_HPP
+#ifndef SHARE_GC_G1_G1ROOTPROCESSOR_HPP
+#define SHARE_GC_G1_G1ROOTPROCESSOR_HPP
#include "gc/shared/oopStorageParState.hpp"
#include "gc/shared/strongRootsScope.hpp"
@@ -125,4 +125,4 @@
uint n_workers() const;
};
-#endif // SHARE_VM_GC_G1_G1ROOTPROCESSOR_HPP
+#endif // SHARE_GC_G1_G1ROOTPROCESSOR_HPP
--- a/src/hotspot/share/gc/g1/g1SATBMarkQueueSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1SATBMarkQueueSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1SATBMARKQUEUE_HPP
-#define SHARE_VM_GC_G1_G1SATBMARKQUEUE_HPP
+#ifndef SHARE_GC_G1_G1SATBMARKQUEUESET_HPP
+#define SHARE_GC_G1_G1SATBMARKQUEUESET_HPP
#include "gc/shared/satbMarkQueue.hpp"
@@ -49,4 +49,4 @@
virtual void filter(SATBMarkQueue* queue);
};
-#endif // SHARE_VM_GC_G1_G1SATBMARKQUEUE_HPP
+#endif // SHARE_GC_G1_G1SATBMARKQUEUESET_HPP
--- a/src/hotspot/share/gc/g1/g1StringDedup.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1StringDedup.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1STRINGDEDUP_HPP
-#define SHARE_VM_GC_G1_G1STRINGDEDUP_HPP
+#ifndef SHARE_GC_G1_G1STRINGDEDUP_HPP
+#define SHARE_GC_G1_G1STRINGDEDUP_HPP
//
// G1 string deduplication candidate selection
@@ -109,4 +109,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1STRINGDEDUP_HPP
+#endif // SHARE_GC_G1_G1STRINGDEDUP_HPP
--- a/src/hotspot/share/gc/g1/g1StringDedupQueue.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1StringDedupQueue.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1STRINGDEDUPQUEUE_HPP
-#define SHARE_VM_GC_G1_G1STRINGDEDUPQUEUE_HPP
+#ifndef SHARE_GC_G1_G1STRINGDEDUPQUEUE_HPP
+#define SHARE_GC_G1_G1STRINGDEDUPQUEUE_HPP
#include "gc/shared/stringdedup/stringDedupQueue.hpp"
#include "memory/allocation.hpp"
@@ -84,4 +84,4 @@
void verify_impl();
};
-#endif // SHARE_VM_GC_G1_G1STRINGDEDUPQUEUE_HPP
+#endif // SHARE_GC_G1_G1STRINGDEDUPQUEUE_HPP
--- a/src/hotspot/share/gc/g1/g1StringDedupStat.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1StringDedupStat.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1STRINGDEDUPSTAT_HPP
-#define SHARE_VM_GC_G1_G1STRINGDEDUPSTAT_HPP
+#ifndef SHARE_GC_G1_G1STRINGDEDUPSTAT_HPP
+#define SHARE_GC_G1_G1STRINGDEDUPSTAT_HPP
#include "gc/shared/stringdedup/stringDedupStat.hpp"
@@ -49,4 +49,4 @@
void reset();
};
-#endif // SHARE_VM_GC_G1_G1STRINGDEDUPSTAT_HPP
+#endif // SHARE_GC_G1_G1STRINGDEDUPSTAT_HPP
--- a/src/hotspot/share/gc/g1/g1SurvivorRegions.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1SurvivorRegions.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1SURVIVORREGIONS_HPP
-#define SHARE_VM_GC_G1_G1SURVIVORREGIONS_HPP
+#ifndef SHARE_GC_G1_G1SURVIVORREGIONS_HPP
+#define SHARE_GC_G1_G1SURVIVORREGIONS_HPP
#include "runtime/globals.hpp"
@@ -51,4 +51,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1SURVIVORREGIONS_HPP
+#endif // SHARE_GC_G1_G1SURVIVORREGIONS_HPP
--- a/src/hotspot/share/gc/g1/g1VMOperations.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1VMOperations.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1VMOPERATIONS_HPP
-#define SHARE_VM_GC_G1_G1VMOPERATIONS_HPP
+#ifndef SHARE_GC_G1_G1VMOPERATIONS_HPP
+#define SHARE_GC_G1_G1VMOPERATIONS_HPP
#include "gc/shared/gcId.hpp"
#include "gc/shared/gcVMOperations.hpp"
@@ -81,4 +81,4 @@
virtual void doit_epilogue();
};
-#endif // SHARE_VM_GC_G1_G1VMOPERATIONS_HPP
+#endif // SHARE_GC_G1_G1VMOPERATIONS_HPP
--- a/src/hotspot/share/gc/g1/g1YCTypes.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1YCTypes.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1YCTYPES_HPP
-#define SHARE_VM_GC_G1_G1YCTYPES_HPP
+#ifndef SHARE_GC_G1_G1YCTYPES_HPP
+#define SHARE_GC_G1_G1YCTYPES_HPP
#include "utilities/debug.hpp"
@@ -48,4 +48,4 @@
}
};
-#endif // SHARE_VM_GC_G1_G1YCTYPES_HPP
+#endif // SHARE_GC_G1_G1YCTYPES_HPP
--- a/src/hotspot/share/gc/g1/g1YoungGenSizer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1YoungGenSizer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1YOUNGGENSIZER_HPP
-#define SHARE_VM_GC_G1_G1YOUNGGENSIZER_HPP
+#ifndef SHARE_GC_G1_G1YOUNGGENSIZER_HPP
+#define SHARE_GC_G1_G1YOUNGGENSIZER_HPP
#include "gc/g1/g1CollectorPolicy.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -111,4 +111,4 @@
static G1YoungGenSizer* create_gen_sizer(G1CollectorPolicy* policy);
};
-#endif // SHARE_VM_GC_G1_G1YOUNGGENSIZER_HPP
+#endif // SHARE_GC_G1_G1YOUNGGENSIZER_HPP
--- a/src/hotspot/share/gc/g1/g1YoungRemSetSamplingThread.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1YoungRemSetSamplingThread.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -62,9 +62,8 @@
}
// Check if enough time has passed since the last GC.
- uintx time_since_last_gc;
- if ((G1PeriodicGCInterval == 0) ||
- ((time_since_last_gc = (uintx)Universe::heap()->millis_since_last_gc()) < G1PeriodicGCInterval)) {
+ uintx time_since_last_gc = (uintx)Universe::heap()->millis_since_last_gc();
+ if ((time_since_last_gc < G1PeriodicGCInterval)) {
log_debug(gc, periodic)("Last GC occurred " UINTX_FORMAT "ms before which is below threshold " UINTX_FORMAT "ms. Skipping.",
time_since_last_gc, G1PeriodicGCInterval);
return false;
@@ -83,6 +82,10 @@
}
void G1YoungRemSetSamplingThread::check_for_periodic_gc(){
+ // If disabled, just return.
+ if (G1PeriodicGCInterval == 0) {
+ return;
+ }
if ((os::elapsedTime() - _last_periodic_gc_attempt_s) > (G1PeriodicGCInterval / 1000.0)) {
log_debug(gc, periodic)("Checking for periodic GC.");
if (should_start_periodic_gc()) {
@@ -95,6 +98,13 @@
void G1YoungRemSetSamplingThread::run_service() {
double vtime_start = os::elapsedVTime();
+ // Print a message about periodic GC configuration.
+ if (G1PeriodicGCInterval != 0) {
+ log_info(gc)("Periodic GC enabled with interval " UINTX_FORMAT "ms", G1PeriodicGCInterval);
+ } else {
+ log_info(gc)("Periodic GC disabled");
+ }
+
while (!should_terminate()) {
sample_young_list_rs_lengths();
--- a/src/hotspot/share/gc/g1/g1YoungRemSetSamplingThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1YoungRemSetSamplingThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1YOUNGREMSETSAMPLINGTHREAD_HPP
-#define SHARE_VM_GC_G1_G1YOUNGREMSETSAMPLINGTHREAD_HPP
+#ifndef SHARE_GC_G1_G1YOUNGREMSETSAMPLINGTHREAD_HPP
+#define SHARE_GC_G1_G1YOUNGREMSETSAMPLINGTHREAD_HPP
#include "gc/shared/concurrentGCThread.hpp"
@@ -63,4 +63,4 @@
double vtime_accum() { return _vtime_accum; }
};
-#endif // SHARE_VM_GC_G1_G1YOUNGREMSETSAMPLINGTHREAD_HPP
+#endif // SHARE_GC_G1_G1YOUNGREMSETSAMPLINGTHREAD_HPP
--- a/src/hotspot/share/gc/g1/g1_globals.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/g1_globals.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_G1_GLOBALS_HPP
-#define SHARE_VM_GC_G1_G1_GLOBALS_HPP
+#ifndef SHARE_GC_G1_G1_GLOBALS_HPP
+#define SHARE_GC_G1_G1_GLOBALS_HPP
#include <float.h> // for DBL_MAX
//
@@ -328,4 +328,4 @@
range(0, 100) \
-#endif // SHARE_VM_GC_G1_G1_GLOBALS_HPP
+#endif // SHARE_GC_G1_G1_GLOBALS_HPP
--- a/src/hotspot/share/gc/g1/heapRegion.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegion.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGION_HPP
-#define SHARE_VM_GC_G1_HEAPREGION_HPP
+#ifndef SHARE_GC_G1_HEAPREGION_HPP
+#define SHARE_GC_G1_HEAPREGION_HPP
#include "gc/g1/g1BlockOffsetTable.hpp"
#include "gc/g1/g1HeapRegionTraceType.hpp"
@@ -721,4 +721,4 @@
bool is_complete() { return _is_complete; }
};
-#endif // SHARE_VM_GC_G1_HEAPREGION_HPP
+#endif // SHARE_GC_G1_HEAPREGION_HPP
--- a/src/hotspot/share/gc/g1/heapRegion.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegion.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGION_INLINE_HPP
-#define SHARE_VM_GC_G1_HEAPREGION_INLINE_HPP
+#ifndef SHARE_GC_G1_HEAPREGION_INLINE_HPP
+#define SHARE_GC_G1_HEAPREGION_INLINE_HPP
#include "gc/g1/g1BlockOffsetTable.inline.hpp"
#include "gc/g1/g1CollectedHeap.inline.hpp"
@@ -362,4 +362,4 @@
return true;
}
-#endif // SHARE_VM_GC_G1_HEAPREGION_INLINE_HPP
+#endif // SHARE_GC_G1_HEAPREGION_INLINE_HPP
--- a/src/hotspot/share/gc/g1/heapRegionBounds.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegionBounds.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGIONBOUNDS_HPP
-#define SHARE_VM_GC_G1_HEAPREGIONBOUNDS_HPP
+#ifndef SHARE_GC_G1_HEAPREGIONBOUNDS_HPP
+#define SHARE_GC_G1_HEAPREGIONBOUNDS_HPP
#include "memory/allocation.hpp"
@@ -51,4 +51,4 @@
static inline size_t target_number();
};
-#endif // SHARE_VM_GC_G1_HEAPREGIONBOUNDS_HPP
+#endif // SHARE_GC_G1_HEAPREGIONBOUNDS_HPP
--- a/src/hotspot/share/gc/g1/heapRegionBounds.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegionBounds.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGIONBOUNDS_INLINE_HPP
-#define SHARE_VM_GC_G1_HEAPREGIONBOUNDS_INLINE_HPP
+#ifndef SHARE_GC_G1_HEAPREGIONBOUNDS_INLINE_HPP
+#define SHARE_GC_G1_HEAPREGIONBOUNDS_INLINE_HPP
#include "gc/g1/heapRegionBounds.hpp"
@@ -39,4 +39,4 @@
return TARGET_REGION_NUMBER;
}
-#endif // SHARE_VM_GC_G1_HEAPREGIONBOUNDS_INLINE_HPP
+#endif // SHARE_GC_G1_HEAPREGIONBOUNDS_INLINE_HPP
--- a/src/hotspot/share/gc/g1/heapRegionManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegionManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGIONMANAGER_HPP
-#define SHARE_VM_GC_G1_HEAPREGIONMANAGER_HPP
+#ifndef SHARE_GC_G1_HEAPREGIONMANAGER_HPP
+#define SHARE_GC_G1_HEAPREGIONMANAGER_HPP
#include "gc/g1/g1BiasedArray.hpp"
#include "gc/g1/g1CollectorPolicy.hpp"
@@ -295,4 +295,4 @@
// Claim the given region, returns true if successfully claimed.
bool claim_region(uint region_index);
};
-#endif // SHARE_VM_GC_G1_HEAPREGIONMANAGER_HPP
+#endif // SHARE_GC_G1_HEAPREGIONMANAGER_HPP
--- a/src/hotspot/share/gc/g1/heapRegionManager.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegionManager.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGIONMANAGER_INLINE_HPP
-#define SHARE_VM_GC_G1_HEAPREGIONMANAGER_INLINE_HPP
+#ifndef SHARE_GC_G1_HEAPREGIONMANAGER_INLINE_HPP
+#define SHARE_GC_G1_HEAPREGIONMANAGER_INLINE_HPP
#include "gc/g1/heapRegion.hpp"
#include "gc/g1/heapRegionManager.hpp"
@@ -77,4 +77,4 @@
_free_list.remove_starting_at(at(first), num_regions);
}
-#endif // SHARE_VM_GC_G1_HEAPREGIONMANAGER_INLINE_HPP
+#endif // SHARE_GC_G1_HEAPREGIONMANAGER_INLINE_HPP
--- a/src/hotspot/share/gc/g1/heapRegionRemSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegionRemSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGIONREMSET_HPP
-#define SHARE_VM_GC_G1_HEAPREGIONREMSET_HPP
+#ifndef SHARE_GC_G1_HEAPREGIONREMSET_HPP
+#define SHARE_GC_G1_HEAPREGIONREMSET_HPP
#include "gc/g1/g1CodeCacheRemSet.hpp"
#include "gc/g1/g1FromCardCache.hpp"
@@ -404,4 +404,4 @@
}
};
-#endif // SHARE_VM_GC_G1_HEAPREGIONREMSET_HPP
+#endif // SHARE_GC_G1_HEAPREGIONREMSET_HPP
--- a/src/hotspot/share/gc/g1/heapRegionSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegionSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGIONSET_HPP
-#define SHARE_VM_GC_G1_HEAPREGIONSET_HPP
+#ifndef SHARE_GC_G1_HEAPREGIONSET_HPP
+#define SHARE_GC_G1_HEAPREGIONSET_HPP
#include "gc/g1/heapRegion.hpp"
#include "utilities/macros.hpp"
@@ -230,4 +230,4 @@
}
};
-#endif // SHARE_VM_GC_G1_HEAPREGIONSET_HPP
+#endif // SHARE_GC_G1_HEAPREGIONSET_HPP
--- a/src/hotspot/share/gc/g1/heapRegionSet.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegionSet.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGIONSET_INLINE_HPP
-#define SHARE_VM_GC_G1_HEAPREGIONSET_INLINE_HPP
+#ifndef SHARE_GC_G1_HEAPREGIONSET_INLINE_HPP
+#define SHARE_GC_G1_HEAPREGIONSET_INLINE_HPP
#include "gc/g1/heapRegionSet.hpp"
@@ -147,5 +147,4 @@
return hr;
}
-#endif // SHARE_VM_GC_G1_HEAPREGIONSET_INLINE_HPP
-
+#endif // SHARE_GC_G1_HEAPREGIONSET_INLINE_HPP
--- a/src/hotspot/share/gc/g1/heapRegionTracer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegionTracer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGIONTRACER_HPP
-#define SHARE_VM_GC_G1_HEAPREGIONTRACER_HPP
+#ifndef SHARE_GC_G1_HEAPREGIONTRACER_HPP
+#define SHARE_GC_G1_HEAPREGIONTRACER_HPP
#include "gc/g1/g1HeapRegionTraceType.hpp"
#include "memory/allocation.hpp"
@@ -37,4 +37,4 @@
size_t used);
};
-#endif // SHARE_VM_GC_G1_HEAPREGIONTRACER_HPP
+#endif // SHARE_GC_G1_HEAPREGIONTRACER_HPP
--- a/src/hotspot/share/gc/g1/heapRegionType.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heapRegionType.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HEAPREGIONTYPE_HPP
-#define SHARE_VM_GC_G1_HEAPREGIONTYPE_HPP
+#ifndef SHARE_GC_G1_HEAPREGIONTYPE_HPP
+#define SHARE_GC_G1_HEAPREGIONTYPE_HPP
#include "gc/g1/g1HeapRegionTraceType.hpp"
@@ -196,4 +196,4 @@
static const HeapRegionType Humongous;
};
-#endif // SHARE_VM_GC_G1_HEAPREGIONTYPE_HPP
+#endif // SHARE_GC_G1_HEAPREGIONTYPE_HPP
--- a/src/hotspot/share/gc/g1/heterogeneousHeapRegionManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/heterogeneousHeapRegionManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_HETEROGENEOUSHEAPREGIONMANAGER_HPP
-#define SHARE_VM_GC_G1_HETEROGENEOUSHEAPREGIONMANAGER_HPP
+#ifndef SHARE_GC_G1_HETEROGENEOUSHEAPREGIONMANAGER_HPP
+#define SHARE_GC_G1_HETEROGENEOUSHEAPREGIONMANAGER_HPP
#include "gc/g1/heapRegionManager.hpp"
@@ -147,4 +147,4 @@
void verify();
};
-#endif // SHARE_VM_GC_G1_HETEROGENEOUSHEAPREGIONMANAGER_HPP
+#endif // SHARE_GC_G1_HETEROGENEOUSHEAPREGIONMANAGER_HPP
--- a/src/hotspot/share/gc/g1/jvmFlagConstraintsG1.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/jvmFlagConstraintsG1.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_GC_G1_COMMANDLINEFLAGCONSTRAINTSG1_HPP
-#define SHARE_GC_G1_COMMANDLINEFLAGCONSTRAINTSG1_HPP
+#ifndef SHARE_GC_G1_JVMFLAGCONSTRAINTSG1_HPP
+#define SHARE_GC_G1_JVMFLAGCONSTRAINTSG1_HPP
#include "runtime/globals.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -43,4 +43,4 @@
size_t MaxSizeForHeapAlignmentG1();
-#endif // SHARE_GC_SHARED_COMMANDLINEFLAGCONSTRAINTSG1_HPP
+#endif // SHARE_GC_G1_JVMFLAGCONSTRAINTSG1_HPP
--- a/src/hotspot/share/gc/g1/sparsePRT.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/sparsePRT.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_SPARSEPRT_HPP
-#define SHARE_VM_GC_G1_SPARSEPRT_HPP
+#ifndef SHARE_GC_G1_SPARSEPRT_HPP
+#define SHARE_GC_G1_SPARSEPRT_HPP
#include "gc/g1/g1CollectedHeap.hpp"
#include "gc/g1/heapRegion.hpp"
@@ -264,4 +264,4 @@
}
};
-#endif // SHARE_VM_GC_G1_SPARSEPRT_HPP
+#endif // SHARE_GC_G1_SPARSEPRT_HPP
--- a/src/hotspot/share/gc/g1/survRateGroup.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/survRateGroup.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_SURVRATEGROUP_HPP
-#define SHARE_VM_GC_G1_SURVRATEGROUP_HPP
+#ifndef SHARE_GC_G1_SURVRATEGROUP_HPP
+#define SHARE_GC_G1_SURVRATEGROUP_HPP
#include "utilities/numberSeq.hpp"
@@ -88,4 +88,4 @@
};
-#endif // SHARE_VM_GC_G1_SURVRATEGROUP_HPP
+#endif // SHARE_GC_G1_SURVRATEGROUP_HPP
--- a/src/hotspot/share/gc/g1/vmStructs_g1.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/g1/vmStructs_g1.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_G1_VMSTRUCTS_G1_HPP
-#define SHARE_VM_GC_G1_VMSTRUCTS_G1_HPP
+#ifndef SHARE_GC_G1_VMSTRUCTS_G1_HPP
+#define SHARE_GC_G1_VMSTRUCTS_G1_HPP
#include "gc/g1/g1CollectedHeap.hpp"
#include "gc/g1/heapRegion.hpp"
@@ -110,4 +110,4 @@
\
declare_integer_type(HeapRegionType::Tag volatile)
-#endif // SHARE_VM_GC_G1_VMSTRUCTS_G1_HPP
+#endif // SHARE_GC_G1_VMSTRUCTS_G1_HPP
--- a/src/hotspot/share/gc/parallel/adjoiningGenerations.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/adjoiningGenerations.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_ADJOININGGENERATIONS_HPP
-#define SHARE_VM_GC_PARALLEL_ADJOININGGENERATIONS_HPP
+#ifndef SHARE_GC_PARALLEL_ADJOININGGENERATIONS_HPP
+#define SHARE_GC_PARALLEL_ADJOININGGENERATIONS_HPP
#include "gc/parallel/adjoiningVirtualSpaces.hpp"
#include "gc/parallel/asPSOldGen.hpp"
@@ -81,4 +81,4 @@
// Return new AdjoiningGenerations instance based on collector policy (specifically - whether heap is heterogeneous).
static AdjoiningGenerations* create_adjoining_generations(ReservedSpace rs, GenerationSizer* policy, size_t alignment);
};
-#endif // SHARE_VM_GC_PARALLEL_ADJOININGGENERATIONS_HPP
+#endif // SHARE_GC_PARALLEL_ADJOININGGENERATIONS_HPP
--- a/src/hotspot/share/gc/parallel/adjoiningGenerationsForHeteroHeap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/adjoiningGenerationsForHeteroHeap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_ADJOININGGENERATIONSFORHETEROHEAP_HPP
-#define SHARE_VM_GC_PARALLEL_ADJOININGGENERATIONSFORHETEROHEAP_HPP
+#ifndef SHARE_GC_PARALLEL_ADJOININGGENERATIONSFORHETEROHEAP_HPP
+#define SHARE_GC_PARALLEL_ADJOININGGENERATIONSFORHETEROHEAP_HPP
#include "gc/parallel/adjoiningGenerations.hpp"
@@ -81,5 +81,4 @@
// Return the total byte size of the reserved space
size_t reserved_byte_size();
};
-#endif // SHARE_VM_GC_PARALLEL_ADJOININGGENERATIONSFORHETEROHEAP_HPP
-
+#endif // SHARE_GC_PARALLEL_ADJOININGGENERATIONSFORHETEROHEAP_HPP
--- a/src/hotspot/share/gc/parallel/adjoiningVirtualSpaces.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/adjoiningVirtualSpaces.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_ADJOININGVIRTUALSPACES_HPP
-#define SHARE_VM_GC_PARALLEL_ADJOININGVIRTUALSPACES_HPP
+#ifndef SHARE_GC_PARALLEL_ADJOININGVIRTUALSPACES_HPP
+#define SHARE_GC_PARALLEL_ADJOININGVIRTUALSPACES_HPP
#include "gc/parallel/psVirtualspace.hpp"
@@ -112,4 +112,4 @@
size_t init_low_byte_size,
size_t init_high_byte_size);
};
-#endif // SHARE_VM_GC_PARALLEL_ADJOININGVIRTUALSPACES_HPP
+#endif // SHARE_GC_PARALLEL_ADJOININGVIRTUALSPACES_HPP
--- a/src/hotspot/share/gc/parallel/asPSOldGen.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/asPSOldGen.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_ASPSOLDGEN_HPP
-#define SHARE_VM_GC_PARALLEL_ASPSOLDGEN_HPP
+#ifndef SHARE_GC_PARALLEL_ASPSOLDGEN_HPP
+#define SHARE_GC_PARALLEL_ASPSOLDGEN_HPP
#include "gc/parallel/mutableSpace.hpp"
#include "gc/parallel/objectStartArray.hpp"
@@ -68,4 +68,4 @@
virtual const char* short_name() const { return "ASPSOldGen"; }
};
-#endif // SHARE_VM_GC_PARALLEL_ASPSOLDGEN_HPP
+#endif // SHARE_GC_PARALLEL_ASPSOLDGEN_HPP
--- a/src/hotspot/share/gc/parallel/asPSYoungGen.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/asPSYoungGen.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_ASPSYOUNGGEN_HPP
-#define SHARE_VM_GC_PARALLEL_ASPSYOUNGGEN_HPP
+#ifndef SHARE_GC_PARALLEL_ASPSYOUNGGEN_HPP
+#define SHARE_GC_PARALLEL_ASPSYOUNGGEN_HPP
#include "gc/parallel/mutableSpace.hpp"
#include "gc/parallel/objectStartArray.hpp"
@@ -74,4 +74,4 @@
virtual const char* short_name() const { return "ASPSYoungGen"; }
};
-#endif // SHARE_VM_GC_PARALLEL_ASPSYOUNGGEN_HPP
+#endif // SHARE_GC_PARALLEL_ASPSYOUNGGEN_HPP
--- a/src/hotspot/share/gc/parallel/gcAdaptivePolicyCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/gcAdaptivePolicyCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_GCADAPTIVEPOLICYCOUNTERS_HPP
-#define SHARE_VM_GC_PARALLEL_GCADAPTIVEPOLICYCOUNTERS_HPP
+#ifndef SHARE_GC_PARALLEL_GCADAPTIVEPOLICYCOUNTERS_HPP
+#define SHARE_GC_PARALLEL_GCADAPTIVEPOLICYCOUNTERS_HPP
#include "gc/shared/adaptiveSizePolicy.hpp"
#include "gc/shared/gcPolicyCounters.hpp"
@@ -230,4 +230,4 @@
}
};
-#endif // SHARE_VM_GC_PARALLEL_GCADAPTIVEPOLICYCOUNTERS_HPP
+#endif // SHARE_GC_PARALLEL_GCADAPTIVEPOLICYCOUNTERS_HPP
--- a/src/hotspot/share/gc/parallel/gcTaskManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/gcTaskManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_GCTASKMANAGER_HPP
-#define SHARE_VM_GC_PARALLEL_GCTASKMANAGER_HPP
+#ifndef SHARE_GC_PARALLEL_GCTASKMANAGER_HPP
+#define SHARE_GC_PARALLEL_GCTASKMANAGER_HPP
#include "runtime/mutex.hpp"
#include "utilities/growableArray.hpp"
@@ -665,4 +665,4 @@
}
};
-#endif // SHARE_VM_GC_PARALLEL_GCTASKMANAGER_HPP
+#endif // SHARE_GC_PARALLEL_GCTASKMANAGER_HPP
--- a/src/hotspot/share/gc/parallel/gcTaskThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/gcTaskThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_GCTASKTHREAD_HPP
-#define SHARE_VM_GC_PARALLEL_GCTASKTHREAD_HPP
+#ifndef SHARE_GC_PARALLEL_GCTASKTHREAD_HPP
+#define SHARE_GC_PARALLEL_GCTASKTHREAD_HPP
#include "runtime/thread.hpp"
@@ -105,4 +105,4 @@
void set_name(const char* name) { _name = name; }
};
-#endif // SHARE_VM_GC_PARALLEL_GCTASKTHREAD_HPP
+#endif // SHARE_GC_PARALLEL_GCTASKTHREAD_HPP
--- a/src/hotspot/share/gc/parallel/generationSizer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/generationSizer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_GENERATIONSIZER_HPP
-#define SHARE_VM_GC_PARALLEL_GENERATIONSIZER_HPP
+#ifndef SHARE_GC_PARALLEL_GENERATIONSIZER_HPP
+#define SHARE_GC_PARALLEL_GENERATIONSIZER_HPP
#include "gc/shared/collectorPolicy.hpp"
@@ -45,4 +45,4 @@
virtual size_t heap_reserved_size_bytes() const;
virtual bool is_hetero_heap() const;
};
-#endif // SHARE_VM_GC_PARALLEL_GENERATIONSIZER_HPP
+#endif // SHARE_GC_PARALLEL_GENERATIONSIZER_HPP
--- a/src/hotspot/share/gc/parallel/heterogeneousGenerationSizer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/heterogeneousGenerationSizer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_HETEROGENEOUSGENERATIONSIZER_HPP
-#define SHARE_VM_GC_PARALLEL_HETEROGENEOUSGENERATIONSIZER_HPP
+#ifndef SHARE_GC_PARALLEL_HETEROGENEOUSGENERATIONSIZER_HPP
+#define SHARE_GC_PARALLEL_HETEROGENEOUSGENERATIONSIZER_HPP
#include "gc/parallel/generationSizer.hpp"
@@ -43,4 +43,4 @@
virtual size_t heap_reserved_size_bytes() const;
virtual bool is_hetero_heap() const;
};
-#endif // SHARE_VM_GC_PARALLEL_HETEROGENEOUSGENERATIONSIZER_HPP
+#endif // SHARE_GC_PARALLEL_HETEROGENEOUSGENERATIONSIZER_HPP
--- a/src/hotspot/share/gc/parallel/immutableSpace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/immutableSpace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_IMMUTABLESPACE_HPP
-#define SHARE_VM_GC_PARALLEL_IMMUTABLESPACE_HPP
+#ifndef SHARE_GC_PARALLEL_IMMUTABLESPACE_HPP
+#define SHARE_GC_PARALLEL_IMMUTABLESPACE_HPP
#include "memory/iterator.hpp"
@@ -68,4 +68,4 @@
virtual void verify();
};
-#endif // SHARE_VM_GC_PARALLEL_IMMUTABLESPACE_HPP
+#endif // SHARE_GC_PARALLEL_IMMUTABLESPACE_HPP
--- a/src/hotspot/share/gc/parallel/jvmFlagConstraintsParallel.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/jvmFlagConstraintsParallel.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_GC_PARALLEL_COMMANDLINEFLAGCONSTRAINTSPARALLEL_HPP
-#define SHARE_GC_PARALLEL_COMMANDLINEFLAGCONSTRAINTSPARALLEL_HPP
+#ifndef SHARE_GC_PARALLEL_JVMFLAGCONSTRAINTSPARALLEL_HPP
+#define SHARE_GC_PARALLEL_JVMFLAGCONSTRAINTSPARALLEL_HPP
#include "runtime/globals.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -33,4 +33,4 @@
JVMFlag::Error InitialTenuringThresholdConstraintFuncParallel(uintx value, bool verbose);
JVMFlag::Error MaxTenuringThresholdConstraintFuncParallel(uintx value, bool verbose);
-#endif // SHARE_GC_PARALLEL_COMMANDLINEFLAGCONSTRAINTSPARALLEL_HPP
+#endif // SHARE_GC_PARALLEL_JVMFLAGCONSTRAINTSPARALLEL_HPP
--- a/src/hotspot/share/gc/parallel/mutableNUMASpace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/mutableNUMASpace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_MUTABLENUMASPACE_HPP
-#define SHARE_VM_GC_PARALLEL_MUTABLENUMASPACE_HPP
+#ifndef SHARE_GC_PARALLEL_MUTABLENUMASPACE_HPP
+#define SHARE_GC_PARALLEL_MUTABLENUMASPACE_HPP
#include "gc/parallel/mutableSpace.hpp"
#include "gc/shared/gcUtil.hpp"
@@ -232,4 +232,4 @@
virtual void set_top(HeapWord* value);
};
-#endif // SHARE_VM_GC_PARALLEL_MUTABLENUMASPACE_HPP
+#endif // SHARE_GC_PARALLEL_MUTABLENUMASPACE_HPP
--- a/src/hotspot/share/gc/parallel/mutableSpace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/mutableSpace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_MUTABLESPACE_HPP
-#define SHARE_VM_GC_PARALLEL_MUTABLESPACE_HPP
+#ifndef SHARE_GC_PARALLEL_MUTABLESPACE_HPP
+#define SHARE_GC_PARALLEL_MUTABLESPACE_HPP
#include "gc/parallel/immutableSpace.hpp"
#include "memory/memRegion.hpp"
@@ -145,4 +145,4 @@
virtual void verify();
};
-#endif // SHARE_VM_GC_PARALLEL_MUTABLESPACE_HPP
+#endif // SHARE_GC_PARALLEL_MUTABLESPACE_HPP
--- a/src/hotspot/share/gc/parallel/objectStartArray.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/objectStartArray.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_OBJECTSTARTARRAY_HPP
-#define SHARE_VM_GC_PARALLEL_OBJECTSTARTARRAY_HPP
+#ifndef SHARE_GC_PARALLEL_OBJECTSTARTARRAY_HPP
+#define SHARE_GC_PARALLEL_OBJECTSTARTARRAY_HPP
#include "gc/parallel/psVirtualspace.hpp"
#include "memory/allocation.hpp"
@@ -156,4 +156,4 @@
bool object_starts_in_range(HeapWord* start_addr, HeapWord* end_addr) const;
};
-#endif // SHARE_VM_GC_PARALLEL_OBJECTSTARTARRAY_HPP
+#endif // SHARE_GC_PARALLEL_OBJECTSTARTARRAY_HPP
--- a/src/hotspot/share/gc/parallel/objectStartArray.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/objectStartArray.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_OBJECTSTARTARRAY_INLINE_HPP
-#define SHARE_VM_GC_PARALLEL_OBJECTSTARTARRAY_INLINE_HPP
+#ifndef SHARE_GC_PARALLEL_OBJECTSTARTARRAY_INLINE_HPP
+#define SHARE_GC_PARALLEL_OBJECTSTARTARRAY_INLINE_HPP
#include "gc/parallel/objectStartArray.hpp"
@@ -50,4 +50,4 @@
}
-#endif // SHARE_VM_GC_PARALLEL_OBJECTSTARTARRAY_INLINE_HPP
+#endif // SHARE_GC_PARALLEL_OBJECTSTARTARRAY_INLINE_HPP
--- a/src/hotspot/share/gc/parallel/parMarkBitMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/parMarkBitMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PARMARKBITMAP_HPP
-#define SHARE_VM_GC_PARALLEL_PARMARKBITMAP_HPP
+#ifndef SHARE_GC_PARALLEL_PARMARKBITMAP_HPP
+#define SHARE_GC_PARALLEL_PARMARKBITMAP_HPP
#include "memory/memRegion.hpp"
#include "oops/oop.hpp"
@@ -188,4 +188,4 @@
size_t _reserved_byte_size;
};
-#endif // SHARE_VM_GC_PARALLEL_PARMARKBITMAP_HPP
+#endif // SHARE_GC_PARALLEL_PARMARKBITMAP_HPP
--- a/src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PARMARKBITMAP_INLINE_HPP
-#define SHARE_VM_GC_PARALLEL_PARMARKBITMAP_INLINE_HPP
+#ifndef SHARE_GC_PARALLEL_PARMARKBITMAP_INLINE_HPP
+#define SHARE_GC_PARALLEL_PARMARKBITMAP_INLINE_HPP
#include "gc/parallel/parMarkBitMap.hpp"
#include "utilities/bitMap.inline.hpp"
@@ -195,4 +195,4 @@
}
#endif // #ifdef ASSERT
-#endif /* SHARE_VM_GC_PARALLEL_PARMARKBITMAP_INLINE_HPP */
+#endif // SHARE_GC_PARALLEL_PARMARKBITMAP_INLINE_HPP
--- a/src/hotspot/share/gc/parallel/parallelArguments.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/parallelArguments.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -36,4 +36,4 @@
virtual CollectedHeap* create_heap();
};
-#endif // SHARE_GC_CMS_PARALLELARGUMENTS_HPP
+#endif // SHARE_GC_PARALLEL_PARALLELARGUMENTS_HPP
--- a/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PARALLELSCAVENGEHEAP_HPP
-#define SHARE_VM_GC_PARALLEL_PARALLELSCAVENGEHEAP_HPP
+#ifndef SHARE_GC_PARALLEL_PARALLELSCAVENGEHEAP_HPP
+#define SHARE_GC_PARALLEL_PARALLELSCAVENGEHEAP_HPP
#include "gc/parallel/generationSizer.hpp"
#include "gc/parallel/objectStartArray.hpp"
@@ -311,4 +311,4 @@
}
};
-#endif // SHARE_VM_GC_PARALLEL_PARALLELSCAVENGEHEAP_HPP
+#endif // SHARE_GC_PARALLEL_PARALLELSCAVENGEHEAP_HPP
--- a/src/hotspot/share/gc/parallel/parallelScavengeHeap.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/parallelScavengeHeap.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PARALLELSCAVENGEHEAP_INLINE_HPP
-#define SHARE_VM_GC_PARALLEL_PARALLELSCAVENGEHEAP_INLINE_HPP
+#ifndef SHARE_GC_PARALLEL_PARALLELSCAVENGEHEAP_INLINE_HPP
+#define SHARE_GC_PARALLEL_PARALLELSCAVENGEHEAP_INLINE_HPP
#include "gc/parallel/parallelScavengeHeap.hpp"
#include "gc/parallel/psMarkSweepProxy.hpp"
@@ -51,4 +51,4 @@
"incorrect test - result=%d, p=" PTR_FORMAT, result, p2i((void*)p));
return result;
}
-#endif // SHARE_VM_GC_PARALLEL_PARALLELSCAVENGEHEAP_INLINE_HPP
+#endif // SHARE_GC_PARALLEL_PARALLELSCAVENGEHEAP_INLINE_HPP
--- a/src/hotspot/share/gc/parallel/pcTasks.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/pcTasks.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PCTASKS_HPP
-#define SHARE_VM_GC_PARALLEL_PCTASKS_HPP
+#ifndef SHARE_GC_PARALLEL_PCTASKS_HPP
+#define SHARE_GC_PARALLEL_PCTASKS_HPP
#include "gc/parallel/gcTaskManager.hpp"
#include "gc/parallel/psParallelCompact.hpp"
@@ -205,4 +205,4 @@
virtual void do_it(GCTaskManager* manager, uint which);
};
-#endif // SHARE_VM_GC_PARALLEL_PCTASKS_HPP
+#endif // SHARE_GC_PARALLEL_PCTASKS_HPP
--- a/src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSADAPTIVESIZEPOLICY_HPP
-#define SHARE_VM_GC_PARALLEL_PSADAPTIVESIZEPOLICY_HPP
+#ifndef SHARE_GC_PARALLEL_PSADAPTIVESIZEPOLICY_HPP
+#define SHARE_GC_PARALLEL_PSADAPTIVESIZEPOLICY_HPP
#include "gc/shared/adaptiveSizePolicy.hpp"
#include "gc/shared/gcCause.hpp"
@@ -402,4 +402,4 @@
void decay_supplemental_growth(bool is_full_gc);
};
-#endif // SHARE_VM_GC_PARALLEL_PSADAPTIVESIZEPOLICY_HPP
+#endif // SHARE_GC_PARALLEL_PSADAPTIVESIZEPOLICY_HPP
--- a/src/hotspot/share/gc/parallel/psCardTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psCardTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSCARDTABLE_HPP
-#define SHARE_VM_GC_PARALLEL_PSCARDTABLE_HPP
+#ifndef SHARE_GC_PARALLEL_PSCARDTABLE_HPP
+#define SHARE_GC_PARALLEL_PSCARDTABLE_HPP
#include "gc/shared/cardTable.hpp"
#include "oops/oop.hpp"
@@ -109,4 +109,4 @@
void verify_all_young_refs_precise();
};
-#endif // SHARE_VM_GC_PARALLEL_PSCARDTABLE
+#endif // SHARE_GC_PARALLEL_PSCARDTABLE_HPP
--- a/src/hotspot/share/gc/parallel/psClosure.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psClosure.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSCLOSURE_INLINE_HPP
-#define SHARE_VM_GC_PARALLEL_PSCLOSURE_INLINE_HPP
+#ifndef SHARE_GC_PARALLEL_PSCLOSURE_INLINE_HPP
+#define SHARE_GC_PARALLEL_PSCLOSURE_INLINE_HPP
#include "gc/parallel/psPromotionManager.inline.hpp"
#include "gc/parallel/psScavenge.inline.hpp"
@@ -118,4 +118,4 @@
}
};
-#endif
+#endif // SHARE_GC_PARALLEL_PSCLOSURE_INLINE_HPP
--- a/src/hotspot/share/gc/parallel/psCompactionManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psCompactionManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSCOMPACTIONMANAGER_HPP
-#define SHARE_VM_GC_PARALLEL_PSCOMPACTIONMANAGER_HPP
+#ifndef SHARE_GC_PARALLEL_PSCOMPACTIONMANAGER_HPP
+#define SHARE_GC_PARALLEL_PSCOMPACTIONMANAGER_HPP
#include "gc/shared/taskqueue.hpp"
#include "memory/allocation.hpp"
@@ -194,4 +194,4 @@
return _marking_stack.is_empty() && _objarray_stack.is_empty();
}
-#endif // SHARE_VM_GC_PARALLEL_PSCOMPACTIONMANAGER_HPP
+#endif // SHARE_GC_PARALLEL_PSCOMPACTIONMANAGER_HPP
--- a/src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSCOMPACTIONMANAGER_INLINE_HPP
-#define SHARE_VM_GC_PARALLEL_PSCOMPACTIONMANAGER_INLINE_HPP
+#ifndef SHARE_GC_PARALLEL_PSCOMPACTIONMANAGER_INLINE_HPP
+#define SHARE_GC_PARALLEL_PSCOMPACTIONMANAGER_INLINE_HPP
#include "classfile/javaClasses.inline.hpp"
#include "gc/parallel/parMarkBitMap.hpp"
@@ -177,4 +177,4 @@
}
}
-#endif // SHARE_VM_GC_PARALLEL_PSCOMPACTIONMANAGER_INLINE_HPP
+#endif // SHARE_GC_PARALLEL_PSCOMPACTIONMANAGER_INLINE_HPP
--- a/src/hotspot/share/gc/parallel/psFileBackedVirtualspace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psFileBackedVirtualspace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSFILEBACKEDVIRTUALSPACE_HPP
-#define SHARE_VM_GC_PARALLEL_PSFILEBACKEDVIRTUALSPACE_HPP
+#ifndef SHARE_GC_PARALLEL_PSFILEBACKEDVIRTUALSPACE_HPP
+#define SHARE_GC_PARALLEL_PSFILEBACKEDVIRTUALSPACE_HPP
#include "gc/parallel/psVirtualspace.hpp"
@@ -42,5 +42,4 @@
size_t expand_into(PSVirtualSpace* space, size_t bytes);
void release();
};
-#endif // SHARE_VM_GC_PARALLEL_PSFILEBACKEDVIRTUALSPACE_HPP
-
+#endif // SHARE_GC_PARALLEL_PSFILEBACKEDVIRTUALSPACE_HPP
--- a/src/hotspot/share/gc/parallel/psGCAdaptivePolicyCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psGCAdaptivePolicyCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSGCADAPTIVEPOLICYCOUNTERS_HPP
-#define SHARE_VM_GC_PARALLEL_PSGCADAPTIVEPOLICYCOUNTERS_HPP
+#ifndef SHARE_GC_PARALLEL_PSGCADAPTIVEPOLICYCOUNTERS_HPP
+#define SHARE_GC_PARALLEL_PSGCADAPTIVEPOLICYCOUNTERS_HPP
#include "gc/parallel/gcAdaptivePolicyCounters.hpp"
#include "gc/parallel/psAdaptiveSizePolicy.hpp"
@@ -208,4 +208,4 @@
}
};
-#endif // SHARE_VM_GC_PARALLEL_PSGCADAPTIVEPOLICYCOUNTERS_HPP
+#endif // SHARE_GC_PARALLEL_PSGCADAPTIVEPOLICYCOUNTERS_HPP
--- a/src/hotspot/share/gc/parallel/psGenerationCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psGenerationCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,5 @@
-
/*
- * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2019, Oracle and/or its affiliates. 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
@@ -23,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSGENERATIONCOUNTERS_HPP
-#define SHARE_VM_GC_PARALLEL_PSGENERATIONCOUNTERS_HPP
+#ifndef SHARE_GC_PARALLEL_PSGENERATIONCOUNTERS_HPP
+#define SHARE_GC_PARALLEL_PSGENERATIONCOUNTERS_HPP
#include "gc/parallel/psVirtualspace.hpp"
#include "gc/shared/generationCounters.hpp"
@@ -49,4 +48,4 @@
}
};
-#endif // SHARE_VM_GC_PARALLEL_PSGENERATIONCOUNTERS_HPP
+#endif // SHARE_GC_PARALLEL_PSGENERATIONCOUNTERS_HPP
--- a/src/hotspot/share/gc/parallel/psMarkSweep.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psMarkSweep.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSMARKSWEEP_HPP
-#define SHARE_VM_GC_PARALLEL_PSMARKSWEEP_HPP
+#ifndef SHARE_GC_PARALLEL_PSMARKSWEEP_HPP
+#define SHARE_GC_PARALLEL_PSMARKSWEEP_HPP
#include "gc/serial/markSweep.hpp"
#include "gc/shared/collectorCounters.hpp"
@@ -86,4 +86,4 @@
static jlong millis_since_last_gc();
};
-#endif // SHARE_VM_GC_PARALLEL_PSMARKSWEEP_HPP
+#endif // SHARE_GC_PARALLEL_PSMARKSWEEP_HPP
--- a/src/hotspot/share/gc/parallel/psMarkSweepDecorator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psMarkSweepDecorator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSMARKSWEEPDECORATOR_HPP
-#define SHARE_VM_GC_PARALLEL_PSMARKSWEEPDECORATOR_HPP
+#ifndef SHARE_GC_PARALLEL_PSMARKSWEEPDECORATOR_HPP
+#define SHARE_GC_PARALLEL_PSMARKSWEEPDECORATOR_HPP
#include "gc/parallel/mutableSpace.hpp"
@@ -78,4 +78,4 @@
void compact(bool mangle_free_space);
};
-#endif // SHARE_VM_GC_PARALLEL_PSMARKSWEEPDECORATOR_HPP
+#endif // SHARE_GC_PARALLEL_PSMARKSWEEPDECORATOR_HPP
--- a/src/hotspot/share/gc/parallel/psMemoryPool.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psMemoryPool.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_PSMEMORYPOOL_HPP
-#define SHARE_VM_SERVICES_PSMEMORYPOOL_HPP
+#ifndef SHARE_GC_PARALLEL_PSMEMORYPOOL_HPP
+#define SHARE_GC_PARALLEL_PSMEMORYPOOL_HPP
#include "gc/parallel/mutableSpace.hpp"
#include "gc/parallel/psOldGen.hpp"
@@ -86,4 +86,4 @@
}
};
-#endif // SHARE_VM_SERVICES_PSMEMORYPOOL_HPP
+#endif // SHARE_GC_PARALLEL_PSMEMORYPOOL_HPP
--- a/src/hotspot/share/gc/parallel/psOldGen.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psOldGen.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSOLDGEN_HPP
-#define SHARE_VM_GC_PARALLEL_PSOLDGEN_HPP
+#ifndef SHARE_GC_PARALLEL_PSOLDGEN_HPP
+#define SHARE_GC_PARALLEL_PSOLDGEN_HPP
#include "gc/parallel/mutableSpace.hpp"
#include "gc/parallel/objectStartArray.hpp"
@@ -223,4 +223,4 @@
void record_spaces_top() PRODUCT_RETURN;
};
-#endif // SHARE_VM_GC_PARALLEL_PSOLDGEN_HPP
+#endif // SHARE_GC_PARALLEL_PSOLDGEN_HPP
--- a/src/hotspot/share/gc/parallel/psParallelCompact.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psParallelCompact.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSPARALLELCOMPACT_HPP
-#define SHARE_VM_GC_PARALLEL_PSPARALLELCOMPACT_HPP
+#ifndef SHARE_GC_PARALLEL_PSPARALLELCOMPACT_HPP
+#define SHARE_GC_PARALLEL_PSPARALLELCOMPACT_HPP
#include "gc/parallel/mutableSpace.hpp"
#include "gc/parallel/objectStartArray.hpp"
@@ -1301,4 +1301,4 @@
ObjectStartArray* const _start_array;
};
-#endif // SHARE_VM_GC_PARALLEL_PSPARALLELCOMPACT_HPP
+#endif // SHARE_GC_PARALLEL_PSPARALLELCOMPACT_HPP
--- a/src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSPARALLELCOMPACT_INLINE_HPP
-#define SHARE_VM_GC_PARALLEL_PSPARALLELCOMPACT_INLINE_HPP
+#ifndef SHARE_GC_PARALLEL_PSPARALLELCOMPACT_INLINE_HPP
+#define SHARE_GC_PARALLEL_PSPARALLELCOMPACT_INLINE_HPP
#include "gc/parallel/parallelScavengeHeap.hpp"
#include "gc/parallel/parMarkBitMap.inline.hpp"
@@ -141,4 +141,4 @@
ParCompactionManager* _cm;
};
-#endif // SHARE_VM_GC_PARALLEL_PSPARALLELCOMPACT_INLINE_HPP
+#endif // SHARE_GC_PARALLEL_PSPARALLELCOMPACT_INLINE_HPP
--- a/src/hotspot/share/gc/parallel/psPromotionLAB.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psPromotionLAB.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSPROMOTIONLAB_HPP
-#define SHARE_VM_GC_PARALLEL_PSPROMOTIONLAB_HPP
+#ifndef SHARE_GC_PARALLEL_PSPROMOTIONLAB_HPP
+#define SHARE_GC_PARALLEL_PSPROMOTIONLAB_HPP
#include "gc/parallel/objectStartArray.hpp"
#include "gc/shared/collectedHeap.hpp"
@@ -134,4 +134,4 @@
debug_only(virtual bool lab_is_valid(MemRegion lab));
};
-#endif // SHARE_VM_GC_PARALLEL_PSPROMOTIONLAB_HPP
+#endif // SHARE_GC_PARALLEL_PSPROMOTIONLAB_HPP
--- a/src/hotspot/share/gc/parallel/psPromotionLAB.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psPromotionLAB.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSPROMOTIONLAB_INLINE_HPP
-#define SHARE_VM_GC_PARALLEL_PSPROMOTIONLAB_INLINE_HPP
+#ifndef SHARE_GC_PARALLEL_PSPROMOTIONLAB_INLINE_HPP
+#define SHARE_GC_PARALLEL_PSPROMOTIONLAB_INLINE_HPP
#include "gc/parallel/psPromotionLAB.hpp"
#include "gc/shared/collectedHeap.inline.hpp"
@@ -50,4 +50,4 @@
}
}
-#endif // SHARE_VM_GC_PARALLEL_PSPROMOTIONLAB_INLINE_HPP
+#endif // SHARE_GC_PARALLEL_PSPROMOTIONLAB_INLINE_HPP
--- a/src/hotspot/share/gc/parallel/psPromotionManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psPromotionManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSPROMOTIONMANAGER_HPP
-#define SHARE_VM_GC_PARALLEL_PSPROMOTIONMANAGER_HPP
+#ifndef SHARE_GC_PARALLEL_PSPROMOTIONMANAGER_HPP
+#define SHARE_GC_PARALLEL_PSPROMOTIONMANAGER_HPP
#include "gc/parallel/psPromotionLAB.hpp"
#include "gc/shared/copyFailedInfo.hpp"
@@ -212,4 +212,4 @@
void push_contents(oop obj);
};
-#endif // SHARE_VM_GC_PARALLEL_PSPROMOTIONMANAGER_HPP
+#endif // SHARE_GC_PARALLEL_PSPROMOTIONMANAGER_HPP
--- a/src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSPROMOTIONMANAGER_INLINE_HPP
-#define SHARE_VM_GC_PARALLEL_PSPROMOTIONMANAGER_INLINE_HPP
+#ifndef SHARE_GC_PARALLEL_PSPROMOTIONMANAGER_INLINE_HPP
+#define SHARE_GC_PARALLEL_PSPROMOTIONMANAGER_INLINE_HPP
#include "gc/parallel/parallelScavengeHeap.hpp"
#include "gc/parallel/parMarkBitMap.inline.hpp"
@@ -375,4 +375,4 @@
}
#endif // TASKQUEUE_STATS
-#endif // SHARE_VM_GC_PARALLEL_PSPROMOTIONMANAGER_INLINE_HPP
+#endif // SHARE_GC_PARALLEL_PSPROMOTIONMANAGER_INLINE_HPP
--- a/src/hotspot/share/gc/parallel/psScavenge.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psScavenge.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSSCAVENGE_HPP
-#define SHARE_VM_GC_PARALLEL_PSSCAVENGE_HPP
+#ifndef SHARE_GC_PARALLEL_PSSCAVENGE_HPP
+#define SHARE_GC_PARALLEL_PSSCAVENGE_HPP
#include "gc/parallel/psCardTable.hpp"
#include "gc/parallel/psVirtualspace.hpp"
@@ -157,4 +157,4 @@
}
};
-#endif // SHARE_VM_GC_PARALLEL_PSSCAVENGE_HPP
+#endif // SHARE_GC_PARALLEL_PSSCAVENGE_HPP
--- a/src/hotspot/share/gc/parallel/psScavenge.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psScavenge.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSSCAVENGE_INLINE_HPP
-#define SHARE_VM_GC_PARALLEL_PSSCAVENGE_INLINE_HPP
+#ifndef SHARE_GC_PARALLEL_PSSCAVENGE_INLINE_HPP
+#define SHARE_GC_PARALLEL_PSSCAVENGE_INLINE_HPP
#include "gc/parallel/parallelScavengeHeap.hpp"
#include "gc/parallel/psScavenge.hpp"
@@ -64,4 +64,4 @@
return should_scavenge(p);
}
-#endif // SHARE_VM_GC_PARALLEL_PSSCAVENGE_INLINE_HPP
+#endif // SHARE_GC_PARALLEL_PSSCAVENGE_INLINE_HPP
--- a/src/hotspot/share/gc/parallel/psTasks.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psTasks.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSTASKS_HPP
-#define SHARE_VM_GC_PARALLEL_PSTASKS_HPP
+#ifndef SHARE_GC_PARALLEL_PSTASKS_HPP
+#define SHARE_GC_PARALLEL_PSTASKS_HPP
#include "utilities/growableArray.hpp"
@@ -177,4 +177,4 @@
virtual void do_it(GCTaskManager* manager, uint which);
};
-#endif // SHARE_VM_GC_PARALLEL_PSTASKS_HPP
+#endif // SHARE_GC_PARALLEL_PSTASKS_HPP
--- a/src/hotspot/share/gc/parallel/psVMOperations.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psVMOperations.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSVMOPERATIONS_HPP
-#define SHARE_VM_GC_PARALLEL_PSVMOPERATIONS_HPP
+#ifndef SHARE_GC_PARALLEL_PSVMOPERATIONS_HPP
+#define SHARE_GC_PARALLEL_PSVMOPERATIONS_HPP
#include "gc/parallel/parallelScavengeHeap.hpp"
#include "gc/shared/gcCause.hpp"
@@ -46,4 +46,4 @@
virtual void doit();
};
-#endif // SHARE_VM_GC_PARALLEL_PSVMOPERATIONS_HPP
+#endif // SHARE_GC_PARALLEL_PSVMOPERATIONS_HPP
--- a/src/hotspot/share/gc/parallel/psVirtualspace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psVirtualspace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSVIRTUALSPACE_HPP
-#define SHARE_VM_GC_PARALLEL_PSVIRTUALSPACE_HPP
+#ifndef SHARE_GC_PARALLEL_PSVIRTUALSPACE_HPP
+#define SHARE_GC_PARALLEL_PSVIRTUALSPACE_HPP
#include "memory/allocation.hpp"
#include "memory/virtualspace.hpp"
@@ -179,4 +179,4 @@
_committed_high_addr = high_addr;
}
-#endif // SHARE_VM_GC_PARALLEL_PSVIRTUALSPACE_HPP
+#endif // SHARE_GC_PARALLEL_PSVIRTUALSPACE_HPP
--- a/src/hotspot/share/gc/parallel/psYoungGen.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/psYoungGen.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_PSYOUNGGEN_HPP
-#define SHARE_VM_GC_PARALLEL_PSYOUNGGEN_HPP
+#ifndef SHARE_GC_PARALLEL_PSYOUNGGEN_HPP
+#define SHARE_GC_PARALLEL_PSYOUNGGEN_HPP
#include "gc/parallel/mutableSpace.hpp"
#include "gc/parallel/objectStartArray.hpp"
@@ -197,4 +197,4 @@
void record_spaces_top() PRODUCT_RETURN;
};
-#endif // SHARE_VM_GC_PARALLEL_PSYOUNGGEN_HPP
+#endif // SHARE_GC_PARALLEL_PSYOUNGGEN_HPP
--- a/src/hotspot/share/gc/parallel/spaceCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/spaceCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_SPACECOUNTERS_HPP
-#define SHARE_VM_GC_PARALLEL_SPACECOUNTERS_HPP
+#ifndef SHARE_GC_PARALLEL_SPACECOUNTERS_HPP
+#define SHARE_GC_PARALLEL_SPACECOUNTERS_HPP
#include "gc/parallel/immutableSpace.hpp"
#include "gc/parallel/mutableSpace.hpp"
@@ -83,4 +83,4 @@
}
};
-#endif // SHARE_VM_GC_PARALLEL_SPACECOUNTERS_HPP
+#endif // SHARE_GC_PARALLEL_SPACECOUNTERS_HPP
--- a/src/hotspot/share/gc/parallel/vmStructs_parallelgc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/parallel/vmStructs_parallelgc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_PARALLEL_VMSTRUCTS_PARALLELGC_HPP
-#define SHARE_VM_GC_PARALLEL_VMSTRUCTS_PARALLELGC_HPP
+#ifndef SHARE_GC_PARALLEL_VMSTRUCTS_PARALLELGC_HPP
+#define SHARE_GC_PARALLEL_VMSTRUCTS_PARALLELGC_HPP
#include "gc/parallel/asPSOldGen.hpp"
#include "gc/parallel/asPSYoungGen.hpp"
@@ -108,4 +108,4 @@
#define VM_INT_CONSTANTS_PARALLELGC(declare_constant, \
declare_constant_with_value)
-#endif // SHARE_VM_GC_PARALLEL_VMSTRUCTS_PARALLELGC_HPP
+#endif // SHARE_GC_PARALLEL_VMSTRUCTS_PARALLELGC_HPP
--- a/src/hotspot/share/gc/serial/cSpaceCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/serial/cSpaceCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SERIAL_CSPACECOUNTERS_HPP
-#define SHARE_VM_GC_SERIAL_CSPACECOUNTERS_HPP
+#ifndef SHARE_GC_SERIAL_CSPACECOUNTERS_HPP
+#define SHARE_GC_SERIAL_CSPACECOUNTERS_HPP
#include "gc/shared/generationCounters.hpp"
#include "gc/shared/space.hpp"
@@ -71,4 +71,4 @@
jlong take_sample();
};
-#endif // SHARE_VM_GC_SERIAL_CSPACECOUNTERS_HPP
+#endif // SHARE_GC_SERIAL_CSPACECOUNTERS_HPP
--- a/src/hotspot/share/gc/serial/defNewGeneration.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/serial/defNewGeneration.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SERIAL_DEFNEWGENERATION_HPP
-#define SHARE_VM_GC_SERIAL_DEFNEWGENERATION_HPP
+#ifndef SHARE_GC_SERIAL_DEFNEWGENERATION_HPP
+#define SHARE_GC_SERIAL_DEFNEWGENERATION_HPP
#include "gc/serial/cSpaceCounters.hpp"
#include "gc/shared/ageTable.hpp"
@@ -346,4 +346,4 @@
void swap_spaces();
};
-#endif // SHARE_VM_GC_SERIAL_DEFNEWGENERATION_HPP
+#endif // SHARE_GC_SERIAL_DEFNEWGENERATION_HPP
--- a/src/hotspot/share/gc/serial/defNewGeneration.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/serial/defNewGeneration.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SERIAL_DEFNEWGENERATION_INLINE_HPP
-#define SHARE_VM_GC_SERIAL_DEFNEWGENERATION_INLINE_HPP
+#ifndef SHARE_GC_SERIAL_DEFNEWGENERATION_INLINE_HPP
+#define SHARE_GC_SERIAL_DEFNEWGENERATION_INLINE_HPP
#include "gc/serial/defNewGeneration.hpp"
#include "gc/shared/cardTableRS.hpp"
@@ -98,4 +98,4 @@
save_marks();
}
-#endif // SHARE_VM_GC_SERIAL_DEFNEWGENERATION_INLINE_HPP
+#endif // SHARE_GC_SERIAL_DEFNEWGENERATION_INLINE_HPP
--- a/src/hotspot/share/gc/serial/genMarkSweep.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/serial/genMarkSweep.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SERIAL_GENMARKSWEEP_HPP
-#define SHARE_VM_GC_SERIAL_GENMARKSWEEP_HPP
+#ifndef SHARE_GC_SERIAL_GENMARKSWEEP_HPP
+#define SHARE_GC_SERIAL_GENMARKSWEEP_HPP
#include "gc/serial/markSweep.hpp"
@@ -48,4 +48,4 @@
static void deallocate_stacks();
};
-#endif // SHARE_VM_GC_SERIAL_GENMARKSWEEP_HPP
+#endif // SHARE_GC_SERIAL_GENMARKSWEEP_HPP
--- a/src/hotspot/share/gc/serial/markSweep.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/serial/markSweep.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SERIAL_MARKSWEEP_HPP
-#define SHARE_VM_GC_SERIAL_MARKSWEEP_HPP
+#ifndef SHARE_GC_SERIAL_MARKSWEEP_HPP
+#define SHARE_GC_SERIAL_MARKSWEEP_HPP
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/genOopClosures.hpp"
@@ -211,4 +211,4 @@
void restore();
};
-#endif // SHARE_VM_GC_SERIAL_MARKSWEEP_HPP
+#endif // SHARE_GC_SERIAL_MARKSWEEP_HPP
--- a/src/hotspot/share/gc/serial/markSweep.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/serial/markSweep.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SERIAL_MARKSWEEP_INLINE_HPP
-#define SHARE_VM_GC_SERIAL_MARKSWEEP_INLINE_HPP
+#ifndef SHARE_GC_SERIAL_MARKSWEEP_INLINE_HPP
+#define SHARE_GC_SERIAL_MARKSWEEP_INLINE_HPP
#include "classfile/classLoaderData.inline.hpp"
#include "gc/serial/markSweep.hpp"
@@ -104,4 +104,4 @@
return obj->oop_iterate_size(&MarkSweep::adjust_pointer_closure);
}
-#endif // SHARE_VM_GC_SERIAL_MARKSWEEP_INLINE_HPP
+#endif // SHARE_GC_SERIAL_MARKSWEEP_INLINE_HPP
--- a/src/hotspot/share/gc/serial/serialHeap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/serial/serialHeap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SERIAL_SERIALHEAP_HPP
-#define SHARE_VM_GC_SERIAL_SERIALHEAP_HPP
+#ifndef SHARE_GC_SERIAL_SERIALHEAP_HPP
+#define SHARE_GC_SERIAL_SERIALHEAP_HPP
#include "gc/serial/defNewGeneration.hpp"
#include "gc/serial/tenuredGeneration.hpp"
@@ -83,4 +83,4 @@
OopClosureType2* older);
};
-#endif // SHARE_VM_GC_CMS_CMSHEAP_HPP
+#endif // SHARE_GC_SERIAL_SERIALHEAP_HPP
--- a/src/hotspot/share/gc/serial/tenuredGeneration.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/serial/tenuredGeneration.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SERIAL_TENUREDGENERATION_HPP
-#define SHARE_VM_GC_SERIAL_TENUREDGENERATION_HPP
+#ifndef SHARE_GC_SERIAL_TENUREDGENERATION_HPP
+#define SHARE_GC_SERIAL_TENUREDGENERATION_HPP
#include "gc/serial/cSpaceCounters.hpp"
#include "gc/shared/cardGeneration.hpp"
@@ -121,4 +121,4 @@
virtual void print_on(outputStream* st) const;
};
-#endif // SHARE_VM_GC_SERIAL_TENUREDGENERATION_HPP
+#endif // SHARE_GC_SERIAL_TENUREDGENERATION_HPP
--- a/src/hotspot/share/gc/serial/tenuredGeneration.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/serial/tenuredGeneration.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SERIAL_TENUREDGENERATION_INLINE_HPP
-#define SHARE_VM_GC_SERIAL_TENUREDGENERATION_INLINE_HPP
+#ifndef SHARE_GC_SERIAL_TENUREDGENERATION_INLINE_HPP
+#define SHARE_GC_SERIAL_TENUREDGENERATION_INLINE_HPP
#include "gc/serial/tenuredGeneration.hpp"
#include "gc/shared/space.inline.hpp"
@@ -61,4 +61,4 @@
save_marks();
}
-#endif // SHARE_VM_GC_SERIAL_TENUREDGENERATION_INLINE_HPP
+#endif // SHARE_GC_SERIAL_TENUREDGENERATION_INLINE_HPP
--- a/src/hotspot/share/gc/serial/vmStructs_serial.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/serial/vmStructs_serial.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_GC_SERIAL_VMSTRUCTS_HPP
-#define SHARE_GC_SERIAL_VMSTRUCTS_HPP
+#ifndef SHARE_GC_SERIAL_VMSTRUCTS_SERIAL_HPP
+#define SHARE_GC_SERIAL_VMSTRUCTS_SERIAL_HPP
#include "gc/serial/serialHeap.hpp"
#include "gc/serial/tenuredGeneration.hpp"
--- a/src/hotspot/share/gc/shared/accessBarrierSupport.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/accessBarrierSupport.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_ACCESSBARRIERSUPPORT_HPP
-#define SHARE_VM_GC_SHARED_ACCESSBARRIERSUPPORT_HPP
+#ifndef SHARE_GC_SHARED_ACCESSBARRIERSUPPORT_HPP
+#define SHARE_GC_SHARED_ACCESSBARRIERSUPPORT_HPP
#include "memory/allocation.hpp"
#include "oops/access.hpp"
@@ -41,4 +41,4 @@
static DecoratorSet resolve_possibly_unknown_oop_ref_strength(oop base, ptrdiff_t offset);
};
-#endif // SHARE_VM_GC_SHARED_ACCESSBARRIERSUPPORT_HPP
+#endif // SHARE_GC_SHARED_ACCESSBARRIERSUPPORT_HPP
--- a/src/hotspot/share/gc/shared/accessBarrierSupport.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/accessBarrierSupport.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_ACCESSBARRIERSUPPORT_INLINE_HPP
-#define SHARE_VM_GC_SHARED_ACCESSBARRIERSUPPORT_INLINE_HPP
+#ifndef SHARE_GC_SHARED_ACCESSBARRIERSUPPORT_INLINE_HPP
+#define SHARE_GC_SHARED_ACCESSBARRIERSUPPORT_INLINE_HPP
#include "gc/shared/accessBarrierSupport.hpp"
@@ -36,4 +36,4 @@
}
}
-#endif // SHARE_VM_GC_SHARED_ACCESSBARRIERSUPPORT_INLINE_HPP
+#endif // SHARE_GC_SHARED_ACCESSBARRIERSUPPORT_INLINE_HPP
--- a/src/hotspot/share/gc/shared/adaptiveSizePolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/adaptiveSizePolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_ADAPTIVESIZEPOLICY_HPP
-#define SHARE_VM_GC_SHARED_ADAPTIVESIZEPOLICY_HPP
+#ifndef SHARE_GC_SHARED_ADAPTIVESIZEPOLICY_HPP
+#define SHARE_GC_SHARED_ADAPTIVESIZEPOLICY_HPP
#include "gc/shared/gcCause.hpp"
#include "gc/shared/gcUtil.hpp"
@@ -473,4 +473,4 @@
void print_tenuring_threshold(uint new_tenuring_threshold) const;
};
-#endif // SHARE_VM_GC_SHARED_ADAPTIVESIZEPOLICY_HPP
+#endif // SHARE_GC_SHARED_ADAPTIVESIZEPOLICY_HPP
--- a/src/hotspot/share/gc/shared/ageTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/ageTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,14 +22,14 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_AGETABLE_HPP
-#define SHARE_VM_GC_SHARED_AGETABLE_HPP
+#ifndef SHARE_GC_SHARED_AGETABLE_HPP
+#define SHARE_GC_SHARED_AGETABLE_HPP
#include "oops/markOop.hpp"
#include "oops/oop.hpp"
#include "runtime/perfData.hpp"
-/* Copyright (c) 1992, 2018, Oracle and/or its affiliates, and Stanford University.
+/* Copyright (c) 1992, 2019, Oracle and/or its affiliates, and Stanford University.
See the LICENSE file for license information. */
// Age table for adaptive feedback-mediated tenuring (scavenging)
@@ -74,4 +74,4 @@
PerfVariable* _perf_sizes[table_size];
};
-#endif // SHARE_VM_GC_SHARED_AGETABLE_HPP
+#endif // SHARE_GC_SHARED_AGETABLE_HPP
--- a/src/hotspot/share/gc/shared/ageTable.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/ageTable.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_AGETABLE_INLINE_HPP
-#define SHARE_VM_GC_SHARED_AGETABLE_INLINE_HPP
+#ifndef SHARE_GC_SHARED_AGETABLE_INLINE_HPP
+#define SHARE_GC_SHARED_AGETABLE_INLINE_HPP
#include "gc/shared/ageTable.hpp"
#include "oops/oop.inline.hpp"
@@ -33,4 +33,4 @@
add(p->age(), oop_size);
}
-#endif // SHARE_VM_GC_SHARED_AGETABLE_INLINE_HPP
+#endif // SHARE_GC_SHARED_AGETABLE_INLINE_HPP
--- a/src/hotspot/share/gc/shared/ageTableTracer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/ageTableTracer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_AGETABLETRACER_HPP
-#define SHARE_VM_GC_SHARED_AGETABLETRACER_HPP
+#ifndef SHARE_GC_SHARED_AGETABLETRACER_HPP
+#define SHARE_GC_SHARED_AGETABLETRACER_HPP
#include "memory/allocation.hpp"
@@ -33,4 +33,4 @@
static bool is_tenuring_distribution_event_enabled();
};
-#endif // SHARE_VM_GC_SHARED_AGETABLETRACER_HPP
+#endif // SHARE_GC_SHARED_AGETABLETRACER_HPP
--- a/src/hotspot/share/gc/shared/allocTracer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/allocTracer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_ALLOCTRACER_HPP
-#define SHARE_VM_GC_SHARED_ALLOCTRACER_HPP
+#ifndef SHARE_GC_SHARED_ALLOCTRACER_HPP
+#define SHARE_GC_SHARED_ALLOCTRACER_HPP
#include "memory/allocation.hpp"
#include "runtime/handles.hpp"
@@ -35,4 +35,4 @@
static void send_allocation_requiring_gc_event(size_t size, uint gcId);
};
-#endif // SHARE_VM_GC_SHARED_ALLOCTRACER_HPP
+#endif // SHARE_GC_SHARED_ALLOCTRACER_HPP
--- a/src/hotspot/share/gc/shared/barrierSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/barrierSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_BARRIERSET_HPP
-#define SHARE_VM_GC_SHARED_BARRIERSET_HPP
+#ifndef SHARE_GC_SHARED_BARRIERSET_HPP
+#define SHARE_GC_SHARED_BARRIERSET_HPP
#include "gc/shared/barrierSetConfig.hpp"
#include "memory/memRegion.hpp"
@@ -321,4 +321,4 @@
return static_cast<T*>(bs);
}
-#endif // SHARE_VM_GC_SHARED_BARRIERSET_HPP
+#endif // SHARE_GC_SHARED_BARRIERSET_HPP
--- a/src/hotspot/share/gc/shared/barrierSet.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/barrierSet.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_GC_SHARED_BARRIERSET_INLINE_HPP
-#define SHARE_VM_GC_SHARED_BARRIERSET_INLINE_HPP
+#ifndef SHARE_GC_SHARED_BARRIERSET_INLINE_HPP
+#define SHARE_GC_SHARED_BARRIERSET_INLINE_HPP
#include "gc/shared/barrierSet.hpp"
#include "oops/accessDecorators.hpp"
@@ -57,4 +57,4 @@
return true;
}
-#endif // SHARE_VM_GC_SHARED_BARRIERSET_INLINE_HPP
+#endif // SHARE_GC_SHARED_BARRIERSET_INLINE_HPP
--- a/src/hotspot/share/gc/shared/barrierSetConfig.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/barrierSetConfig.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_BARRIERSETCONFIG_HPP
-#define SHARE_VM_GC_SHARED_BARRIERSETCONFIG_HPP
+#ifndef SHARE_GC_SHARED_BARRIERSETCONFIG_HPP
+#define SHARE_GC_SHARED_BARRIERSETCONFIG_HPP
#include "utilities/macros.hpp"
@@ -59,4 +59,4 @@
#define BT_BUILDTIME_DECORATORS (ACCESS_PRIMITIVE_SUPPORT | ACCESS_TO_SPACE_INVARIANT_SUPPORT)
-#endif // SHARE_VM_GC_SHARED_BARRIERSETCONFIG_HPP
+#endif // SHARE_GC_SHARED_BARRIERSETCONFIG_HPP
--- a/src/hotspot/share/gc/shared/barrierSetConfig.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/barrierSetConfig.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_BARRIERSETCONFIG_INLINE_HPP
-#define SHARE_VM_GC_SHARED_BARRIERSETCONFIG_INLINE_HPP
+#ifndef SHARE_GC_SHARED_BARRIERSETCONFIG_INLINE_HPP
+#define SHARE_GC_SHARED_BARRIERSETCONFIG_INLINE_HPP
#include "gc/shared/barrierSetConfig.hpp"
@@ -43,4 +43,4 @@
#include "gc/z/zBarrierSet.inline.hpp"
#endif
-#endif // SHARE_VM_GC_SHARED_BARRIERSETCONFIG_INLINE_HPP
+#endif // SHARE_GC_SHARED_BARRIERSETCONFIG_INLINE_HPP
--- a/src/hotspot/share/gc/shared/barrierSetNMethod.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/barrierSetNMethod.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_CODE_NMETHOD_BARRIER_HPP
-#define SHARE_CODE_NMETHOD_BARRIER_HPP
+#ifndef SHARE_GC_SHARED_BARRIERSETNMETHOD_HPP
+#define SHARE_GC_SHARED_BARRIERSETNMETHOD_HPP
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -49,4 +49,4 @@
};
-#endif // SHARE_CODE_NMETHOD_BARRIER_HPP
+#endif // SHARE_GC_SHARED_BARRIERSETNMETHOD_HPP
--- a/src/hotspot/share/gc/shared/blockOffsetTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/blockOffsetTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_BLOCKOFFSETTABLE_HPP
-#define SHARE_VM_GC_SHARED_BLOCKOFFSETTABLE_HPP
+#ifndef SHARE_GC_SHARED_BLOCKOFFSETTABLE_HPP
+#define SHARE_GC_SHARED_BLOCKOFFSETTABLE_HPP
#include "gc/shared/memset_with_concurrent_readers.hpp"
#include "memory/allocation.hpp"
@@ -545,4 +545,4 @@
virtual size_t last_active_index() const;
};
-#endif // SHARE_VM_GC_SHARED_BLOCKOFFSETTABLE_HPP
+#endif // SHARE_GC_SHARED_BLOCKOFFSETTABLE_HPP
--- a/src/hotspot/share/gc/shared/blockOffsetTable.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/blockOffsetTable.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_BLOCKOFFSETTABLE_INLINE_HPP
-#define SHARE_VM_GC_SHARED_BLOCKOFFSETTABLE_INLINE_HPP
+#ifndef SHARE_GC_SHARED_BLOCKOFFSETTABLE_INLINE_HPP
+#define SHARE_GC_SHARED_BLOCKOFFSETTABLE_INLINE_HPP
#include "gc/shared/blockOffsetTable.hpp"
#include "gc/shared/space.hpp"
@@ -96,4 +96,4 @@
}
}
-#endif // SHARE_VM_GC_SHARED_BLOCKOFFSETTABLE_INLINE_HPP
+#endif // SHARE_GC_SHARED_BLOCKOFFSETTABLE_INLINE_HPP
--- a/src/hotspot/share/gc/shared/cardGeneration.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/cardGeneration.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_CARDGENERATION_HPP
-#define SHARE_VM_GC_SHARED_CARDGENERATION_HPP
+#ifndef SHARE_GC_SHARED_CARDGENERATION_HPP
+#define SHARE_GC_SHARED_CARDGENERATION_HPP
// Class CardGeneration is a generation that is covered by a card table,
// and uses a card-size block-offset array to implement block_start.
@@ -96,4 +96,4 @@
CompactibleSpace* first_compaction_space() const;
};
-#endif // SHARE_VM_GC_SHARED_CARDGENERATION_HPP
+#endif // SHARE_GC_SHARED_CARDGENERATION_HPP
--- a/src/hotspot/share/gc/shared/cardGeneration.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/cardGeneration.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_CARDGENERATION_INLINE_HPP
-#define SHARE_VM_GC_SHARED_CARDGENERATION_INLINE_HPP
+#ifndef SHARE_GC_SHARED_CARDGENERATION_INLINE_HPP
+#define SHARE_GC_SHARED_CARDGENERATION_INLINE_HPP
#include "gc/shared/cardGeneration.hpp"
#include "gc/shared/space.hpp"
@@ -52,4 +52,4 @@
return space();
}
-#endif // SHARE_VM_GC_SHARED_CARDGENERATION_INLINE_HPP
+#endif // SHARE_GC_SHARED_CARDGENERATION_INLINE_HPP
--- a/src/hotspot/share/gc/shared/cardTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/cardTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_CARDTABLE_HPP
-#define SHARE_VM_GC_SHARED_CARDTABLE_HPP
+#ifndef SHARE_GC_SHARED_CARDTABLE_HPP
+#define SHARE_GC_SHARED_CARDTABLE_HPP
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp"
@@ -263,4 +263,4 @@
void verify_dirty_region(MemRegion mr) PRODUCT_RETURN;
};
-#endif // SHARE_VM_GC_SHARED_CARDTABLE_HPP
+#endif // SHARE_GC_SHARED_CARDTABLE_HPP
--- a/src/hotspot/share/gc/shared/cardTableBarrierSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/cardTableBarrierSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_CARDTABLEBARRIERSET_HPP
-#define SHARE_VM_GC_SHARED_CARDTABLEBARRIERSET_HPP
+#ifndef SHARE_GC_SHARED_CARDTABLEBARRIERSET_HPP
+#define SHARE_GC_SHARED_CARDTABLEBARRIERSET_HPP
#include "gc/shared/modRefBarrierSet.hpp"
#include "utilities/align.hpp"
@@ -122,4 +122,4 @@
typedef ::CardTableBarrierSet type;
};
-#endif // SHARE_VM_GC_SHARED_CARDTABLEBARRIERSET_HPP
+#endif // SHARE_GC_SHARED_CARDTABLEBARRIERSET_HPP
--- a/src/hotspot/share/gc/shared/cardTableBarrierSet.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/cardTableBarrierSet.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_CARDTABLEBARRIERSET_INLINE_HPP
-#define SHARE_VM_GC_SHARED_CARDTABLEBARRIERSET_INLINE_HPP
+#ifndef SHARE_GC_SHARED_CARDTABLEBARRIERSET_INLINE_HPP
+#define SHARE_GC_SHARED_CARDTABLEBARRIERSET_INLINE_HPP
#include "gc/shared/cardTableBarrierSet.hpp"
#include "gc/shared/cardTable.hpp"
@@ -40,4 +40,4 @@
}
}
-#endif // SHARE_VM_GC_SHARED_CARDTABLEBARRIERSET_INLINE_HPP
+#endif // SHARE_GC_SHARED_CARDTABLEBARRIERSET_INLINE_HPP
--- a/src/hotspot/share/gc/shared/cardTableRS.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/cardTableRS.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_CARDTABLERS_HPP
-#define SHARE_VM_GC_SHARED_CARDTABLERS_HPP
+#ifndef SHARE_GC_SHARED_CARDTABLERS_HPP
+#define SHARE_GC_SHARED_CARDTABLERS_HPP
#include "gc/shared/cardTable.hpp"
#include "memory/memRegion.hpp"
@@ -214,4 +214,4 @@
void do_MemRegion(MemRegion mr);
};
-#endif // SHARE_VM_GC_SHARED_CARDTABLERS_HPP
+#endif // SHARE_GC_SHARED_CARDTABLERS_HPP
--- a/src/hotspot/share/gc/shared/collectedHeap.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/collectedHeap.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -51,10 +51,6 @@
class ClassLoaderData;
-#ifdef ASSERT
-int CollectedHeap::_fire_out_of_memory_count = 0;
-#endif
-
size_t CollectedHeap::_filler_array_max_size = 0;
template <>
--- a/src/hotspot/share/gc/shared/collectedHeap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/collectedHeap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_COLLECTEDHEAP_HPP
-#define SHARE_VM_GC_SHARED_COLLECTEDHEAP_HPP
+#ifndef SHARE_GC_SHARED_COLLECTEDHEAP_HPP
+#define SHARE_GC_SHARED_COLLECTEDHEAP_HPP
#include "gc/shared/gcCause.hpp"
#include "gc/shared/gcWhen.hpp"
@@ -100,10 +100,6 @@
friend class MemAllocator;
private:
-#ifdef ASSERT
- static int _fire_out_of_memory_count;
-#endif
-
GCHeapLog* _gc_heap_log;
MemRegion _reserved;
@@ -600,12 +596,6 @@
void reset_promotion_should_fail(volatile size_t* count);
void reset_promotion_should_fail();
#endif // #ifndef PRODUCT
-
-#ifdef ASSERT
- static int fired_fake_oom() {
- return (CIFireOOMAt > 1 && _fire_out_of_memory_count >= CIFireOOMAt);
- }
-#endif
};
// Class to set and reset the GC cause for a CollectedHeap.
@@ -625,4 +615,4 @@
}
};
-#endif // SHARE_VM_GC_SHARED_COLLECTEDHEAP_HPP
+#endif // SHARE_GC_SHARED_COLLECTEDHEAP_HPP
--- a/src/hotspot/share/gc/shared/collectedHeap.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/collectedHeap.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_COLLECTEDHEAP_INLINE_HPP
-#define SHARE_VM_GC_SHARED_COLLECTEDHEAP_INLINE_HPP
+#ifndef SHARE_GC_SHARED_COLLECTEDHEAP_INLINE_HPP
+#define SHARE_GC_SHARED_COLLECTEDHEAP_INLINE_HPP
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/memAllocator.hpp"
@@ -82,4 +82,4 @@
return allocator.allocate();
}
-#endif // SHARE_VM_GC_SHARED_COLLECTEDHEAP_INLINE_HPP
+#endif // SHARE_GC_SHARED_COLLECTEDHEAP_INLINE_HPP
--- a/src/hotspot/share/gc/shared/collectorCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/collectorCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_COLLECTORCOUNTERS_HPP
-#define SHARE_VM_GC_SHARED_COLLECTORCOUNTERS_HPP
+#ifndef SHARE_GC_SHARED_COLLECTORCOUNTERS_HPP
+#define SHARE_GC_SHARED_COLLECTORCOUNTERS_HPP
#include "runtime/perfData.hpp"
@@ -73,4 +73,4 @@
~TraceCollectorStats();
};
-#endif // SHARE_VM_GC_SHARED_COLLECTORCOUNTERS_HPP
+#endif // SHARE_GC_SHARED_COLLECTORCOUNTERS_HPP
--- a/src/hotspot/share/gc/shared/collectorPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/collectorPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_COLLECTORPOLICY_HPP
-#define SHARE_VM_GC_SHARED_COLLECTORPOLICY_HPP
+#ifndef SHARE_GC_SHARED_COLLECTORPOLICY_HPP
+#define SHARE_GC_SHARED_COLLECTORPOLICY_HPP
#include "gc/shared/barrierSet.hpp"
#include "gc/shared/cardTableRS.hpp"
@@ -146,4 +146,4 @@
MarkSweepPolicy() {}
};
-#endif // SHARE_VM_GC_SHARED_COLLECTORPOLICY_HPP
+#endif // SHARE_GC_SHARED_COLLECTORPOLICY_HPP
--- a/src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_CONCURRENTGCPHASEMANAGER_HPP
-#define SHARE_VM_GC_CONCURRENTGCPHASEMANAGER_HPP
+#ifndef SHARE_GC_SHARED_CONCURRENTGCPHASEMANAGER_HPP
+#define SHARE_GC_SHARED_CONCURRENTGCPHASEMANAGER_HPP
#include "memory/allocation.hpp"
@@ -134,4 +134,4 @@
bool wait_when_requested_impl() const;
};
-#endif // include guard
+#endif // SHARE_GC_SHARED_CONCURRENTGCPHASEMANAGER_HPP
--- a/src/hotspot/share/gc/shared/concurrentGCThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/concurrentGCThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_CONCURRENTGCTHREAD_HPP
-#define SHARE_VM_GC_SHARED_CONCURRENTGCTHREAD_HPP
+#ifndef SHARE_GC_SHARED_CONCURRENTGCTHREAD_HPP
+#define SHARE_GC_SHARED_CONCURRENTGCTHREAD_HPP
#include "runtime/thread.hpp"
#include "utilities/macros.hpp"
@@ -70,4 +70,4 @@
bool has_terminated() { return _has_terminated; }
};
-#endif // SHARE_VM_GC_SHARED_CONCURRENTGCTHREAD_HPP
+#endif // SHARE_GC_SHARED_CONCURRENTGCTHREAD_HPP
--- a/src/hotspot/share/gc/shared/copyFailedInfo.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/copyFailedInfo.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_COPYFAILEDINFO_HPP
-#define SHARE_VM_GC_SHARED_COPYFAILEDINFO_HPP
+#ifndef SHARE_GC_SHARED_COPYFAILEDINFO_HPP
+#define SHARE_GC_SHARED_COPYFAILEDINFO_HPP
#include "jfr/support/jfrThreadId.hpp"
#include "runtime/thread.hpp"
@@ -90,4 +90,4 @@
class EvacuationFailedInfo : public CopyFailedInfo {};
-#endif // SHARE_VM_GC_SHARED_COPYFAILEDINFO_HPP
+#endif // SHARE_GC_SHARED_COPYFAILEDINFO_HPP
--- a/src/hotspot/share/gc/shared/gcBehaviours.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcBehaviours.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_GC_SHARED_BEHAVIOURS_HPP
-#define SHARE_GC_SHARED_BEHAVIOURS_HPP
+#ifndef SHARE_GC_SHARED_GCBEHAVIOURS_HPP
+#define SHARE_GC_SHARED_GCBEHAVIOURS_HPP
#include "memory/iterator.hpp"
#include "oops/oopsHierarchy.hpp"
@@ -50,4 +50,4 @@
virtual bool is_unloading(CompiledMethod* cm) const;
};
-#endif // SHARE_GC_SHARED_BEHAVIOURS_HPP
+#endif // SHARE_GC_SHARED_GCBEHAVIOURS_HPP
--- a/src/hotspot/share/gc/shared/gcCause.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcCause.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCCAUSE_HPP
-#define SHARE_VM_GC_SHARED_GCCAUSE_HPP
+#ifndef SHARE_GC_SHARED_GCCAUSE_HPP
+#define SHARE_GC_SHARED_GCCAUSE_HPP
#include "memory/allocation.hpp"
@@ -137,4 +137,4 @@
static const char* to_string(GCCause::Cause cause);
};
-#endif // SHARE_VM_GC_SHARED_GCCAUSE_HPP
+#endif // SHARE_GC_SHARED_GCCAUSE_HPP
--- a/src/hotspot/share/gc/shared/gcConfiguration.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcConfiguration.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCCONFIGURATION_HPP
-#define SHARE_VM_GC_SHARED_GCCONFIGURATION_HPP
+#ifndef SHARE_GC_SHARED_GCCONFIGURATION_HPP
+#define SHARE_GC_SHARED_GCCONFIGURATION_HPP
#include "gc/shared/gcName.hpp"
#include "memory/universe.hpp"
@@ -77,4 +77,4 @@
intx new_ratio() const;
};
-#endif // SHARE_VM_GC_SHARED_GCCONFIGURATION_HPP
+#endif // SHARE_GC_SHARED_GCCONFIGURATION_HPP
--- a/src/hotspot/share/gc/shared/gcHeapSummary.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcHeapSummary.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCHEAPSUMMARY_HPP
-#define SHARE_VM_GC_SHARED_GCHEAPSUMMARY_HPP
+#ifndef SHARE_GC_SHARED_GCHEAPSUMMARY_HPP
+#define SHARE_GC_SHARED_GCHEAPSUMMARY_HPP
#include "memory/allocation.hpp"
#include "memory/metaspaceChunkFreeListSummary.hpp"
@@ -231,4 +231,4 @@
size_t failure_waste() const { return _failure_waste; }
};
-#endif // SHARE_VM_GC_SHARED_GCHEAPSUMMARY_HPP
+#endif // SHARE_GC_SHARED_GCHEAPSUMMARY_HPP
--- a/src/hotspot/share/gc/shared/gcId.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcId.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCID_HPP
-#define SHARE_VM_GC_SHARED_GCID_HPP
+#ifndef SHARE_GC_SHARED_GCID_HPP
+#define SHARE_GC_SHARED_GCID_HPP
#include "memory/allocation.hpp"
@@ -56,4 +56,4 @@
~GCIdMark();
};
-#endif // SHARE_VM_GC_SHARED_GCID_HPP
+#endif // SHARE_GC_SHARED_GCID_HPP
--- a/src/hotspot/share/gc/shared/gcLocker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcLocker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCLOCKER_HPP
-#define SHARE_VM_GC_SHARED_GCLOCKER_HPP
+#ifndef SHARE_GC_SHARED_GCLOCKER_HPP
+#define SHARE_GC_SHARED_GCLOCKER_HPP
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -145,4 +145,4 @@
static address needs_gc_address() { return (address) &_needs_gc; }
};
-#endif // SHARE_VM_GC_SHARED_GCLOCKER_HPP
+#endif // SHARE_GC_SHARED_GCLOCKER_HPP
--- a/src/hotspot/share/gc/shared/gcLocker.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcLocker.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCLOCKER_INLINE_HPP
-#define SHARE_VM_GC_SHARED_GCLOCKER_INLINE_HPP
+#ifndef SHARE_GC_SHARED_GCLOCKER_INLINE_HPP
+#define SHARE_GC_SHARED_GCLOCKER_INLINE_HPP
#include "gc/shared/gcLocker.hpp"
#include "runtime/thread.hpp"
@@ -54,4 +54,4 @@
thread->exit_critical();
}
-#endif // SHARE_VM_GC_SHARED_GCLOCKER_INLINE_HPP
+#endif // SHARE_GC_SHARED_GCLOCKER_INLINE_HPP
--- a/src/hotspot/share/gc/shared/gcName.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcName.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCNAME_HPP
-#define SHARE_VM_GC_SHARED_GCNAME_HPP
+#ifndef SHARE_GC_SHARED_GCNAME_HPP
+#define SHARE_GC_SHARED_GCNAME_HPP
#include "utilities/debug.hpp"
@@ -66,4 +66,4 @@
}
};
-#endif // SHARE_VM_GC_SHARED_GCNAME_HPP
+#endif // SHARE_GC_SHARED_GCNAME_HPP
--- a/src/hotspot/share/gc/shared/gcPolicyCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcPolicyCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCPOLICYCOUNTERS_HPP
-#define SHARE_VM_GC_SHARED_GCPOLICYCOUNTERS_HPP
+#ifndef SHARE_GC_SHARED_GCPOLICYCOUNTERS_HPP
+#define SHARE_GC_SHARED_GCPOLICYCOUNTERS_HPP
#include "runtime/perfData.hpp"
@@ -33,46 +33,42 @@
class GCPolicyCounters: public CHeapObj<mtGC> {
friend class VMStructs;
- private:
-
- // Constant PerfData types don't need to retain a reference.
- // However, it's a good idea to document them here.
- // PerfStringConstant* _name;
- // PerfStringConstant* _collector_size;
- // PerfStringConstant* _generation_size;
+ // Constant PerfData types don't need to retain a reference.
+ // However, it's a good idea to document them here.
+ // PerfStringConstant* _name;
+ // PerfStringConstant* _collector_size;
+ // PerfStringConstant* _generation_size;
- PerfVariable* _tenuring_threshold;
- PerfVariable* _desired_survivor_size;
+ PerfVariable* _tenuring_threshold;
+ PerfVariable* _desired_survivor_size;
- const char* _name_space;
+ const char* _name_space;
- public:
-
+public:
enum Name {
NONE,
GCPolicyCountersKind,
GCAdaptivePolicyCountersKind,
- PSGCAdaptivePolicyCountersKind,
- CMSGCAdaptivePolicyCountersKind
+ PSGCAdaptivePolicyCountersKind
};
GCPolicyCounters(const char* name, int collectors, int generations);
- inline PerfVariable* tenuring_threshold() const {
- return _tenuring_threshold;
- }
+ inline PerfVariable* tenuring_threshold() const {
+ return _tenuring_threshold;
+ }
- inline PerfVariable* desired_survivor_size() const {
- return _desired_survivor_size;
- }
+ inline PerfVariable* desired_survivor_size() const {
+ return _desired_survivor_size;
+ }
- const char* name_space() const { return _name_space; }
+ const char* name_space() const { return _name_space; }
- virtual void update_counters() {}
+ virtual void update_counters() {}
- virtual GCPolicyCounters::Name kind() const {
- return GCPolicyCounters::GCPolicyCountersKind;
- }
+ virtual GCPolicyCounters::Name kind() const {
+ return GCPolicyCounters::GCPolicyCountersKind;
+ }
};
-#endif // SHARE_VM_GC_SHARED_GCPOLICYCOUNTERS_HPP
+#endif // SHARE_GC_SHARED_GCPOLICYCOUNTERS_HPP
--- a/src/hotspot/share/gc/shared/gcStats.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcStats.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCSTATS_HPP
-#define SHARE_VM_GC_SHARED_GCSTATS_HPP
+#ifndef SHARE_GC_SHARED_GCSTATS_HPP
+#define SHARE_GC_SHARED_GCSTATS_HPP
#include "gc/shared/gcUtil.hpp"
@@ -58,4 +58,4 @@
}
};
-#endif // SHARE_VM_GC_SHARED_GCSTATS_HPP
+#endif // SHARE_GC_SHARED_GCSTATS_HPP
--- a/src/hotspot/share/gc/shared/gcTimer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcTimer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCTIMER_HPP
-#define SHARE_VM_GC_SHARED_GCTIMER_HPP
+#ifndef SHARE_GC_SHARED_GCTIMER_HPP
+#define SHARE_GC_SHARED_GCTIMER_HPP
#include "memory/allocation.hpp"
#include "utilities/macros.hpp"
@@ -183,4 +183,4 @@
virtual GCPhase* next();
};
-#endif // SHARE_VM_GC_SHARED_GCTIMER_HPP
+#endif // SHARE_GC_SHARED_GCTIMER_HPP
--- a/src/hotspot/share/gc/shared/gcTrace.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcTrace.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -37,7 +37,7 @@
#include "utilities/macros.hpp"
#include "utilities/ticks.hpp"
#if INCLUDE_G1GC
-#include "gc/g1/evacuationInfo.hpp"
+#include "gc/g1/g1EvacuationInfo.hpp"
#endif
void GCTracer::report_gc_start_impl(GCCause::Cause cause, const Ticks& timestamp) {
@@ -200,7 +200,7 @@
send_g1_young_gc_event();
}
-void G1NewTracer::report_evacuation_info(EvacuationInfo* info) {
+void G1NewTracer::report_evacuation_info(G1EvacuationInfo* info) {
send_evacuation_info_event(info);
}
--- a/src/hotspot/share/gc/shared/gcTrace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcTrace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCTRACE_HPP
-#define SHARE_VM_GC_SHARED_GCTRACE_HPP
+#ifndef SHARE_GC_SHARED_GCTRACE_HPP
+#define SHARE_GC_SHARED_GCTRACE_HPP
#include "gc/shared/copyFailedInfo.hpp"
#include "gc/shared/gcCause.hpp"
@@ -38,7 +38,7 @@
#include "gc/g1/g1YCTypes.hpp"
#endif
-class EvacuationInfo;
+class G1EvacuationInfo;
class GCHeapSummary;
class MetaspaceChunkFreeListSummary;
class MetaspaceSummary;
@@ -248,7 +248,7 @@
void report_yc_type(G1YCType type);
void report_gc_end_impl(const Ticks& timestamp, TimePartitions* time_partitions);
- void report_evacuation_info(EvacuationInfo* info);
+ void report_evacuation_info(G1EvacuationInfo* info);
void report_evacuation_failed(EvacuationFailedInfo& ef_info);
void report_evacuation_statistics(const G1EvacSummary& young_summary, const G1EvacSummary& old_summary) const;
@@ -268,7 +268,7 @@
bool prediction_active);
private:
void send_g1_young_gc_event();
- void send_evacuation_info_event(EvacuationInfo* info);
+ void send_evacuation_info_event(G1EvacuationInfo* info);
void send_evacuation_failed_event(const EvacuationFailedInfo& ef_info) const;
void send_young_evacuation_statistics(const G1EvacSummary& summary) const;
@@ -309,4 +309,4 @@
void set_gc_cause(GCCause::Cause cause);
};
-#endif // SHARE_VM_GC_SHARED_GCTRACE_HPP
+#endif // SHARE_GC_SHARED_GCTRACE_HPP
--- a/src/hotspot/share/gc/shared/gcTraceSend.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcTraceSend.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -32,7 +32,7 @@
#include "runtime/os.hpp"
#include "utilities/macros.hpp"
#if INCLUDE_G1GC
-#include "gc/g1/evacuationInfo.hpp"
+#include "gc/g1/g1EvacuationInfo.hpp"
#include "gc/g1/g1YCTypes.hpp"
#endif
@@ -209,7 +209,7 @@
}
}
-void G1NewTracer::send_evacuation_info_event(EvacuationInfo* info) {
+void G1NewTracer::send_evacuation_info_event(G1EvacuationInfo* info) {
EventEvacuationInformation e;
if (e.should_commit()) {
e.set_gcId(GCId::current());
--- a/src/hotspot/share/gc/shared/gcTraceTime.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcTraceTime.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCTRACETIME_HPP
-#define SHARE_VM_GC_SHARED_GCTRACETIME_HPP
+#ifndef SHARE_GC_SHARED_GCTRACETIME_HPP
+#define SHARE_GC_SHARED_GCTRACETIME_HPP
#include "logging/log.hpp"
#include "logging/logHandle.hpp"
@@ -86,4 +86,4 @@
jlong start_time() { return _start_time; }
};
-#endif // SHARE_VM_GC_SHARED_GCTRACETIME_HPP
+#endif // SHARE_GC_SHARED_GCTRACETIME_HPP
--- a/src/hotspot/share/gc/shared/gcTraceTime.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcTraceTime.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCTRACETIME_INLINE_HPP
-#define SHARE_VM_GC_SHARED_GCTRACETIME_INLINE_HPP
+#ifndef SHARE_GC_SHARED_GCTRACETIME_INLINE_HPP
+#define SHARE_GC_SHARED_GCTRACETIME_INLINE_HPP
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/gcTimer.hpp"
@@ -158,4 +158,4 @@
#define GCTraceTime(Level, ...) GCTraceTimeImplWrapper<LogLevel::Level, LOG_TAGS(__VA_ARGS__)>
#define GCTraceConcTime(Level, ...) GCTraceConcTimeImpl<LogLevel::Level, LOG_TAGS(__VA_ARGS__)>
-#endif // SHARE_VM_GC_SHARED_GCTRACETIME_INLINE_HPP
+#endif // SHARE_GC_SHARED_GCTRACETIME_INLINE_HPP
--- a/src/hotspot/share/gc/shared/gcUtil.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcUtil.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCUTIL_HPP
-#define SHARE_VM_GC_SHARED_GCUTIL_HPP
+#ifndef SHARE_GC_SHARED_GCUTIL_HPP
+#define SHARE_GC_SHARED_GCUTIL_HPP
#include "memory/allocation.hpp"
#include "runtime/timer.hpp"
@@ -216,4 +216,4 @@
bool increment_will_decrease();
};
-#endif // SHARE_VM_GC_SHARED_GCUTIL_HPP
+#endif // SHARE_GC_SHARED_GCUTIL_HPP
--- a/src/hotspot/share/gc/shared/gcUtil.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcUtil.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCUTIL_INLINE_HPP
-#define SHARE_VM_GC_SHARED_GCUTIL_INLINE_HPP
+#ifndef SHARE_GC_SHARED_GCUTIL_INLINE_HPP
+#define SHARE_GC_SHARED_GCUTIL_INLINE_HPP
#include "gc/shared/gcUtil.hpp"
#include "memory/allocation.inline.hpp"
@@ -32,4 +32,4 @@
return CHeapObj<mtGC>::operator new(size);
}
-#endif // SHARE_VM_GC_SHARED_GCUTIL_INLINE_HPP
+#endif // SHARE_GC_SHARED_GCUTIL_INLINE_HPP
--- a/src/hotspot/share/gc/shared/gcVMOperations.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcVMOperations.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCVMOPERATIONS_HPP
-#define SHARE_VM_GC_SHARED_GCVMOPERATIONS_HPP
+#ifndef SHARE_GC_SHARED_GCVMOPERATIONS_HPP
+#define SHARE_GC_SHARED_GCVMOPERATIONS_HPP
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/genCollectedHeap.hpp"
@@ -238,4 +238,4 @@
}
};
-#endif // SHARE_VM_GC_SHARED_GCVMOPERATIONS_HPP
+#endif // SHARE_GC_SHARED_GCVMOPERATIONS_HPP
--- a/src/hotspot/share/gc/shared/gcWhen.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/gcWhen.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GCWHEN_HPP
-#define SHARE_VM_GC_SHARED_GCWHEN_HPP
+#ifndef SHARE_GC_SHARED_GCWHEN_HPP
+#define SHARE_GC_SHARED_GCWHEN_HPP
#include "memory/allocation.hpp"
#include "utilities/debug.hpp"
@@ -45,4 +45,4 @@
}
};
-#endif // SHARE_VM_GC_SHARED_GCWHEN_HPP
+#endif // SHARE_GC_SHARED_GCWHEN_HPP
--- a/src/hotspot/share/gc/shared/genCollectedHeap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/genCollectedHeap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GENCOLLECTEDHEAP_HPP
-#define SHARE_VM_GC_SHARED_GENCOLLECTEDHEAP_HPP
+#ifndef SHARE_GC_SHARED_GENCOLLECTEDHEAP_HPP
+#define SHARE_GC_SHARED_GENCOLLECTEDHEAP_HPP
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/collectorPolicy.hpp"
@@ -505,4 +505,4 @@
void record_gen_tops_before_GC() PRODUCT_RETURN;
};
-#endif // SHARE_VM_GC_SHARED_GENCOLLECTEDHEAP_HPP
+#endif // SHARE_GC_SHARED_GENCOLLECTEDHEAP_HPP
--- a/src/hotspot/share/gc/shared/genMemoryPools.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/genMemoryPools.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GENMEMORYPOOLS_HPP
-#define SHARE_VM_GC_SHARED_GENMEMORYPOOLS_HPP
+#ifndef SHARE_GC_SHARED_GENMEMORYPOOLS_HPP
+#define SHARE_GC_SHARED_GENMEMORYPOOLS_HPP
#include "services/memoryPool.hpp"
@@ -72,4 +72,4 @@
size_t used_in_bytes();
};
-#endif // SHARE_VM_GC_SHARED_GENMEMORYPOOLS_HPP
+#endif // SHARE_GC_SHARED_GENMEMORYPOOLS_HPP
--- a/src/hotspot/share/gc/shared/genOopClosures.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/genOopClosures.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GENOOPCLOSURES_HPP
-#define SHARE_VM_GC_SHARED_GENOOPCLOSURES_HPP
+#ifndef SHARE_GC_SHARED_GENOOPCLOSURES_HPP
+#define SHARE_GC_SHARED_GENOOPCLOSURES_HPP
#include "memory/iterator.hpp"
#include "oops/oop.hpp"
@@ -188,4 +188,4 @@
#endif // INCLUDE_SERIALGC
-#endif // SHARE_VM_GC_SHARED_GENOOPCLOSURES_HPP
+#endif // SHARE_GC_SHARED_GENOOPCLOSURES_HPP
--- a/src/hotspot/share/gc/shared/genOopClosures.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/genOopClosures.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GENOOPCLOSURES_INLINE_HPP
-#define SHARE_VM_GC_SHARED_GENOOPCLOSURES_INLINE_HPP
+#ifndef SHARE_GC_SHARED_GENOOPCLOSURES_INLINE_HPP
+#define SHARE_GC_SHARED_GENOOPCLOSURES_INLINE_HPP
#include "gc/shared/cardTableRS.hpp"
#include "gc/shared/genCollectedHeap.hpp"
@@ -171,4 +171,4 @@
#endif // INCLUDE_SERIALGC
-#endif // SHARE_VM_GC_SHARED_GENOOPCLOSURES_INLINE_HPP
+#endif // SHARE_GC_SHARED_GENOOPCLOSURES_INLINE_HPP
--- a/src/hotspot/share/gc/shared/generation.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/generation.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GENERATION_HPP
-#define SHARE_VM_GC_SHARED_GENERATION_HPP
+#ifndef SHARE_GC_SHARED_GENERATION_HPP
+#define SHARE_GC_SHARED_GENERATION_HPP
#include "gc/shared/collectorCounters.hpp"
#include "gc/shared/referenceProcessor.hpp"
@@ -553,4 +553,4 @@
};
-#endif // SHARE_VM_GC_SHARED_GENERATION_HPP
+#endif // SHARE_GC_SHARED_GENERATION_HPP
--- a/src/hotspot/share/gc/shared/generationCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/generationCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GENERATIONCOUNTERS_HPP
-#define SHARE_VM_GC_SHARED_GENERATIONCOUNTERS_HPP
+#ifndef SHARE_GC_SHARED_GENERATIONCOUNTERS_HPP
+#define SHARE_GC_SHARED_GENERATIONCOUNTERS_HPP
#include "memory/virtualspace.hpp"
#include "runtime/perfData.hpp"
@@ -75,4 +75,4 @@
const char* name_space() const { return _name_space; }
};
-#endif // SHARE_VM_GC_SHARED_GENERATIONCOUNTERS_HPP
+#endif // SHARE_GC_SHARED_GENERATIONCOUNTERS_HPP
--- a/src/hotspot/share/gc/shared/generationSpec.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/generationSpec.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_GENERATIONSPEC_HPP
-#define SHARE_VM_GC_SHARED_GENERATIONSPEC_HPP
+#ifndef SHARE_GC_SHARED_GENERATIONSPEC_HPP
+#define SHARE_GC_SHARED_GENERATIONSPEC_HPP
#include "gc/shared/generation.hpp"
#include "utilities/align.hpp"
@@ -58,4 +58,4 @@
typedef GenerationSpec* GenerationSpecPtr;
-#endif // SHARE_VM_GC_SHARED_GENERATIONSPEC_HPP
+#endif // SHARE_GC_SHARED_GENERATIONSPEC_HPP
--- a/src/hotspot/share/gc/shared/hSpaceCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/hSpaceCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_HSPACECOUNTERS_HPP
-#define SHARE_VM_GC_SHARED_HSPACECOUNTERS_HPP
+#ifndef SHARE_GC_SHARED_HSPACECOUNTERS_HPP
+#define SHARE_GC_SHARED_HSPACECOUNTERS_HPP
#include "memory/allocation.hpp"
#include "runtime/perfData.hpp"
@@ -65,4 +65,4 @@
const char* name_space() const { return _name_space; }
};
-#endif // SHARE_VM_GC_SHARED_HSPACECOUNTERS_HPP
+#endif // SHARE_GC_SHARED_HSPACECOUNTERS_HPP
--- a/src/hotspot/share/gc/shared/isGCActiveMark.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/isGCActiveMark.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_ISGCACTIVEMARK_HPP
-#define SHARE_VM_GC_SHARED_ISGCACTIVEMARK_HPP
+#ifndef SHARE_GC_SHARED_ISGCACTIVEMARK_HPP
+#define SHARE_GC_SHARED_ISGCACTIVEMARK_HPP
#include "gc/shared/collectedHeap.hpp"
#include "memory/allocation.hpp"
@@ -48,4 +48,4 @@
}
};
-#endif // SHARE_VM_GC_SHARED_ISGCACTIVEMARK_HPP
+#endif // SHARE_GC_SHARED_ISGCACTIVEMARK_HPP
--- a/src/hotspot/share/gc/shared/jvmFlagConstraintsGC.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/jvmFlagConstraintsGC.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_GC_SHARED_COMMANDLINEFLAGCONSTRAINTSGC_HPP
-#define SHARE_GC_SHARED_COMMANDLINEFLAGCONSTRAINTSGC_HPP
+#ifndef SHARE_GC_SHARED_JVMFLAGCONSTRAINTSGC_HPP
+#define SHARE_GC_SHARED_JVMFLAGCONSTRAINTSGC_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -74,4 +74,4 @@
// Internal
JVMFlag::Error MaxPLABSizeBounds(const char* name, size_t value, bool verbose);
-#endif // SHARE_GC_SHARED_COMMANDLINEFLAGCONSTRAINTSGC_HPP
+#endif // SHARE_GC_SHARED_JVMFLAGCONSTRAINTSGC_HPP
--- a/src/hotspot/share/gc/shared/markBitMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/markBitMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_MARKBITMAP_HPP
-#define SHARE_VM_GC_SHARED_MARKBITMAP_HPP
+#ifndef SHARE_GC_SHARED_MARKBITMAP_HPP
+#define SHARE_GC_SHARED_MARKBITMAP_HPP
#include "memory/memRegion.hpp"
#include "oops/oopsHierarchy.hpp"
@@ -98,4 +98,4 @@
void clear_range_large(MemRegion mr) { do_clear(mr, true); }
};
-#endif // SHARE_VM_GC_SHARED_MARKBITMAP_HPP
+#endif // SHARE_GC_SHARED_MARKBITMAP_HPP
--- a/src/hotspot/share/gc/shared/markBitMap.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/markBitMap.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_MARKBITMAP_INLINE_HPP
-#define SHARE_VM_GC_SHARED_MARKBITMAP_INLINE_HPP
+#ifndef SHARE_GC_SHARED_MARKBITMAP_INLINE_HPP
+#define SHARE_GC_SHARED_MARKBITMAP_INLINE_HPP
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/markBitMap.hpp"
@@ -69,4 +69,4 @@
clear((HeapWord*) obj);
}
-#endif // SHARE_VM_GC_SHARED_MARKBITMAP_INLINE_HPP
+#endif // SHARE_GC_SHARED_MARKBITMAP_INLINE_HPP
--- a/src/hotspot/share/gc/shared/memAllocator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/memAllocator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_GC_SHARED_MEM_ALLOCATOR_HPP
-#define SHARE_GC_SHARED_MEM_ALLOCATOR_HPP
+#ifndef SHARE_GC_SHARED_MEMALLOCATOR_HPP
+#define SHARE_GC_SHARED_MEMALLOCATOR_HPP
#include "gc/shared/collectedHeap.hpp"
#include "memory/memRegion.hpp"
@@ -107,4 +107,4 @@
virtual oop initialize(HeapWord* mem) const;
};
-#endif // SHARE_GC_SHARED_MEM_ALLOCATOR_HPP
+#endif // SHARE_GC_SHARED_MEMALLOCATOR_HPP
--- a/src/hotspot/share/gc/shared/memset_with_concurrent_readers.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/memset_with_concurrent_readers.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SRC_SHARE_VM_GC_SHARED_MEMSETWITHCONCURRENTREADERS_HPP
-#define SRC_SHARE_VM_GC_SHARED_MEMSETWITHCONCURRENTREADERS_HPP
+#ifndef SHARE_GC_SHARED_MEMSET_WITH_CONCURRENT_READERS_HPP
+#define SHARE_GC_SHARED_MEMSET_WITH_CONCURRENT_READERS_HPP
#include "utilities/macros.hpp"
@@ -47,4 +47,4 @@
#endif // End of target dispatch.
-#endif // SRC_SHARE_VM_GC_SHARED_MEMSETWITHCONCURRENTREADERS_HPP
+#endif // SHARE_GC_SHARED_MEMSET_WITH_CONCURRENT_READERS_HPP
--- a/src/hotspot/share/gc/shared/modRefBarrierSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/modRefBarrierSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_MODREFBARRIERSET_HPP
-#define SHARE_VM_GC_SHARED_MODREFBARRIERSET_HPP
+#ifndef SHARE_GC_SHARED_MODREFBARRIERSET_HPP
+#define SHARE_GC_SHARED_MODREFBARRIERSET_HPP
#include "gc/shared/barrierSet.hpp"
#include "memory/memRegion.hpp"
@@ -109,4 +109,4 @@
static const BarrierSet::Name value = BarrierSet::ModRef;
};
-#endif // SHARE_VM_GC_SHARED_MODREFBARRIERSET_HPP
+#endif // SHARE_GC_SHARED_MODREFBARRIERSET_HPP
--- a/src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_MODREFBARRIERSET_INLINE_HPP
-#define SHARE_VM_GC_SHARED_MODREFBARRIERSET_INLINE_HPP
+#ifndef SHARE_GC_SHARED_MODREFBARRIERSET_INLINE_HPP
+#define SHARE_GC_SHARED_MODREFBARRIERSET_INLINE_HPP
#include "gc/shared/barrierSet.hpp"
#include "gc/shared/modRefBarrierSet.hpp"
@@ -138,4 +138,4 @@
bs->write_region(MemRegion((HeapWord*)(void*)dst, size));
}
-#endif // SHARE_VM_GC_SHARED_MODREFBARRIERSET_INLINE_HPP
+#endif // SHARE_GC_SHARED_MODREFBARRIERSET_INLINE_HPP
--- a/src/hotspot/share/gc/shared/objectCountEventSender.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/objectCountEventSender.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_OBJECTCOUNTEVENTSENDER_HPP
-#define SHARE_VM_GC_SHARED_OBJECTCOUNTEVENTSENDER_HPP
+#ifndef SHARE_GC_SHARED_OBJECTCOUNTEVENTSENDER_HPP
+#define SHARE_GC_SHARED_OBJECTCOUNTEVENTSENDER_HPP
#include "gc/shared/gcTrace.hpp"
#include "memory/allocation.hpp"
@@ -52,4 +52,4 @@
#endif // INCLUDE_SERVICES
-#endif // SHARE_VM_GC_SHARED_OBJECTCOUNTEVENTSENDER_HPP
+#endif // SHARE_GC_SHARED_OBJECTCOUNTEVENTSENDER_HPP
--- a/src/hotspot/share/gc/shared/oopStorage.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/oopStorage.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -275,4 +275,4 @@
template<typename F> static SkipNullFn<F> skip_null_fn(F f);
};
-#endif // include guard
+#endif // SHARE_GC_SHARED_OOPSTORAGE_HPP
--- a/src/hotspot/share/gc/shared/oopStorage.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/oopStorage.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -403,4 +403,4 @@
iterate_safepoint(if_alive_fn(is_alive, oop_fn(cl)));
}
-#endif // include guard
+#endif // SHARE_GC_SHARED_OOPSTORAGE_INLINE_HPP
--- a/src/hotspot/share/gc/shared/owstTaskTerminator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/owstTaskTerminator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -20,8 +20,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_GC_SHARED_OWSTTASKTERMINATOR_HPP
-#define SHARE_VM_GC_SHARED_OWSTTASKTERMINATOR_HPP
+#ifndef SHARE_GC_SHARED_OWSTTASKTERMINATOR_HPP
+#define SHARE_GC_SHARED_OWSTTASKTERMINATOR_HPP
#include "gc/shared/taskqueue.hpp"
#include "runtime/mutex.hpp"
@@ -76,4 +76,4 @@
};
-#endif // SHARE_VM_GC_SHARED_OWSTTASKTERMINATOR_HPP
+#endif // SHARE_GC_SHARED_OWSTTASKTERMINATOR_HPP
--- a/src/hotspot/share/gc/shared/parallelCleaning.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/parallelCleaning.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,10 +22,11 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_PARALLELCLEANING_HPP
-#define SHARE_VM_GC_SHARED_PARALLELCLEANING_HPP
+#ifndef SHARE_GC_SHARED_PARALLELCLEANING_HPP
+#define SHARE_GC_SHARED_PARALLELCLEANING_HPP
-#include "classfile/classLoaderDataGraph.inline.hpp"
+#include "classfile/classLoaderDataGraph.hpp"
+#include "code/codeCache.hpp"
#include "gc/shared/oopStorageParState.hpp"
#include "gc/shared/stringdedup/stringDedup.hpp"
#include "gc/shared/workgroup.hpp"
@@ -115,4 +116,4 @@
void work(uint worker_id);
};
-#endif // SHARE_VM_GC_SHARED_PARALLELCLEANING_HPP
+#endif // SHARE_GC_SHARED_PARALLELCLEANING_HPP
--- a/src/hotspot/share/gc/shared/plab.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/plab.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_PLAB_HPP
-#define SHARE_VM_GC_SHARED_PLAB_HPP
+#ifndef SHARE_GC_SHARED_PLAB_HPP
+#define SHARE_GC_SHARED_PLAB_HPP
#include "gc/shared/gcUtil.hpp"
#include "memory/allocation.hpp"
@@ -211,4 +211,4 @@
inline void add_undo_wasted(size_t v);
};
-#endif // SHARE_VM_GC_SHARED_PLAB_HPP
+#endif // SHARE_GC_SHARED_PLAB_HPP
--- a/src/hotspot/share/gc/shared/plab.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/plab.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_PLAB_INLINE_HPP
-#define SHARE_VM_GC_SHARED_PLAB_INLINE_HPP
+#ifndef SHARE_GC_SHARED_PLAB_INLINE_HPP
+#define SHARE_GC_SHARED_PLAB_INLINE_HPP
#include "gc/shared/collectedHeap.inline.hpp"
#include "gc/shared/plab.hpp"
@@ -58,4 +58,4 @@
Atomic::add(v, &_undo_wasted);
}
-#endif // SHARE_VM_GC_SHARED_PLAB_INLINE_HPP
+#endif // SHARE_GC_SHARED_PLAB_INLINE_HPP
--- a/src/hotspot/share/gc/shared/preservedMarks.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/preservedMarks.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_PRESERVEDMARKS_HPP
-#define SHARE_VM_GC_SHARED_PRESERVEDMARKS_HPP
+#ifndef SHARE_GC_SHARED_PRESERVEDMARKS_HPP
+#define SHARE_GC_SHARED_PRESERVEDMARKS_HPP
#include "memory/allocation.hpp"
#include "memory/padded.hpp"
@@ -146,4 +146,4 @@
}
};
-#endif // SHARE_VM_GC_SHARED_PRESERVEDMARKS_HPP
+#endif // SHARE_GC_SHARED_PRESERVEDMARKS_HPP
--- a/src/hotspot/share/gc/shared/preservedMarks.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/preservedMarks.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_PRESERVEDMARKS_INLINE_HPP
-#define SHARE_VM_GC_SHARED_PRESERVEDMARKS_INLINE_HPP
+#ifndef SHARE_GC_SHARED_PRESERVEDMARKS_INLINE_HPP
+#define SHARE_GC_SHARED_PRESERVEDMARKS_INLINE_HPP
#include "gc/shared/preservedMarks.hpp"
#include "logging/log.hpp"
@@ -83,4 +83,4 @@
_o->set_mark_raw(_m);
}
-#endif // SHARE_VM_GC_SHARED_PRESERVEDMARKS_INLINE_HPP
+#endif // SHARE_GC_SHARED_PRESERVEDMARKS_INLINE_HPP
--- a/src/hotspot/share/gc/shared/ptrQueue.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/ptrQueue.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -24,12 +24,15 @@
#include "precompiled.hpp"
#include "gc/shared/ptrQueue.hpp"
+#include "logging/log.hpp"
#include "memory/allocation.hpp"
#include "memory/allocation.inline.hpp"
#include "runtime/atomic.hpp"
#include "runtime/mutex.hpp"
#include "runtime/mutexLocker.hpp"
+#include "runtime/orderAccess.hpp"
#include "runtime/thread.inline.hpp"
+#include "utilities/globalCounter.inline.hpp"
#include <new>
@@ -85,20 +88,29 @@
FREE_C_HEAP_ARRAY(char, node);
}
-BufferNode::Allocator::Allocator(size_t buffer_size, Mutex* lock) :
+BufferNode::Allocator::Allocator(const char* name, size_t buffer_size) :
_buffer_size(buffer_size),
- _lock(lock),
- _free_list(NULL),
- _free_count(0)
+ _pending_list(),
+ _free_list(),
+ _pending_count(0),
+ _free_count(0),
+ _transfer_lock(false)
{
- assert(lock != NULL, "precondition");
+ strncpy(_name, name, sizeof(_name));
+ _name[sizeof(_name) - 1] = '\0';
}
BufferNode::Allocator::~Allocator() {
- while (_free_list != NULL) {
- BufferNode* node = _free_list;
- _free_list = node->next();
- BufferNode::deallocate(node);
+ delete_list(_free_list.pop_all());
+ delete_list(_pending_list.pop_all());
+}
+
+void BufferNode::Allocator::delete_list(BufferNode* list) {
+ while (list != NULL) {
+ BufferNode* next = list->next();
+ DEBUG_ONLY(list->set_next(NULL);)
+ BufferNode::deallocate(list);
+ list = next;
}
}
@@ -107,55 +119,109 @@
}
BufferNode* BufferNode::Allocator::allocate() {
- BufferNode* node = NULL;
+ BufferNode* node;
{
- MutexLockerEx ml(_lock, Mutex::_no_safepoint_check_flag);
- node = _free_list;
- if (node != NULL) {
- _free_list = node->next();
- --_free_count;
- node->set_next(NULL);
- node->set_index(0);
- return node;
- }
+ // Protect against ABA; see release().
+ GlobalCounter::CriticalSection cs(Thread::current());
+ node = _free_list.pop();
}
- return BufferNode::allocate(_buffer_size);
+ if (node == NULL) {
+ node = BufferNode::allocate(_buffer_size);
+ } else {
+ // Decrement count after getting buffer from free list. This, along
+ // with incrementing count before adding to free list, ensures count
+ // never underflows.
+ size_t count = Atomic::sub(1u, &_free_count);
+ assert((count + 1) != 0, "_free_count underflow");
+ }
+ return node;
}
+// To solve the ABA problem for lock-free stack pop, allocate does the
+// pop inside a critical section, and release synchronizes on the
+// critical sections before adding to the _free_list. But we don't
+// want to make every release have to do a synchronize. Instead, we
+// initially place released nodes on the _pending_list, and transfer
+// them to the _free_list in batches. Only one transfer at a time is
+// permitted, with a lock bit to control access to that phase. A
+// transfer takes all the nodes from the _pending_list, synchronizes on
+// the _free_list pops, and then adds the former pending nodes to the
+// _free_list. While that's happening, other threads might be adding
+// other nodes to the _pending_list, to be dealt with by some later
+// transfer.
void BufferNode::Allocator::release(BufferNode* node) {
- MutexLockerEx ml(_lock, Mutex::_no_safepoint_check_flag);
- node->set_next(_free_list);
- _free_list = node;
- ++_free_count;
+ assert(node != NULL, "precondition");
+ assert(node->next() == NULL, "precondition");
+
+ // Desired minimum transfer batch size. There is relatively little
+ // importance to the specific number. It shouldn't be too big, else
+ // we're wasting space when the release rate is low. If the release
+ // rate is high, we might accumulate more than this before being
+ // able to start a new transfer, but that's okay. Also note that
+ // the allocation rate and the release rate are going to be fairly
+ // similar, due to how the buffers are used.
+ const size_t trigger_transfer = 10;
+
+ // Add to pending list. Update count first so no underflow in transfer.
+ size_t pending_count = Atomic::add(1u, &_pending_count);
+ _pending_list.push(*node);
+ if (pending_count > trigger_transfer) {
+ try_transfer_pending();
+ }
}
-void BufferNode::Allocator::reduce_free_list() {
- BufferNode* head = NULL;
- {
- MutexLockerEx ml(_lock, Mutex::_no_safepoint_check_flag);
- // For now, delete half.
- size_t remove = _free_count / 2;
- if (remove > 0) {
- head = _free_list;
- BufferNode* tail = head;
- BufferNode* prev = NULL;
- for (size_t i = 0; i < remove; ++i) {
- assert(tail != NULL, "free list size is wrong");
- prev = tail;
- tail = tail->next();
- }
- assert(prev != NULL, "invariant");
- assert(prev->next() == tail, "invariant");
- prev->set_next(NULL);
- _free_list = tail;
- _free_count -= remove;
+// Try to transfer nodes from _pending_list to _free_list, with a
+// synchronization delay for any in-progress pops from the _free_list,
+// to solve ABA there. Return true if performed a (possibly empty)
+// transfer, false if blocked from doing so by some other thread's
+// in-progress transfer.
+bool BufferNode::Allocator::try_transfer_pending() {
+ // Attempt to claim the lock.
+ if (Atomic::load(&_transfer_lock) || // Skip CAS if likely to fail.
+ Atomic::cmpxchg(true, &_transfer_lock, false)) {
+ return false;
+ }
+ // Have the lock; perform the transfer.
+
+ // Claim all the pending nodes.
+ BufferNode* first = _pending_list.pop_all();
+ if (first != NULL) {
+ // Prepare to add the claimed nodes, and update _pending_count.
+ BufferNode* last = first;
+ size_t count = 1;
+ for (BufferNode* next = first->next(); next != NULL; next = next->next()) {
+ last = next;
+ ++count;
}
+ Atomic::sub(count, &_pending_count);
+
+ // Wait for any in-progress pops, to avoid ABA for them.
+ GlobalCounter::write_synchronize();
+
+ // Add synchronized nodes to _free_list.
+ // Update count first so no underflow in allocate().
+ Atomic::add(count, &_free_count);
+ _free_list.prepend(*first, *last);
+ log_trace(gc, ptrqueue, freelist)
+ ("Transferred %s pending to free: " SIZE_FORMAT, name(), count);
}
- while (head != NULL) {
- BufferNode* next = head->next();
- BufferNode::deallocate(head);
- head = next;
+ OrderAccess::release_store(&_transfer_lock, false);
+ return true;
+}
+
+size_t BufferNode::Allocator::reduce_free_list(size_t remove_goal) {
+ try_transfer_pending();
+ size_t removed = 0;
+ for ( ; removed < remove_goal; ++removed) {
+ BufferNode* node = _free_list.pop();
+ if (node == NULL) break;
+ BufferNode::deallocate(node);
}
+ size_t new_count = Atomic::sub(removed, &_free_count);
+ log_debug(gc, ptrqueue, freelist)
+ ("Reduced %s free list by " SIZE_FORMAT " to " SIZE_FORMAT,
+ name(), removed, new_count);
+ return removed;
}
PtrQueueSet::PtrQueueSet(bool notify_when_complete) :
--- a/src/hotspot/share/gc/shared/ptrQueue.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/ptrQueue.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -25,7 +25,10 @@
#ifndef SHARE_GC_SHARED_PTRQUEUE_HPP
#define SHARE_GC_SHARED_PTRQUEUE_HPP
+#include "memory/padded.hpp"
#include "utilities/align.hpp"
+#include "utilities/debug.hpp"
+#include "utilities/lockFreeStack.hpp"
#include "utilities/sizes.hpp"
class Mutex;
@@ -215,7 +218,7 @@
class BufferNode {
size_t _index;
- BufferNode* _next;
+ BufferNode* volatile _next;
void* _buffer[1]; // Pseudo flexible array member.
BufferNode() : _index(0), _next(NULL) { }
@@ -225,6 +228,8 @@
return offset_of(BufferNode, _buffer);
}
+ static BufferNode* volatile* next_ptr(BufferNode& bn) { return &bn._next; }
+
AIX_ONLY(public:) // xlC 12 on AIX doesn't implement C++ DR45.
// Allocate a new BufferNode with the "buffer" having size elements.
static BufferNode* allocate(size_t size);
@@ -233,6 +238,8 @@
static void deallocate(BufferNode* node);
public:
+ typedef LockFreeStack<BufferNode, &next_ptr> Stack;
+
BufferNode* next() const { return _next; }
void set_next(BufferNode* n) { _next = n; }
size_t index() const { return _index; }
@@ -254,23 +261,52 @@
reinterpret_cast<char*>(node) + buffer_offset());
}
- // Free-list based allocator.
- class Allocator {
- size_t _buffer_size;
- Mutex* _lock;
- BufferNode* _free_list;
- volatile size_t _free_count;
+ class Allocator; // Free-list based allocator.
+ class TestSupport; // Unit test support.
+};
+
+// Allocation is based on a lock-free free list of nodes, linked through
+// BufferNode::_next (see BufferNode::Stack). To solve the ABA problem,
+// popping a node from the free list is performed within a GlobalCounter
+// critical section, and pushing nodes onto the free list is done after
+// a GlobalCounter synchronization associated with the nodes to be pushed.
+// This is documented behavior so that other parts of the node life-cycle
+// can depend on and make use of it too.
+class BufferNode::Allocator {
+ friend class TestSupport;
+
+ // Since we don't expect many instances, and measured >15% speedup
+ // on stress gtest, padding seems like a good tradeoff here.
+#define DECLARE_PADDED_MEMBER(Id, Type, Name) \
+ Type Name; DEFINE_PAD_MINUS_SIZE(Id, DEFAULT_CACHE_LINE_SIZE, sizeof(Type))
- public:
- Allocator(size_t buffer_size, Mutex* lock);
- ~Allocator();
+ const size_t _buffer_size;
+ char _name[DEFAULT_CACHE_LINE_SIZE - sizeof(size_t)]; // Use name as padding.
+ DECLARE_PADDED_MEMBER(1, Stack, _pending_list);
+ DECLARE_PADDED_MEMBER(2, Stack, _free_list);
+ DECLARE_PADDED_MEMBER(3, volatile size_t, _pending_count);
+ DECLARE_PADDED_MEMBER(4, volatile size_t, _free_count);
+ DECLARE_PADDED_MEMBER(5, volatile bool, _transfer_lock);
+
+#undef DECLARE_PADDED_MEMBER
+
+ void delete_list(BufferNode* list);
+ bool try_transfer_pending();
- size_t buffer_size() const { return _buffer_size; }
- size_t free_count() const;
- BufferNode* allocate();
- void release(BufferNode* node);
- void reduce_free_list();
- };
+public:
+ Allocator(const char* name, size_t buffer_size);
+ ~Allocator();
+
+ const char* name() const { return _name; }
+ size_t buffer_size() const { return _buffer_size; }
+ size_t free_count() const;
+ BufferNode* allocate();
+ void release(BufferNode* node);
+
+ // Deallocate some of the available buffers. remove_goal is the target
+ // number to remove. Returns the number actually deallocated, which may
+ // be less than the goal if there were fewer available.
+ size_t reduce_free_list(size_t remove_goal);
};
// A PtrQueueSet represents resources common to a set of pointer queues.
--- a/src/hotspot/share/gc/shared/referencePolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/referencePolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_REFERENCEPOLICY_HPP
-#define SHARE_VM_GC_SHARED_REFERENCEPOLICY_HPP
+#ifndef SHARE_GC_SHARED_REFERENCEPOLICY_HPP
+#define SHARE_GC_SHARED_REFERENCEPOLICY_HPP
#include "oops/oopsHierarchy.hpp"
@@ -80,4 +80,4 @@
virtual bool should_clear_reference(oop p, jlong timestamp_clock);
};
-#endif // SHARE_VM_GC_SHARED_REFERENCEPOLICY_HPP
+#endif // SHARE_GC_SHARED_REFERENCEPOLICY_HPP
--- a/src/hotspot/share/gc/shared/referenceProcessor.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/referenceProcessor.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_REFERENCEPROCESSOR_HPP
-#define SHARE_VM_GC_SHARED_REFERENCEPROCESSOR_HPP
+#ifndef SHARE_GC_SHARED_REFERENCEPROCESSOR_HPP
+#define SHARE_GC_SHARED_REFERENCEPROCESSOR_HPP
#include "gc/shared/referenceDiscoverer.hpp"
#include "gc/shared/referencePolicy.hpp"
@@ -695,4 +695,4 @@
~RefProcMTDegreeAdjuster();
};
-#endif // SHARE_VM_GC_SHARED_REFERENCEPROCESSOR_HPP
+#endif // SHARE_GC_SHARED_REFERENCEPROCESSOR_HPP
--- a/src/hotspot/share/gc/shared/referenceProcessor.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/referenceProcessor.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_REFERENCEPROCESSOR_INLINE_HPP
-#define SHARE_VM_GC_SHARED_REFERENCEPROCESSOR_INLINE_HPP
+#ifndef SHARE_GC_SHARED_REFERENCEPROCESSOR_INLINE_HPP
+#define SHARE_GC_SHARED_REFERENCEPROCESSOR_INLINE_HPP
#include "gc/shared/referenceProcessor.hpp"
#include "oops/compressedOops.inline.hpp"
@@ -72,4 +72,4 @@
_removed(0) {
}
-#endif // SHARE_VM_GC_SHARED_REFERENCEPROCESSOR_INLINE_HPP
+#endif // SHARE_GC_SHARED_REFERENCEPROCESSOR_INLINE_HPP
--- a/src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_REFERENCEPROCESSORPHASETIMES_HPP
-#define SHARE_VM_GC_SHARED_REFERENCEPROCESSORPHASETIMES_HPP
+#ifndef SHARE_GC_SHARED_REFERENCEPROCESSORPHASETIMES_HPP
+#define SHARE_GC_SHARED_REFERENCEPROCESSORPHASETIMES_HPP
#include "gc/shared/referenceProcessor.hpp"
#include "gc/shared/referenceProcessorStats.hpp"
@@ -168,4 +168,4 @@
~RefProcTotalPhaseTimesTracker();
};
-#endif // SHARE_VM_GC_SHARED_REFERENCEPROCESSORPHASETIMES_HPP
+#endif // SHARE_GC_SHARED_REFERENCEPROCESSORPHASETIMES_HPP
--- a/src/hotspot/share/gc/shared/referenceProcessorStats.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/referenceProcessorStats.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_REFERENCEPROCESSORSTATS_HPP
-#define SHARE_VM_GC_SHARED_REFERENCEPROCESSORSTATS_HPP
+#ifndef SHARE_GC_SHARED_REFERENCEPROCESSORSTATS_HPP
+#define SHARE_GC_SHARED_REFERENCEPROCESSORSTATS_HPP
#include "utilities/globalDefinitions.hpp"
@@ -70,4 +70,4 @@
return _phantom_count;
}
};
-#endif
+#endif // SHARE_GC_SHARED_REFERENCEPROCESSORSTATS_HPP
--- a/src/hotspot/share/gc/shared/softRefGenPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/softRefGenPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_SOFTREFGENPOLICY_HPP
-#define SHARE_VM_GC_SHARED_SOFTREFGENPOLICY_HPP
+#ifndef SHARE_GC_SHARED_SOFTREFGENPOLICY_HPP
+#define SHARE_GC_SHARED_SOFTREFGENPOLICY_HPP
#include "gc/shared/softRefPolicy.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -35,4 +35,4 @@
virtual void cleared_all_soft_refs();
};
-#endif // SHARE_VM_GC_SHARED_SOFTREFGENPOLICY_HPP
+#endif // SHARE_GC_SHARED_SOFTREFGENPOLICY_HPP
--- a/src/hotspot/share/gc/shared/softRefPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/softRefPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_SOFTREFPOLICY_HPP
-#define SHARE_VM_GC_SHARED_SOFTREFPOLICY_HPP
+#ifndef SHARE_GC_SHARED_SOFTREFPOLICY_HPP
+#define SHARE_GC_SHARED_SOFTREFPOLICY_HPP
#include "memory/allocation.hpp"
@@ -73,4 +73,4 @@
bool should_clear() { return _clear_all_soft_refs; }
};
-#endif // SHARE_VM_GC_SHARED_SOFTREFPOLICY_HPP
+#endif // SHARE_GC_SHARED_SOFTREFPOLICY_HPP
--- a/src/hotspot/share/gc/shared/space.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/space.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_SPACE_HPP
-#define SHARE_VM_GC_SHARED_SPACE_HPP
+#ifndef SHARE_GC_SHARED_SPACE_HPP
+#define SHARE_GC_SHARED_SPACE_HPP
#include "gc/shared/blockOffsetTable.hpp"
#include "gc/shared/cardTable.hpp"
@@ -782,4 +782,4 @@
MemRegion mr) :
OffsetTableContigSpace(sharedOffsetArray, mr) {}
};
-#endif // SHARE_VM_GC_SHARED_SPACE_HPP
+#endif // SHARE_GC_SHARED_SPACE_HPP
--- a/src/hotspot/share/gc/shared/space.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/space.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_SPACE_INLINE_HPP
-#define SHARE_VM_GC_SHARED_SPACE_INLINE_HPP
+#ifndef SHARE_GC_SHARED_SPACE_INLINE_HPP
+#define SHARE_GC_SHARED_SPACE_INLINE_HPP
#include "gc/shared/blockOffsetTable.inline.hpp"
#include "gc/shared/collectedHeap.hpp"
@@ -388,4 +388,4 @@
}
}
-#endif // SHARE_VM_GC_SHARED_SPACE_INLINE_HPP
+#endif // SHARE_GC_SHARED_SPACE_INLINE_HPP
--- a/src/hotspot/share/gc/shared/spaceDecorator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/spaceDecorator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_SPACEDECORATOR_HPP
-#define SHARE_VM_GC_SHARED_SPACEDECORATOR_HPP
+#ifndef SHARE_GC_SHARED_SPACEDECORATOR_HPP
+#define SHARE_GC_SHARED_SPACEDECORATOR_HPP
#include "gc/parallel/mutableSpace.hpp"
#include "gc/shared/space.hpp"
@@ -147,4 +147,4 @@
MutableSpaceMangler(MutableSpace* sp) : SpaceMangler(), _sp(sp) {}
};
-#endif // SHARE_VM_GC_SHARED_SPACEDECORATOR_HPP
+#endif // SHARE_GC_SHARED_SPACEDECORATOR_HPP
--- a/src/hotspot/share/gc/shared/stringdedup/stringDedup.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/stringdedup/stringDedup.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUP_HPP
-#define SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUP_HPP
+#ifndef SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUP_HPP
+#define SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUP_HPP
//
// String Deduplication
@@ -139,4 +139,4 @@
}
};
-#endif // SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUP_HPP
+#endif // SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUP_HPP
--- a/src/hotspot/share/gc/shared/stringdedup/stringDedup.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/stringdedup/stringDedup.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUP_INLINE_HPP
-#define SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUP_INLINE_HPP
+#ifndef SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUP_INLINE_HPP
+#define SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUP_INLINE_HPP
#include "gc/shared/stringdedup/stringDedup.hpp"
#include "gc/shared/stringdedup/stringDedupThread.inline.hpp"
@@ -38,4 +38,4 @@
}
}
-#endif // SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUP_INLINE_HPP
+#endif // SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUP_INLINE_HPP
--- a/src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_HPP
-#define SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_HPP
+#ifndef SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_HPP
+#define SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_HPP
#include "memory/allocation.hpp"
#include "oops/oop.hpp"
@@ -109,4 +109,4 @@
static size_t claim();
};
-#endif // SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_HPP
+#endif // SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_HPP
--- a/src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_INLINE_HPP
-#define SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_INLINE_HPP
+#ifndef SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_INLINE_HPP
+#define SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_INLINE_HPP
#include "gc/shared/stringdedup/stringDedup.hpp"
#include "gc/shared/stringdedup/stringDedupQueue.hpp"
@@ -51,4 +51,4 @@
return queue()->pop_impl();
}
-#endif // SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_INLINE_HPP
+#endif // SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPQUEUE_INLINE_HPP
--- a/src/hotspot/share/gc/shared/stringdedup/stringDedupStat.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/stringdedup/stringDedupStat.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPSTAT_HPP
-#define SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPSTAT_HPP
+#ifndef SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPSTAT_HPP
+#define SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPSTAT_HPP
#include "memory/allocation.hpp"
#include "runtime/os.hpp"
@@ -135,5 +135,4 @@
static void print_end(const StringDedupStat* last_stat, const StringDedupStat* total_stat);
};
-#endif // SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPSTAT_HPP
-
+#endif // SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPSTAT_HPP
--- a/src/hotspot/share/gc/shared/stringdedup/stringDedupTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/stringdedup/stringDedupTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPTABLE_HPP
-#define SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPTABLE_HPP
+#ifndef SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPTABLE_HPP
+#define SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPTABLE_HPP
#include "gc/shared/stringdedup/stringDedupStat.hpp"
#include "runtime/mutexLocker.hpp"
@@ -252,4 +252,4 @@
static void gc_epilogue();
};
-#endif // SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPTABLE_HPP
+#endif // SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPTABLE_HPP
--- a/src/hotspot/share/gc/shared/stringdedup/stringDedupThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/stringdedup/stringDedupThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_HPP
-#define SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_HPP
+#ifndef SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_HPP
+#define SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_HPP
#include "gc/shared/concurrentGCThread.hpp"
#include "gc/shared/stringdedup/stringDedupStat.hpp"
@@ -69,4 +69,4 @@
static void create();
};
-#endif // SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_HPP
+#endif // SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_HPP
--- a/src/hotspot/share/gc/shared/stringdedup/stringDedupThread.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/stringdedup/stringDedupThread.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_INLINE_HPP
-#define SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_INLINE_HPP
+#ifndef SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_INLINE_HPP
+#define SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_INLINE_HPP
#include "gc/shared/suspendibleThreadSet.hpp"
#include "gc/shared/stringdedup/stringDedupQueue.inline.hpp"
@@ -88,4 +88,4 @@
_thread = new StringDedupThreadImpl<S>();
}
-#endif // SHARE_VM_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_INLINE_HPP
+#endif // SHARE_GC_SHARED_STRINGDEDUP_STRINGDEDUPTHREAD_INLINE_HPP
--- a/src/hotspot/share/gc/shared/strongRootsScope.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/strongRootsScope.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_STRONGROOTSSCOPE_HPP
-#define SHARE_VM_GC_SHARED_STRONGROOTSSCOPE_HPP
+#ifndef SHARE_GC_SHARED_STRONGROOTSSCOPE_HPP
+#define SHARE_GC_SHARED_STRONGROOTSSCOPE_HPP
#include "memory/allocation.hpp"
@@ -46,4 +46,4 @@
uint n_threads() const { return _n_threads; }
};
-#endif // SHARE_VM_GC_SHARED_STRONGROOTSSCOPE_HPP
+#endif // SHARE_GC_SHARED_STRONGROOTSSCOPE_HPP
--- a/src/hotspot/share/gc/shared/taskqueue.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/taskqueue.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_TASKQUEUE_HPP
-#define SHARE_VM_GC_SHARED_TASKQUEUE_HPP
+#ifndef SHARE_GC_SHARED_TASKQUEUE_HPP
+#define SHARE_GC_SHARED_TASKQUEUE_HPP
#include "memory/allocation.hpp"
#include "memory/padded.hpp"
@@ -619,4 +619,4 @@
typedef OverflowTaskQueue<size_t, mtGC> RegionTaskQueue;
typedef GenericTaskQueueSet<RegionTaskQueue, mtGC> RegionTaskQueueSet;
-#endif // SHARE_VM_GC_SHARED_TASKQUEUE_HPP
+#endif // SHARE_GC_SHARED_TASKQUEUE_HPP
--- a/src/hotspot/share/gc/shared/taskqueue.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/taskqueue.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_TASKQUEUE_INLINE_HPP
-#define SHARE_VM_GC_SHARED_TASKQUEUE_INLINE_HPP
+#ifndef SHARE_GC_SHARED_TASKQUEUE_INLINE_HPP
+#define SHARE_GC_SHARED_TASKQUEUE_INLINE_HPP
#include "gc/shared/taskqueue.hpp"
#include "memory/allocation.inline.hpp"
@@ -331,4 +331,4 @@
}
-#endif // SHARE_VM_GC_SHARED_TASKQUEUE_INLINE_HPP
+#endif // SHARE_GC_SHARED_TASKQUEUE_INLINE_HPP
--- a/src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -91,7 +91,9 @@
void ThreadLocalAllocBuffer::insert_filler() {
assert(end() != NULL, "Must not be retired");
- Universe::heap()->fill_with_dummy_object(top(), hard_end(), true);
+ if (top() < hard_end()) {
+ Universe::heap()->fill_with_dummy_object(top(), hard_end(), true);
+ }
}
void ThreadLocalAllocBuffer::make_parsable() {
--- a/src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_THREADLOCALALLOCBUFFER_HPP
-#define SHARE_VM_GC_SHARED_THREADLOCALALLOCBUFFER_HPP
+#ifndef SHARE_GC_SHARED_THREADLOCALALLOCBUFFER_HPP
+#define SHARE_GC_SHARED_THREADLOCALALLOCBUFFER_HPP
#include "gc/shared/gcUtil.hpp"
#include "runtime/perfData.hpp"
@@ -238,4 +238,4 @@
void publish();
};
-#endif // SHARE_VM_GC_SHARED_THREADLOCALALLOCBUFFER_HPP
+#endif // SHARE_GC_SHARED_THREADLOCALALLOCBUFFER_HPP
--- a/src/hotspot/share/gc/shared/threadLocalAllocBuffer.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/threadLocalAllocBuffer.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_THREADLOCALALLOCBUFFER_INLINE_HPP
-#define SHARE_VM_GC_SHARED_THREADLOCALALLOCBUFFER_INLINE_HPP
+#ifndef SHARE_GC_SHARED_THREADLOCALALLOCBUFFER_INLINE_HPP
+#define SHARE_GC_SHARED_THREADLOCALALLOCBUFFER_INLINE_HPP
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/threadLocalAllocBuffer.hpp"
@@ -95,4 +95,4 @@
obj_size, free(), refill_waste_limit());
}
-#endif // SHARE_VM_GC_SHARED_THREADLOCALALLOCBUFFER_INLINE_HPP
+#endif // SHARE_GC_SHARED_THREADLOCALALLOCBUFFER_INLINE_HPP
--- a/src/hotspot/share/gc/shared/weakProcessor.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/weakProcessor.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_WEAKPROCESSOR_HPP
-#define SHARE_VM_GC_SHARED_WEAKPROCESSOR_HPP
+#ifndef SHARE_GC_SHARED_WEAKPROCESSOR_HPP
+#define SHARE_GC_SHARED_WEAKPROCESSOR_HPP
#include "gc/shared/oopStorageParState.hpp"
#include "gc/shared/workgroup.hpp"
@@ -92,4 +92,4 @@
void work(uint worker_id, IsAlive* is_alive, KeepAlive* keep_alive);
};
-#endif // SHARE_VM_GC_SHARED_WEAKPROCESSOR_HPP
+#endif // SHARE_GC_SHARED_WEAKPROCESSOR_HPP
--- a/src/hotspot/share/gc/shared/weakProcessor.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/weakProcessor.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_WEAKPROCESSOR_INLINE_HPP
-#define SHARE_VM_GC_SHARED_WEAKPROCESSOR_INLINE_HPP
+#ifndef SHARE_GC_SHARED_WEAKPROCESSOR_INLINE_HPP
+#define SHARE_GC_SHARED_WEAKPROCESSOR_INLINE_HPP
#include "gc/shared/oopStorage.inline.hpp"
#include "gc/shared/oopStorageParState.inline.hpp"
@@ -116,4 +116,4 @@
pt.log_print_phases(indent_log);
}
-#endif // SHARE_VM_GC_SHARED_WEAKPROCESSOR_INLINE_HPP
+#endif // SHARE_GC_SHARED_WEAKPROCESSOR_INLINE_HPP
--- a/src/hotspot/share/gc/shared/workerDataArray.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/workerDataArray.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_WORKERDATAARRAY_HPP
-#define SHARE_VM_GC_SHARED_WORKERDATAARRAY_HPP
+#ifndef SHARE_GC_SHARED_WORKERDATAARRAY_HPP
+#define SHARE_GC_SHARED_WORKERDATAARRAY_HPP
#include "memory/allocation.hpp"
#include "utilities/debug.hpp"
@@ -90,4 +90,4 @@
void print_details_on(outputStream* out) const;
};
-#endif // SHARE_VM_GC_SHARED_WORKERDATAARRAY_HPP
+#endif // SHARE_GC_SHARED_WORKERDATAARRAY_HPP
--- a/src/hotspot/share/gc/shared/workerDataArray.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/workerDataArray.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_WORKERDATAARRAY_INLINE_HPP
-#define SHARE_VM_GC_SHARED_WORKERDATAARRAY_INLINE_HPP
+#ifndef SHARE_GC_SHARED_WORKERDATAARRAY_INLINE_HPP
+#define SHARE_GC_SHARED_WORKERDATAARRAY_INLINE_HPP
#include "gc/shared/workerDataArray.hpp"
#include "memory/allocation.inline.hpp"
@@ -177,4 +177,4 @@
}
}
-#endif // SHARE_VM_GC_SHARED_WORKERDATAARRAY_INLINE_HPP
+#endif // SHARE_GC_SHARED_WORKERDATAARRAY_INLINE_HPP
--- a/src/hotspot/share/gc/shared/workerManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/workerManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,13 +22,13 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_WORKERMANAGER_HPP
-#define SHARE_VM_GC_SHARED_WORKERMANAGER_HPP
+#ifndef SHARE_GC_SHARED_WORKERMANAGER_HPP
+#define SHARE_GC_SHARED_WORKERMANAGER_HPP
#include "logging/log.hpp"
#include "memory/allocation.hpp"
-#include "runtime/os.inline.hpp"
-#include "runtime/thread.inline.hpp"
+#include "runtime/os.hpp"
+#include "runtime/thread.hpp"
#include "utilities/globalDefinitions.hpp"
class WorkerManager : public AllStatic {
@@ -115,4 +115,4 @@
}
}
-#endif // SHARE_VM_GC_SHARED_WORKERMANAGER_HPP
+#endif // SHARE_GC_SHARED_WORKERMANAGER_HPP
--- a/src/hotspot/share/gc/shared/workerPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/workerPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_WORKERPOLICY_HPP
-#define SHARE_VM_GC_SHARED_WORKERPOLICY_HPP
+#ifndef SHARE_GC_SHARED_WORKERPOLICY_HPP
+#define SHARE_GC_SHARED_WORKERPOLICY_HPP
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -78,4 +78,4 @@
};
-#endif // SHARE_VM_GC_SHARED_WORKERPOLICY_HPP
+#endif // SHARE_GC_SHARED_WORKERPOLICY_HPP
--- a/src/hotspot/share/gc/shared/workgroup.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shared/workgroup.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHARED_WORKGROUP_HPP
-#define SHARE_VM_GC_SHARED_WORKGROUP_HPP
+#ifndef SHARE_GC_SHARED_WORKGROUP_HPP
+#define SHARE_GC_SHARED_WORKGROUP_HPP
#include "memory/allocation.hpp"
#include "runtime/globals.hpp"
@@ -406,4 +406,4 @@
bool all_tasks_completed();
};
-#endif // SHARE_VM_GC_SHARED_WORKGROUP_HPP
+#endif // SHARE_GC_SHARED_WORKGROUP_HPP
--- a/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_C1_SHENANDOAHBARRIERSETC1_HPP
-#define SHARE_VM_GC_SHENANDOAH_C1_SHENANDOAHBARRIERSETC1_HPP
+#ifndef SHARE_GC_SHENANDOAH_C1_SHENANDOAHBARRIERSETC1_HPP
+#define SHARE_GC_SHENANDOAH_C1_SHENANDOAHBARRIERSETC1_HPP
#include "c1/c1_CodeStubs.hpp"
#include "gc/shared/c1/barrierSetC1.hpp"
@@ -210,4 +210,4 @@
virtual void generate_c1_runtime_stubs(BufferBlob* buffer_blob);
};
-#endif // SHARE_VM_GC_SHENANDOAH_C1_SHENANDOAHBARRIERSETC1_HPP
+#endif // SHARE_GC_SHENANDOAH_C1_SHENANDOAHBARRIERSETC1_HPP
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2018, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -22,9 +22,11 @@
*/
#include "precompiled.hpp"
+#include "gc/shared/barrierSet.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeuristics.hpp"
#include "gc/shenandoah/shenandoahRuntime.hpp"
+#include "gc/shenandoah/shenandoahThreadLocalData.hpp"
#include "gc/shenandoah/c2/shenandoahBarrierSetC2.hpp"
#include "gc/shenandoah/c2/shenandoahSupport.hpp"
#include "opto/arraycopynode.hpp"
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_C2_SHENANDOAHBARRIERSETC2_HPP
-#define SHARE_VM_GC_SHENANDOAH_C2_SHENANDOAHBARRIERSETC2_HPP
+#ifndef SHARE_GC_SHENANDOAH_C2_SHENANDOAHBARRIERSETC2_HPP
+#define SHARE_GC_SHENANDOAH_C2_SHENANDOAHBARRIERSETC2_HPP
#include "gc/shared/c2/barrierSetC2.hpp"
#include "gc/shenandoah/c2/shenandoahSupport.hpp"
@@ -171,4 +171,4 @@
virtual bool sink_node(PhaseIdealLoop* phase, Node* n, Node* x, Node* x_ctrl, Node* n_ctrl) const;
};
-#endif // SHARE_VM_GC_SHENANDOAH_C2_SHENANDOAHBARRIERSETC2_HPP
+#endif // SHARE_GC_SHENANDOAH_C2_SHENANDOAHBARRIERSETC2_HPP
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2015, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -30,6 +30,7 @@
#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeapRegion.hpp"
#include "gc/shenandoah/shenandoahRuntime.hpp"
+#include "gc/shenandoah/shenandoahThreadLocalData.hpp"
#include "opto/arraycopynode.hpp"
#include "opto/block.hpp"
#include "opto/callnode.hpp"
@@ -97,7 +98,7 @@
return false;
}
- if (n->is_CallJava() || n->Opcode() == Op_CallLeafNoFP) {
+ if (n->is_Call()) {
return true;
}
@@ -2659,9 +2660,35 @@
wb->pin_and_expand_helper(phase);
}
+ for (uint i = 0; i < enqueue_barriers.size(); i++) {
+ Node* barrier = enqueue_barriers.at(i);
+ Node* ctrl = phase->get_ctrl(barrier);
+ IdealLoopTree* loop = phase->get_loop(ctrl);
+ if (loop->_head->is_OuterStripMinedLoop()) {
+ // Expanding a barrier here will break loop strip mining
+ // verification. Transform the loop so the loop nest doesn't
+ // appear as strip mined.
+ OuterStripMinedLoopNode* outer = loop->_head->as_OuterStripMinedLoop();
+ hide_strip_mined_loop(outer, outer->unique_ctrl_out()->as_CountedLoop(), phase);
+ }
+ }
+
+ for (int i = ShenandoahBarrierSetC2::bsc2()->state()->shenandoah_barriers_count(); i > 0; i--) {
+ int cnt = ShenandoahBarrierSetC2::bsc2()->state()->shenandoah_barriers_count();
+ ShenandoahWriteBarrierNode* wb = ShenandoahBarrierSetC2::bsc2()->state()->shenandoah_barrier(i-1);
+ Node* ctrl = phase->get_ctrl(wb);
+ IdealLoopTree* loop = phase->get_loop(ctrl);
+ if (loop->_head->is_OuterStripMinedLoop()) {
+ // Expanding a barrier here will break loop strip mining
+ // verification. Transform the loop so the loop nest doesn't
+ // appear as strip mined.
+ OuterStripMinedLoopNode* outer = loop->_head->as_OuterStripMinedLoop();
+ hide_strip_mined_loop(outer, outer->unique_ctrl_out()->as_CountedLoop(), phase);
+ }
+ }
+
MemoryGraphFixer fixer(Compile::AliasIdxRaw, true, phase);
Unique_Node_List uses_to_ignore;
- Unique_Node_List outer_lsms;
for (uint i = 0; i < enqueue_barriers.size(); i++) {
Node* barrier = enqueue_barriers.at(i);
Node* pre_val = barrier->in(1);
@@ -2685,9 +2712,6 @@
Node* init_ctrl = ctrl;
IdealLoopTree* loop = phase->get_loop(ctrl);
- if (loop->_head->is_OuterStripMinedLoop()) {
- outer_lsms.push(loop->_head);
- }
Node* raw_mem = fixer.find_mem(ctrl, barrier);
Node* init_raw_mem = raw_mem;
Node* raw_mem_for_ctrl = fixer.find_mem(ctrl, NULL);
@@ -2832,9 +2856,6 @@
Node* val = wb->in(ValueIn);
Node* wbproj = wb->find_out_with(Op_ShenandoahWBMemProj);
IdealLoopTree *loop = phase->get_loop(ctrl);
- if (loop->_head->is_OuterStripMinedLoop()) {
- outer_lsms.push(loop->_head);
- }
assert(val->Opcode() != Op_ShenandoahWriteBarrier, "No chain of write barriers");
@@ -3019,14 +3040,6 @@
}
assert(ShenandoahBarrierSetC2::bsc2()->state()->shenandoah_barriers_count() == 0, "all write barrier nodes should have been replaced");
-
- for (uint i = 0; i < outer_lsms.size(); i++) {
- // Expanding a barrier here will break loop strip mining
- // verification. Transform the loop so the loop nest doesn't
- // appear as strip mined.
- OuterStripMinedLoopNode* outer = outer_lsms.at(i)->as_OuterStripMinedLoop();
- hide_strip_mined_loop(outer, outer->unique_ctrl_out()->as_CountedLoop(), phase);
- }
}
void ShenandoahWriteBarrierNode::move_heap_stable_test_out_of_loop(IfNode* iff, PhaseIdealLoop* phase) {
@@ -4274,5 +4287,3 @@
_memory_nodes.map(c->_idx, mem->in(ShenandoahWBMemProjNode::WriteBarrier)->in(ShenandoahBarrierNode::Memory));
}
}
-
-
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_C2_SHENANDOAH_SUPPORT_HPP
-#define SHARE_VM_GC_SHENANDOAH_C2_SHENANDOAH_SUPPORT_HPP
+#ifndef SHARE_GC_SHENANDOAH_C2_SHENANDOAHSUPPORT_HPP
+#define SHARE_GC_SHENANDOAH_C2_SHENANDOAHSUPPORT_HPP
#include "gc/shenandoah/shenandoahBrooksPointer.hpp"
#include "memory/allocation.hpp"
@@ -382,4 +382,4 @@
virtual int Opcode() const;
};
-#endif // SHARE_VM_GC_SHENANDOAH_C2_SHENANDOAH_SUPPORT_HPP
+#endif // SHARE_GC_SHENANDOAH_C2_SHENANDOAHSUPPORT_HPP
--- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHADAPTIVEHEURISTICS_HPP
-#define SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHADAPTIVEHEURISTICS_HPP
+#ifndef SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHADAPTIVEHEURISTICS_HPP
+#define SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHADAPTIVEHEURISTICS_HPP
#include "gc/shenandoah/shenandoahHeuristics.hpp"
#include "gc/shenandoah/shenandoahPhaseTimings.hpp"
@@ -58,4 +58,4 @@
virtual bool is_experimental();
};
-#endif // SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHADAPTIVEHEURISTICS_HPP
+#endif // SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHADAPTIVEHEURISTICS_HPP
--- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHAGGRESSIVEHEURISTICS_HPP
-#define SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHAGGRESSIVEHEURISTICS_HPP
+#ifndef SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHAGGRESSIVEHEURISTICS_HPP
+#define SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHAGGRESSIVEHEURISTICS_HPP
#include "gc/shenandoah/shenandoahHeuristics.hpp"
@@ -47,4 +47,4 @@
virtual bool is_experimental();
};
-#endif // SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHAGGRESSIVEHEURISTICS_HPP
+#endif // SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHAGGRESSIVEHEURISTICS_HPP
--- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHCOMPACTHEURISTICS_HPP
-#define SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHCOMPACTHEURISTICS_HPP
+#ifndef SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHCOMPACTHEURISTICS_HPP
+#define SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHCOMPACTHEURISTICS_HPP
#include "gc/shenandoah/shenandoahHeuristics.hpp"
@@ -43,4 +43,4 @@
virtual bool is_experimental();
};
-#endif // SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHCOMPACTHEURISTICS_HPP
+#endif // SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHCOMPACTHEURISTICS_HPP
--- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHPASSIVEHEURISTICS_HPP
-#define SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHPASSIVEHEURISTICS_HPP
+#ifndef SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHPASSIVEHEURISTICS_HPP
+#define SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHPASSIVEHEURISTICS_HPP
#include "gc/shenandoah/shenandoahHeuristics.hpp"
@@ -49,4 +49,4 @@
virtual bool is_experimental();
};
-#endif // SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHPASSIVEHEURISTICS_HPP
+#endif // SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHPASSIVEHEURISTICS_HPP
--- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHSTATICHEURISTICS_HPP
-#define SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHSTATICHEURISTICS_HPP
+#ifndef SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHSTATICHEURISTICS_HPP
+#define SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHSTATICHEURISTICS_HPP
#include "gc/shenandoah/shenandoahHeuristics.hpp"
@@ -45,4 +45,4 @@
virtual bool is_experimental();
};
-#endif // SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHSTATICHEURISTICS_HPP
+#endif // SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHSTATICHEURISTICS_HPP
--- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2018, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -24,7 +24,9 @@
#include "precompiled.hpp"
#include "gc/shenandoah/heuristics/shenandoahTraversalHeuristics.hpp"
+#include "gc/shenandoah/shenandoahCollectionSet.hpp"
#include "gc/shenandoah/shenandoahFreeSet.hpp"
+#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahHeuristics.hpp"
#include "gc/shenandoah/shenandoahTraversalGC.hpp"
#include "logging/log.hpp"
--- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
-#define SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
+#ifndef SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
+#define SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
#include "gc/shenandoah/shenandoahHeuristics.hpp"
@@ -53,4 +53,4 @@
virtual bool should_start_traversal_gc();
};
-#endif // SHARE_VM_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
+#endif // SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahAllocRequest.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahAllocRequest.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHALLOCREQUEST_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHALLOCREQUEST_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHALLOCREQUEST_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHALLOCREQUEST_HPP
#include "memory/allocation.hpp"
@@ -155,4 +155,4 @@
}
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHALLOCREQUEST_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHALLOCREQUEST_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHALLOCTRACKER_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHALLOCTRACKER_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHALLOCTRACKER_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHALLOCTRACKER_HPP
#include "gc/shenandoah/shenandoahAllocRequest.hpp"
#include "gc/shenandoah/shenandoahNumberSeq.hpp"
@@ -45,4 +45,4 @@
void print_on(outputStream* out) const;
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHALLOCTRACKER_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHALLOCTRACKER_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2018, 2019, Red Hat, 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
@@ -27,7 +27,7 @@
#include "gc/shared/workerPolicy.hpp"
#include "gc/shenandoah/shenandoahArguments.hpp"
#include "gc/shenandoah/shenandoahCollectorPolicy.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
+#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahHeapRegion.hpp"
#include "gc/shenandoah/shenandoahTaskqueue.hpp"
#include "utilities/defaultStream.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2018, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -25,7 +25,6 @@
#include "gc/shenandoah/shenandoahAsserts.hpp"
#include "gc/shenandoah/shenandoahBrooksPointer.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahHeapRegionSet.inline.hpp"
#include "gc/shenandoah/shenandoahMarkingContext.inline.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHASSERTS_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHASSERTS_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHASSERTS_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHASSERTS_HPP
#include "memory/iterator.hpp"
#include "utilities/formatBuffer.hpp"
@@ -167,4 +167,4 @@
};
-#endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHASSERTS_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHASSERTS_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
#include "gc/shared/accessBarrierSupport.hpp"
#include "gc/shared/barrierSet.hpp"
@@ -293,4 +293,4 @@
typedef ::ShenandoahBarrierSet type;
};
-#endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHBARRIERSET_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHBARRIERSET_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_INLINE_HPP
#include "gc/shared/barrierSet.hpp"
#include "gc/shenandoah/shenandoahBarrierSet.hpp"
@@ -279,4 +279,4 @@
return bs->arraycopy_loop_1(src_raw, dst_raw, length, bound, checkcast, satb, disjoint, storeval_mode);
}
-#endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHBARRIERSET_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_HPP
#include "oops/oop.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -103,4 +103,4 @@
static inline HeapWord** brooks_ptr_addr(oop obj);
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_INLINE_HPP
#include "gc/shenandoah/shenandoahAsserts.hpp"
#include "gc/shenandoah/shenandoahBrooksPointer.hpp"
@@ -62,4 +62,4 @@
return result;
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHBROOKSPOINTER_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2017, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -24,7 +24,6 @@
#include "precompiled.hpp"
#include "code/codeCache.hpp"
#include "code/nmethod.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahCodeRoots.hpp"
#include "memory/resourceArea.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHCODEROOTS_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHCODEROOTS_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCODEROOTS_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHCODEROOTS_HPP
#include "code/codeCache.hpp"
#include "gc/shenandoah/shenandoahSharedVariables.hpp"
@@ -77,8 +77,8 @@
bool has_cset_oops(ShenandoahHeap* heap);
- void assert_alive_and_correct() PRODUCT_RETURN;
- void assert_same_oops(GrowableArray<oop*>* oops) PRODUCT_RETURN;
+ void assert_alive_and_correct() NOT_DEBUG_RETURN;
+ void assert_same_oops(GrowableArray<oop*>* oops) NOT_DEBUG_RETURN;
static bool find_with_nmethod(void* nm, ShenandoahNMethod* other) {
return other->_nm == nm;
@@ -197,4 +197,4 @@
}
};
-#endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHCODEROOTS_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHCODEROOTS_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_HPP
#include "memory/allocation.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -93,4 +93,4 @@
}
};
-#endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_INLINE_HPP
#include "gc/shenandoah/shenandoahCollectionSet.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -46,4 +46,4 @@
return _biased_cset_map[index] == 1;
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHCOLLECTORPOLICY_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHCOLLECTORPOLICY_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTORPOLICY_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTORPOLICY_HPP
#include "gc/shared/collectorPolicy.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -79,4 +79,4 @@
void print_gc_stats(outputStream* out) const;
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHCOLLECTORPOLICY_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTORPOLICY_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2013, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -27,7 +27,6 @@
#include "classfile/systemDictionary.hpp"
#include "code/codeCache.hpp"
-#include "gc/shared/weakProcessor.hpp"
#include "gc/shared/weakProcessor.inline.hpp"
#include "gc/shared/gcTimer.hpp"
#include "gc/shared/referenceProcessor.hpp"
@@ -38,9 +37,7 @@
#include "gc/shenandoah/shenandoahMarkCompact.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahRootProcessor.hpp"
-#include "gc/shenandoah/shenandoahOopClosures.hpp"
#include "gc/shenandoah/shenandoahOopClosures.inline.hpp"
-#include "gc/shenandoah/shenandoahTaskqueue.hpp"
#include "gc/shenandoah/shenandoahTaskqueue.inline.hpp"
#include "gc/shenandoah/shenandoahTimingTracker.hpp"
#include "gc/shenandoah/shenandoahUtils.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
#include "gc/shared/taskqueue.hpp"
#include "gc/shenandoah/shenandoahOopClosures.hpp"
@@ -108,4 +108,4 @@
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2015, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -21,15 +21,15 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_INLINE_HPP
#include "gc/shenandoah/shenandoahAsserts.hpp"
#include "gc/shenandoah/shenandoahBrooksPointer.hpp"
#include "gc/shenandoah/shenandoahBarrierSet.inline.hpp"
#include "gc/shenandoah/shenandoahConcurrentMark.hpp"
#include "gc/shenandoah/shenandoahMarkingContext.inline.hpp"
-#include "gc/shenandoah/shenandoahStringDedup.hpp"
+#include "gc/shenandoah/shenandoahStringDedup.inline.hpp"
#include "gc/shenandoah/shenandoahTaskqueue.inline.hpp"
#include "memory/iterator.inline.hpp"
#include "oops/oop.inline.hpp"
@@ -275,4 +275,4 @@
}
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -47,7 +47,7 @@
_degen_point(ShenandoahHeap::_degenerated_outside_cycle),
_allocs_seen(0) {
- create_and_start();
+ create_and_start(ShenandoahCriticalControlThreadPriority ? CriticalPriority : NearMaxPriority);
_periodic_task.enroll();
_periodic_satb_flush_task.enroll();
}
@@ -377,19 +377,19 @@
// Complete marking under STW, and start evacuation
heap->vmop_entry_final_mark();
+ // Final mark might have reclaimed some immediate garbage, kick cleanup to reclaim
+ // the space. This would be the last action if there is nothing to evacuate.
+ heap->entry_cleanup();
+
+ {
+ ShenandoahHeapLocker locker(heap->lock());
+ heap->free_set()->log_status();
+ }
+
// Continue the cycle with evacuation and optional update-refs.
// This may be skipped if there is nothing to evacuate.
// If so, evac_in_progress would be unset by collection set preparation code.
if (heap->is_evacuation_in_progress()) {
- // Final mark had reclaimed some immediate garbage, kick cleanup to reclaim the space
- // for the rest of the cycle, and report current state of free set.
- heap->entry_cleanup();
-
- {
- ShenandoahHeapLocker locker(heap->lock());
- heap->free_set()->log_status();
- }
-
// Concurrently evacuate
heap->entry_evac();
if (check_cancellation_or_degen(ShenandoahHeap::_degenerated_evac)) return;
@@ -403,14 +403,15 @@
if (check_cancellation_or_degen(ShenandoahHeap::_degenerated_updaterefs)) return;
heap->vmop_entry_final_updaterefs();
+
+ // Update references freed up collection set, kick the cleanup to reclaim the space.
+ heap->entry_cleanup();
+
} else {
heap->vmop_entry_final_evac();
}
}
- // Reclaim space after cycle
- heap->entry_cleanup();
-
// Cycle is complete
heap->heuristics()->record_success_concurrent();
heap->shenandoah_policy()->record_success_concurrent();
--- a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHSCHEDULERTHREAD_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHSCHEDULERTHREAD_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCONTROLTHREAD_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHCONTROLTHREAD_HPP
#include "gc/shared/gcCause.hpp"
#include "gc/shared/concurrentGCThread.hpp"
@@ -140,4 +140,4 @@
void print() const;
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHSCHEDULERTHREAD_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHCONTROLTHREAD_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHEVACOOMHANDLER_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHEVACOOMHANDLER_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHEVACOOMHANDLER_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHEVACOOMHANDLER_HPP
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -125,4 +125,4 @@
~ShenandoahEvacOOMScopeLeaver();
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHEVACOOMHANDLER_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHEVACOOMHANDLER_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHFREESET_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHFREESET_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHFREESET_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHFREESET_HPP
#include "gc/shenandoah/shenandoahHeapRegionSet.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -42,9 +42,9 @@
size_t _capacity;
size_t _used;
- void assert_bounds() const PRODUCT_RETURN;
- void assert_heaplock_owned_by_current_thread() const PRODUCT_RETURN;
- void assert_heaplock_not_owned_by_current_thread() const PRODUCT_RETURN;
+ void assert_bounds() const NOT_DEBUG_RETURN;
+ void assert_heaplock_owned_by_current_thread() const NOT_DEBUG_RETURN;
+ void assert_heaplock_not_owned_by_current_thread() const NOT_DEBUG_RETURN;
bool is_mutator_free(size_t idx) const;
bool is_collector_free(size_t idx) const;
@@ -94,4 +94,4 @@
void print_on(outputStream* out) const;
};
-#endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHFREESET_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHFREESET_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2013, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -35,7 +35,6 @@
#include "gc/shenandoah/shenandoahBrooksPointer.hpp"
#include "gc/shenandoah/shenandoahCollectionSet.hpp"
#include "gc/shenandoah/shenandoahCollectorPolicy.hpp"
-#include "gc/shenandoah/shenandoahConcurrentMark.hpp"
#include "gc/shenandoah/shenandoahConcurrentMark.inline.hpp"
#include "gc/shenandoah/shenandoahControlThread.hpp"
#include "gc/shenandoah/shenandoahFreeSet.hpp"
@@ -49,7 +48,6 @@
#include "gc/shenandoah/shenandoahMetrics.hpp"
#include "gc/shenandoah/shenandoahMonitoringSupport.hpp"
#include "gc/shenandoah/shenandoahOopClosures.inline.hpp"
-#include "gc/shenandoah/shenandoahPacer.hpp"
#include "gc/shenandoah/shenandoahPacer.inline.hpp"
#include "gc/shenandoah/shenandoahRootProcessor.hpp"
#include "gc/shenandoah/shenandoahStringDedup.hpp"
@@ -1930,13 +1928,6 @@
_workers->run_task(&unlink_task);
}
- if (ShenandoahStringDedup::is_enabled()) {
- ShenandoahGCPhase phase(full_gc ?
- ShenandoahPhaseTimings::full_gc_purge_string_dedup :
- ShenandoahPhaseTimings::purge_string_dedup);
- ShenandoahStringDedup::parallel_cleanup();
- }
-
{
ShenandoahGCPhase phase(full_gc ?
ShenandoahPhaseTimings::full_gc_purge_cldg :
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAP_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAP_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHHEAP_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHHEAP_HPP
#include "gc/shared/markBitMap.hpp"
#include "gc/shared/softRefPolicy.hpp"
@@ -163,9 +163,9 @@
return &_lock;
}
- void assert_heaplock_owned_by_current_thread() PRODUCT_RETURN;
- void assert_heaplock_not_owned_by_current_thread() PRODUCT_RETURN;
- void assert_heaplock_or_safepoint() PRODUCT_RETURN;
+ void assert_heaplock_owned_by_current_thread() NOT_DEBUG_RETURN;
+ void assert_heaplock_not_owned_by_current_thread() NOT_DEBUG_RETURN;
+ void assert_heaplock_or_safepoint() NOT_DEBUG_RETURN;
// ---------- Initialization, termination, identification, printing routines
//
@@ -231,7 +231,7 @@
public:
uint max_workers();
- void assert_gc_workers(uint nworker) PRODUCT_RETURN;
+ void assert_gc_workers(uint nworker) NOT_DEBUG_RETURN;
WorkGang* workers() const;
WorkGang* get_safepoint_workers();
@@ -754,4 +754,4 @@
bool should_inject_alloc_failure();
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAP_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEAP_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAP_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAP_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHHEAP_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHHEAP_INLINE_HPP
#include "classfile/javaClasses.inline.hpp"
#include "gc/shared/markBitMap.inline.hpp"
@@ -549,4 +549,4 @@
return _marking_context;
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAP_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEAP_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeapLock.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapLock.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPLOCK_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPLOCK_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHHEAPLOCK_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHHEAPLOCK_HPP
#include "memory/allocation.hpp"
#include "runtime/thread.hpp"
@@ -90,4 +90,4 @@
}
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPLOCK_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEAPLOCK_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2013, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -25,7 +25,6 @@
#include "memory/allocation.hpp"
#include "gc/shenandoah/shenandoahBrooksPointer.hpp"
#include "gc/shenandoah/shenandoahHeapRegionSet.inline.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahHeapRegion.hpp"
#include "gc/shenandoah/shenandoahMarkingContext.inline.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGION_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGION_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGION_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGION_HPP
#include "gc/shared/space.hpp"
#include "gc/shenandoah/shenandoahAllocRequest.hpp"
@@ -428,4 +428,4 @@
inline void internal_increase_live_data(size_t s);
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGION_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGION_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGION_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGION_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGION_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGION_INLINE_HPP
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahHeapRegion.hpp"
@@ -108,4 +108,4 @@
#endif
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGION_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGION_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONCOUNTERS_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONCOUNTERS_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONCOUNTERS_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONCOUNTERS_HPP
#include "memory/allocation.hpp"
@@ -82,4 +82,4 @@
void update();
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONCOUNTERS_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONCOUNTERS_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2013, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -22,9 +22,7 @@
*/
#include "precompiled.hpp"
-#include "gc/shenandoah/shenandoahHeapRegionSet.hpp"
#include "gc/shenandoah/shenandoahHeapRegionSet.inline.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahHeapRegion.hpp"
#include "gc/shenandoah/shenandoahUtils.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP
#include "memory/allocation.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -95,4 +95,4 @@
}
};
-#endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_INLINE_HPP
#include "gc/shenandoah/shenandoahHeapRegionSet.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -46,4 +46,4 @@
return _biased_set_map[index] == 1;
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEURISTICS_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEURISTICS_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHHEURISTICS_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHHEURISTICS_HPP
#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahPhaseTimings.hpp"
@@ -164,4 +164,4 @@
double time_since_last_gc() const;
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEURISTICS_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEURISTICS_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2014, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -32,13 +32,11 @@
#include "gc/shenandoah/shenandoahPhaseTimings.hpp"
#include "gc/shenandoah/shenandoahMarkCompact.hpp"
#include "gc/shenandoah/shenandoahHeapRegionSet.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahHeuristics.hpp"
#include "gc/shenandoah/shenandoahMarkingContext.inline.hpp"
#include "gc/shenandoah/shenandoahRootProcessor.hpp"
#include "gc/shenandoah/shenandoahTraversalGC.hpp"
-#include "gc/shenandoah/shenandoahTaskqueue.hpp"
#include "gc/shenandoah/shenandoahTaskqueue.inline.hpp"
#include "gc/shenandoah/shenandoahUtils.hpp"
#include "gc/shenandoah/shenandoahVerifier.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHMARKCOMPACT_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHMARKCOMPACT_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHMARKCOMPACT_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHMARKCOMPACT_HPP
#include "gc/shared/gcTimer.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -68,4 +68,4 @@
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHMARKCOMPACT_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHMARKCOMPACT_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_HPP
#include "gc/shared/markBitMap.hpp"
#include "memory/allocation.hpp"
@@ -77,4 +77,4 @@
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_INLINE_HPP
#include "gc/shenandoah/shenandoahMarkingContext.hpp"
@@ -48,4 +48,4 @@
return alloc_after_mark_start;
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHMARKINGCONTEXT_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_SHENANDOAHMEMORYPOOL_HPP
-#define SHARE_VM_SERVICES_SHENANDOAHMEMORYPOOL_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHMEMORYPOOL_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHMEMORYPOOL_HPP
#ifndef SERIALGC
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -41,4 +41,4 @@
size_t max_size() const { return _heap->max_capacity(); }
};
-#endif //SHARE_VM_SERVICES_SHENANDOAHMEMORYPOOL_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHMEMORYPOOL_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2013, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -23,7 +23,6 @@
#include "precompiled.hpp"
#include "gc/shenandoah/shenandoahMetrics.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahHeapRegion.hpp"
#include "gc/shenandoah/shenandoahFreeSet.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHMETRICS_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHMETRICS_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHMETRICS_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHMETRICS_HPP
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -52,4 +52,4 @@
bool is_good_progress(const char *label);
};
-#endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHMETRICS_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHMETRICS_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHMONITORINGSUPPORT_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHMONITORINGSUPPORT_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHMONITORINGSUPPORT_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHMONITORINGSUPPORT_HPP
#include "memory/allocation.hpp"
@@ -53,4 +53,4 @@
void update_counters();
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHMONITORINGSUPPORT_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHMONITORINGSUPPORT_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHNUMBERSEQ_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHNUMBERSEQ_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHNUMBERSEQ_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHNUMBERSEQ_HPP
#include "utilities/numberSeq.hpp"
@@ -71,4 +71,4 @@
int max_level() const;
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHNUMBERSEQ_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHNUMBERSEQ_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_HPP
#include "gc/shared/referenceProcessor.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -347,4 +347,4 @@
virtual bool do_metadata() { return true; }
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_INLINE_HPP
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahConcurrentMark.inline.hpp"
@@ -43,4 +43,4 @@
_traversal_gc->process_oop<T, STRING_DEDUP, DEGEN>(p, _thread, _queue, _mark_context);
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2018, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -24,7 +24,6 @@
#include "precompiled.hpp"
#include "gc/shenandoah/shenandoahFreeSet.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahPacer.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHPACER_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHPACER_HPP
#include "gc/shenandoah/shenandoahNumberSeq.hpp"
#include "memory/allocation.hpp"
@@ -96,4 +96,4 @@
size_t update_and_get_progress_history();
};
-#endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHPACER_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahPacer.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahPacer.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
#include "gc/shenandoah/shenandoahPacer.hpp"
#include "runtime/atomic.hpp"
@@ -56,4 +56,4 @@
Atomic::add((intptr_t)words, &_progress);
}
-#endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2017, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHPHASETIMEINGS_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHPHASETIMEINGS_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHPHASETIMINGS_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHPHASETIMINGS_HPP
#include "gc/shenandoah/shenandoahNumberSeq.hpp"
#include "gc/shared/workerDataArray.hpp"
@@ -89,7 +89,6 @@
f(purge_class_unload, " Unload Classes") \
f(purge_par, " Parallel Cleanup") \
f(purge_cldg, " CLDG") \
- f(purge_string_dedup, " String Dedup") \
f(complete_liveness, " Complete Liveness") \
f(prepare_evac, " Prepare Evacuation") \
f(recycle_regions, " Recycle regions") \
@@ -255,7 +254,6 @@
f(full_gc_purge_class_unload, " Unload Classes") \
f(full_gc_purge_par, " Parallel Cleanup") \
f(full_gc_purge_cldg, " CLDG") \
- f(full_gc_purge_string_dedup, " String Dedup") \
f(full_gc_calculate_addresses, " Calculate Addresses") \
f(full_gc_calculate_addresses_regular, " Regular Objects") \
f(full_gc_calculate_addresses_humong, " Humongous Objects") \
@@ -395,4 +393,4 @@
void print() const;
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHGCPHASETIMEINGS_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHPHASETIMINGS_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHROOTPROCESSOR_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHROOTPROCESSOR_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHROOTPROCESSOR_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHROOTPROCESSOR_HPP
#include "code/codeCache.hpp"
#include "gc/shared/oopStorageParState.hpp"
@@ -123,4 +123,4 @@
// Number of worker threads used by the root processor.
uint n_workers() const;
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHROOTPROCESSOR_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHROOTPROCESSOR_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
#include "memory/allocation.hpp"
#include "oops/oopsHierarchy.hpp"
@@ -43,4 +43,4 @@
static void shenandoah_clone_barrier(oopDesc* obj);
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHRUNTIME_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2018, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -29,7 +29,7 @@
ShenandoahSATBMarkQueueSet::ShenandoahSATBMarkQueueSet() :
_heap(NULL),
- _satb_mark_queue_buffer_allocator(ShenandoahSATBBufferSize, SATB_Q_FL_lock)
+ _satb_mark_queue_buffer_allocator("SATB Buffer Allocator", ShenandoahSATBBufferSize)
{}
void ShenandoahSATBMarkQueueSet::initialize(ShenandoahHeap* const heap,
--- a/src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
#include "gc/shared/satbMarkQueue.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -52,4 +52,4 @@
virtual void filter(SATBMarkQueue* queue);
};
-#endif
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHSHAREDFLAG_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHSHAREDFLAG_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHSHAREDVARIABLES_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHSHAREDVARIABLES_HPP
#include "memory/allocation.hpp"
#include "runtime/orderAccess.hpp"
@@ -243,4 +243,4 @@
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHSHAREDFLAG_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHSHAREDVARIABLES_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2017, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -26,9 +26,8 @@
#include "gc/shared/stringdedup/stringDedup.hpp"
#include "gc/shared/stringdedup/stringDedupThread.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
-#include "gc/shenandoah/shenandoahStrDedupQueue.hpp"
#include "gc/shenandoah/shenandoahStrDedupQueue.inline.hpp"
-#include "gc/shenandoah/shenandoahStringDedup.hpp"
+#include "gc/shenandoah/shenandoahStringDedup.inline.hpp"
#include "logging/log.hpp"
#include "runtime/mutex.hpp"
#include "runtime/mutexLocker.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUPQUEUE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUPQUEUE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHSTRDEDUPQUEUE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHSTRDEDUPQUEUE_HPP
#include "gc/shared/stringdedup/stringDedup.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -110,4 +110,4 @@
void verify(ShenandoahQueueBuffer* head);
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUPQUEUE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHSTRDEDUPQUEUE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUPQUEUE_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUPQUEUE_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHSTRDEDUPQUEUE_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHSTRDEDUPQUEUE_INLINE_HPP
#include "gc/shenandoah/shenandoahStrDedupQueue.hpp"
@@ -95,4 +95,4 @@
}
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUPQUEUE_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHSTRDEDUPQUEUE_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2017, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -23,12 +23,9 @@
#include "precompiled.hpp"
-#include "gc/shared/stringdedup/stringDedup.hpp"
#include "gc/shared/stringdedup/stringDedup.inline.hpp"
#include "gc/shared/workgroup.hpp"
-#include "gc/shenandoah/shenandoahCollectionSet.hpp"
#include "gc/shenandoah/shenandoahCollectionSet.inline.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahMarkingContext.inline.hpp"
#include "gc/shenandoah/shenandoahStringDedup.hpp"
@@ -113,14 +110,6 @@
}
};
-void ShenandoahStringDedup::parallel_cleanup() {
- assert(SafepointSynchronize::is_at_safepoint(), "Must be at a safepoint");
- log_debug(gc, stringdedup)("String dedup cleanup");
- ShenandoahIsMarkedNextClosure cl;
-
- unlink_or_oops_do(&cl, NULL, true);
-}
-
//
// Task for parallel unlink_or_oops_do() operation on the deduplication queue
// and table.
--- a/src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2017, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -21,10 +21,9 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUP_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUP_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUP_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUP_HPP
-#include "classfile/javaClasses.inline.hpp"
#include "gc/shared/stringdedup/stringDedup.hpp"
#include "memory/iterator.hpp"
@@ -42,13 +41,7 @@
static void parallel_oops_do(OopClosure* cl, uint worker_id);
static void oops_do_slow(OopClosure* cl);
- // Parallel cleanup string dedup queues/table
- static void parallel_cleanup();
-
- static inline bool is_candidate(oop obj) {
- return java_lang_String::is_instance_inlined(obj) &&
- java_lang_String::value(obj) != NULL;
- }
+ static inline bool is_candidate(oop obj);
private:
static void unlink_or_oops_do(BoolObjectClosure* is_alive,
OopClosure* keep_alive,
@@ -56,4 +49,4 @@
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUP_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUP_HPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/share/gc/shenandoah/shenandoahStringDedup.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2019, Red Hat, Inc. All rights reserved.
+ *
+ * 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 SHARE_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUP_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUP_INLINE_HPP
+
+#include "classfile/javaClasses.inline.hpp"
+#include "gc/shenandoah/shenandoahStringDedup.hpp"
+
+bool ShenandoahStringDedup::is_candidate(oop obj) {
+ return java_lang_String::is_instance_inlined(obj) &&
+ java_lang_String::value(obj) != NULL;
+}
+
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHSTRINGDEDUP_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2016, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -23,8 +23,8 @@
#include "precompiled.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
-#include "gc/shenandoah/shenandoahTaskqueue.hpp"
+#include "gc/shenandoah/shenandoahHeap.inline.hpp"
+#include "gc/shenandoah/shenandoahTaskqueue.inline.hpp"
#include "logging/log.hpp"
#include "logging/logStream.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2016, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -21,11 +21,10 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_HPP
#include "gc/shared/owstTaskTerminator.hpp"
#include "gc/shared/taskqueue.hpp"
-#include "gc/shared/taskqueue.inline.hpp"
#include "memory/allocation.hpp"
#include "runtime/mutex.hpp"
#include "runtime/thread.hpp"
@@ -46,11 +45,7 @@
// Attempt to pop from the queue. Returns true on success.
inline bool pop(E &t);
- inline void clear() {
- _buf_empty = true;
- taskqueue_t::set_empty();
- taskqueue_t::overflow_stack()->clear();
- }
+ inline void clear();
inline bool is_empty() const {
return _buf_empty && taskqueue_t::is_empty();
@@ -329,4 +324,4 @@
bool offer_termination() { return offer_termination((ShenandoahTerminatorTerminator*)NULL); }
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2016, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -21,14 +21,15 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_INLINE_HPP
+#include "gc/shared/taskqueue.inline.hpp"
#include "gc/shenandoah/shenandoahTaskqueue.hpp"
+#include "utilities/stack.inline.hpp"
template <class E, MEMFLAGS F, unsigned int N>
-bool BufferedOverflowTaskQueue<E, F, N>::pop(E &t)
-{
+bool BufferedOverflowTaskQueue<E, F, N>::pop(E &t) {
if (!_buf_empty) {
t = _elem;
_buf_empty = true;
@@ -43,8 +44,7 @@
}
template <class E, MEMFLAGS F, unsigned int N>
-inline bool BufferedOverflowTaskQueue<E, F, N>::push(E t)
-{
+inline bool BufferedOverflowTaskQueue<E, F, N>::push(E t) {
if (_buf_empty) {
_elem = t;
_buf_empty = false;
@@ -56,4 +56,12 @@
return true;
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_INLINE_HPP
+template <class E, MEMFLAGS F, unsigned int N>
+void BufferedOverflowTaskQueue<E, F, N>::clear() {
+ _buf_empty = true;
+ taskqueue_t::set_empty();
+ taskqueue_t::overflow_stack()->clear();
+}
+
+
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
#include "jfr/jfrEvents.hpp"
#include "gc/shenandoah/shenandoahPhaseTimings.hpp"
@@ -65,5 +65,4 @@
static ShenandoahPhaseTimings::Phase current_termination_phase() { return _current_termination_phase; }
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
-
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahTracer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahTracer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHTRACER_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHTRACER_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHTRACER_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHTRACER_HPP
#include "gc/shared/gcTrace.hpp"
@@ -31,4 +31,4 @@
ShenandoahTracer() : GCTracer(Shenandoah) {}
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHTRACER_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHTRACER_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2018, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -28,7 +28,6 @@
#include "gc/shared/referenceProcessor.hpp"
#include "gc/shared/referenceProcessorPhaseTimes.hpp"
#include "gc/shared/workgroup.hpp"
-#include "gc/shared/weakProcessor.hpp"
#include "gc/shared/weakProcessor.inline.hpp"
#include "gc/shenandoah/shenandoahBarrierSet.hpp"
#include "gc/shenandoah/shenandoahCodeRoots.hpp"
@@ -36,16 +35,13 @@
#include "gc/shenandoah/shenandoahCollectorPolicy.hpp"
#include "gc/shenandoah/shenandoahFreeSet.hpp"
#include "gc/shenandoah/shenandoahPhaseTimings.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
-#include "gc/shenandoah/shenandoahHeapRegionSet.hpp"
#include "gc/shenandoah/shenandoahHeapRegionSet.inline.hpp"
#include "gc/shenandoah/shenandoahHeuristics.hpp"
#include "gc/shenandoah/shenandoahMarkingContext.inline.hpp"
#include "gc/shenandoah/shenandoahOopClosures.inline.hpp"
#include "gc/shenandoah/shenandoahRootProcessor.hpp"
#include "gc/shenandoah/shenandoahStringDedup.hpp"
-#include "gc/shenandoah/shenandoahTaskqueue.hpp"
#include "gc/shenandoah/shenandoahTaskqueue.inline.hpp"
#include "gc/shenandoah/shenandoahTimingTracker.hpp"
#include "gc/shenandoah/shenandoahTraversalGC.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_HPP
#include "memory/allocation.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
@@ -70,4 +70,4 @@
void fixup_roots();
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_INLINE_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_INLINE_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_INLINE_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_INLINE_HPP
#include "gc/shenandoah/shenandoahAsserts.hpp"
#include "gc/shenandoah/shenandoahBarrierSet.inline.hpp"
@@ -74,4 +74,4 @@
}
}
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_INLINE_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHTRAVERSALGC_INLINE_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAHUTILS_HPP
-#define SHARE_VM_GC_SHENANDOAHUTILS_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHUTILS_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHUTILS_HPP
#include "jfr/jfrEvents.hpp"
@@ -175,4 +175,4 @@
}
};
-#endif // SHARE_VM_GC_SHENANDOAHUTILS_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHUTILS_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_VM_OPERATIONS_SHENANDOAH_HPP
-#define SHARE_VM_GC_SHENANDOAH_VM_OPERATIONS_SHENANDOAH_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHVMOPERATIONS_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHVMOPERATIONS_HPP
#include "gc/shared/gcVMOperations.hpp"
@@ -131,4 +131,4 @@
virtual void doit();
};
-#endif //SHARE_VM_GC_SHENANDOAH_VM_OPERATIONS_SHENANDOAH_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHVMOPERATIONS_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2017, 2019, Red Hat, Inc. All rights reserved.
*
* 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
@@ -26,10 +26,9 @@
#include "gc/shenandoah/shenandoahAsserts.hpp"
#include "gc/shenandoah/shenandoahBrooksPointer.hpp"
#include "gc/shenandoah/shenandoahPhaseTimings.hpp"
-#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahRootProcessor.hpp"
-#include "gc/shenandoah/shenandoahTaskqueue.hpp"
+#include "gc/shenandoah/shenandoahTaskqueue.inline.hpp"
#include "gc/shenandoah/shenandoahUtils.hpp"
#include "gc/shenandoah/shenandoahVerifier.hpp"
#include "memory/allocation.hpp"
--- a/src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHVERIFIER_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHVERIFIER_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHVERIFIER_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHVERIFIER_HPP
#include "gc/shared/markBitMap.hpp"
#include "memory/allocation.hpp"
@@ -184,4 +184,4 @@
void verify_generic(VerifyOption option);
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHVERIFIER_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHVERIFIER_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHWORKGROUP_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHWORKGROUP_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHWORKGROUP_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHWORKGROUP_HPP
#include "gc/shared/workgroup.hpp"
#include "gc/shenandoah/shenandoahTaskqueue.hpp"
@@ -87,4 +87,4 @@
void set_initialize_gclab() { assert(!_initialize_gclab, "Can only enable once"); _initialize_gclab = true; }
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHWORKGROUP_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHWORKGROUP_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHWORKERPOLICY_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAHWORKERPOLICY_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHWORKERPOLICY_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAHWORKERPOLICY_HPP
#include "memory/allocation.hpp"
@@ -81,4 +81,4 @@
static uint calc_workers_for_conc_reset();
};
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHWORKERPOLICY_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAHWORKERPOLICY_HPP
--- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAH_GLOBALS_HPP
-#define SHARE_VM_GC_SHENANDOAH_SHENANDOAH_GLOBALS_HPP
+#ifndef SHARE_GC_SHENANDOAH_SHENANDOAH_GLOBALS_HPP
+#define SHARE_GC_SHENANDOAH_SHENANDOAH_GLOBALS_HPP
#define GC_SHENANDOAH_FLAGS(develop, \
develop_pd, \
@@ -185,6 +185,9 @@
"adjustment. Lower values make adjustments faster, at the " \
"expense of higher perf overhead. Time is in milliseconds.") \
\
+ experimental(bool, ShenandoahCriticalControlThreadPriority, false, \
+ "Shenandoah control thread runs at critical scheduling priority.")\
+ \
diagnostic(bool, ShenandoahVerify, false, \
"Verify the Shenandoah garbage collector") \
\
@@ -414,4 +417,4 @@
experimental(bool, ShenandoahLoopOptsAfterExpansion, true, \
"Attempt more loop opts after write barrier expansion") \
-#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAH_GLOBALS_HPP
+#endif // SHARE_GC_SHENANDOAH_SHENANDOAH_GLOBALS_HPP
--- a/src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -20,8 +20,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_GC_SHENANDOAH_VMSTRUCTS_SHENANDOAH_HPP
-#define SHARE_VM_GC_SHENANDOAH_VMSTRUCTS_SHENANDOAH_HPP
+#ifndef SHARE_GC_SHENANDOAH_VMSTRUCTS_SHENANDOAH_HPP
+#define SHARE_GC_SHENANDOAH_VMSTRUCTS_SHENANDOAH_HPP
#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeapRegion.hpp"
@@ -43,4 +43,4 @@
declare_toplevel_type(ShenandoahHeap*) \
declare_toplevel_type(ShenandoahHeapRegion*) \
-#endif // SHARE_VM_GC_SHENANDOAH_VMSTRUCTS_SHENANDOAH_HPP
+#endif // SHARE_GC_SHENANDOAH_VMSTRUCTS_SHENANDOAH_HPP
--- a/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -32,6 +32,7 @@
#include "opto/node.hpp"
#include "opto/type.hpp"
#include "utilities/macros.hpp"
+#include "gc/z/zBarrierSet.hpp"
#include "gc/z/c2/zBarrierSetC2.hpp"
#include "gc/z/zThreadLocalData.hpp"
#include "gc/z/zBarrierSetRuntime.hpp"
--- a/src/hotspot/share/gc/z/vmStructs_z.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/z/vmStructs_z.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_GC_Z_VMSTRUCTS_Z_HPP
-#define SHARE_VM_GC_Z_VMSTRUCTS_Z_HPP
+#ifndef SHARE_GC_Z_VMSTRUCTS_Z_HPP
+#define SHARE_GC_Z_VMSTRUCTS_Z_HPP
#include "gc/z/zAddressRangeMap.hpp"
#include "gc/z/zCollectedHeap.hpp"
@@ -117,4 +117,4 @@
declare_toplevel_type(ZForwardingTableEntry) \
declare_toplevel_type(ZPhysicalMemoryManager)
-#endif // SHARE_VM_GC_Z_VMSTRUCTS_Z_HPP
+#endif // SHARE_GC_Z_VMSTRUCTS_Z_HPP
--- a/src/hotspot/share/gc/z/zBarrierSetNMethod.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/z/zBarrierSetNMethod.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -42,6 +42,11 @@
}
if (nm->is_unloading()) {
+ // We don't need to take the lock when unlinking nmethods from
+ // the Method, because it is only concurrently unlinked by
+ // the entry barrier, which acquires the per nmethod lock.
+ nm->unlink_from_method(false /* acquire_lock */);
+
// We can end up calling nmethods that are unloading
// since we clear compiled ICs lazily. Returning false
// will re-resovle the call and update the compiled IC.
--- a/src/hotspot/share/gc/z/zForwardingTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/z/zForwardingTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_GC_Z_ZFORWARDING_HPP
-#define SHARE_GC_Z_ZFORWARDING_HPP
+#ifndef SHARE_GC_Z_ZFORWARDINGTABLE_HPP
+#define SHARE_GC_Z_ZFORWARDINGTABLE_HPP
#include "gc/z/zForwardingTableEntry.hpp"
#include "memory/allocation.hpp"
@@ -56,4 +56,4 @@
void verify(size_t object_max_count, size_t live_objects) const;
};
-#endif // SHARE_GC_Z_ZFORWARDING_HPP
+#endif // SHARE_GC_Z_ZFORWARDINGTABLE_HPP
--- a/src/hotspot/share/gc/z/zForwardingTable.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/z/zForwardingTable.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_GC_Z_ZFORWARDING_INLINE_HPP
-#define SHARE_GC_Z_ZFORWARDING_INLINE_HPP
+#ifndef SHARE_GC_Z_ZFORWARDINGTABLE_INLINE_HPP
+#define SHARE_GC_Z_ZFORWARDINGTABLE_INLINE_HPP
#include "gc/z/zForwardingTable.hpp"
#include "gc/z/zGlobals.hpp"
@@ -106,4 +106,4 @@
}
}
-#endif // SHARE_GC_Z_ZFORWARDING_INLINE_HPP
+#endif // SHARE_GC_Z_ZFORWARDINGTABLE_INLINE_HPP
--- a/src/hotspot/share/gc/z/zNMethodTable.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/z/zNMethodTable.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -611,15 +611,20 @@
return;
}
+ ZLocker<ZReentrantLock> locker(ZNMethodTable::lock_for_nmethod(nm));
+
if (nm->is_unloading()) {
// Unlinking of the dependencies must happen before the
// handshake separating unlink and purge.
nm->flush_dependencies(false /* delete_immediately */);
+
+ // We don't need to take the lock when unlinking nmethods from
+ // the Method, because it is only concurrently unlinked by
+ // the entry barrier, which acquires the per nmethod lock.
+ nm->unlink_from_method(false /* acquire_lock */);
return;
}
- ZLocker<ZReentrantLock> locker(ZNMethodTable::lock_for_nmethod(nm));
-
// Heal oops and disarm
ZNMethodOopClosure cl;
ZNMethodTable::entry_oops_do(entry, &cl);
--- a/src/hotspot/share/gc/z/zTracer.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/gc/z/zTracer.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -27,6 +27,7 @@
#include "gc/shared/gcId.hpp"
#include "gc/shared/gcLocker.hpp"
#include "jfr/jfrEvents.hpp"
+#include "runtime/safepoint.hpp"
#include "runtime/safepointVerifiers.hpp"
#if INCLUDE_JFR
#include "jfr/metadata/jfrSerializer.hpp"
--- a/src/hotspot/share/interpreter/abstractInterpreter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/abstractInterpreter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_ABSTRACTINTERPRETER_HPP
-#define SHARE_VM_INTERPRETER_ABSTRACTINTERPRETER_HPP
+#ifndef SHARE_INTERPRETER_ABSTRACTINTERPRETER_HPP
+#define SHARE_INTERPRETER_ABSTRACTINTERPRETER_HPP
#include "asm/macroAssembler.hpp"
#include "code/stubs.hpp"
@@ -333,4 +333,4 @@
AbstractInterpreterGenerator(StubQueue* _code);
};
-#endif // SHARE_VM_INTERPRETER_ABSTRACTINTERPRETER_HPP
+#endif // SHARE_INTERPRETER_ABSTRACTINTERPRETER_HPP
--- a/src/hotspot/share/interpreter/bytecode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/bytecode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_BYTECODE_HPP
-#define SHARE_VM_INTERPRETER_BYTECODE_HPP
+#ifndef SHARE_INTERPRETER_BYTECODE_HPP
+#define SHARE_INTERPRETER_BYTECODE_HPP
#include "interpreter/bytecodes.hpp"
#include "memory/allocation.hpp"
@@ -342,4 +342,4 @@
oop resolve_constant(TRAPS) const;
};
-#endif // SHARE_VM_INTERPRETER_BYTECODE_HPP
+#endif // SHARE_INTERPRETER_BYTECODE_HPP
--- a/src/hotspot/share/interpreter/bytecode.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/bytecode.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,12 +22,12 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_BYTECODE_INLINE_HPP
-#define SHARE_VM_INTERPRETER_BYTECODE_INLINE_HPP
+#ifndef SHARE_INTERPRETER_BYTECODE_INLINE_HPP
+#define SHARE_INTERPRETER_BYTECODE_INLINE_HPP
#include "interpreter/bytecode.hpp"
#include "oops/cpCache.inline.hpp"
inline bool Bytecode_invoke::has_appendix() { return cpcache_entry()->has_appendix(); }
-#endif // SHARE_VM_INTERPRETER_BYTECODE_INLINE_HPP
+#endif // SHARE_INTERPRETER_BYTECODE_INLINE_HPP
--- a/src/hotspot/share/interpreter/bytecodeHistogram.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/bytecodeHistogram.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_BYTECODEHISTOGRAM_HPP
-#define SHARE_VM_INTERPRETER_BYTECODEHISTOGRAM_HPP
+#ifndef SHARE_INTERPRETER_BYTECODEHISTOGRAM_HPP
+#define SHARE_INTERPRETER_BYTECODEHISTOGRAM_HPP
#include "interpreter/bytecodes.hpp"
#include "memory/allocation.hpp"
@@ -95,4 +95,4 @@
static void print(float cutoff = 0.01F) PRODUCT_RETURN; // cutoff in percent
};
-#endif // SHARE_VM_INTERPRETER_BYTECODEHISTOGRAM_HPP
+#endif // SHARE_INTERPRETER_BYTECODEHISTOGRAM_HPP
--- a/src/hotspot/share/interpreter/bytecodeInterpreter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/bytecodeInterpreter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_HPP
-#define SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_HPP
+#ifndef SHARE_INTERPRETER_BYTECODEINTERPRETER_HPP
+#define SHARE_INTERPRETER_BYTECODEINTERPRETER_HPP
#include "memory/allocation.hpp"
#include "oops/methodData.hpp"
@@ -584,4 +584,4 @@
#endif // CC_INTERP
-#endif // SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_HPP
+#endif // SHARE_INTERPRETER_BYTECODEINTERPRETER_HPP
--- a/src/hotspot/share/interpreter/bytecodeInterpreter.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/bytecodeInterpreter.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_INLINE_HPP
-#define SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_INLINE_HPP
+#ifndef SHARE_INTERPRETER_BYTECODEINTERPRETER_INLINE_HPP
+#define SHARE_INTERPRETER_BYTECODEINTERPRETER_INLINE_HPP
#include "interpreter/bytecodeInterpreter.hpp"
#include "runtime/stubRoutines.hpp"
@@ -51,4 +51,4 @@
#endif // CC_INTERP
-#endif // SHARE_VM_INTERPRETER_BYTECODEINTERPRETER_INLINE_HPP
+#endif // SHARE_INTERPRETER_BYTECODEINTERPRETER_INLINE_HPP
--- a/src/hotspot/share/interpreter/bytecodeInterpreterProfiling.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/bytecodeInterpreterProfiling.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -27,8 +27,8 @@
// for updating a method's methodData object.
-#ifndef SHARE_VM_INTERPRETER_BYTECODEINTERPRETERPROFILING_HPP
-#define SHARE_VM_INTERPRETER_BYTECODEINTERPRETERPROFILING_HPP
+#ifndef SHARE_INTERPRETER_BYTECODEINTERPRETERPROFILING_HPP
+#define SHARE_INTERPRETER_BYTECODEINTERPRETERPROFILING_HPP
#ifdef CC_INTERP
@@ -56,4 +56,4 @@
#endif // CC_INTERP
-#endif // SHARE_VM_INTERPRETER_BYTECODECINTERPRETERPROFILING_HPP
+#endif // SHARE_INTERPRETER_BYTECODEINTERPRETERPROFILING_HPP
--- a/src/hotspot/share/interpreter/bytecodeStream.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/bytecodeStream.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_BYTECODESTREAM_HPP
-#define SHARE_VM_INTERPRETER_BYTECODESTREAM_HPP
+#ifndef SHARE_INTERPRETER_BYTECODESTREAM_HPP
+#define SHARE_INTERPRETER_BYTECODESTREAM_HPP
#include "interpreter/bytecode.hpp"
#include "memory/allocation.hpp"
@@ -227,4 +227,4 @@
bool has_index_u4() const { return bytecode().has_index_u4(raw_code()); }
};
-#endif // SHARE_VM_INTERPRETER_BYTECODESTREAM_HPP
+#endif // SHARE_INTERPRETER_BYTECODESTREAM_HPP
--- a/src/hotspot/share/interpreter/bytecodeTracer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/bytecodeTracer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_BYTECODETRACER_HPP
-#define SHARE_VM_INTERPRETER_BYTECODETRACER_HPP
+#ifndef SHARE_INTERPRETER_BYTECODETRACER_HPP
+#define SHARE_INTERPRETER_BYTECODETRACER_HPP
#include "memory/allocation.hpp"
#include "utilities/ostream.hpp"
@@ -62,4 +62,4 @@
virtual void trace(const methodHandle& method, address bcp, outputStream* st) = 0;
};
-#endif // SHARE_VM_INTERPRETER_BYTECODETRACER_HPP
+#endif // SHARE_INTERPRETER_BYTECODETRACER_HPP
--- a/src/hotspot/share/interpreter/bytecodes.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/bytecodes.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_BYTECODES_HPP
-#define SHARE_VM_INTERPRETER_BYTECODES_HPP
+#ifndef SHARE_INTERPRETER_BYTECODES_HPP
+#define SHARE_INTERPRETER_BYTECODES_HPP
#include "memory/allocation.hpp"
@@ -442,4 +442,4 @@
static void initialize ();
};
-#endif // SHARE_VM_INTERPRETER_BYTECODES_HPP
+#endif // SHARE_INTERPRETER_BYTECODES_HPP
--- a/src/hotspot/share/interpreter/cppInterpreter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/cppInterpreter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_CPPINTERPRETER_HPP
-#define SHARE_VM_INTERPRETER_CPPINTERPRETER_HPP
+#ifndef SHARE_INTERPRETER_CPPINTERPRETER_HPP
+#define SHARE_INTERPRETER_CPPINTERPRETER_HPP
#include "interpreter/abstractInterpreter.hpp"
#include "utilities/macros.hpp"
@@ -70,4 +70,4 @@
#endif // CC_INTERP
-#endif // SHARE_VM_INTERPRETER_CPPINTERPRETER_HPP
+#endif // SHARE_INTERPRETER_CPPINTERPRETER_HPP
--- a/src/hotspot/share/interpreter/cppInterpreterGenerator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/cppInterpreterGenerator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_CPPINTERPRETERGENERATOR_HPP
-#define SHARE_VM_INTERPRETER_CPPINTERPRETERGENERATOR_HPP
+#ifndef SHARE_INTERPRETER_CPPINTERPRETERGENERATOR_HPP
+#define SHARE_INTERPRETER_CPPINTERPRETERGENERATOR_HPP
// This file contains the platform-independent parts
// of the template interpreter generator.
@@ -75,4 +75,4 @@
};
#endif // CC_INTERP
-#endif // SHARE_VM_INTERPRETER_CPPINTERPRETERGENERATOR_HPP
+#endif // SHARE_INTERPRETER_CPPINTERPRETERGENERATOR_HPP
--- a/src/hotspot/share/interpreter/interp_masm.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/interp_masm.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,12 +22,12 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_INTERP_MASM_HPP
-#define SHARE_VM_INTERPRETER_INTERP_MASM_HPP
+#ifndef SHARE_INTERPRETER_INTERP_MASM_HPP
+#define SHARE_INTERPRETER_INTERP_MASM_HPP
#include "asm/macroAssembler.hpp"
#include "utilities/macros.hpp"
#include CPU_HEADER(interp_masm)
-#endif // SHARE_VM_INTERPRETER_INTERP_MASM_HPP
+#endif // SHARE_INTERPRETER_INTERP_MASM_HPP
--- a/src/hotspot/share/interpreter/interpreter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/interpreter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_INTERPRETER_HPP
-#define SHARE_VM_INTERPRETER_INTERPRETER_HPP
+#ifndef SHARE_INTERPRETER_INTERPRETER_HPP
+#define SHARE_INTERPRETER_INTERPRETER_HPP
#include "code/stubs.hpp"
#include "interpreter/cppInterpreter.hpp"
@@ -119,4 +119,4 @@
typedef CC_INTERP_ONLY(CppInterpreter) NOT_CC_INTERP(TemplateInterpreter) Interpreter;
-#endif // SHARE_VM_INTERPRETER_INTERPRETER_HPP
+#endif // SHARE_INTERPRETER_INTERPRETER_HPP
--- a/src/hotspot/share/interpreter/interpreterRuntime.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/interpreterRuntime.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_INTERPRETERRUNTIME_HPP
-#define SHARE_VM_INTERPRETER_INTERPRETERRUNTIME_HPP
+#ifndef SHARE_INTERPRETER_INTERPRETERRUNTIME_HPP
+#define SHARE_INTERPRETER_INTERPRETERRUNTIME_HPP
#include "interpreter/bytecode.hpp"
#include "interpreter/linkResolver.hpp"
@@ -196,4 +196,4 @@
static void add(uint64_t fingerprint, address handler);
};
-#endif // SHARE_VM_INTERPRETER_INTERPRETERRUNTIME_HPP
+#endif // SHARE_INTERPRETER_INTERPRETERRUNTIME_HPP
--- a/src/hotspot/share/interpreter/invocationCounter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/invocationCounter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_INVOCATIONCOUNTER_HPP
-#define SHARE_VM_INTERPRETER_INVOCATIONCOUNTER_HPP
+#ifndef SHARE_INTERPRETER_INVOCATIONCOUNTER_HPP
+#define SHARE_INTERPRETER_INVOCATIONCOUNTER_HPP
#include "runtime/handles.hpp"
#include "utilities/exceptions.hpp"
@@ -153,4 +153,4 @@
}
-#endif // SHARE_VM_INTERPRETER_INVOCATIONCOUNTER_HPP
+#endif // SHARE_INTERPRETER_INVOCATIONCOUNTER_HPP
--- a/src/hotspot/share/interpreter/linkResolver.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/linkResolver.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_LINKRESOLVER_HPP
-#define SHARE_VM_INTERPRETER_LINKRESOLVER_HPP
+#ifndef SHARE_INTERPRETER_LINKRESOLVER_HPP
+#define SHARE_INTERPRETER_LINKRESOLVER_HPP
#include "oops/method.hpp"
@@ -362,4 +362,4 @@
const methodHandle& selected_method,
Klass *recv_klass, TRAPS);
};
-#endif // SHARE_VM_INTERPRETER_LINKRESOLVER_HPP
+#endif // SHARE_INTERPRETER_LINKRESOLVER_HPP
--- a/src/hotspot/share/interpreter/oopMapCache.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/oopMapCache.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_OOPMAPCACHE_HPP
-#define SHARE_VM_INTERPRETER_OOPMAPCACHE_HPP
+#ifndef SHARE_INTERPRETER_OOPMAPCACHE_HPP
+#define SHARE_INTERPRETER_OOPMAPCACHE_HPP
#include "oops/generateOopMap.hpp"
#include "runtime/mutex.hpp"
@@ -177,4 +177,4 @@
static void cleanup_old_entries();
};
-#endif // SHARE_VM_INTERPRETER_OOPMAPCACHE_HPP
+#endif // SHARE_INTERPRETER_OOPMAPCACHE_HPP
--- a/src/hotspot/share/interpreter/rewriter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/rewriter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_REWRITER_HPP
-#define SHARE_VM_INTERPRETER_REWRITER_HPP
+#ifndef SHARE_INTERPRETER_REWRITER_HPP
+#define SHARE_INTERPRETER_REWRITER_HPP
#include "memory/allocation.hpp"
#include "utilities/growableArray.hpp"
@@ -213,4 +213,4 @@
static void rewrite(InstanceKlass* klass, TRAPS);
};
-#endif // SHARE_VM_INTERPRETER_REWRITER_HPP
+#endif // SHARE_INTERPRETER_REWRITER_HPP
--- a/src/hotspot/share/interpreter/templateInterpreter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/templateInterpreter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_TEMPLATEINTERPRETER_HPP
-#define SHARE_VM_INTERPRETER_TEMPLATEINTERPRETER_HPP
+#ifndef SHARE_INTERPRETER_TEMPLATEINTERPRETER_HPP
+#define SHARE_INTERPRETER_TEMPLATEINTERPRETER_HPP
#include "interpreter/abstractInterpreter.hpp"
#include "interpreter/templateTable.hpp"
@@ -196,4 +196,4 @@
#endif // !CC_INTERP
-#endif // SHARE_VM_INTERPRETER_TEMPLATEINTERPRETER_HPP
+#endif // SHARE_INTERPRETER_TEMPLATEINTERPRETER_HPP
--- a/src/hotspot/share/interpreter/templateInterpreterGenerator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/templateInterpreterGenerator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_TEMPLATEINTERPRETERGENERATOR_HPP
-#define SHARE_VM_INTERPRETER_TEMPLATEINTERPRETERGENERATOR_HPP
+#ifndef SHARE_INTERPRETER_TEMPLATEINTERPRETERGENERATOR_HPP
+#define SHARE_INTERPRETER_TEMPLATEINTERPRETERGENERATOR_HPP
// This file contains the platform-independent parts
// of the template interpreter generator.
@@ -129,4 +129,4 @@
#endif // !CC_INTERP
-#endif // SHARE_VM_INTERPRETER_TEMPLATEINTERPRETERGENERATOR_HPP
+#endif // SHARE_INTERPRETER_TEMPLATEINTERPRETERGENERATOR_HPP
--- a/src/hotspot/share/interpreter/templateTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/interpreter/templateTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_INTERPRETER_TEMPLATETABLE_HPP
-#define SHARE_VM_INTERPRETER_TEMPLATETABLE_HPP
+#ifndef SHARE_INTERPRETER_TEMPLATETABLE_HPP
+#define SHARE_INTERPRETER_TEMPLATETABLE_HPP
#include "interpreter/bytecodes.hpp"
#include "memory/allocation.hpp"
@@ -357,4 +357,4 @@
};
#endif /* !CC_INTERP */
-#endif // SHARE_VM_INTERPRETER_TEMPLATETABLE_HPP
+#endif // SHARE_INTERPRETER_TEMPLATETABLE_HPP
--- a/src/hotspot/share/jfr/dcmd/jfrDcmds.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/dcmd/jfrDcmds.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_JFRDCMDS_HPP
-#define SHARE_VM_JFR_JFRDCMDS_HPP
+#ifndef SHARE_JFR_DCMD_JFRDCMDS_HPP
+#define SHARE_JFR_DCMD_JFRDCMDS_HPP
#include "services/diagnosticCommand.hpp"
@@ -172,4 +172,4 @@
bool register_jfr_dcmds();
-#endif // SHARE_VM_JFR_JFRDCMDS_HPP
+#endif // SHARE_JFR_DCMD_JFRDCMDS_HPP
--- a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_INSTRUMENTATION_JFREVENTCLASSTRANSFORMER_HPP
-#define SHARE_VM_JFR_INSTRUMENTATION_JFREVENTCLASSTRANSFORMER_HPP
+#ifndef SHARE_JFR_INSTRUMENTATION_JFREVENTCLASSTRANSFORMER_HPP
+#define SHARE_JFR_INSTRUMENTATION_JFREVENTCLASSTRANSFORMER_HPP
#include "memory/allocation.hpp"
#include "utilities/exceptions.hpp"
@@ -42,4 +42,4 @@
static bool is_force_instrumentation();
};
-#endif // SHARE_VM_JFR_INSTRUMENTATION_JFREVENTCLASSTRANSFORMER_HPP
+#endif // SHARE_JFR_INSTRUMENTATION_JFREVENTCLASSTRANSFORMER_HPP
--- a/src/hotspot/share/jfr/instrumentation/jfrJvmtiAgent.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/instrumentation/jfrJvmtiAgent.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_INSTRUMENTATION_JFRJVMTIAGENT_HPP
-#define SHARE_VM_JFR_INSTRUMENTATION_JFRJVMTIAGENT_HPP
+#ifndef SHARE_JFR_INSTRUMENTATION_JFRJVMTIAGENT_HPP
+#define SHARE_JFR_INSTRUMENTATION_JFRJVMTIAGENT_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -38,4 +38,4 @@
static void retransform_classes(JNIEnv* env, jobjectArray classes, TRAPS);
};
-#endif // SHARE_VM_JFR_INSTRUMENTATION_JFRJVMTIAGENT_HPP
+#endif // SHARE_JFR_INSTRUMENTATION_JFRJVMTIAGENT_HPP
--- a/src/hotspot/share/jfr/jfr.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/jfr.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_JFR_HPP
-#define SHARE_VM_JFR_JFR_HPP
+#ifndef SHARE_JFR_JFR_HPP
+#define SHARE_JFR_JFR_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -55,4 +55,4 @@
static void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f);
};
-#endif // SHARE_VM_JFR_JFR_HPP
+#endif // SHARE_JFR_JFR_HPP
--- a/src/hotspot/share/jfr/jfrEvents.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/jfrEvents.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_JFREVENTS_HPP
-#define SHARE_VM_JFR_JFREVENTS_HPP
+#ifndef SHARE_JFR_JFREVENTS_HPP
+#define SHARE_JFR_JFREVENTS_HPP
/*
* Declare your event in jfr/metadata/metadata.xml.
*
@@ -32,4 +32,4 @@
#include "jfrfiles/jfrEventClasses.hpp"
#include "jfrfiles/jfrEventIds.hpp"
-#endif // SHARE_VM_JFR_JFREVENTS_HPP
+#endif // SHARE_JFR_JFREVENTS_HPP
--- a/src/hotspot/share/jfr/jni/jfrGetAllEventClasses.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/jni/jfrGetAllEventClasses.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_JFR_JNI_JFRGETALLEVENTCLASSES_HPP
-#define SHARE_VM_JFR_JNI_JFRGETALLEVENTCLASSES_HPP
+#ifndef SHARE_JFR_JNI_JFRGETALLEVENTCLASSES_HPP
+#define SHARE_JFR_JNI_JFRGETALLEVENTCLASSES_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -38,4 +38,4 @@
static jobject get_all_event_classes(TRAPS);
};
-#endif // SHARE_VM_JFR_JNI_JFRGETALLEVENTCLASSES_HPP
+#endif // SHARE_JFR_JNI_JFRGETALLEVENTCLASSES_HPP
--- a/src/hotspot/share/jfr/jni/jfrJavaCall.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/jni/jfrJavaCall.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_JNI_JFRJAVACALL_HPP
-#define SHARE_VM_JFR_JNI_JFRJAVACALL_HPP
+#ifndef SHARE_JFR_JNI_JFRJAVACALL_HPP
+#define SHARE_JFR_JNI_JFRJAVACALL_HPP
#include "jni.h"
#include "jfr/utilities/jfrAllocation.hpp"
@@ -131,4 +131,4 @@
static void call_virtual(JfrJavaArguments* args, TRAPS);
};
-#endif // SHARE_VM_JFR_JNI_JFRJAVACALL_HPP
+#endif // SHARE_JFR_JNI_JFRJAVACALL_HPP
--- a/src/hotspot/share/jfr/jni/jfrJavaSupport.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/jni/jfrJavaSupport.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -474,15 +474,16 @@
}
const char* temp = NULL;
const oop java_string = resolve_non_null(string);
- if (java_lang_String::value(java_string) != NULL) {
- const size_t length = java_lang_String::utf8_length(java_string);
+ const typeArrayOop value = java_lang_String::value(java_string);
+ if (value != NULL) {
+ const size_t length = java_lang_String::utf8_length(java_string, value);
temp = NEW_RESOURCE_ARRAY_IN_THREAD(t, const char, (length + 1));
if (temp == NULL) {
JfrJavaSupport::throw_out_of_memory_error("Unable to allocate thread local native memory", t);
return NULL;
}
assert(temp != NULL, "invariant");
- java_lang_String::as_utf8_string(java_string, const_cast<char*>(temp), (int) length + 1);
+ java_lang_String::as_utf8_string(java_string, value, const_cast<char*>(temp), (int) length + 1);
}
return temp;
}
--- a/src/hotspot/share/jfr/jni/jfrJavaSupport.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/jni/jfrJavaSupport.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_JNI_JFRJAVASUPPORT_HPP
-#define SHARE_VM_JFR_JNI_JFRJAVASUPPORT_HPP
+#ifndef SHARE_JFR_JNI_JFRJAVASUPPORT_HPP
+#define SHARE_JFR_JNI_JFRJAVASUPPORT_HPP
#include "jfr/jni/jfrJavaCall.hpp"
#include "utilities/exceptions.hpp"
@@ -111,4 +111,4 @@
static void set_cause(jthrowable throwable, Thread* t);
};
-#endif // SHARE_VM_JFR_JNI_JFRJAVASUPPORT_HPP
+#endif // SHARE_JFR_JNI_JFRJAVASUPPORT_HPP
--- a/src/hotspot/share/jfr/jni/jfrJniMethod.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/jni/jfrJniMethod.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_JNI_JFRJNIMETHOD_HPP
-#define SHARE_VM_JFR_JNI_JFRJNIMETHOD_HPP
+#ifndef SHARE_JFR_JNI_JFRJNIMETHOD_HPP
+#define SHARE_JFR_JNI_JFRJNIMETHOD_HPP
#include "jni.h"
@@ -136,4 +136,4 @@
}
#endif
-#endif // SHARE_VM_JFR_JNI_JFRJNIMETHOD_HPP
+#endif // SHARE_JFR_JNI_JFRJNIMETHOD_HPP
--- a/src/hotspot/share/jfr/jni/jfrJniMethodRegistration.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/jni/jfrJniMethodRegistration.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_JNI_JFRJNIMETHODREGISTRATION_HPP
-#define SHARE_VM_JFR_JNI_JFRJNIMETHODREGISTRATION_HPP
+#ifndef SHARE_JFR_JNI_JFRJNIMETHODREGISTRATION_HPP
+#define SHARE_JFR_JNI_JFRJNIMETHODREGISTRATION_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -36,4 +36,4 @@
JfrJniMethodRegistration(JNIEnv* env);
};
-#endif // SHARE_VM_JFR_JNI_JFRJNIMETHODREGISTRATION_HPP
+#endif // SHARE_JFR_JNI_JFRJNIMETHODREGISTRATION_HPP
--- a/src/hotspot/share/jfr/jni/jfrUpcalls.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/jni/jfrUpcalls.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_JNI_JFRUPCALLS_HPP
-#define SHARE_VM_JFR_JNI_JFRUPCALLS_HPP
+#ifndef SHARE_JFR_JNI_JFRUPCALLS_HPP
+#define SHARE_JFR_JNI_JFRUPCALLS_HPP
#include "jni.h"
#include "jfr/utilities/jfrAllocation.hpp"
@@ -55,4 +55,4 @@
TRAPS);
};
-#endif // SHARE_VM_JFR_JNI_JFRUPCALLS_HPP
+#endif // SHARE_JFR_JNI_JFRUPCALLS_HPP
--- a/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP
+#define SHARE_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP
#include "memory/iterator.hpp"
#include "oops/oop.hpp"
@@ -70,4 +70,4 @@
virtual void do_oop(narrowOop* ref);
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP
--- a/src/hotspot/share/jfr/leakprofiler/chains/bitset.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/chains/bitset.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_BITSET_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_CHAINS_BITSET_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHAINS_BITSET_HPP
+#define SHARE_JFR_LEAKPROFILER_CHAINS_BITSET_HPP
#include "memory/allocation.hpp"
#include "oops/oopsHierarchy.hpp"
@@ -76,4 +76,4 @@
}
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_CHAINS_BITSET_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHAINS_BITSET_HPP
--- a/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP
+#define SHARE_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP
#include "memory/iterator.hpp"
#include "oops/oop.hpp"
@@ -62,4 +62,4 @@
virtual void do_oop(narrowOop* ref);
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP
--- a/src/hotspot/share/jfr/leakprofiler/chains/edge.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/chains/edge.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_EDGE_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_CHAINS_EDGE_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHAINS_EDGE_HPP
+#define SHARE_JFR_LEAKPROFILER_CHAINS_EDGE_HPP
#include "memory/allocation.hpp"
#include "oops/oopsHierarchy.hpp"
@@ -56,4 +56,4 @@
}
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_CHAINS_EDGE_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHAINS_EDGE_HPP
--- a/src/hotspot/share/jfr/leakprofiler/chains/edgeQueue.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/chains/edgeQueue.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_EDGEQUEUE_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_CHAINS_EDGEQUEUE_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHAINS_EDGEQUEUE_HPP
+#define SHARE_JFR_LEAKPROFILER_CHAINS_EDGEQUEUE_HPP
#include "memory/allocation.hpp"
#include "jfr/leakprofiler/chains/edge.hpp"
@@ -57,4 +57,4 @@
size_t sizeof_edge() const; // with alignments
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_CHAINS_EDGEQUEUE_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHAINS_EDGEQUEUE_HPP
--- a/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_CHAINS_EDGESTORE_HPP
-#define SHARE_VM_LEAKPROFILER_CHAINS_EDGESTORE_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHAINS_EDGESTORE_HPP
+#define SHARE_JFR_LEAKPROFILER_CHAINS_EDGESTORE_HPP
#include "jfr/utilities/jfrHashtable.hpp"
#include "jfr/leakprofiler/chains/edge.hpp"
@@ -116,4 +116,4 @@
void iterate_edges(T& functor) const { _edges->iterate_value<T>(functor); }
};
-#endif // SHARE_VM_LEAKPROFILER_CHAINS_EDGESTORE_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHAINS_EDGESTORE_HPP
--- a/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_CHAINS_EDGEUTILS_HPP
-#define SHARE_VM_LEAKPROFILER_CHAINS_EDGEUTILS_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHAINS_EDGEUTILS_HPP
+#define SHARE_JFR_LEAKPROFILER_CHAINS_EDGEUTILS_HPP
#include "memory/allocation.hpp"
@@ -48,4 +48,4 @@
static void collapse_chain(const RoutableEdge& edge);
};
-#endif // SHARE_VM_LEAKPROFILER_CHAINS_EDGEUTILS_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHAINS_EDGEUTILS_HPP
--- a/src/hotspot/share/jfr/leakprofiler/chains/objectSampleMarker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/chains/objectSampleMarker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_OBJECTSAMPLEMARKER_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_CHAINS_OBJECTSAMPLEMARKER_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHAINS_OBJECTSAMPLEMARKER_HPP
+#define SHARE_JFR_LEAKPROFILER_CHAINS_OBJECTSAMPLEMARKER_HPP
#include "memory/allocation.hpp"
#include "oops/markOop.hpp"
@@ -78,4 +78,4 @@
}
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_CHAINS_OBJECTSAMPLEMARKER_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHAINS_OBJECTSAMPLEMARKER_HPP
--- a/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP
+#define SHARE_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP
#include "memory/iterator.hpp"
#include "oops/oop.hpp"
@@ -43,4 +43,4 @@
virtual void do_oop(narrowOop* reference);
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP
--- a/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP
-#define SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP
+#define SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP
#include "memory/allocation.hpp"
#include "utilities/exceptions.hpp"
@@ -48,4 +48,4 @@
bool process();
};
-#endif // SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP
--- a/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEDESCRIPTION_HPP
-#define SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEDESCRIPTION_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEDESCRIPTION_HPP
+#define SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEDESCRIPTION_HPP
#define OBJECT_SAMPLE_DESCRIPTION_BUFFER_SIZE 100
@@ -71,4 +71,4 @@
const char* description();
};
-#endif // SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEDESCRIPTION_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEDESCRIPTION_HPP
--- a/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEWRITER_HPP
-#define SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEWRITER_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEWRITER_HPP
+#define SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEWRITER_HPP
#include "memory/allocation.hpp"
@@ -47,4 +47,4 @@
bool operator()(const RoutableEdge& edge);
};
-#endif // SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEWRITER_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEWRITER_HPP
--- a/src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_CHECKPOINT_ROOTRESOLVER_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_CHECKPOINT_ROOTRESOLVER_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_CHECKPOINT_ROOTRESOLVER_HPP
+#define SHARE_JFR_LEAKPROFILER_CHECKPOINT_ROOTRESOLVER_HPP
#include "memory/allocation.hpp"
#include "jfr/leakprofiler/utilities/rootType.hpp"
@@ -49,4 +49,4 @@
static void resolve(RootCallback& callback);
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_CHECKPOINT_ROOTRESOLVER_HPP
+#endif // SHARE_JFR_LEAKPROFILER_CHECKPOINT_ROOTRESOLVER_HPP
--- a/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_EMITEVENTOPERATION_HPP
-#define SHARE_VM_LEAKPROFILER_EMITEVENTOPERATION_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_EMITEVENTOPERATION_HPP
+#define SHARE_JFR_LEAKPROFILER_EMITEVENTOPERATION_HPP
#include "runtime/vmOperations.hpp"
@@ -68,4 +68,4 @@
virtual void doit();
};
-#endif // SHARE_VM_LEAKPROFILER_EMITEVENTOPERATION_HPP
+#endif // SHARE_JFR_LEAKPROFILER_EMITEVENTOPERATION_HPP
--- a/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_LEAKPROFILER_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_LEAKPROFILER_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_LEAKPROFILER_HPP
+#define SHARE_JFR_LEAKPROFILER_LEAKPROFILER_HPP
#include "memory/allocation.hpp"
@@ -64,4 +64,4 @@
static void oops_do(BoolObjectClosure* is_alive, OopClosure* f);
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_LEAKPROFILER_HPP
+#endif // SHARE_JFR_LEAKPROFILER_LEAKPROFILER_HPP
--- a/src/hotspot/share/jfr/leakprofiler/sampling/objectSample.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/sampling/objectSample.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_SAMPLING_OBJECTSAMPLE_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_SAMPLING_OBJECTSAMPLE_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_SAMPLING_OBJECTSAMPLE_HPP
+#define SHARE_JFR_LEAKPROFILER_SAMPLING_OBJECTSAMPLE_HPP
#include "jfr/recorder/checkpoint/jfrCheckpointBlob.hpp"
#include "jfr/utilities/jfrAllocation.hpp"
@@ -246,4 +246,4 @@
}
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_SAMPLING_OBJECTSAMPLE_HPP
+#endif // SHARE_JFR_LEAKPROFILER_SAMPLING_OBJECTSAMPLE_HPP
--- a/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_SAMPLING_OBJECTSAMPLER_HPP
-#define SHARE_VM_LEAKPROFILER_SAMPLING_OBJECTSAMPLER_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_SAMPLING_OBJECTSAMPLER_HPP
+#define SHARE_JFR_LEAKPROFILER_SAMPLING_OBJECTSAMPLER_HPP
#include "memory/allocation.hpp"
#include "jfr/utilities/jfrTime.hpp"
@@ -76,4 +76,4 @@
const JfrTicks& last_sweep() const;
};
-#endif // SHARE_VM_LEAKPROFILER_SAMPLING_OBJECTSAMPLER_HPP
+#endif // SHARE_JFR_LEAKPROFILER_SAMPLING_OBJECTSAMPLER_HPP
--- a/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_SAMPLING_SAMPLELIST_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_SAMPLING_SAMPLELIST_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_SAMPLING_SAMPLELIST_HPP
+#define SHARE_JFR_LEAKPROFILER_SAMPLING_SAMPLELIST_HPP
#include "jfr/utilities/jfrAllocation.hpp"
#include "jfr/utilities/jfrDoublyLinkedList.hpp"
@@ -61,4 +61,4 @@
size_t count() const;
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_SAMPLING_SAMPLELIST_HPP
+#endif // SHARE_JFR_LEAKPROFILER_SAMPLING_SAMPLELIST_HPP
--- a/src/hotspot/share/jfr/leakprofiler/sampling/samplePriorityQueue.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/sampling/samplePriorityQueue.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_SAMPLING_SAMPLEPRIORITYQUEUE_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_SAMPLING_SAMPLEPRIORITYQUEUE_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_SAMPLING_SAMPLEPRIORITYQUEUE_HPP
+#define SHARE_JFR_LEAKPROFILER_SAMPLING_SAMPLEPRIORITYQUEUE_HPP
#include "memory/allocation.hpp"
@@ -55,4 +55,4 @@
int count() const;
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_SAMPLING_SAMPLEPRIORITYQUEUE_HPP
+#endif // SHARE_JFR_LEAKPROFILER_SAMPLING_SAMPLEPRIORITYQUEUE_HPP
--- a/src/hotspot/share/jfr/leakprofiler/startOperation.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/startOperation.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_STARTOPERATION_HPP
-#define SHARE_VM_LEAKPROFILER_STARTOPERATION_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_STARTOPERATION_HPP
+#define SHARE_JFR_LEAKPROFILER_STARTOPERATION_HPP
#include "jfr/recorder/jfrRecorder.hpp"
#include "jfr/leakprofiler/leakProfiler.hpp"
@@ -57,4 +57,4 @@
}
};
-#endif // SHARE_VM_LEAKPROFILER_STARTOPERATION_HPP
+#endif // SHARE_JFR_LEAKPROFILER_STARTOPERATION_HPP
--- a/src/hotspot/share/jfr/leakprofiler/stopOperation.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/stopOperation.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_STOPOPERATION_HPP
-#define SHARE_VM_LEAKPROFILER_STOPOPERATION_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_STOPOPERATION_HPP
+#define SHARE_JFR_LEAKPROFILER_STOPOPERATION_HPP
#include "jfr/leakprofiler/leakProfiler.hpp"
#include "jfr/leakprofiler/sampling/objectSampler.hpp"
@@ -53,4 +53,4 @@
}
};
-#endif // SHARE_VM_LEAKPROFILER_STOPOPERATION_HPP
+#endif // SHARE_JFR_LEAKPROFILER_STOPOPERATION_HPP
--- a/src/hotspot/share/jfr/leakprofiler/utilities/granularTimer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/utilities/granularTimer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_UTILITIES_GRANULARTIMER_HPP
-#define SHARE_VM_LEAKPROFILER_UTILITIES_GRANULARTIMER_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_UTILITIES_GRANULARTIMER_HPP
+#define SHARE_JFR_LEAKPROFILER_UTILITIES_GRANULARTIMER_HPP
#include "jfr/utilities/jfrTime.hpp"
#include "memory/allocation.hpp"
@@ -43,4 +43,4 @@
static bool is_finished();
};
-#endif // SHARE_VM_LEAKPROFILER_UTILITIES_GRANULARTIMER_HPP
+#endif // SHARE_JFR_LEAKPROFILER_UTILITIES_GRANULARTIMER_HPP
--- a/src/hotspot/share/jfr/leakprofiler/utilities/rootType.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/utilities/rootType.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LEAKPROFILER_UTILITIES_ROOTTYPE_HPP
-#define SHARE_VM_LEAKPROFILER_UTILITIES_ROOTTYPE_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_UTILITIES_ROOTTYPE_HPP
+#define SHARE_JFR_LEAKPROFILER_UTILITIES_ROOTTYPE_HPP
#include "memory/allocation.hpp"
#include "utilities/debug.hpp"
@@ -106,4 +106,4 @@
}
};
-#endif // SHARE_VM_LEAKPROFILER_UTILITIES_ROOTTYPE_HPP
+#endif // SHARE_JFR_LEAKPROFILER_UTILITIES_ROOTTYPE_HPP
--- a/src/hotspot/share/jfr/leakprofiler/utilities/saveRestore.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/utilities/saveRestore.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_UTILITIES_SAVERESTORE_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_UTILITIES_SAVERESTORE_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_UTILITIES_SAVERESTORE_HPP
+#define SHARE_JFR_LEAKPROFILER_UTILITIES_SAVERESTORE_HPP
#include "memory/allocation.hpp"
#include "memory/iterator.hpp"
@@ -125,4 +125,4 @@
~SaveRestoreCLDClaimBits();
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_UTILITIES_SAVERESTORE_HPP
+#endif // SHARE_JFR_LEAKPROFILER_UTILITIES_SAVERESTORE_HPP
--- a/src/hotspot/share/jfr/leakprofiler/utilities/unifiedOop.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/leakprofiler/utilities/unifiedOop.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_LEAKPROFILER_UTILITIES_UNIFIEDOOP_HPP
-#define SHARE_VM_JFR_LEAKPROFILER_UTILITIES_UNIFIEDOOP_HPP
+#ifndef SHARE_JFR_LEAKPROFILER_UTILITIES_UNIFIEDOOP_HPP
+#define SHARE_JFR_LEAKPROFILER_UTILITIES_UNIFIEDOOP_HPP
#include "oops/oop.inline.hpp"
@@ -53,4 +53,4 @@
}
};
-#endif // SHARE_VM_JFR_LEAKPROFILER_UTILITIES_UNIFIEDOOP_HPP
+#endif // SHARE_JFR_LEAKPROFILER_UTILITIES_UNIFIEDOOP_HPP
--- a/src/hotspot/share/jfr/metadata/jfrSerializer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/metadata/jfrSerializer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_METADATA_JFRSERIALIZER_HPP
-#define SHARE_VM_JFR_METADATA_JFRSERIALIZER_HPP
+#ifndef SHARE_JFR_METADATA_JFRSERIALIZER_HPP
+#define SHARE_JFR_METADATA_JFRSERIALIZER_HPP
#include "memory/allocation.hpp"
#include "jfr/recorder/checkpoint/jfrCheckpointWriter.hpp"
@@ -97,4 +97,4 @@
* Please see jfr/recorder/checkpoint/types/jfrType.cpp for reference.
*/
-#endif // SHARE_VM_JFR_METADATA_JFRSERIALIZER_HPP
+#endif // SHARE_JFR_METADATA_JFRSERIALIZER_HPP
--- a/src/hotspot/share/jfr/periodic/jfrModuleEvent.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/periodic/jfrModuleEvent.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_EVENT_JFRMODULEEVENT_HPP
-#define SHARE_VM_JFR_EVENT_JFRMODULEEVENT_HPP
+#ifndef SHARE_JFR_PERIODIC_JFRMODULEEVENT_HPP
+#define SHARE_JFR_PERIODIC_JFRMODULEEVENT_HPP
#include "memory/allocation.hpp"
@@ -33,4 +33,4 @@
static void generate_module_export_events();
};
-#endif // SHARE_VM_JFR_EVENT_JFRMODULEEVENT_HPP
+#endif // SHARE_JFR_PERIODIC_JFRMODULEEVENT_HPP
--- a/src/hotspot/share/jfr/periodic/jfrNetworkUtilization.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/periodic/jfrNetworkUtilization.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_PERIODIC_JFRNETWORKUTILIZATION_HPP
-#define SHARE_VM_JFR_PERIODIC_JFRNETWORKUTILIZATION_HPP
+#ifndef SHARE_JFR_PERIODIC_JFRNETWORKUTILIZATION_HPP
+#define SHARE_JFR_PERIODIC_JFRNETWORKUTILIZATION_HPP
#include "memory/allocation.hpp"
@@ -35,4 +35,4 @@
static void send_events();
};
-#endif // SHARE_VM_JFR_PERIODIC_JFRNETWORKUTILIZATION_HPP
+#endif // SHARE_JFR_PERIODIC_JFRNETWORKUTILIZATION_HPP
--- a/src/hotspot/share/jfr/periodic/jfrOSInterface.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/periodic/jfrOSInterface.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -70,9 +70,6 @@
SystemProcessInterface* _system_process_interface;
NetworkPerformanceInterface* _network_performance_interface;
- // stub helper
- void functionality_not_implemented(char** str) const;
-
JfrOSInterfaceImpl();
bool initialize();
~JfrOSInterfaceImpl();
@@ -178,15 +175,6 @@
return OS_OK;
}
-void JfrOSInterface::JfrOSInterfaceImpl::functionality_not_implemented(char** str) const {
- assert(str != NULL, "address to string is NULL!");
- const char* not_impl = "Functionality_not_implemented";
- const size_t not_impl_len = strlen(not_impl);
- *str = NEW_C_HEAP_ARRAY(char, not_impl_len+1, mtTracing);
- strncpy(*str, not_impl, not_impl_len);
- (*str)[not_impl_len] = '\0';
-}
-
JfrOSInterface::JfrOSInterface() {
_impl = NULL;
}
--- a/src/hotspot/share/jfr/periodic/jfrOSInterface.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/periodic/jfrOSInterface.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_PERIODIC_JFROSINTERFACE_HPP
-#define SHARE_VM_JFR_PERIODIC_JFROSINTERFACE_HPP
+#ifndef SHARE_JFR_PERIODIC_JFROSINTERFACE_HPP
+#define SHARE_JFR_PERIODIC_JFROSINTERFACE_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -57,4 +57,4 @@
static int network_utilization(NetworkInterface** network_interfaces);
};
-#endif // SHARE_VM_JFR_PERIODIC_JFROSINTERFACE_HPP
+#endif // SHARE_JFR_PERIODIC_JFROSINTERFACE_HPP
--- a/src/hotspot/share/jfr/periodic/jfrThreadCPULoadEvent.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/periodic/jfrThreadCPULoadEvent.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_PERIODIC_JFRTHREADCPULOAD_HPP
-#define SHARE_VM_JFR_PERIODIC_JFRTHREADCPULOAD_HPP
+#ifndef SHARE_JFR_PERIODIC_JFRTHREADCPULOADEVENT_HPP
+#define SHARE_JFR_PERIODIC_JFRTHREADCPULOADEVENT_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -41,5 +41,4 @@
static void send_event_for_thread(JavaThread* jt);
};
-#endif // SHARE_VM_JFR_PERIODIC_JFRTHREADCPULOAD_HPP
-
+#endif // SHARE_JFR_PERIODIC_JFRTHREADCPULOADEVENT_HPP
--- a/src/hotspot/share/jfr/periodic/jfrThreadDumpEvent.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/periodic/jfrThreadDumpEvent.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_PERIODIC_JFRDCMDEVENT_HPP
-#define SHARE_VM_JFR_PERIODIC_JFRDCMDEVENT_HPP
+#ifndef SHARE_JFR_PERIODIC_JFRTHREADDUMPEVENT_HPP
+#define SHARE_JFR_PERIODIC_JFRTHREADDUMPEVENT_HPP
#include "memory/allocation.hpp"
@@ -36,4 +36,4 @@
static const char* thread_dump();
};
-#endif // SHARE_VM_JFR_PERIODIC_JFRDCMDEVENT_HPP
+#endif // SHARE_JFR_PERIODIC_JFRTHREADDUMPEVENT_HPP
--- a/src/hotspot/share/jfr/periodic/sampling/jfrCallTrace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/periodic/sampling/jfrCallTrace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_ENGINE_SAMPLING_JFRCALLTRACE_HPP
-#define SHARE_VM_JFR_ENGINE_SAMPLING_JFRCALLTRACE_HPP
+#ifndef SHARE_JFR_PERIODIC_SAMPLING_JFRCALLTRACE_HPP
+#define SHARE_JFR_PERIODIC_SAMPLING_JFRCALLTRACE_HPP
#include "memory/allocation.hpp"
@@ -42,4 +42,4 @@
bool get_topframe(void* ucontext, frame& top);
};
-#endif // SHARE_VM_JFR_ENGINE_SAMPLING_JFRCALLTRACE_HPP
+#endif // SHARE_JFR_PERIODIC_SAMPLING_JFRCALLTRACE_HPP
--- a/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -467,8 +467,17 @@
jlong now_ms = get_monotonic_ms();
- jlong next_j = java_interval + last_java_ms - now_ms;
- jlong next_n = native_interval + last_native_ms - now_ms;
+ /*
+ * Let I be java_interval or native_interval.
+ * Let L be last_java_ms or last_native_ms.
+ * Let N be now_ms.
+ *
+ * Interval, I, might be max_jlong so the addition
+ * could potentially overflow without parenthesis (UB). Also note that
+ * L - N < 0. Avoid UB, by adding parenthesis.
+ */
+ jlong next_j = java_interval + (last_java_ms - now_ms);
+ jlong next_n = native_interval + (last_native_ms - now_ms);
jlong sleep_to_next = MIN2<jlong>(next_j, next_n);
--- a/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_PERIODIC_SAMPLING_JFRTHREADSAMPLER_HPP
-#define SHARE_VM_JFR_PERIODIC_SAMPLING_JFRTHREADSAMPLER_HPP
+#ifndef SHARE_JFR_PERIODIC_SAMPLING_JFRTHREADSAMPLER_HPP
+#define SHARE_JFR_PERIODIC_SAMPLING_JFRTHREADSAMPLER_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -52,4 +52,4 @@
static void on_javathread_suspend(JavaThread* thread);
};
-#endif // SHARE_VM_JFR_PERIODIC_SAMPLING_JFRTHREADSAMPLER_HPP
+#endif // SHARE_JFR_PERIODIC_SAMPLING_JFRTHREADSAMPLER_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointBlob.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointBlob.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTBLOB_HPP
-#define SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTBLOB_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTBLOB_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTBLOB_HPP
#include "jfr/utilities/jfrAllocation.hpp"
#include "jfr/utilities/jfrRefCountPointer.hpp"
@@ -56,4 +56,4 @@
static JfrCheckpointBlobHandle make(const u1* checkpoint, size_t size);
};
-#endif // SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTBLOB_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTBLOB_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTMANAGER_HPP
-#define SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTMANAGER_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTMANAGER_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTMANAGER_HPP
#include "jfr/recorder/storage/jfrBuffer.hpp"
#include "jfr/recorder/storage/jfrMemorySpace.hpp"
@@ -105,4 +105,4 @@
friend class JfrMemorySpace;
};
-#endif //SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTMANAGER_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTMANAGER_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointWriter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointWriter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP
-#define SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP
#include "jfr/recorder/checkpoint/jfrCheckpointBlob.hpp"
#include "jfr/recorder/storage/jfrBuffer.hpp"
@@ -85,4 +85,4 @@
JfrCheckpointBlobHandle move(const JfrCheckpointContext* ctx = NULL);
};
-#endif // SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/jfrMetadataEvent.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/jfrMetadataEvent.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRMETADATAEVENT_HPP
-#define SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRMETADATAEVENT_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_JFRMETADATAEVENT_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_JFRMETADATAEVENT_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -43,4 +43,4 @@
static void update(jbyteArray metadata);
};
-#endif // SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRMETADATAEVENT_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_JFRMETADATAEVENT_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadGroup.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadGroup.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADGROUP_HPP
-#define SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADGROUP_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADGROUP_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADGROUP_HPP
#include "jni.h"
#include "jfr/utilities/jfrAllocation.hpp"
@@ -62,4 +62,4 @@
static traceid thread_group_id(const JavaThread* thread, Thread* current);
};
-#endif // SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADGROUP_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADGROUP_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadState.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadState.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADSTATE_HPP
-#define SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADSTATE_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADSTATE_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADSTATE_HPP
#include "memory/allocation.hpp"
@@ -34,4 +34,4 @@
static void serialize(JfrCheckpointWriter& writer);
};
-#endif // SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADSTATE_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTHREADSTATE_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_CHECKPOINT_TYPES_JFRTYPE_HPP
-#define SHARE_VM_JFR_CHECKPOINT_TYPES_JFRTYPE_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPE_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPE_HPP
#include "jfr/metadata/jfrSerializer.hpp"
@@ -135,4 +135,4 @@
void serialize(JfrCheckpointWriter& writer);
};
-#endif // SHARE_VM_JFR_CHECKPOINT_CONSTANT_JFRCONSTANT_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPE_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_JFR_CHECKPOINT_TYPES_JFRTYPEMANAGER_HPP
-#define SHARE_VM_JFR_CHECKPOINT_TYPES_JFRTYPEMANAGER_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPEMANAGER_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPEMANAGER_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -41,4 +41,4 @@
static void write_thread_checkpoint(JavaThread* jt);
};
-#endif // SHARE_VM_JFR_CHECKPOINT_TYPES_JFRTYPEMANAGER_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPEMANAGER_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP
-#define SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -70,4 +70,4 @@
static void serialize(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer, bool class_unload);
};
-#endif // SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESETUTILS_HPP
-#define SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESETUTILS_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESETUTILS_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESETUTILS_HPP
#include "jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp"
#include "jfr/utilities/jfrAllocation.hpp"
@@ -373,4 +373,4 @@
}
};
-#endif // SHARE_VM_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESETUTILS_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESETUTILS_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetWriter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetWriter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_CHECKPOINT_TYPES_JFRTYPESETWRITER_HPP
-#define SHARE_VM_JFR_CHECKPOINT_TYPES_JFRTYPESETWRITER_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESETWRITER_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESETWRITER_HPP
#include "jfr/recorder/checkpoint/jfrCheckpointWriter.hpp"
#include "jfr/utilities/jfrTypes.hpp"
@@ -105,4 +105,4 @@
}
};
-#endif // SHARE_VM_JFR_CHECKPOINT_TYPES_JFRTYPESETWRITER_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESETWRITER_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEID_HPP
-#define SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEID_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEID_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEID_HPP
#include "jni.h"
#include "jfr/utilities/jfrTypes.hpp"
@@ -125,4 +125,4 @@
static void tag_as_event_host(const jclass jc);
};
-#endif // SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEID_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEID_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTYPEIDS_INLINE_HPP
-#define SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTYPEIDS_INLINE_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEID_INLINE_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEID_INLINE_HPP
#include "classfile/classLoaderData.hpp"
#include "classfile/moduleEntry.hpp"
@@ -149,4 +149,4 @@
assert(IS_EVENT_HOST_KLASS(k), "invariant");
}
-#endif // SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTYPEIDS_INLINE_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEID_INLINE_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDBITS_INLINE_HPP
-#define SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDBITS_INLINE_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDBITS_INLINE_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDBITS_INLINE_HPP
#include "jfr/utilities/jfrTypes.hpp"
#include "runtime/atomic.hpp"
@@ -106,5 +106,4 @@
set_mask(mask, ((jbyte*)dest) + leakp_offset);
}
-#endif // SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDBITS_INLINE_HPP
-
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDBITS_INLINE_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdEpoch.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdEpoch.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDEPOCH_HPP
-#define SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDEPOCH_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDEPOCH_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDEPOCH_HPP
#include "memory/allocation.hpp"
#include "jfr/utilities/jfrTypes.hpp"
@@ -100,4 +100,4 @@
}
};
-#endif // SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDEPOCH_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDEPOCH_HPP
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdMacros.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdMacros.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDMACROS_HPP
-#define SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDMACROS_HPP
+#ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDMACROS_HPP
+#define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDMACROS_HPP
#include "jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp"
#include "jfr/recorder/checkpoint/types/traceid/jfrTraceIdEpoch.hpp"
@@ -184,4 +184,4 @@
#define CLEAR_METHOD_FLAG_USED_THIS_EPOCH(m) (clear_bits_cas((jbyte)JfrTraceIdEpoch::in_use_this_epoch_bit(), (m)->trace_flags_addr()))
#define CLEAR_METHOD_FLAG_USED_PREV_EPOCH(m) (clear_bits_cas((jbyte)JfrTraceIdEpoch::in_use_prev_epoch_bit(), (m)->trace_flags_addr()))
-#endif // SHARE_VM_JFR_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDMACROS_HPP
+#endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_TRACEID_JFRTRACEIDMACROS_HPP
--- a/src/hotspot/share/jfr/recorder/jfrEventSetting.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/jfrEventSetting.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_JFREVENTSETTING_HPP
-#define SHARE_VM_JFR_RECORDER_JFREVENTSETTING_HPP
+#ifndef SHARE_JFR_RECORDER_JFREVENTSETTING_HPP
+#define SHARE_JFR_RECORDER_JFREVENTSETTING_HPP
#include "jni.h"
#include "jfr/utilities/jfrAllocation.hpp"
@@ -49,4 +49,4 @@
DEBUG_ONLY(static bool bounds_check_event(jlong id);)
};
-#endif // SHARE_VM_JFR_RECORDER_JFREVENTSETTING_HPP
+#endif // SHARE_JFR_RECORDER_JFREVENTSETTING_HPP
--- a/src/hotspot/share/jfr/recorder/jfrEventSetting.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/jfrEventSetting.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_JFREVENTSETTING_INLINE_HPP
-#define SHARE_VM_JFR_RECORDER_JFREVENTSETTING_INLINE_HPP
+#ifndef SHARE_JFR_RECORDER_JFREVENTSETTING_INLINE_HPP
+#define SHARE_JFR_RECORDER_JFREVENTSETTING_INLINE_HPP
#include "jfr/recorder/jfrEventSetting.hpp"
@@ -47,5 +47,4 @@
return setting(event_id).cutoff_ticks;
}
-#endif // SHARE_VM_JFR_RECORDER_JFREVENTSETTING_INLINE_HPP
-
+#endif // SHARE_JFR_RECORDER_JFREVENTSETTING_INLINE_HPP
--- a/src/hotspot/share/jfr/recorder/jfrRecorder.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/jfrRecorder.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -44,31 +44,22 @@
#include "logging/logStream.hpp"
#include "memory/resourceArea.inline.hpp"
#include "runtime/handles.inline.hpp"
-#include "runtime/flags/jvmFlag.hpp"
-#include "runtime/globals.hpp"
+#include "runtime/globals_extension.hpp"
#include "utilities/growableArray.hpp"
-static bool is_disabled_on_command_line() {
- static const size_t length = strlen("FlightRecorder");
- static JVMFlag* const flight_recorder_flag = JVMFlag::find_flag("FlightRecorder", length);
- assert(flight_recorder_flag != NULL, "invariant");
- return flight_recorder_flag->is_command_line() ? !FlightRecorder : false;
-}
-
bool JfrRecorder::is_disabled() {
- return is_disabled_on_command_line();
-}
-
-static bool set_flight_recorder_flag(bool flag_value) {
- JVMFlag::boolAtPut((char*)"FlightRecorder", &flag_value, JVMFlag::MANAGEMENT);
- return FlightRecorder;
+ // True if -XX:-FlightRecorder has been explicitly set on the
+ // command line
+ return FLAG_IS_CMDLINE(FlightRecorder) ? !FlightRecorder : false;
}
static bool _enabled = false;
static bool enable() {
assert(!_enabled, "invariant");
- _enabled = set_flight_recorder_flag(true);
+ FLAG_SET_MGMT(bool, FlightRecorder, true);
+ _enabled = FlightRecorder;
+ assert(_enabled, "invariant");
return _enabled;
}
--- a/src/hotspot/share/jfr/recorder/jfrRecorder.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/jfrRecorder.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_JFRRECORDER_HPP
-#define SHARE_VM_JFR_RECORDER_JFRRECORDER_HPP
+#ifndef SHARE_JFR_RECORDER_JFRRECORDER_HPP
+#define SHARE_JFR_RECORDER_JFRRECORDER_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -65,4 +65,4 @@
static void stop_recording();
};
-#endif // SHARE_VM_JFR_RECORDER_JFRRECORDER_HPP
+#endif // SHARE_JFR_RECORDER_JFRRECORDER_HPP
--- a/src/hotspot/share/jfr/recorder/repository/jfrChunkRotation.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/repository/jfrChunkRotation.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_REPOSITORY_JFRCHUNKROTATION_HPP
-#define SHARE_VM_JFR_RECORDER_REPOSITORY_JFRCHUNKROTATION_HPP
+#ifndef SHARE_JFR_RECORDER_REPOSITORY_JFRCHUNKROTATION_HPP
+#define SHARE_JFR_RECORDER_REPOSITORY_JFRCHUNKROTATION_HPP
#include "memory/allocation.hpp"
@@ -41,4 +41,4 @@
static void on_rotation();
};
-#endif // SHARE_VM_JFR_RECORDER_REPOSITORY_JFRCHUNKROTATION_HPP
+#endif // SHARE_JFR_RECORDER_REPOSITORY_JFRCHUNKROTATION_HPP
--- a/src/hotspot/share/jfr/recorder/repository/jfrChunkState.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/repository/jfrChunkState.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_REPOSITORY_JFRRCHUNKSTATE_HPP
-#define SHARE_VM_JFR_RECORDER_REPOSITORY_JFRRCHUNKSTATE_HPP
+#ifndef SHARE_JFR_RECORDER_REPOSITORY_JFRCHUNKSTATE_HPP
+#define SHARE_JFR_RECORDER_REPOSITORY_JFRCHUNKSTATE_HPP
#include "jni.h"
#include "jfr/utilities/jfrAllocation.hpp"
@@ -57,4 +57,4 @@
const char* path() const;
};
-#endif // SHARE_VM_JFR_RECORDER_REPOSITORY_JFRRCHUNKSTATE_HPP
+#endif // SHARE_JFR_RECORDER_REPOSITORY_JFRCHUNKSTATE_HPP
--- a/src/hotspot/share/jfr/recorder/repository/jfrChunkWriter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/repository/jfrChunkWriter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_REPOSITORY_JFRCHUNKWRITER_HPP
-#define SHARE_VM_JFR_RECORDER_REPOSITORY_JFRCHUNKWRITER_HPP
+#ifndef SHARE_JFR_RECORDER_REPOSITORY_JFRCHUNKWRITER_HPP
+#define SHARE_JFR_RECORDER_REPOSITORY_JFRCHUNKWRITER_HPP
#include "jfr/writers/jfrStorageAdapter.hpp"
#include "jfr/writers/jfrStreamWriterHost.inline.hpp"
@@ -54,4 +54,4 @@
void time_stamp_chunk_now();
};
-#endif // SHARE_VM_JFR_RECORDER_REPOSITORY_JFRCHUNKWRITER_HPP
+#endif // SHARE_JFR_RECORDER_REPOSITORY_JFRCHUNKWRITER_HPP
--- a/src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_INTERNAL_JFREMERGENCY_HPP
-#define SHARE_VM_JFR_RECORDER_INTERNAL_JFREMERGENCY_HPP
+#ifndef SHARE_JFR_RECORDER_REPOSITORY_JFREMERGENCYDUMP_HPP
+#define SHARE_JFR_RECORDER_REPOSITORY_JFREMERGENCYDUMP_HPP
#include "memory/allocation.hpp"
@@ -35,6 +35,4 @@
static void on_vm_shutdown(bool exception_handler);
};
-#endif // SHARE_VM_JFR_RECORDER_INTERNAL_JFREMERGENCY_HPP
-
-
+#endif // SHARE_JFR_RECORDER_REPOSITORY_JFREMERGENCYDUMP_HPP
--- a/src/hotspot/share/jfr/recorder/repository/jfrRepository.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/repository/jfrRepository.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_REPOSITORY_JFRREPOSITORY_HPP
-#define SHARE_VM_JFR_RECORDER_REPOSITORY_JFRREPOSITORY_HPP
+#ifndef SHARE_JFR_RECORDER_REPOSITORY_JFRREPOSITORY_HPP
+#define SHARE_JFR_RECORDER_REPOSITORY_JFRREPOSITORY_HPP
#include "jni.h"
#include "jfr/utilities/jfrAllocation.hpp"
@@ -70,4 +70,4 @@
static void set_chunk_path(jstring path, JavaThread* jt);
};
-#endif // SHARE_VM_JFR_RECORDER_REPOSITORY_JFRREPOSITORY_HPP
+#endif // SHARE_JFR_RECORDER_REPOSITORY_JFRREPOSITORY_HPP
--- a/src/hotspot/share/jfr/recorder/service/jfrEvent.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/service/jfrEvent.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_SERVICE_JFREVENT_HPP
-#define SHARE_VM_JFR_RECORDER_SERVICE_JFREVENT_HPP
+#ifndef SHARE_JFR_RECORDER_SERVICE_JFREVENT_HPP
+#define SHARE_JFR_RECORDER_SERVICE_JFREVENT_HPP
#include "jfr/recorder/jfrEventSetting.inline.hpp"
#include "jfr/recorder/stacktrace/jfrStackTraceRepository.hpp"
@@ -211,4 +211,4 @@
#endif // ASSERT
};
-#endif // SHARE_VM_JFR_RECORDER_SERVICE_JFREVENT_HPP
+#endif // SHARE_JFR_RECORDER_SERVICE_JFREVENT_HPP
--- a/src/hotspot/share/jfr/recorder/service/jfrMemorySizer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/service/jfrMemorySizer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_SERVICE_JFRMEMORYSIZER_HPP
-#define SHARE_VM_JFR_RECORDER_SERVICE_JFRMEMORYSIZER_HPP
+#ifndef SHARE_JFR_RECORDER_SERVICE_JFRMEMORYSIZER_HPP
+#define SHARE_JFR_RECORDER_SERVICE_JFRMEMORYSIZER_HPP
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -53,4 +53,4 @@
static bool adjust_options(JfrMemoryOptions* options);
};
-#endif // SHARE_VM_JFR_RECORDER_SERVICE_JFRMEMORYSIZER_HPP
+#endif // SHARE_JFR_RECORDER_SERVICE_JFRMEMORYSIZER_HPP
--- a/src/hotspot/share/jfr/recorder/service/jfrOptionSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/service/jfrOptionSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_SERVICE_JFROPTIONSET_HPP
-#define SHARE_VM_JFR_RECORDER_SERVICE_JFROPTIONSET_HPP
+#ifndef SHARE_JFR_RECORDER_SERVICE_JFROPTIONSET_HPP
+#define SHARE_JFR_RECORDER_SERVICE_JFROPTIONSET_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -84,4 +84,4 @@
static void release_startup_recording_options();
};
-#endif // SHARE_VM_JFR_RECORDER_SERVICE_JFROPTIONSET_HPP
+#endif // SHARE_JFR_RECORDER_SERVICE_JFROPTIONSET_HPP
--- a/src/hotspot/share/jfr/recorder/service/jfrPostBox.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/service/jfrPostBox.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_SERVICE_JFRPOSTBOX_HPP
-#define SHARE_VM_JFR_RECORDER_SERVICE_JFRPOSTBOX_HPP
+#ifndef SHARE_JFR_RECORDER_SERVICE_JFRPOSTBOX_HPP
+#define SHARE_JFR_RECORDER_SERVICE_JFRPOSTBOX_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -94,4 +94,4 @@
void notify_collection_stop();
};
-#endif // SHARE_VM_JFR_RECORDER_SERVICE_JFRPOSTBOX_HPP
+#endif // SHARE_JFR_RECORDER_SERVICE_JFRPOSTBOX_HPP
--- a/src/hotspot/share/jfr/recorder/service/jfrRecorderService.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/service/jfrRecorderService.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_SERVICE_JFRRECORDERSERVICE_HPP
-#define SHARE_VM_JFR_RECORDER_SERVICE_JFRRECORDERSERVICE_HPP
+#ifndef SHARE_JFR_RECORDER_SERVICE_JFRRECORDERSERVICE_HPP
+#define SHARE_JFR_RECORDER_SERVICE_JFRRECORDERSERVICE_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -74,4 +74,4 @@
static bool is_recording();
};
-#endif // SHARE_VM_JFR_RECORDER_SERVICE_JFRRECORDERSERVICE_HPP
+#endif // SHARE_JFR_RECORDER_SERVICE_JFRRECORDERSERVICE_HPP
--- a/src/hotspot/share/jfr/recorder/service/jfrRecorderThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/service/jfrRecorderThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_SERVICE_JFRRECORDERTHREAD_HPP
-#define SHARE_VM_JFR_RECORDER_SERVICE_JFRRECORDERTHREAD_HPP
+#ifndef SHARE_JFR_RECORDER_SERVICE_JFRRECORDERTHREAD_HPP
+#define SHARE_JFR_RECORDER_SERVICE_JFRRECORDERTHREAD_HPP
#include "memory/allocation.hpp"
#include "utilities/debug.hpp"
@@ -42,4 +42,4 @@
static bool start(JfrCheckpointManager* cp_manager, JfrPostBox* post_box, TRAPS);
};
-#endif // SHARE_VM_JFR_RECORDER_SERVICE_JFRRECORDERTHREAD_HPP
+#endif // SHARE_JFR_RECORDER_SERVICE_JFRRECORDERTHREAD_HPP
--- a/src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STACKTRACE_JFRSTACKTRACEREPOSITORY_HPP
-#define SHARE_VM_JFR_RECORDER_STACKTRACE_JFRSTACKTRACEREPOSITORY_HPP
+#ifndef SHARE_JFR_RECORDER_STACKTRACE_JFRSTACKTRACEREPOSITORY_HPP
+#define SHARE_JFR_RECORDER_STACKTRACE_JFRSTACKTRACEREPOSITORY_HPP
#include "jfr/utilities/jfrAllocation.hpp"
#include "jfr/utilities/jfrTypes.hpp"
@@ -150,4 +150,4 @@
size_t clear();
};
-#endif // SHARE_VM_JFR_RECORDER_STACKTRACE_JFRSTACKTRACEREPOSITORY_HPP
+#endif // SHARE_JFR_RECORDER_STACKTRACE_JFRSTACKTRACEREPOSITORY_HPP
--- a/src/hotspot/share/jfr/recorder/storage/jfrBuffer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/storage/jfrBuffer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STORAGE_JFRBUFFER_HPP
-#define SHARE_VM_JFR_RECORDER_STORAGE_JFRBUFFER_HPP
+#ifndef SHARE_JFR_RECORDER_STORAGE_JFRBUFFER_HPP
+#define SHARE_JFR_RECORDER_STORAGE_JFRBUFFER_HPP
#include "memory/allocation.hpp"
@@ -184,4 +184,4 @@
}
};
-#endif // SHARE_VM_JFR_RECORDER_STORAGE_JFRBUFFER_HPP
+#endif // SHARE_JFR_RECORDER_STORAGE_JFRBUFFER_HPP
--- a/src/hotspot/share/jfr/recorder/storage/jfrMemorySpace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/storage/jfrMemorySpace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_HPP
-#define SHARE_VM_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_HPP
+#ifndef SHARE_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_HPP
+#define SHARE_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_HPP
#include "jfr/utilities/jfrAllocation.hpp"
#include "jfr/utilities/jfrDoublyLinkedList.hpp"
@@ -165,4 +165,4 @@
size_t processed() const { return 0; }
};
-#endif // SHARE_VM_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_HPP
+#endif // SHARE_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_HPP
--- a/src/hotspot/share/jfr/recorder/storage/jfrMemorySpace.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/storage/jfrMemorySpace.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_INLINE_HPP
-#define SHARE_VM_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_INLINE_HPP
+#ifndef SHARE_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_INLINE_HPP
+#define SHARE_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_INLINE_HPP
#include "jfr/recorder/storage/jfrMemorySpace.hpp"
@@ -381,5 +381,4 @@
}
}
-#endif // SHARE_VM_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_INLINE_HPP
-
+#endif // SHARE_JFR_RECORDER_STORAGE_JFRMEMORYSPACE_INLINE_HPP
--- a/src/hotspot/share/jfr/recorder/storage/jfrMemorySpaceRetrieval.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/storage/jfrMemorySpaceRetrieval.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STORAGE_JFRMEMORYSPACERETRIEVAL_HPP
-#define SHARE_VM_JFR_RECORDER_STORAGE_JFRMEMORYSPACERETRIEVAL_HPP
+#ifndef SHARE_JFR_RECORDER_STORAGE_JFRMEMORYSPACERETRIEVAL_HPP
+#define SHARE_JFR_RECORDER_STORAGE_JFRMEMORYSPACERETRIEVAL_HPP
#include "memory/allocation.hpp"
#include "jfr/recorder/repository/jfrChunkWriter.hpp"
@@ -110,4 +110,4 @@
}
};
-#endif // SHARE_VM_JFR_RECORDER_STORAGE_JFRMEMORYSPACERETRIEVAL_HPP
+#endif // SHARE_JFR_RECORDER_STORAGE_JFRMEMORYSPACERETRIEVAL_HPP
--- a/src/hotspot/share/jfr/recorder/storage/jfrStorage.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/storage/jfrStorage.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGE_HPP
-#define SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGE_HPP
+#ifndef SHARE_JFR_RECORDER_STORAGE_JFRSTORAGE_HPP
+#define SHARE_JFR_RECORDER_STORAGE_JFRSTORAGE_HPP
#include "jfr/recorder/storage/jfrBuffer.hpp"
#include "jfr/recorder/storage/jfrMemorySpace.hpp"
@@ -95,4 +95,4 @@
friend class JfrMemorySpace;
};
-#endif // SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGE_HPP
+#endif // SHARE_JFR_RECORDER_STORAGE_JFRSTORAGE_HPP
--- a/src/hotspot/share/jfr/recorder/storage/jfrStorageControl.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/storage/jfrStorageControl.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGECONTROL_HPP
-#define SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGECONTROL_HPP
+#ifndef SHARE_JFR_RECORDER_STORAGE_JFRSTORAGECONTROL_HPP
+#define SHARE_JFR_RECORDER_STORAGE_JFRSTORAGECONTROL_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -65,4 +65,4 @@
bool should_scavenge() const;
};
-#endif // SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGECONTROL_HPP
+#endif // SHARE_JFR_RECORDER_STORAGE_JFRSTORAGECONTROL_HPP
--- a/src/hotspot/share/jfr/recorder/storage/jfrStorageUtils.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/storage/jfrStorageUtils.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_HPP
-#define SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_HPP
+#ifndef SHARE_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_HPP
+#define SHARE_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_HPP
#include "jfr/recorder/storage/jfrBuffer.hpp"
#include "jfr/recorder/repository/jfrChunkWriter.hpp"
@@ -121,4 +121,4 @@
size_t processed() const { return _operation.processed(); }
};
-#endif // SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_HPP
+#endif // SHARE_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_HPP
--- a/src/hotspot/share/jfr/recorder/storage/jfrStorageUtils.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/storage/jfrStorageUtils.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_INLINE_HPP
-#define SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_INLINE_HPP
+#ifndef SHARE_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_INLINE_HPP
+#define SHARE_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_INLINE_HPP
#include "jfr/recorder/storage/jfrStorageUtils.hpp"
@@ -95,4 +95,4 @@
return result;
}
-#endif // SHARE_VM_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_INLINE_HPP
+#endif // SHARE_JFR_RECORDER_STORAGE_JFRSTORAGEUTILS_INLINE_HPP
--- a/src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STORAGE_JFRVIRTUALMEMORY_HPP
-#define SHARE_VM_JFR_RECORDER_STORAGE_JFRVIRTUALMEMORY_HPP
+#ifndef SHARE_JFR_RECORDER_STORAGE_JFRVIRTUALMEMORY_HPP
+#define SHARE_JFR_RECORDER_STORAGE_JFRVIRTUALMEMORY_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -63,4 +63,4 @@
bool compact(size_t index);
};
-#endif // SHARE_VM_JFR_RECORDER_STORAGE_JFRVIRTUALMEMORY_HPP
+#endif // SHARE_JFR_RECORDER_STORAGE_JFRVIRTUALMEMORY_HPP
--- a/src/hotspot/share/jfr/recorder/stringpool/jfrStringPool.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/stringpool/jfrStringPool.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOL_HPP
-#define SHARE_VM_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOL_HPP
+#ifndef SHARE_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOL_HPP
+#define SHARE_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOL_HPP
#include "jni.h"
#include "jfr/recorder/storage/jfrMemorySpace.hpp"
@@ -80,4 +80,4 @@
friend class JfrMemorySpace;
};
-#endif // SHARE_VM_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOL_HPP
+#endif // SHARE_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOL_HPP
--- a/src/hotspot/share/jfr/recorder/stringpool/jfrStringPoolBuffer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/stringpool/jfrStringPoolBuffer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLBUFFER_HPP
-#define SHARE_VM_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLBUFFER_HPP
+#ifndef SHARE_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLBUFFER_HPP
+#define SHARE_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLBUFFER_HPP
#include "jfr/recorder/storage/jfrBuffer.hpp"
@@ -43,4 +43,4 @@
void set_string_top(uint64_t value);
};
-#endif // SHARE_VM_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLBUFFER_HPP
+#endif // SHARE_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLBUFFER_HPP
--- a/src/hotspot/share/jfr/recorder/stringpool/jfrStringPoolWriter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/recorder/stringpool/jfrStringPoolWriter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLWRITER_HPP
-#define SHARE_VM_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLWRITER_HPP
+#ifndef SHARE_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLWRITER_HPP
+#define SHARE_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLWRITER_HPP
#include "memory/allocation.hpp"
#include "jfr/recorder/stringpool/jfrStringPoolBuffer.hpp"
@@ -55,4 +55,4 @@
void inc_nof_strings();
};
-#endif // SHARE_VM_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLWRITER_HPP
+#endif // SHARE_JFR_RECORDER_STRINGPOOL_JFRSTRINGPOOLWRITER_HPP
--- a/src/hotspot/share/jfr/support/jfrAllocationTracer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/support/jfrAllocationTracer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_SUPPORT_JFRALLOCATIONTRACER_HPP
-#define SHARE_VM_JFR_SUPPORT_JFRALLOCATIONTRACER_HPP
+#ifndef SHARE_JFR_SUPPORT_JFRALLOCATIONTRACER_HPP
+#define SHARE_JFR_SUPPORT_JFRALLOCATIONTRACER_HPP
#include "memory/allocation.hpp"
@@ -37,4 +37,4 @@
~JfrAllocationTracer();
};
-#endif // SHARE_VM_JFR_SUPPORT_JFRALLOCATIONTRACER_HPP
+#endif // SHARE_JFR_SUPPORT_JFRALLOCATIONTRACER_HPP
--- a/src/hotspot/share/jfr/support/jfrEventClass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/support/jfrEventClass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_SUPPORT_JFREVENTCLASS_HPP
-#define SHARE_VM_JFR_SUPPORT_JFREVENTCLASS_HPP
+#ifndef SHARE_JFR_SUPPORT_JFREVENTCLASS_HPP
+#define SHARE_JFR_SUPPORT_JFREVENTCLASS_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -61,4 +61,4 @@
static bool is_visible(const jclass jc);
};
-#endif // SHARE_VM_JFR_SUPPORT_JFREVENTCLASS_HPP
+#endif // SHARE_JFR_SUPPORT_JFREVENTCLASS_HPP
--- a/src/hotspot/share/jfr/support/jfrFlush.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/support/jfrFlush.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_SUPPORT_JFRFLUSH_HPP
-#define SHARE_VM_JFR_SUPPORT_JFRFLUSH_HPP
+#ifndef SHARE_JFR_SUPPORT_JFRFLUSH_HPP
+#define SHARE_JFR_SUPPORT_JFRFLUSH_HPP
#include "jfr/recorder/storage/jfrBuffer.hpp"
#include "jfr/utilities/jfrTypes.hpp"
@@ -74,4 +74,4 @@
}
};
-#endif // SHARE_VM_JFR_SUPPORT_JFRFLUSH_HPP
+#endif // SHARE_JFR_SUPPORT_JFRFLUSH_HPP
--- a/src/hotspot/share/jfr/support/jfrIntrinsics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/support/jfrIntrinsics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_SUPPORT_JFRINTRINSICS_HPP
-#define SHARE_VM_JFR_SUPPORT_JFRINTRINSICS_HPP
+#ifndef SHARE_JFR_SUPPORT_JFRINTRINSICS_HPP
+#define SHARE_JFR_SUPPORT_JFRINTRINSICS_HPP
#include "utilities/macros.hpp"
@@ -53,4 +53,4 @@
#define JFR_INTRINSICS(do_intrinsic, do_class, do_name, do_signature, do_alias)
#endif // INCLUDE_JFR
-#endif // SHARE_VM_JFR_SUPPORT_JFRINTRINSICS_HPP
+#endif // SHARE_JFR_SUPPORT_JFRINTRINSICS_HPP
--- a/src/hotspot/share/jfr/support/jfrKlassExtension.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/support/jfrKlassExtension.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_SUPPORT_JFRKLASSEXTENSION_HPP
-#define SHARE_VM_JFR_SUPPORT_JFRKLASSEXTENSION_HPP
+#ifndef SHARE_JFR_SUPPORT_JFRKLASSEXTENSION_HPP
+#define SHARE_JFR_SUPPORT_JFRKLASSEXTENSION_HPP
#include "jfr/instrumentation/jfrEventClassTransformer.hpp"
#include "jfr/support/jfrTraceIdExtension.hpp"
@@ -39,4 +39,4 @@
#define IS_EVENT_KLASS(ptr) (((ptr)->trace_id() & (JDK_JFR_EVENT_KLASS | JDK_JFR_EVENT_SUBKLASS)) != 0)
#define ON_KLASS_CREATION(k, p, t) if (IS_EVENT_KLASS(k)) JfrEventClassTransformer::on_klass_creation(k, p, t)
-#endif // SHARE_VM_JFR_SUPPORT_JFRKLASSEXTENSION_HPP
+#endif // SHARE_JFR_SUPPORT_JFRKLASSEXTENSION_HPP
--- a/src/hotspot/share/jfr/support/jfrStackTraceMark.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/support/jfrStackTraceMark.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_SUPPORT_JFRSTACKTRACEMARK_HPP
-#define SHARE_VM_JFR_SUPPORT_JFRSTACKTRACEMARK_HPP
+#ifndef SHARE_JFR_SUPPORT_JFRSTACKTRACEMARK_HPP
+#define SHARE_JFR_SUPPORT_JFRSTACKTRACEMARK_HPP
#include "memory/allocation.hpp"
#include "jfrfiles/jfrEventIds.hpp"
@@ -44,4 +44,4 @@
~JfrStackTraceMark();
};
-#endif // SHARE_VM_JFR_SUPPORT_JFRSTACKTRACEMARK_HPP
+#endif // SHARE_JFR_SUPPORT_JFRSTACKTRACEMARK_HPP
--- a/src/hotspot/share/jfr/support/jfrThreadExtension.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/support/jfrThreadExtension.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_SUPPORT_JFRTHREADEXTENSION_HPP
-#define SHARE_VM_JFR_SUPPORT_JFRTHREADEXTENSION_HPP
+#ifndef SHARE_JFR_SUPPORT_JFRTHREADEXTENSION_HPP
+#define SHARE_JFR_SUPPORT_JFRTHREADEXTENSION_HPP
#include "jfr/periodic/sampling/jfrThreadSampler.hpp"
#include "jfr/support/jfrThreadLocal.hpp"
@@ -48,4 +48,4 @@
#define SUSPEND_THREAD_CONDITIONAL(thread) if ((thread)->is_trace_suspend()) JfrThreadSampling::on_javathread_suspend(thread)
-#endif // SHARE_VM_JFR_SUPPORT_JFRTHREADEXTENSION_HPP
+#endif // SHARE_JFR_SUPPORT_JFRTHREADEXTENSION_HPP
--- a/src/hotspot/share/jfr/support/jfrThreadId.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/support/jfrThreadId.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_SUPPORT_JFRTHREADID_HPP
-#define SHARE_VM_JFR_SUPPORT_JFRTHREADID_HPP
+#ifndef SHARE_JFR_SUPPORT_JFRTHREADID_HPP
+#define SHARE_JFR_SUPPORT_JFRTHREADID_HPP
#include "utilities/macros.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -37,5 +37,4 @@
#define JFR_THREAD_ID(thread) ((traceid)(thread)->osthread()->thread_id())
#endif
-#endif // SHARE_VM_JFR_SUPPORT_JFRTHREADID_HPP
-
+#endif // SHARE_JFR_SUPPORT_JFRTHREADID_HPP
--- a/src/hotspot/share/jfr/support/jfrThreadLocal.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/support/jfrThreadLocal.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_SUPPORT_JFRTHREADLOCAL_HPP
-#define SHARE_VM_JFR_SUPPORT_JFRTHREADLOCAL_HPP
+#ifndef SHARE_JFR_SUPPORT_JFRTHREADLOCAL_HPP
+#define SHARE_JFR_SUPPORT_JFRTHREADLOCAL_HPP
#include "jfr/recorder/checkpoint/jfrCheckpointBlob.hpp"
#include "jfr/utilities/jfrTypes.hpp"
@@ -221,4 +221,4 @@
static ByteSize java_event_writer_offset();
};
-#endif // SHARE_VM_JFR_SUPPORT_JFRTHREADLOCAL_HPP
+#endif // SHARE_JFR_SUPPORT_JFRTHREADLOCAL_HPP
--- a/src/hotspot/share/jfr/support/jfrTraceIdExtension.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/support/jfrTraceIdExtension.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_SUPPORT_JFRTRACEIDEXTENSION_HPP
-#define SHARE_VM_JFR_SUPPORT_JFRTRACEIDEXTENSION_HPP
+#ifndef SHARE_JFR_SUPPORT_JFRTRACEIDEXTENSION_HPP
+#define SHARE_JFR_SUPPORT_JFRTRACEIDEXTENSION_HPP
#include "jfr/recorder/checkpoint/types/traceid/jfrTraceId.hpp"
@@ -78,4 +78,4 @@
return _trace_flags.flags_addr(); \
}
-#endif // SHARE_VM_JFR_SUPPORT_JFRTRACEIDEXTENSION_HPP
+#endif // SHARE_JFR_SUPPORT_JFRTRACEIDEXTENSION_HPP
--- a/src/hotspot/share/jfr/utilities/jfrAllocation.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrAllocation.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRALLOCATION_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRALLOCATION_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRALLOCATION_HPP
+#define SHARE_JFR_UTILITIES_JFRALLOCATION_HPP
#include "memory/allocation.hpp"
#include "services/memTracker.hpp"
@@ -71,4 +71,4 @@
}
};
-#endif // SHARE_VM_JFR_UTILITIES_JFRALLOCATION_HPP
+#endif // SHARE_JFR_UTILITIES_JFRALLOCATION_HPP
--- a/src/hotspot/share/jfr/utilities/jfrBigEndian.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrBigEndian.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRBIGENDIAN_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRBIGENDIAN_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRBIGENDIAN_HPP
+#define SHARE_JFR_UTILITIES_JFRBIGENDIAN_HPP
#include "memory/allocation.hpp"
#include "utilities/bytes.hpp"
@@ -133,4 +133,4 @@
return read_unaligned<T>((const address)location);
}
-#endif // SHARE_VM_JFR_UTILITIES_JFRBIGENDIAN_HPP
+#endif // SHARE_JFR_UTILITIES_JFRBIGENDIAN_HPP
--- a/src/hotspot/share/jfr/utilities/jfrDoublyLinkedList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrDoublyLinkedList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRDOUBLYLINKEDLIST_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRDOUBLYLINKEDLIST_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRDOUBLYLINKEDLIST_HPP
+#define SHARE_JFR_UTILITIES_JFRDOUBLYLINKEDLIST_HPP
#include "memory/allocation.hpp"
@@ -215,4 +215,4 @@
assert(in_list(head_node), "not in list error");
}
-#endif // SHARE_VM_JFR_UTILITIES_JFRDOUBLYLINKEDLIST_HPP
+#endif // SHARE_JFR_UTILITIES_JFRDOUBLYLINKEDLIST_HPP
--- a/src/hotspot/share/jfr/utilities/jfrHashtable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrHashtable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRHASHTABLE_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRHASHTABLE_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRHASHTABLE_HPP
+#define SHARE_JFR_UTILITIES_JFRHASHTABLE_HPP
#include "memory/allocation.inline.hpp"
#include "runtime/orderAccess.hpp"
@@ -280,4 +280,4 @@
return entry;
}
-#endif // SHARE_VM_JFR_UTILITIES_JFRHASHTABLE_HPP
+#endif // SHARE_JFR_UTILITIES_JFRHASHTABLE_HPP
--- a/src/hotspot/share/jfr/utilities/jfrIterator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrIterator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRLISTITERATOR_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRLISTITERATOR_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRITERATOR_HPP
+#define SHARE_JFR_UTILITIES_JFRITERATOR_HPP
#include "memory/allocation.hpp"
@@ -104,4 +104,4 @@
StopOnNullIterator(List& list, jfr_iter_direction direction = forward) : IteratorHost<List, NavigatorStopOnNull, AP>(list, direction) {}
};
-#endif // SHARE_VM_JFR_UTILITIES_JFRLISTITERATOR_HPP
+#endif // SHARE_JFR_UTILITIES_JFRITERATOR_HPP
--- a/src/hotspot/share/jfr/utilities/jfrJavaLog.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrJavaLog.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRJAVALOG_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRJAVALOG_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRJAVALOG_HPP
+#define SHARE_JFR_UTILITIES_JFRJAVALOG_HPP
#include "memory/allocation.hpp"
#include "utilities/exceptions.hpp"
@@ -45,4 +45,4 @@
static void log(jint tag_set, jint level, jstring message, TRAPS);
};
-#endif // SHARE_VM_JFR_UTILITIES_JFRJAVALOG_HPP
+#endif // SHARE_JFR_UTILITIES_JFRJAVALOG_HPP
--- a/src/hotspot/share/jfr/utilities/jfrLogTagSets.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrLogTagSets.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRLOGTAGSETS_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRLOGTAGSETS_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRLOGTAGSETS_HPP
+#define SHARE_JFR_UTILITIES_JFRLOGTAGSETS_HPP
#include "logging/logTag.hpp"
@@ -59,4 +59,4 @@
JFR_LOG_TAG(jfr, dcmd)
/* NEW TAGS, DONT FORGET TO UPDATE JAVA SIDE */
-#endif // SHARE_VM_JFR_UTILITIES_JFRLOGTAGSETS_HPP
+#endif // SHARE_JFR_UTILITIES_JFRLOGTAGSETS_HPP
--- a/src/hotspot/share/jfr/utilities/jfrRefCountPointer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrRefCountPointer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRREFCOUNTPOINTER_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRREFCOUNTPOINTER_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRREFCOUNTPOINTER_HPP
+#define SHARE_JFR_UTILITIES_JFRREFCOUNTPOINTER_HPP
#include "jfr/utilities/jfrAllocation.hpp"
#include "runtime/atomic.hpp"
@@ -151,4 +151,4 @@
}
};
-#endif // SHARE_VM_JFR_UTILITIES_JFRREFCOUNTPOINTER_HPP
+#endif // SHARE_JFR_UTILITIES_JFRREFCOUNTPOINTER_HPP
--- a/src/hotspot/share/jfr/utilities/jfrResourceManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrResourceManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_RESOURCEMANAGER_HPP
-#define SHARE_VM_JFR_UTILITIES_RESOURCEMANAGER_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRRESOURCEMANAGER_HPP
+#define SHARE_JFR_UTILITIES_JFRRESOURCEMANAGER_HPP
#include "memory/allocation.hpp"
@@ -57,4 +57,4 @@
T* operator->() const { return _resource_array; }
};
-#endif // SHARE_VM_JFR_UTILITIES_RESOURCEMANAGER_HPP
+#endif // SHARE_JFR_UTILITIES_JFRRESOURCEMANAGER_HPP
--- a/src/hotspot/share/jfr/utilities/jfrSpinlockHelper.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrSpinlockHelper.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRSPINLOCKHELPER_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRSPINLOCKHELPER_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRSPINLOCKHELPER_HPP
+#define SHARE_JFR_UTILITIES_JFRSPINLOCKHELPER_HPP
#include "runtime/thread.hpp"
@@ -47,4 +47,4 @@
}
};
-#endif // SHARE_VM_JFR_UTILITIES_JFRSPINLOCKHELPER_HPP
+#endif // SHARE_JFR_UTILITIES_JFRSPINLOCKHELPER_HPP
--- a/src/hotspot/share/jfr/utilities/jfrTime.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrTime.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRTIME_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRTIME_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRTIME_HPP
+#define SHARE_JFR_UTILITIES_JFRTIME_HPP
#include "utilities/ticks.hpp"
@@ -41,4 +41,4 @@
static const void* time_function();
};
-#endif // SHARE_VM_JFR_UTILITIES_JFRTIME_HPP
+#endif // SHARE_JFR_UTILITIES_JFRTIME_HPP
--- a/src/hotspot/share/jfr/utilities/jfrTimeConverter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrTimeConverter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRTIMECONVERTER_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRTIMECONVERTER_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRTIMECONVERTER_HPP
+#define SHARE_JFR_UTILITIES_JFRTIMECONVERTER_HPP
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -50,4 +50,4 @@
static jlong nanos_to_countertime(jlong c, bool as_os_time = false);
};
-#endif // SHARE_VM_JFR_UTILITIES_JFRTIMECONVERTER_HPP
+#endif // SHARE_JFR_UTILITIES_JFRTIMECONVERTER_HPP
--- a/src/hotspot/share/jfr/utilities/jfrTryLock.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrTryLock.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRTRYLOCK_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRTRYLOCK_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRTRYLOCK_HPP
+#define SHARE_JFR_UTILITIES_JFRTRYLOCK_HPP
#include "runtime/atomic.hpp"
#include "runtime/orderAccess.hpp"
@@ -71,4 +71,4 @@
};
-#endif // SHARE_VM_JFR_UTILITIES_JFRTRYLOCK_HPP
+#endif // SHARE_JFR_UTILITIES_JFRTRYLOCK_HPP
--- a/src/hotspot/share/jfr/utilities/jfrTypes.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/utilities/jfrTypes.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_UTILITIES_JFRTYPES_HPP
-#define SHARE_VM_JFR_UTILITIES_JFRTYPES_HPP
+#ifndef SHARE_JFR_UTILITIES_JFRTYPES_HPP
+#define SHARE_JFR_UTILITIES_JFRTYPES_HPP
#include "jfrfiles/jfrEventIds.hpp"
#include "memory/allocation.hpp"
@@ -39,4 +39,4 @@
TIMED
};
-#endif // SHARE_VM_JFR_UTILITIES_JFRTYPES_HPP
+#endif // SHARE_JFR_UTILITIES_JFRTYPES_HPP
--- a/src/hotspot/share/jfr/writers/jfrBigEndianWriter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrBigEndianWriter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRBIGENDIANWRITER_HPP
-#define SHARE_VM_JFR_WRITERS_JFRBIGENDIANWRITER_HPP
+#ifndef SHARE_JFR_WRITERS_JFRBIGENDIANWRITER_HPP
+#define SHARE_JFR_WRITERS_JFRBIGENDIANWRITER_HPP
#include "jfr/writers/jfrEncoding.hpp"
#include "jfr/writers/jfrMemoryWriterHost.inline.hpp"
@@ -39,4 +39,4 @@
JfrBigEndianWriter(StorageType* storage, size_t size) : BigEndianWriterBase(storage, size + size_safety_cushion) {}
};
-#endif // SHARE_VM_JFR_WRITERS_JFRBIGENDIANWRITER_HPP
+#endif // SHARE_JFR_WRITERS_JFRBIGENDIANWRITER_HPP
--- a/src/hotspot/share/jfr/writers/jfrEncoders.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrEncoders.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRENCODERS_HPP
-#define SHARE_VM_JFR_WRITERS_JFRENCODERS_HPP
+#ifndef SHARE_JFR_WRITERS_JFRENCODERS_HPP
+#define SHARE_JFR_WRITERS_JFRENCODERS_HPP
#include "memory/allocation.hpp"
#include "utilities/bytes.hpp"
@@ -295,4 +295,4 @@
return size;
}
-#endif // SHARE_VM_JFR_WRITERS_JFRENCODERS_HPP
+#endif // SHARE_JFR_WRITERS_JFRENCODERS_HPP
--- a/src/hotspot/share/jfr/writers/jfrEncoding.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrEncoding.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRENCODING_HPP
-#define SHARE_VM_JFR_WRITERS_JFRENCODING_HPP
+#ifndef SHARE_JFR_WRITERS_JFRENCODING_HPP
+#define SHARE_JFR_WRITERS_JFRENCODING_HPP
#include "jfr/writers/jfrEncoders.hpp"
#include "memory/allocation.hpp"
@@ -114,4 +114,4 @@
typedef EncoderHost<BigEndianEncoderImpl, BigEndianEncoderImpl> BigEndianEncoder;
typedef EncoderHost<Varint128EncoderImpl, BigEndianEncoderImpl> CompressedIntegerEncoder;
-#endif // SHARE_VM_JFR_WRITERS_JFRENCODING_HPP
+#endif // SHARE_JFR_WRITERS_JFRENCODING_HPP
--- a/src/hotspot/share/jfr/writers/jfrEventWriterHost.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrEventWriterHost.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFREVENTWRITERHOST_HPP
-#define SHARE_VM_JFR_WRITERS_JFREVENTWRITERHOST_HPP
+#ifndef SHARE_JFR_WRITERS_JFREVENTWRITERHOST_HPP
+#define SHARE_JFR_WRITERS_JFREVENTWRITERHOST_HPP
#include "jfr/writers/jfrWriterHost.inline.hpp"
@@ -48,4 +48,4 @@
~StackEventWriterHost();
};
-#endif // SHARE_VM_JFR_WRITERS_JFREVENTWRITERHOST_HPP
+#endif // SHARE_JFR_WRITERS_JFREVENTWRITERHOST_HPP
--- a/src/hotspot/share/jfr/writers/jfrEventWriterHost.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrEventWriterHost.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFREVENTWRITERHOST_INLINE_HPP
-#define SHARE_VM_JFR_WRITERS_JFREVENTWRITERHOST_INLINE_HPP
+#ifndef SHARE_JFR_WRITERS_JFREVENTWRITERHOST_INLINE_HPP
+#define SHARE_JFR_WRITERS_JFREVENTWRITERHOST_INLINE_HPP
#include "jfr/writers/jfrEventWriterHost.hpp"
@@ -94,4 +94,4 @@
this->end_event_write();
}
-#endif // SHARE_VM_JFR_WRITERS_JFREVENTWRITERHOST_INLINE_HPP
+#endif // SHARE_JFR_WRITERS_JFREVENTWRITERHOST_INLINE_HPP
--- a/src/hotspot/share/jfr/writers/jfrJavaEventWriter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrJavaEventWriter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRJAVAEVENTWRITER_HPP
-#define SHARE_VM_JFR_WRITERS_JFRJAVAEVENTWRITER_HPP
+#ifndef SHARE_JFR_WRITERS_JFRJAVAEVENTWRITER_HPP
+#define SHARE_JFR_WRITERS_JFRJAVAEVENTWRITER_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -46,4 +46,4 @@
static jboolean flush(jobject writer, jint used, jint requested, JavaThread* jt);
};
-#endif // SHARE_VM_JFR_WRITERS_JFRJAVAEVENTWRITER_HPP
+#endif // SHARE_JFR_WRITERS_JFRJAVAEVENTWRITER_HPP
--- a/src/hotspot/share/jfr/writers/jfrMemoryWriterHost.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrMemoryWriterHost.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRMEMORYWRITERHOST_HPP
-#define SHARE_VM_JFR_WRITERS_JFRMEMORYWRITERHOST_HPP
+#ifndef SHARE_JFR_WRITERS_JFRMEMORYWRITERHOST_HPP
+#define SHARE_JFR_WRITERS_JFRMEMORYWRITERHOST_HPP
#include "jfr/writers/jfrStorageHost.inline.hpp"
@@ -69,4 +69,4 @@
~AcquireReleaseMemoryWriterHost();
};
-#endif // SHARE_VM_JFR_WRITERS_JFRMEMORYWRITERHOST_HPP
+#endif // SHARE_JFR_WRITERS_JFRMEMORYWRITERHOST_HPP
--- a/src/hotspot/share/jfr/writers/jfrMemoryWriterHost.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrMemoryWriterHost.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRMEMORYWRITERHOST_INLINE_HPP
-#define SHARE_VM_JFR_WRITERS_JFRMEMORYWRITERHOST_INLINE_HPP
+#ifndef SHARE_JFR_WRITERS_JFRMEMORYWRITERHOST_INLINE_HPP
+#define SHARE_JFR_WRITERS_JFRMEMORYWRITERHOST_INLINE_HPP
#include "jfr/writers/jfrMemoryWriterHost.hpp"
@@ -96,4 +96,4 @@
this->release();
}
-#endif // SHARE_VM_JFR_WRITERS_JFRMEMORYWRITERHOST_INLINE_HPP
+#endif // SHARE_JFR_WRITERS_JFRMEMORYWRITERHOST_INLINE_HPP
--- a/src/hotspot/share/jfr/writers/jfrNativeEventWriter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrNativeEventWriter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRNATIVEEVENTWRITER_HPP
-#define SHARE_VM_JFR_WRITERS_JFRNATIVEEVENTWRITER_HPP
+#ifndef SHARE_JFR_WRITERS_JFRNATIVEEVENTWRITER_HPP
+#define SHARE_JFR_WRITERS_JFRNATIVEEVENTWRITER_HPP
#include "jfr/support/jfrFlush.hpp"
#include "jfr/writers/jfrEncoding.hpp"
@@ -35,4 +35,4 @@
typedef MemoryWriterHost<JfrNativeEventAdapter, StackObj> JfrNativeEventWriterImpl;
typedef StackEventWriterHost<BigEndianEncoder, CompressedIntegerEncoder, JfrNativeEventWriterImpl> JfrNativeEventWriter;
-#endif // SHARE_VM_JFR_WRITERS_JFRNATIVEEVENTWRITER_HPP
+#endif // SHARE_JFR_WRITERS_JFRNATIVEEVENTWRITER_HPP
--- a/src/hotspot/share/jfr/writers/jfrPosition.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrPosition.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRPOSITION_HPP
-#define SHARE_VM_JFR_WRITERS_JFRPOSITION_HPP
+#ifndef SHARE_JFR_WRITERS_JFRPOSITION_HPP
+#define SHARE_JFR_WRITERS_JFRPOSITION_HPP
#include "utilities/debug.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -54,4 +54,4 @@
void reset();
};
-#endif // SHARE_VM_JFR_WRITERS_JFRPOSITION_HPP
+#endif // SHARE_JFR_WRITERS_JFRPOSITION_HPP
--- a/src/hotspot/share/jfr/writers/jfrPosition.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrPosition.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRPOSITION_INLINE_HPP
-#define SHARE_VM_JFR_WRITERS_JFRPOSITION_INLINE_HPP
+#ifndef SHARE_JFR_WRITERS_JFRPOSITION_INLINE_HPP
+#define SHARE_JFR_WRITERS_JFRPOSITION_INLINE_HPP
#include "jfr/writers/jfrPosition.hpp"
@@ -99,4 +99,4 @@
set_current_pos(_start_pos);
}
-#endif // SHARE_VM_JFR_WRITERS_JFRPOSITION_INLINE_HPP
+#endif // SHARE_JFR_WRITERS_JFRPOSITION_INLINE_HPP
--- a/src/hotspot/share/jfr/writers/jfrStorageAdapter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrStorageAdapter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRSTORAGEADAPTER_HPP
-#define SHARE_VM_JFR_WRITERS_JFRSTORAGEADAPTER_HPP
+#ifndef SHARE_JFR_WRITERS_JFRSTORAGEADAPTER_HPP
+#define SHARE_JFR_WRITERS_JFRSTORAGEADAPTER_HPP
#include "jfr/utilities/jfrAllocation.hpp"
@@ -240,4 +240,4 @@
}
};
-#endif // SHARE_VM_JFR_WRITERS_JFRSTORAGEADAPTER_HPP
+#endif // SHARE_JFR_WRITERS_JFRSTORAGEADAPTER_HPP
--- a/src/hotspot/share/jfr/writers/jfrStorageHost.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrStorageHost.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRSTORAGEHOST_HPP
-#define SHARE_VM_JFR_WRITERS_JFRSTORAGEHOST_HPP
+#ifndef SHARE_JFR_WRITERS_JFRSTORAGEHOST_HPP
+#define SHARE_JFR_WRITERS_JFRSTORAGEHOST_HPP
#include "jfr/writers/jfrPosition.inline.hpp"
@@ -55,5 +55,4 @@
void seek(intptr_t offset);
};
-#endif // SHARE_VM_JFR_WRITERS_JFRSTORAGEHOST_HPP
-
+#endif // SHARE_JFR_WRITERS_JFRSTORAGEHOST_HPP
--- a/src/hotspot/share/jfr/writers/jfrStorageHost.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrStorageHost.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRSTORAGEHOST_INLINE_HPP
-#define SHARE_VM_JFR_WRITERS_JFRSTORAGEHOST_INLINE_HPP
+#ifndef SHARE_JFR_WRITERS_JFRSTORAGEHOST_INLINE_HPP
+#define SHARE_JFR_WRITERS_JFRSTORAGEHOST_INLINE_HPP
#include "jfr/writers/jfrStorageHost.hpp"
@@ -135,4 +135,4 @@
}
}
-#endif // SHARE_VM_JFR_WRITERS_JFRSTORAGEHOST_INLINE_HPP
+#endif // SHARE_JFR_WRITERS_JFRSTORAGEHOST_INLINE_HPP
--- a/src/hotspot/share/jfr/writers/jfrStreamWriterHost.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrStreamWriterHost.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRSTREAMWRITERHOST_HPP
-#define SHARE_VM_JFR_WRITERS_JFRSTREAMWRITERHOST_HPP
+#ifndef SHARE_JFR_WRITERS_JFRSTREAMWRITERHOST_HPP
+#define SHARE_JFR_WRITERS_JFRSTREAMWRITERHOST_HPP
#include "jfr/utilities/jfrTypes.hpp"
#include "jfr/writers/jfrMemoryWriterHost.inline.hpp"
@@ -56,5 +56,4 @@
void reset(fio_fd fd);
};
-#endif // SHARE_VM_JFR_WRITERS_JFRSTREAMWRITERHOST_HPP
-
+#endif // SHARE_JFR_WRITERS_JFRSTREAMWRITERHOST_HPP
--- a/src/hotspot/share/jfr/writers/jfrStreamWriterHost.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrStreamWriterHost.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRSTREAMWRITERHOST_INLINE_HPP
-#define SHARE_VM_JFR_WRITERS_JFRSTREAMWRITERHOST_INLINE_HPP
+#ifndef SHARE_JFR_WRITERS_JFRSTREAMWRITERHOST_INLINE_HPP
+#define SHARE_JFR_WRITERS_JFRSTREAMWRITERHOST_INLINE_HPP
#include "jfr/writers/jfrStreamWriterHost.hpp"
#include "runtime/os.hpp"
@@ -136,4 +136,4 @@
this->hard_reset();
}
-#endif // SHARE_VM_JFR_WRITERS_JFRSTREAMWRITERHOST_INLINE_HPP
+#endif // SHARE_JFR_WRITERS_JFRSTREAMWRITERHOST_INLINE_HPP
--- a/src/hotspot/share/jfr/writers/jfrWriterHost.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrWriterHost.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRWRITERHOST_HPP
-#define SHARE_VM_JFR_WRITERS_JFRWRITERHOST_HPP
+#ifndef SHARE_JFR_WRITERS_JFRWRITERHOST_HPP
+#define SHARE_JFR_WRITERS_JFRWRITERHOST_HPP
#include "jni.h"
#include "utilities/globalDefinitions.hpp"
@@ -99,4 +99,4 @@
intptr_t reserve(size_t size);
};
-#endif // SHARE_VM_JFR_WRITERS_JFRWRITERHOST_HPP
+#endif // SHARE_JFR_WRITERS_JFRWRITERHOST_HPP
--- a/src/hotspot/share/jfr/writers/jfrWriterHost.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jfr/writers/jfrWriterHost.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JFR_WRITERS_JFRWRITERHOST_INLINE_HPP
-#define SHARE_VM_JFR_WRITERS_JFRWRITERHOST_INLINE_HPP
+#ifndef SHARE_JFR_WRITERS_JFRWRITERHOST_INLINE_HPP
+#define SHARE_JFR_WRITERS_JFRWRITERHOST_INLINE_HPP
#include "classfile/javaClasses.hpp"
#include "jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp"
@@ -360,5 +360,4 @@
}
}
-#endif // SHARE_VM_JFR_WRITERS_JFRWRITERHOST_INLINE_HPP
-
+#endif // SHARE_JFR_WRITERS_JFRWRITERHOST_INLINE_HPP
--- a/src/hotspot/share/jvmci/compilerRuntime.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/compilerRuntime.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_RUNTIME_COMPILERRUNTIME_HPP
-#define SHARE_VM_RUNTIME_COMPILERRUNTIME_HPP
+#ifndef SHARE_JVMCI_COMPILERRUNTIME_HPP
+#define SHARE_JVMCI_COMPILERRUNTIME_HPP
#include "memory/allocation.hpp"
#include "memory/resourceArea.hpp"
@@ -48,4 +48,4 @@
static void backedge_event(JavaThread *thread, MethodCounters* counters, int branch_bci, int target_bci);
};
-#endif // SHARE_VM_RUNTIME_COMPILERRUNTIME_HPP
+#endif // SHARE_JVMCI_COMPILERRUNTIME_HPP
--- a/src/hotspot/share/jvmci/jvmciCodeInstaller.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/jvmciCodeInstaller.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_JVMCI_JVMCI_CODE_INSTALLER_HPP
-#define SHARE_VM_JVMCI_JVMCI_CODE_INSTALLER_HPP
+#ifndef SHARE_JVMCI_JVMCICODEINSTALLER_HPP
+#define SHARE_JVMCI_JVMCICODEINSTALLER_HPP
#include "jvmci/jvmciCompiler.hpp"
#include "jvmci/jvmciEnv.hpp"
@@ -279,4 +279,4 @@
-#endif // SHARE_VM_JVMCI_JVMCI_CODE_INSTALLER_HPP
+#endif // SHARE_JVMCI_JVMCICODEINSTALLER_HPP
--- a/src/hotspot/share/jvmci/jvmciCompiler.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/jvmciCompiler.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -122,6 +122,7 @@
if (_bootstrapping && is_osr) {
// no OSR compilations during bootstrap - the compiler is just too slow at this point,
// and we know that there are no endless loops
+ env->set_failure(true, "No OSR during boostrap");
return;
}
@@ -160,17 +161,21 @@
CLEAR_PENDING_EXCEPTION;
}
- env->set_failure("exception throw", false);
+ env->set_failure(false, "unexpected exception thrown");
} else {
oop result_object = (oop) result.get_jobject();
if (result_object != NULL) {
oop failure_message = HotSpotCompilationRequestResult::failureMessage(result_object);
if (failure_message != NULL) {
+ // Copy failure reason into resource memory first ...
const char* failure_reason = java_lang_String::as_utf8_string(failure_message);
- env->set_failure(failure_reason, HotSpotCompilationRequestResult::retry(result_object) != 0);
+ // ... and then into the C heap.
+ failure_reason = os::strdup(failure_reason, mtCompiler);
+ bool retryable = HotSpotCompilationRequestResult::retry(result_object) != 0;
+ env->set_failure(retryable, failure_reason, true);
} else {
if (env->task()->code() == NULL) {
- env->set_failure("no nmethod produced", true);
+ env->set_failure(true, "no nmethod produced");
} else {
env->task()->set_num_inlined_bytecodes(HotSpotCompilationRequestResult::inlinedBytecodes(result_object));
Atomic::inc(&_methods_compiled);
--- a/src/hotspot/share/jvmci/jvmciCompiler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/jvmciCompiler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_JVMCI_JVMCI_COMPILER_HPP
-#define SHARE_VM_JVMCI_JVMCI_COMPILER_HPP
+#ifndef SHARE_JVMCI_JVMCICOMPILER_HPP
+#define SHARE_JVMCI_JVMCICOMPILER_HPP
#include "compiler/abstractCompiler.hpp"
#include "jvmci/jvmciEnv.hpp"
@@ -107,4 +107,4 @@
static elapsedTimer* codeInstallTimer() { return &_codeInstallTimer; }
};
-#endif // SHARE_VM_JVMCI_JVMCI_COMPILER_HPP
+#endif // SHARE_JVMCI_JVMCICOMPILER_HPP
--- a/src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -602,6 +602,17 @@
return NULL;
}
+ if (method->name() == vmSymbols::clone_name() &&
+ resolved == SystemDictionary::Object_klass() &&
+ recv_klass->is_array_klass()) {
+ // Resolution of the clone method on arrays always returns Object.clone even though that method
+ // has protected access. There's some trickery in the access checking to make this all work out
+ // so it's necessary to pass in the array class as the resolved class to properly trigger this.
+ // Otherwise it's impossible to resolve the array clone methods through JVMCI. See
+ // LinkResolver::check_method_accessability for the matching logic.
+ resolved = recv_klass;
+ }
+
LinkInfo link_info(resolved, h_name, h_signature, caller_klass);
methodHandle m;
// Only do exact lookup if receiver klass has been linked. Otherwise,
--- a/src/hotspot/share/jvmci/jvmciCompilerToVM.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/jvmciCompilerToVM.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_JVMCI_JVMCI_COMPILER_TO_VM_HPP
-#define SHARE_VM_JVMCI_JVMCI_COMPILER_TO_VM_HPP
+#ifndef SHARE_JVMCI_JVMCICOMPILERTOVM_HPP
+#define SHARE_JVMCI_JVMCICOMPILERTOVM_HPP
#include "jni.h"
#include "runtime/javaCalls.hpp"
@@ -242,4 +242,4 @@
static void pop_jni_handle_block();
};
-#endif // SHARE_VM_JVMCI_JVMCI_COMPILER_TO_VM_HPP
+#endif // SHARE_JVMCI_JVMCICOMPILERTOVM_HPP
--- a/src/hotspot/share/jvmci/jvmciEnv.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/jvmciEnv.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -57,8 +57,9 @@
JVMCIEnv::JVMCIEnv(CompileTask* task, int system_dictionary_modification_counter):
_task(task),
_system_dictionary_modification_counter(system_dictionary_modification_counter),
+ _retryable(true),
_failure_reason(NULL),
- _retryable(true)
+ _failure_reason_on_C_heap(false)
{
// Get Jvmti capabilities under lock to get consistent values.
MutexLocker mu(JvmtiThreadState_lock);
--- a/src/hotspot/share/jvmci/jvmciEnv.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/jvmciEnv.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JVMCI_JVMCIENV_HPP
-#define SHARE_VM_JVMCI_JVMCIENV_HPP
+#ifndef SHARE_JVMCI_JVMCIENV_HPP
+#define SHARE_JVMCI_JVMCIENV_HPP
#include "classfile/systemDictionary.hpp"
#include "code/debugInfoRec.hpp"
@@ -99,8 +99,11 @@
int _system_dictionary_modification_counter;
// Compilation result values
+ bool _retryable;
const char* _failure_reason;
- bool _retryable;
+
+ // Specifies if _failure_reason is on the C heap.
+ bool _failure_reason_on_C_heap;
// Cache JVMTI state
bool _jvmti_can_hotswap_or_post_breakpoint;
@@ -145,10 +148,12 @@
CompileTask* task() { return _task; }
const char* failure_reason() { return _failure_reason; }
+ bool failure_reason_on_C_heap() { return _failure_reason_on_C_heap; }
bool retryable() { return _retryable; }
- void set_failure(const char* reason, bool retryable) {
+ void set_failure(bool retryable, const char* reason, bool reason_on_C_heap = false) {
_failure_reason = reason;
+ _failure_reason_on_C_heap = reason_on_C_heap;
_retryable = retryable;
}
@@ -181,4 +186,4 @@
static InstanceKlass* get_instance_klass_for_declared_method_holder(Klass* klass);
};
-#endif // SHARE_VM_JVMCI_JVMCIENV_HPP
+#endif // SHARE_JVMCI_JVMCIENV_HPP
--- a/src/hotspot/share/jvmci/jvmciJavaClasses.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/jvmciJavaClasses.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_JVMCI_JVMCIJAVACLASSES_HPP
-#define SHARE_VM_JVMCI_JVMCIJAVACLASSES_HPP
+#ifndef SHARE_JVMCI_JVMCIJAVACLASSES_HPP
+#define SHARE_JVMCI_JVMCIJAVACLASSES_HPP
#include "classfile/systemDictionary.hpp"
#include "oops/access.hpp"
@@ -381,4 +381,4 @@
void compute_offset(int &dest_offset, Klass* klass, const char* name, const char* signature, bool static_field, TRAPS);
-#endif // SHARE_VM_JVMCI_JVMCIJAVACLASSES_HPP
+#endif // SHARE_JVMCI_JVMCIJAVACLASSES_HPP
--- a/src/hotspot/share/jvmci/jvmciRuntime.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/jvmciRuntime.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_JVMCI_JVMCI_RUNTIME_HPP
-#define SHARE_VM_JVMCI_JVMCI_RUNTIME_HPP
+#ifndef SHARE_JVMCI_JVMCIRUNTIME_HPP
+#define SHARE_JVMCI_JVMCIRUNTIME_HPP
#include "interpreter/interpreter.hpp"
#include "memory/allocation.hpp"
@@ -200,4 +200,4 @@
#define TRACE_jvmci_4 if (!(JVMCITraceLevel >= 4 && (tty->print(" JVMCITrace-4: "), true))) ; else tty->print_cr
#define TRACE_jvmci_5 if (!(JVMCITraceLevel >= 5 && (tty->print(" JVMCITrace-5: "), true))) ; else tty->print_cr
-#endif // SHARE_VM_JVMCI_JVMCI_RUNTIME_HPP
+#endif // SHARE_JVMCI_JVMCIRUNTIME_HPP
--- a/src/hotspot/share/jvmci/jvmci_globals.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/jvmci_globals.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JVMCI_JVMCIGLOBALS_HPP
-#define SHARE_VM_JVMCI_JVMCIGLOBALS_HPP
+#ifndef SHARE_JVMCI_JVMCI_GLOBALS_HPP
+#define SHARE_JVMCI_JVMCI_GLOBALS_HPP
#include "runtime/globals.hpp"
@@ -140,4 +140,4 @@
// Check and exit VM with error if selected GC is not supported by JVMCI.
static void check_jvmci_supported_gc();
};
-#endif // SHARE_VM_JVMCI_JVMCIGLOBALS_HPP
+#endif // SHARE_JVMCI_JVMCI_GLOBALS_HPP
--- a/src/hotspot/share/jvmci/systemDictionary_jvmci.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/systemDictionary_jvmci.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_JVMCI_SYSTEMDICTIONARY_JVMCI_HPP
-#define SHARE_VM_JVMCI_SYSTEMDICTIONARY_JVMCI_HPP
+#ifndef SHARE_JVMCI_SYSTEMDICTIONARY_JVMCI_HPP
+#define SHARE_JVMCI_SYSTEMDICTIONARY_JVMCI_HPP
#if !INCLUDE_JVMCI
#define JVMCI_WK_KLASSES_DO(do_klass)
@@ -91,4 +91,4 @@
do_klass(Value_klass, jdk_vm_ci_meta_Value )
#endif
-#endif // SHARE_VM_JVMCI_SYSTEMDICTIONARY_JVMCI_HPP
+#endif // SHARE_JVMCI_SYSTEMDICTIONARY_JVMCI_HPP
--- a/src/hotspot/share/jvmci/vmStructs_compiler_runtime.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/vmStructs_compiler_runtime.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_JVMCI_VMSTRUCTS_COMPILER_RUNTIME_HPP
-#define SHARE_VM_JVMCI_VMSTRUCTS_COMPILER_RUNTIME_HPP
+#ifndef SHARE_JVMCI_VMSTRUCTS_COMPILER_RUNTIME_HPP
+#define SHARE_JVMCI_VMSTRUCTS_COMPILER_RUNTIME_HPP
#if INCLUDE_AOT
#include "jvmci/compilerRuntime.hpp"
@@ -42,4 +42,4 @@
#endif // INCLUDE_AOT
-#endif // SHARE_VM_AOT_VMSTRUCTS_COMPILER_RUNTIME_HPP
+#endif // SHARE_JVMCI_VMSTRUCTS_COMPILER_RUNTIME_HPP
--- a/src/hotspot/share/jvmci/vmStructs_jvmci.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/vmStructs_jvmci.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_JVMCI_VMSTRUCTS_JVMCI_HPP
-#define SHARE_VM_JVMCI_VMSTRUCTS_JVMCI_HPP
+#ifndef SHARE_JVMCI_VMSTRUCTS_JVMCI_HPP
+#define SHARE_JVMCI_VMSTRUCTS_JVMCI_HPP
#include "runtime/vmStructs.hpp"
@@ -63,4 +63,4 @@
static int localHotSpotVMAddresses_count();
};
-#endif // SHARE_VM_JVMCI_VMSTRUCTS_JVMCI_HPP
+#endif // SHARE_JVMCI_VMSTRUCTS_JVMCI_HPP
--- a/src/hotspot/share/jvmci/vmSymbols_jvmci.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/jvmci/vmSymbols_jvmci.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_JVMCI_VMSYMBOLS_JVMCI_HPP
-#define SHARE_VM_JVMCI_VMSYMBOLS_JVMCI_HPP
+#ifndef SHARE_JVMCI_VMSYMBOLS_JVMCI_HPP
+#define SHARE_JVMCI_VMSYMBOLS_JVMCI_HPP
#if !INCLUDE_JVMCI
@@ -104,4 +104,4 @@
template(klass_fromMetaspace_signature, "(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;")
#endif
-#endif // SHARE_VM_JVMCI_VMSYMBOLS_JVMCI_HPP
+#endif // SHARE_JVMCI_VMSYMBOLS_JVMCI_HPP
--- a/src/hotspot/share/libadt/dict.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/libadt/dict.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LIBADT_DICT_HPP
-#define SHARE_VM_LIBADT_DICT_HPP
+#ifndef SHARE_LIBADT_DICT_HPP
+#define SHARE_LIBADT_DICT_HPP
// Dictionaries - An Abstract Data Type
@@ -118,4 +118,4 @@
int test(void) { return _i<_d->_size;} // Test for end of iteration
};
-#endif // SHARE_VM_LIBADT_DICT_HPP
+#endif // SHARE_LIBADT_DICT_HPP
--- a/src/hotspot/share/libadt/set.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/libadt/set.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LIBADT_SET_HPP
-#define SHARE_VM_LIBADT_SET_HPP
+#ifndef SHARE_LIBADT_SET_HPP
+#define SHARE_LIBADT_SET_HPP
#include "memory/allocation.hpp"
@@ -244,4 +244,4 @@
int test(void) { return impl->test(); }
};
-#endif // SHARE_VM_LIBADT_SET_HPP
+#endif // SHARE_LIBADT_SET_HPP
--- a/src/hotspot/share/libadt/vectset.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/libadt/vectset.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LIBADT_VECTSET_HPP
-#define SHARE_VM_LIBADT_VECTSET_HPP
+#ifndef SHARE_LIBADT_VECTSET_HPP
+#define SHARE_LIBADT_VECTSET_HPP
#include "libadt/set.hpp"
@@ -184,4 +184,4 @@
int test(void) { return i < s->size; }
};
-#endif // SHARE_VM_LIBADT_VECTSET_HPP
+#endif // SHARE_LIBADT_VECTSET_HPP
--- a/src/hotspot/share/logging/log.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/log.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOG_HPP
-#define SHARE_VM_LOGGING_LOG_HPP
+#ifndef SHARE_LOGGING_LOG_HPP
+#define SHARE_LOGGING_LOG_HPP
#include "logging/logLevel.hpp"
#include "logging/logPrefix.hpp"
@@ -198,4 +198,4 @@
};
-#endif // SHARE_VM_LOGGING_LOG_HPP
+#endif // SHARE_LOGGING_LOG_HPP
--- a/src/hotspot/share/logging/logConfiguration.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logConfiguration.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGCONFIGURATION_HPP
-#define SHARE_VM_LOGGING_LOGCONFIGURATION_HPP
+#ifndef SHARE_LOGGING_LOGCONFIGURATION_HPP
+#define SHARE_LOGGING_LOGCONFIGURATION_HPP
#include "logging/logLevel.hpp"
#include "memory/allocation.hpp"
@@ -125,4 +125,4 @@
static void rotate_all_outputs();
};
-#endif // SHARE_VM_LOGGING_LOGCONFIGURATION_HPP
+#endif // SHARE_LOGGING_LOGCONFIGURATION_HPP
--- a/src/hotspot/share/logging/logDecorations.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logDecorations.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGDECORATIONS_HPP
-#define SHARE_VM_LOGGING_LOGDECORATIONS_HPP
+#ifndef SHARE_LOGGING_LOGDECORATIONS_HPP
+#define SHARE_LOGGING_LOGDECORATIONS_HPP
#include "logging/logDecorators.hpp"
#include "logging/logTagSet.hpp"
@@ -64,4 +64,4 @@
}
};
-#endif // SHARE_VM_LOGGING_LOGDECORATIONS_HPP
+#endif // SHARE_LOGGING_LOGDECORATIONS_HPP
--- a/src/hotspot/share/logging/logDecorators.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logDecorators.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGDECORATORS_HPP
-#define SHARE_VM_LOGGING_LOGDECORATORS_HPP
+#ifndef SHARE_LOGGING_LOGDECORATORS_HPP
+#define SHARE_LOGGING_LOGDECORATORS_HPP
#include "utilities/globalDefinitions.hpp"
@@ -115,4 +115,4 @@
bool parse(const char* decorator_args, outputStream* errstream = NULL);
};
-#endif // SHARE_VM_LOGGING_LOGDECORATORS_HPP
+#endif // SHARE_LOGGING_LOGDECORATORS_HPP
--- a/src/hotspot/share/logging/logDiagnosticCommand.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logDiagnosticCommand.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGDIAGNOSTICCOMMAND_HPP
-#define SHARE_VM_LOGGING_LOGDIAGNOSTICCOMMAND_HPP
+#ifndef SHARE_LOGGING_LOGDIAGNOSTICCOMMAND_HPP
+#define SHARE_LOGGING_LOGDIAGNOSTICCOMMAND_HPP
#include "services/diagnosticCommand.hpp"
@@ -66,4 +66,4 @@
}
};
-#endif // SHARE_VM_LOGGING_LOGDIAGNOSTICCOMMAND_HPP
+#endif // SHARE_LOGGING_LOGDIAGNOSTICCOMMAND_HPP
--- a/src/hotspot/share/logging/logFileOutput.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logFileOutput.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -45,7 +45,7 @@
LogFileOutput::LogFileOutput(const char* name)
: LogFileStreamOutput(NULL), _name(os::strdup_check_oom(name, mtLogging)),
_file_name(NULL), _archive_name(NULL), _current_file(0),
- _file_count(DefaultFileCount), _archive_name_len(0),
+ _file_count(DefaultFileCount), _is_default_file_count(true), _archive_name_len(0),
_rotate_size(DefaultFileSize), _current_size(0), _rotation_semaphore(1) {
assert(strstr(name, Prefix) == name, "invalid output name '%s': missing prefix: %s", name, Prefix);
_file_name = make_file_name(name + strlen(Prefix), _pid_str, _vm_start_time_str);
@@ -101,6 +101,15 @@
return (st.st_mode & S_IFMT) == S_IFREG;
}
+static bool is_fifo_file(const char* filename) {
+ struct stat st;
+ int ret = os::stat(filename, &st);
+ if (ret != 0) {
+ return false;
+ }
+ return S_ISFIFO(st.st_mode);
+}
+
// Try to find the next number that should be used for file rotation.
// Return UINT_MAX on error.
static uint next_file_number(const char* filename,
@@ -187,6 +196,7 @@
break;
}
_file_count = static_cast<uint>(value);
+ _is_default_file_count = false;
} else if (strcmp(FileSizeOptionKey, key) == 0) {
julong value;
success = Arguments::atojulong(value_str, &value);
@@ -214,6 +224,11 @@
return false;
}
+ bool file_exist = file_exists(_file_name);
+ if (file_exist && _is_default_file_count && is_fifo_file(_file_name)) {
+ _file_count = 0; // Prevent file rotation for fifo's such as named pipes.
+ }
+
if (_file_count > 0) {
// compute digits with filecount - 1 since numbers will start from 0
_file_count_max_digits = number_of_digits(_file_count - 1);
@@ -225,7 +240,7 @@
", filesize: " SIZE_FORMAT " KiB).",
_file_name, _file_count, _rotate_size / K);
- if (_file_count > 0 && file_exists(_file_name)) {
+ if (_file_count > 0 && file_exist) {
if (!is_regular_file(_file_name)) {
errstream->print_cr("Unable to log to file %s with log file rotation: "
"%s is not a regular file",
--- a/src/hotspot/share/logging/logFileOutput.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logFileOutput.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGFILEOUTPUT_HPP
-#define SHARE_VM_LOGGING_LOGFILEOUTPUT_HPP
+#ifndef SHARE_LOGGING_LOGFILEOUTPUT_HPP
+#define SHARE_LOGGING_LOGFILEOUTPUT_HPP
#include "logging/logFileStreamOutput.hpp"
#include "runtime/semaphore.hpp"
@@ -54,6 +54,7 @@
uint _current_file;
uint _file_count;
uint _file_count_max_digits;
+ bool _is_default_file_count;
size_t _archive_name_len;
size_t _rotate_size;
@@ -95,4 +96,4 @@
static void set_file_name_parameters(jlong start_time);
};
-#endif // SHARE_VM_LOGGING_LOGFILEOUTPUT_HPP
+#endif // SHARE_LOGGING_LOGFILEOUTPUT_HPP
--- a/src/hotspot/share/logging/logFileStreamOutput.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logFileStreamOutput.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGFILESTREAMOUTPUT_HPP
-#define SHARE_VM_LOGGING_LOGFILESTREAMOUTPUT_HPP
+#ifndef SHARE_LOGGING_LOGFILESTREAMOUTPUT_HPP
+#define SHARE_LOGGING_LOGFILESTREAMOUTPUT_HPP
#include "logging/logDecorators.hpp"
#include "logging/logOutput.hpp"
@@ -90,4 +90,4 @@
extern LogStderrOutput &StderrLog;
extern LogStdoutOutput &StdoutLog;
-#endif // SHARE_VM_LOGGING_LOGFILESTREAMOUTPUT_HPP
+#endif // SHARE_LOGGING_LOGFILESTREAMOUTPUT_HPP
--- a/src/hotspot/share/logging/logHandle.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logHandle.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGHANDLE_HPP
-#define SHARE_VM_LOGGING_LOGHANDLE_HPP
+#ifndef SHARE_LOGGING_LOGHANDLE_HPP
+#define SHARE_LOGGING_LOGHANDLE_HPP
#include "logging/log.hpp"
@@ -101,4 +101,4 @@
};
-#endif // SHARE_VM_LOGGING_LOGHANDLE_HPP
+#endif // SHARE_LOGGING_LOGHANDLE_HPP
--- a/src/hotspot/share/logging/logLevel.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logLevel.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGLEVEL_HPP
-#define SHARE_VM_LOGGING_LOGLEVEL_HPP
+#ifndef SHARE_LOGGING_LOGLEVEL_HPP
+#define SHARE_LOGGING_LOGLEVEL_HPP
#include "memory/allocation.hpp"
#include "utilities/macros.hpp"
@@ -79,4 +79,4 @@
typedef LogLevel::type LogLevelType;
-#endif // SHARE_VM_LOGGING_LOGLEVEL_HPP
+#endif // SHARE_LOGGING_LOGLEVEL_HPP
--- a/src/hotspot/share/logging/logMessage.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logMessage.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGMESSAGE_HPP
-#define SHARE_VM_LOGGING_LOGMESSAGE_HPP
+#ifndef SHARE_LOGGING_LOGMESSAGE_HPP
+#define SHARE_LOGGING_LOGMESSAGE_HPP
#include "logging/log.hpp"
#include "logging/logMessageBuffer.hpp"
@@ -102,4 +102,4 @@
#undef LOG_LEVEL
};
-#endif // SHARE_VM_LOGGING_LOGMESSAGE_HPP
+#endif // SHARE_LOGGING_LOGMESSAGE_HPP
--- a/src/hotspot/share/logging/logMessageBuffer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logMessageBuffer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGMESSAGEBUFFER_HPP
-#define SHARE_VM_LOGGING_LOGMESSAGEBUFFER_HPP
+#ifndef SHARE_LOGGING_LOGMESSAGEBUFFER_HPP
+#define SHARE_LOGGING_LOGMESSAGEBUFFER_HPP
#include "logging/logDecorations.hpp"
#include "logging/logLevel.hpp"
@@ -128,4 +128,4 @@
#undef LOG_LEVEL
};
-#endif // SHARE_VM_LOGGING_LOGMESSAGEBUFFER_HPP
+#endif // SHARE_LOGGING_LOGMESSAGEBUFFER_HPP
--- a/src/hotspot/share/logging/logOutput.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logOutput.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGOUTPUT_HPP
-#define SHARE_VM_LOGGING_LOGOUTPUT_HPP
+#ifndef SHARE_LOGGING_LOGOUTPUT_HPP
+#define SHARE_LOGGING_LOGOUTPUT_HPP
#include "logging/logDecorators.hpp"
#include "logging/logLevel.hpp"
@@ -101,4 +101,4 @@
virtual int write(LogMessageBuffer::Iterator msg_iterator) = 0;
};
-#endif // SHARE_VM_LOGGING_LOGOUTPUT_HPP
+#endif // SHARE_LOGGING_LOGOUTPUT_HPP
--- a/src/hotspot/share/logging/logOutputList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logOutputList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGOUTPUTLIST_HPP
-#define SHARE_VM_LOGGING_LOGOUTPUTLIST_HPP
+#ifndef SHARE_LOGGING_LOGOUTPUTLIST_HPP
+#define SHARE_LOGGING_LOGOUTPUTLIST_HPP
#include "logging/logLevel.hpp"
#include "memory/allocation.hpp"
@@ -128,4 +128,4 @@
}
};
-#endif // SHARE_VM_LOGGING_LOGOUTPUTLIST_HPP
+#endif // SHARE_LOGGING_LOGOUTPUTLIST_HPP
--- a/src/hotspot/share/logging/logPrefix.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logPrefix.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGPREFIX_HPP
-#define SHARE_VM_LOGGING_LOGPREFIX_HPP
+#ifndef SHARE_LOGGING_LOGPREFIX_HPP
+#define SHARE_LOGGING_LOGPREFIX_HPP
#include "gc/shared/gcId.hpp"
#include "logging/logTag.hpp"
@@ -117,4 +117,4 @@
LOG_PREFIX_LIST
#undef LOG_PREFIX
-#endif // SHARE_VM_LOGGING_LOGPREFIX_HPP
+#endif // SHARE_LOGGING_LOGPREFIX_HPP
--- a/src/hotspot/share/logging/logSelection.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logSelection.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGSELECTION_HPP
-#define SHARE_VM_LOGGING_LOGSELECTION_HPP
+#ifndef SHARE_LOGGING_LOGSELECTION_HPP
+#define SHARE_LOGGING_LOGSELECTION_HPP
#include "logging/logLevel.hpp"
#include "logging/logTag.hpp"
@@ -71,4 +71,4 @@
double similarity(const LogSelection& other) const;
};
-#endif // SHARE_VM_LOGGING_LOGSELECTION_HPP
+#endif // SHARE_LOGGING_LOGSELECTION_HPP
--- a/src/hotspot/share/logging/logSelectionList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logSelectionList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGSELECTIONLIST_HPP
-#define SHARE_VM_LOGGING_LOGSELECTIONLIST_HPP
+#ifndef SHARE_LOGGING_LOGSELECTIONLIST_HPP
+#define SHARE_LOGGING_LOGSELECTIONLIST_HPP
#include "logging/logConfiguration.hpp"
#include "logging/logSelection.hpp"
@@ -62,4 +62,4 @@
bool verify_selections(outputStream* out = NULL) const;
};
-#endif // SHARE_VM_LOGGING_LOGSELECTIONLIST_HPP
+#endif // SHARE_LOGGING_LOGSELECTIONLIST_HPP
--- a/src/hotspot/share/logging/logStream.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logStream.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_LOGGING_LOGSTREAM_HPP
-#define SHARE_VM_LOGGING_LOGSTREAM_HPP
+#ifndef SHARE_LOGGING_LOGSTREAM_HPP
+#define SHARE_LOGGING_LOGSTREAM_HPP
#include "logging/log.hpp"
#include "logging/logHandle.hpp"
@@ -105,4 +105,4 @@
LogStreamTemplate() : LogStream((LogTargetImpl<level, T0, T1, T2, T3, T4, GuardTag>*)NULL) {}
};
-#endif // SHARE_VM_LOGGING_LOGSTREAM_HPP
+#endif // SHARE_LOGGING_LOGSTREAM_HPP
--- a/src/hotspot/share/logging/logTag.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logTag.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGTAG_HPP
-#define SHARE_VM_LOGGING_LOGTAG_HPP
+#ifndef SHARE_LOGGING_LOGTAG_HPP
+#define SHARE_LOGGING_LOGTAG_HPP
#include "logging/logTag_ext.hpp"
#include "memory/allocation.hpp"
@@ -133,6 +133,7 @@
LOG_TAG(reloc) \
LOG_TAG(remset) \
LOG_TAG(parser) \
+ LOG_TAG(ptrqueue) \
LOG_TAG(purge) \
LOG_TAG(resolve) \
LOG_TAG(safepoint) \
@@ -220,4 +221,4 @@
typedef LogTag::type LogTagType;
-#endif // SHARE_VM_LOGGING_LOGTAG_HPP
+#endif // SHARE_LOGGING_LOGTAG_HPP
--- a/src/hotspot/share/logging/logTagSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logTagSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGTAGSET_HPP
-#define SHARE_VM_LOGGING_LOGTAGSET_HPP
+#ifndef SHARE_LOGGING_LOGTAGSET_HPP
+#define SHARE_LOGGING_LOGTAGSET_HPP
#include "logging/logDecorators.hpp"
#include "logging/logLevel.hpp"
@@ -156,4 +156,4 @@
template <LogTagType T0, LogTagType T1, LogTagType T2, LogTagType T3, LogTagType T4, LogTagType GuardTag>
LogTagSet LogTagSetMapping<T0, T1, T2, T3, T4, GuardTag>::_tagset(&LogPrefix<T0, T1, T2, T3, T4>::prefix, T0, T1, T2, T3, T4);
-#endif // SHARE_VM_LOGGING_LOGTAGSET_HPP
+#endif // SHARE_LOGGING_LOGTAGSET_HPP
--- a/src/hotspot/share/logging/logTagSetDescriptions.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logTagSetDescriptions.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGTAGSETDESCRIPTIONS_HPP
-#define SHARE_VM_LOGGING_LOGTAGSETDESCRIPTIONS_HPP
+#ifndef SHARE_LOGGING_LOGTAGSETDESCRIPTIONS_HPP
+#define SHARE_LOGGING_LOGTAGSETDESCRIPTIONS_HPP
class LogTagSet;
@@ -33,4 +33,4 @@
extern struct LogTagSetDescription tagset_descriptions[];
-#endif // SHARE_VM_LOGGING_LOGTAGSETDESCRIPTIONS_HPP
+#endif // SHARE_LOGGING_LOGTAGSETDESCRIPTIONS_HPP
--- a/src/hotspot/share/logging/logTag_ext.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/logging/logTag_ext.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -21,9 +21,9 @@
* questions.
*
*/
-#ifndef SHARE_VM_LOGGING_LOGTAG_EXT_HPP
-#define SHARE_VM_LOGGING_LOGTAG_EXT_HPP
+#ifndef SHARE_LOGGING_LOGTAG_EXT_HPP
+#define SHARE_LOGGING_LOGTAG_EXT_HPP
#define LOG_TAG_LIST_EXT
-#endif // SHARE_VM_LOGGING_LOGTAG_EXT_HPP
+#endif // SHARE_LOGGING_LOGTAG_EXT_HPP
--- a/src/hotspot/share/memory/allocation.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/allocation.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_ALLOCATION_HPP
-#define SHARE_VM_MEMORY_ALLOCATION_HPP
+#ifndef SHARE_MEMORY_ALLOCATION_HPP
+#define SHARE_MEMORY_ALLOCATION_HPP
#include "runtime/globals.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -570,4 +570,4 @@
static void free(E* addr);
};
-#endif // SHARE_VM_MEMORY_ALLOCATION_HPP
+#endif // SHARE_MEMORY_ALLOCATION_HPP
--- a/src/hotspot/share/memory/allocation.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/allocation.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_ALLOCATION_INLINE_HPP
-#define SHARE_VM_MEMORY_ALLOCATION_INLINE_HPP
+#ifndef SHARE_MEMORY_ALLOCATION_INLINE_HPP
+#define SHARE_MEMORY_ALLOCATION_INLINE_HPP
#include "runtime/atomic.hpp"
#include "runtime/os.hpp"
@@ -171,4 +171,4 @@
}
}
-#endif // SHARE_VM_MEMORY_ALLOCATION_INLINE_HPP
+#endif // SHARE_MEMORY_ALLOCATION_INLINE_HPP
--- a/src/hotspot/share/memory/arena.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/arena.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_ARENA_HPP
-#define SHARE_VM_ARENA_HPP
+#ifndef SHARE_MEMORY_ARENA_HPP
+#define SHARE_MEMORY_ARENA_HPP
#include "memory/allocation.hpp"
#include "runtime/globals.hpp"
@@ -256,4 +256,4 @@
#define NEW_ARENA_OBJ(arena, type) \
NEW_ARENA_ARRAY(arena, type, 1)
-#endif // SHARE_VM_ARENA_HPP
+#endif // SHARE_MEMORY_ARENA_HPP
--- a/src/hotspot/share/memory/binaryTreeDictionary.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/binaryTreeDictionary.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_BINARYTREEDICTIONARY_HPP
-#define SHARE_VM_MEMORY_BINARYTREEDICTIONARY_HPP
+#ifndef SHARE_MEMORY_BINARYTREEDICTIONARY_HPP
+#define SHARE_MEMORY_BINARYTREEDICTIONARY_HPP
#include "memory/freeList.hpp"
#include "memory/memRegion.hpp"
@@ -392,4 +392,4 @@
}
};
-#endif // SHARE_VM_MEMORY_BINARYTREEDICTIONARY_HPP
+#endif // SHARE_MEMORY_BINARYTREEDICTIONARY_HPP
--- a/src/hotspot/share/memory/binaryTreeDictionary.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/binaryTreeDictionary.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_BINARYTREEDICTIONARY_INLINE_HPP
-#define SHARE_VM_MEMORY_BINARYTREEDICTIONARY_INLINE_HPP
+#ifndef SHARE_MEMORY_BINARYTREEDICTIONARY_INLINE_HPP
+#define SHARE_MEMORY_BINARYTREEDICTIONARY_INLINE_HPP
#include "gc/shared/spaceDecorator.hpp"
#include "logging/log.hpp"
@@ -1035,4 +1035,4 @@
return total_size();
}
-#endif // SHARE_VM_MEMORY_BINARYTREEDICTIONARY_INLINE_HPP
+#endif // SHARE_MEMORY_BINARYTREEDICTIONARY_INLINE_HPP
--- a/src/hotspot/share/memory/filemap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/filemap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_FILEMAP_HPP
-#define SHARE_VM_MEMORY_FILEMAP_HPP
+#ifndef SHARE_MEMORY_FILEMAP_HPP
+#define SHARE_MEMORY_FILEMAP_HPP
#include "classfile/classLoader.hpp"
#include "include/cds.h"
@@ -350,4 +350,4 @@
address decode_start_address(CDSFileMapRegion* spc, bool with_current_oop_encoding_mode);
};
-#endif // SHARE_VM_MEMORY_FILEMAP_HPP
+#endif // SHARE_MEMORY_FILEMAP_HPP
--- a/src/hotspot/share/memory/freeList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/freeList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_FREELIST_HPP
-#define SHARE_VM_MEMORY_FREELIST_HPP
+#ifndef SHARE_MEMORY_FREELIST_HPP
+#define SHARE_MEMORY_FREELIST_HPP
// A class for maintaining a free list of Chunk's. The FreeList
// maintains a the structure of the list (head, tail, etc.) plus
@@ -173,4 +173,4 @@
void print_on(outputStream* st, const char* c = NULL) const;
};
-#endif // SHARE_VM_MEMORY_FREELIST_HPP
+#endif // SHARE_MEMORY_FREELIST_HPP
--- a/src/hotspot/share/memory/guardedMemory.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/guardedMemory.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_GUARDEDMEMORY_HPP
-#define SHARE_VM_MEMORY_GUARDEDMEMORY_HPP
+#ifndef SHARE_MEMORY_GUARDEDMEMORY_HPP
+#define SHARE_MEMORY_GUARDEDMEMORY_HPP
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -320,4 +320,4 @@
}; // GuardedMemory
-#endif // SHARE_VM_MEMORY_GUARDEDMEMORY_HPP
+#endif // SHARE_MEMORY_GUARDEDMEMORY_HPP
--- a/src/hotspot/share/memory/heap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/heap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_HEAP_HPP
-#define SHARE_VM_MEMORY_HEAP_HPP
+#ifndef SHARE_MEMORY_HEAP_HPP
+#define SHARE_MEMORY_HEAP_HPP
#include "code/codeBlob.hpp"
#include "memory/allocation.hpp"
@@ -223,4 +223,4 @@
void print() PRODUCT_RETURN;
};
-#endif // SHARE_VM_MEMORY_HEAP_HPP
+#endif // SHARE_MEMORY_HEAP_HPP
--- a/src/hotspot/share/memory/heapInspection.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/heapInspection.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_HEAPINSPECTION_HPP
-#define SHARE_VM_MEMORY_HEAPINSPECTION_HPP
+#ifndef SHARE_MEMORY_HEAPINSPECTION_HPP
+#define SHARE_MEMORY_HEAPINSPECTION_HPP
#include "memory/allocation.hpp"
#include "oops/objArrayOop.hpp"
@@ -365,4 +365,4 @@
void iterate_over_heap(KlassInfoTable* cit, BoolObjectClosure* filter = NULL);
};
-#endif // SHARE_VM_MEMORY_HEAPINSPECTION_HPP
+#endif // SHARE_MEMORY_HEAPINSPECTION_HPP
--- a/src/hotspot/share/memory/heapShared.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/heapShared.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_HEAPSHARED_HPP
-#define SHARE_VM_MEMORY_HEAPSHARED_HPP
+#ifndef SHARE_MEMORY_HEAPSHARED_HPP
+#define SHARE_MEMORY_HEAPSHARED_HPP
#include "classfile/compactHashtable.hpp"
#include "classfile/systemDictionary.hpp"
@@ -342,4 +342,4 @@
static void write_subgraph_info_table() NOT_CDS_JAVA_HEAP_RETURN;
static void serialize_subgraph_info_table_header(SerializeClosure* soc) NOT_CDS_JAVA_HEAP_RETURN;
};
-#endif // SHARE_VM_MEMORY_HEAPSHARED_HPP
+#endif // SHARE_MEMORY_HEAPSHARED_HPP
--- a/src/hotspot/share/memory/heapShared.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/heapShared.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_HEAPSHARED_INLINE_HPP
-#define SHARE_VM_MEMORY_HEAPSHARED_INLINE_HPP
+#ifndef SHARE_MEMORY_HEAPSHARED_INLINE_HPP
+#define SHARE_MEMORY_HEAPSHARED_INLINE_HPP
#include "oops/compressedOops.inline.hpp"
#include "memory/heapShared.hpp"
@@ -46,4 +46,4 @@
#endif
-#endif // SHARE_VM_MEMORY_HEAPSHARED_INLINE_HPP
+#endif // SHARE_MEMORY_HEAPSHARED_INLINE_HPP
--- a/src/hotspot/share/memory/iterator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/iterator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_ITERATOR_HPP
-#define SHARE_VM_MEMORY_ITERATOR_HPP
+#ifndef SHARE_MEMORY_ITERATOR_HPP
+#define SHARE_MEMORY_ITERATOR_HPP
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp"
@@ -362,4 +362,4 @@
template <typename OopClosureType> static void oop_oop_iterate_backwards(OopClosureType* cl, oop obj, Klass* klass);
};
-#endif // SHARE_VM_MEMORY_ITERATOR_HPP
+#endif // SHARE_MEMORY_ITERATOR_HPP
--- a/src/hotspot/share/memory/iterator.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/iterator.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_ITERATOR_INLINE_HPP
-#define SHARE_VM_MEMORY_ITERATOR_INLINE_HPP
+#ifndef SHARE_MEMORY_ITERATOR_INLINE_HPP
+#define SHARE_MEMORY_ITERATOR_INLINE_HPP
#include "classfile/classLoaderData.hpp"
#include "memory/iterator.hpp"
@@ -420,4 +420,4 @@
OopOopIterateBackwardsDispatch<OopClosureType>::function(klass)(cl, obj, klass);
}
-#endif // SHARE_VM_MEMORY_ITERATOR_INLINE_HPP
+#endif // SHARE_MEMORY_ITERATOR_INLINE_HPP
--- a/src/hotspot/share/memory/memRegion.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/memRegion.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_MEMREGION_HPP
-#define SHARE_VM_MEMORY_MEMREGION_HPP
+#ifndef SHARE_MEMORY_MEMREGION_HPP
+#define SHARE_MEMORY_MEMREGION_HPP
#include "memory/allocation.hpp"
#include "utilities/debug.hpp"
@@ -124,4 +124,4 @@
void operator delete(void* p) {} // nothing to do
};
-#endif // SHARE_VM_MEMORY_MEMREGION_HPP
+#endif // SHARE_MEMORY_MEMREGION_HPP
--- a/src/hotspot/share/memory/metadataFactory.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metadataFactory.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_METADATAFACTORY_HPP
-#define SHARE_VM_MEMORY_METADATAFACTORY_HPP
+#ifndef SHARE_MEMORY_METADATAFACTORY_HPP
+#define SHARE_MEMORY_METADATAFACTORY_HPP
#include "classfile/classLoaderData.hpp"
#include "oops/array.hpp"
@@ -73,4 +73,4 @@
}
};
-#endif // SHARE_VM_MEMORY_METADATAFACTORY_HPP
+#endif // SHARE_MEMORY_METADATAFACTORY_HPP
--- a/src/hotspot/share/memory/metaspace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_MEMORY_METASPACE_HPP
-#define SHARE_VM_MEMORY_METASPACE_HPP
+#ifndef SHARE_MEMORY_METASPACE_HPP
+#define SHARE_MEMORY_METASPACE_HPP
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp"
@@ -484,4 +484,4 @@
static void compute_new_size();
};
-#endif // SHARE_VM_MEMORY_METASPACE_HPP
+#endif // SHARE_MEMORY_METASPACE_HPP
--- a/src/hotspot/share/memory/metaspace/blockFreelist.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/blockFreelist.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -89,5 +89,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_BLOCKFREELIST_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_BLOCKFREELIST_HPP
--- a/src/hotspot/share/memory/metaspace/chunkManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/chunkManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -220,5 +220,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_CHUNKMANAGER_HPP_ */
-
+#endif // SHARE_MEMORY_METASPACE_CHUNKMANAGER_HPP
--- a/src/hotspot/share/memory/metaspace/metaDebug.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/metaDebug.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -43,5 +43,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_METADEBUG_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_METADEBUG_HPP
--- a/src/hotspot/share/memory/metaspace/metabase.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/metabase.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -78,5 +78,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_METABASE_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_METABASE_HPP
--- a/src/hotspot/share/memory/metaspace/metablock.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/metablock.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -47,5 +47,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_METABLOCK_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_METABLOCK_HPP
--- a/src/hotspot/share/memory/metaspace/metachunk.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/metachunk.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*
*/
-#ifndef SHARE_VM_MEMORY_METACHUNK_HPP
-#define SHARE_VM_MEMORY_METACHUNK_HPP
+#ifndef SHARE_MEMORY_METASPACE_METACHUNK_HPP
+#define SHARE_MEMORY_METASPACE_METACHUNK_HPP
#include "memory/metaspace/metabase.hpp"
#include "memory/metaspace/metaspaceCommon.hpp"
@@ -170,4 +170,4 @@
} // namespace metaspace
-#endif // SHARE_VM_MEMORY_METACHUNK_HPP
+#endif // SHARE_MEMORY_METASPACE_METACHUNK_HPP
--- a/src/hotspot/share/memory/metaspace/metaspaceCommon.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/metaspaceCommon.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -123,5 +123,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_METASPACESTATISTICS_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_METASPACECOMMON_HPP
--- a/src/hotspot/share/memory/metaspace/metaspaceDCmd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/metaspaceDCmd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, SAP and/or its affiliates.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -63,4 +63,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_METASPACESTATISTICS_HPP */
+#endif // SHARE_MEMORY_METASPACE_METASPACEDCMD_HPP
--- a/src/hotspot/share/memory/metaspace/metaspaceStatistics.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/metaspaceStatistics.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -184,5 +184,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_METASPACESTATISTICS_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_METASPACESTATISTICS_HPP
--- a/src/hotspot/share/memory/metaspace/occupancyMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/occupancyMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -239,5 +239,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_OCCUPANCYMAP_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_OCCUPANCYMAP_HPP
--- a/src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -60,5 +60,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_PRINTCLDMETASPACEINFOCLOSURE_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_PRINTCLDMETASPACEINFOCLOSURE_HPP
--- a/src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, SAP and/or its affiliates.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef SHARE_MEMORY_METASPACE_PRINTMETASPACEINFOKLASSCLOSURE_HPP_
-#define SHARE_MEMORY_METASPACE_PRINTMETASPACEINFOKLASSCLOSURE_HPP_
+#ifndef SHARE_MEMORY_METASPACE_PRINTMETASPACEINFOKLASSCLOSURE_HPP
+#define SHARE_MEMORY_METASPACE_PRINTMETASPACEINFOKLASSCLOSURE_HPP
#include "memory/iterator.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -55,4 +55,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_PRINTMETASPACEINFOKLASSCLOSURE_HPP_ */
+#endif // SHARE_MEMORY_METASPACE_PRINTMETASPACEINFOKLASSCLOSURE_HPP
--- a/src/hotspot/share/memory/metaspace/smallBlocks.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/smallBlocks.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -85,5 +85,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_SMALLBLOCKS_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_SMALLBLOCKS_HPP
--- a/src/hotspot/share/memory/metaspace/spaceManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/spaceManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -230,5 +230,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_SPACEMANAGER_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_SPACEMANAGER_HPP
--- a/src/hotspot/share/memory/metaspace/virtualSpaceList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/virtualSpaceList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -148,5 +148,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_VIRTUALSPACELIST_HPP */
-
+#endif // SHARE_MEMORY_METASPACE_VIRTUALSPACELIST_HPP
--- a/src/hotspot/share/memory/metaspace/virtualSpaceNode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspace/virtualSpaceNode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -162,4 +162,4 @@
} // namespace metaspace
-#endif /* SHARE_MEMORY_METASPACE_VIRTUALSPACENODE_HPP */
+#endif // SHARE_MEMORY_METASPACE_VIRTUALSPACENODE_HPP
--- a/src/hotspot/share/memory/metaspaceChunkFreeListSummary.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspaceChunkFreeListSummary.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_METASPACECHUNKFREELISTSUMMARY_HPP
-#define SHARE_VM_MEMORY_METASPACECHUNKFREELISTSUMMARY_HPP
+#ifndef SHARE_MEMORY_METASPACECHUNKFREELISTSUMMARY_HPP
+#define SHARE_MEMORY_METASPACECHUNKFREELISTSUMMARY_HPP
class MetaspaceChunkFreeListSummary {
@@ -100,4 +100,4 @@
}
};
-#endif // SHARE_VM_MEMORY_METASPACECHUNKFREELISTSUMMARY_HPP
+#endif // SHARE_MEMORY_METASPACECHUNKFREELISTSUMMARY_HPP
--- a/src/hotspot/share/memory/metaspaceClosure.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspaceClosure.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_METASPACE_ITERATOR_HPP
-#define SHARE_VM_MEMORY_METASPACE_ITERATOR_HPP
+#ifndef SHARE_MEMORY_METASPACECLOSURE_HPP
+#define SHARE_MEMORY_METASPACECLOSURE_HPP
#include "logging/log.hpp"
#include "memory/allocation.hpp"
@@ -273,4 +273,4 @@
KVHashtable<address, bool, mtInternal> _has_been_visited;
};
-#endif // SHARE_VM_MEMORY_METASPACE_ITERATOR_HPP
+#endif // SHARE_MEMORY_METASPACECLOSURE_HPP
--- a/src/hotspot/share/memory/metaspaceCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspaceCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_METASPACECOUNTERS_HPP
-#define SHARE_VM_MEMORY_METASPACECOUNTERS_HPP
+#ifndef SHARE_MEMORY_METASPACECOUNTERS_HPP
+#define SHARE_MEMORY_METASPACECOUNTERS_HPP
#include "memory/allocation.hpp"
@@ -51,4 +51,4 @@
static void update_performance_counters();
};
-#endif // SHARE_VM_MEMORY_METASPACECOUNTERS_HPP
+#endif // SHARE_MEMORY_METASPACECOUNTERS_HPP
--- a/src/hotspot/share/memory/metaspaceGCThresholdUpdater.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspaceGCThresholdUpdater.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_METASPACEGCTHRESHOLDUPDATER_HPP
-#define SHARE_VM_MEMORY_METASPACEGCTHRESHOLDUPDATER_HPP
+#ifndef SHARE_MEMORY_METASPACEGCTHRESHOLDUPDATER_HPP
+#define SHARE_MEMORY_METASPACEGCTHRESHOLDUPDATER_HPP
#include "memory/allocation.hpp"
#include "utilities/debug.hpp"
@@ -49,4 +49,4 @@
}
};
-#endif // SHARE_VM_MEMORY_METASPACEGCTHRESHOLDUPDATER_HPP
+#endif // SHARE_MEMORY_METASPACEGCTHRESHOLDUPDATER_HPP
--- a/src/hotspot/share/memory/metaspaceShared.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspaceShared.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -1659,7 +1659,6 @@
ResourceMark rm;
char class_list_path_str[JVM_MAXPATHLEN];
// Preload classes to be shared.
- // Should use some os:: method rather than fopen() here. aB.
const char* class_list_path;
if (SharedClassListFile == NULL) {
// Construct the path to the class list (in jre/lib)
--- a/src/hotspot/share/memory/metaspaceShared.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspaceShared.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_METASPACESHARED_HPP
-#define SHARE_VM_MEMORY_METASPACESHARED_HPP
+#ifndef SHARE_MEMORY_METASPACESHARED_HPP
+#define SHARE_MEMORY_METASPACESHARED_HPP
#include "classfile/compactHashtable.hpp"
#include "memory/allocation.hpp"
@@ -203,4 +203,4 @@
private:
static void read_extra_data(const char* filename, TRAPS) NOT_CDS_RETURN;
};
-#endif // SHARE_VM_MEMORY_METASPACESHARED_HPP
+#endif // SHARE_MEMORY_METASPACESHARED_HPP
--- a/src/hotspot/share/memory/metaspaceShared.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspaceShared.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_METASPACESHARED_INLINE_HPP
-#define SHARE_VM_MEMORY_METASPACESHARED_INLINE_HPP
+#ifndef SHARE_MEMORY_METASPACESHARED_INLINE_HPP
+#define SHARE_MEMORY_METASPACESHARED_INLINE_HPP
#include "memory/metaspaceShared.hpp"
#if INCLUDE_G1GC
@@ -36,4 +36,4 @@
}
#endif
-#endif // SHARE_VM_MEMORY_METASPACESHARED_INLINE_HPP
+#endif // SHARE_MEMORY_METASPACESHARED_INLINE_HPP
--- a/src/hotspot/share/memory/metaspaceTracer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/metaspaceTracer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_METASPACETRACER_HPP
-#define SHARE_VM_MEMORY_METASPACETRACER_HPP
+#ifndef SHARE_MEMORY_METASPACETRACER_HPP
+#define SHARE_MEMORY_METASPACETRACER_HPP
#include "memory/allocation.hpp"
#include "memory/metaspace.hpp"
@@ -52,4 +52,4 @@
};
-#endif // SHARE_VM_MEMORY_METASPACETRACER_HPP
+#endif // SHARE_MEMORY_METASPACETRACER_HPP
--- a/src/hotspot/share/memory/oopFactory.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/oopFactory.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_OOPFACTORY_HPP
-#define SHARE_VM_MEMORY_OOPFACTORY_HPP
+#ifndef SHARE_MEMORY_OOPFACTORY_HPP
+#define SHARE_MEMORY_OOPFACTORY_HPP
#include "classfile/symbolTable.hpp"
#include "classfile/systemDictionary.hpp"
@@ -72,4 +72,4 @@
static typeArrayHandle new_byteArray_handle(int length, TRAPS);
};
-#endif // SHARE_VM_MEMORY_OOPFACTORY_HPP
+#endif // SHARE_MEMORY_OOPFACTORY_HPP
--- a/src/hotspot/share/memory/padded.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/padded.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,9 +22,10 @@
*
*/
-#ifndef SHARE_VM_MEMORY_PADDED_HPP
-#define SHARE_VM_MEMORY_PADDED_HPP
+#ifndef SHARE_MEMORY_PADDED_HPP
+#define SHARE_MEMORY_PADDED_HPP
+#include "memory/allocation.hpp"
#include "utilities/align.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -117,4 +118,4 @@
static T* create_unfreeable(size_t length);
};
-#endif // SHARE_VM_MEMORY_PADDED_HPP
+#endif // SHARE_MEMORY_PADDED_HPP
--- a/src/hotspot/share/memory/padded.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/padded.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_PADDED_INLINE_HPP
-#define SHARE_VM_MEMORY_PADDED_INLINE_HPP
+#ifndef SHARE_MEMORY_PADDED_INLINE_HPP
+#define SHARE_MEMORY_PADDED_INLINE_HPP
#include "memory/allocation.inline.hpp"
#include "memory/padded.hpp"
@@ -90,4 +90,4 @@
return (T*)align_up(chunk, alignment);
}
-#endif // SHARE_VM_MEMORY_PADDED_INLINE_HPP
+#endif // SHARE_MEMORY_PADDED_INLINE_HPP
--- a/src/hotspot/share/memory/referenceType.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/referenceType.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_REFERENCETYPE_HPP
-#define SHARE_VM_MEMORY_REFERENCETYPE_HPP
+#ifndef SHARE_MEMORY_REFERENCETYPE_HPP
+#define SHARE_MEMORY_REFERENCETYPE_HPP
#include "utilities/debug.hpp"
@@ -38,4 +38,4 @@
REF_PHANTOM // Subclass of java/lang/ref/PhantomReference
};
-#endif // SHARE_VM_MEMORY_REFERENCETYPE_HPP
+#endif // SHARE_MEMORY_REFERENCETYPE_HPP
--- a/src/hotspot/share/memory/resourceArea.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/resourceArea.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_RESOURCEAREA_HPP
-#define SHARE_VM_MEMORY_RESOURCEAREA_HPP
+#ifndef SHARE_MEMORY_RESOURCEAREA_HPP
+#define SHARE_MEMORY_RESOURCEAREA_HPP
#include "memory/allocation.hpp"
#include "runtime/thread.hpp"
@@ -261,4 +261,4 @@
size_t size_in_bytes() { return _size_in_bytes; };
};
-#endif // SHARE_VM_MEMORY_RESOURCEAREA_HPP
+#endif // SHARE_MEMORY_RESOURCEAREA_HPP
--- a/src/hotspot/share/memory/resourceArea.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/resourceArea.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_RESOURCEAREA_INLINE_HPP
-#define SHARE_VM_MEMORY_RESOURCEAREA_INLINE_HPP
+#ifndef SHARE_MEMORY_RESOURCEAREA_INLINE_HPP
+#define SHARE_MEMORY_RESOURCEAREA_INLINE_HPP
#include "memory/resourceArea.hpp"
@@ -40,4 +40,4 @@
return (char*)Amalloc(size, alloc_failmode);
}
-#endif // SHARE_VM_MEMORY_RESOURCEAREA_INLINE_HPP
+#endif // SHARE_MEMORY_RESOURCEAREA_INLINE_HPP
--- a/src/hotspot/share/memory/universe.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/universe.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_MEMORY_UNIVERSE_HPP
-#define SHARE_VM_MEMORY_UNIVERSE_HPP
+#ifndef SHARE_MEMORY_UNIVERSE_HPP
+#define SHARE_MEMORY_UNIVERSE_HPP
#include "oops/array.hpp"
#include "runtime/handles.hpp"
@@ -538,4 +538,4 @@
oop get_oop() { return _oop; }
};
-#endif // SHARE_VM_MEMORY_UNIVERSE_HPP
+#endif // SHARE_MEMORY_UNIVERSE_HPP
--- a/src/hotspot/share/memory/virtualspace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/memory/virtualspace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_VIRTUALSPACE_HPP
-#define SHARE_VM_RUNTIME_VIRTUALSPACE_HPP
+#ifndef SHARE_MEMORY_VIRTUALSPACE_HPP
+#define SHARE_MEMORY_VIRTUALSPACE_HPP
#include "utilities/globalDefinitions.hpp"
@@ -236,4 +236,4 @@
void print();
};
-#endif // SHARE_VM_RUNTIME_VIRTUALSPACE_HPP
+#endif // SHARE_MEMORY_VIRTUALSPACE_HPP
--- a/src/hotspot/share/metaprogramming/conditional.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/conditional.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_CONDITIONAL_HPP
-#define SHARE_VM_METAPROGRAMMING_CONDITIONAL_HPP
+#ifndef SHARE_METAPROGRAMMING_CONDITIONAL_HPP
+#define SHARE_METAPROGRAMMING_CONDITIONAL_HPP
#include "memory/allocation.hpp"
@@ -40,4 +40,4 @@
typedef FalseType type;
};
-#endif // SHARE_VM_METAPROGRAMMING_CONDITIONAL_HPP
+#endif // SHARE_METAPROGRAMMING_CONDITIONAL_HPP
--- a/src/hotspot/share/metaprogramming/decay.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/decay.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_DECAY_HPP
-#define SHARE_VM_METAPROGRAMMING_DECAY_HPP
+#ifndef SHARE_METAPROGRAMMING_DECAY_HPP
+#define SHARE_METAPROGRAMMING_DECAY_HPP
#include "memory/allocation.hpp"
#include "metaprogramming/removeCV.hpp"
@@ -38,4 +38,4 @@
typedef typename RemoveCV<typename RemoveReference<T>::type>::type type;
};
-#endif // SHARE_VM_METAPROGRAMMING_DECAY_HPP
+#endif // SHARE_METAPROGRAMMING_DECAY_HPP
--- a/src/hotspot/share/metaprogramming/enableIf.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/enableIf.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_ENABLEIF_HPP
-#define SHARE_VM_METAPROGRAMMING_ENABLEIF_HPP
+#ifndef SHARE_METAPROGRAMMING_ENABLEIF_HPP
+#define SHARE_METAPROGRAMMING_ENABLEIF_HPP
#include "memory/allocation.hpp"
@@ -44,4 +44,4 @@
typedef T type;
};
-#endif // SHARE_VM_METAPROGRAMMING_ENABLEIF_HPP
+#endif // SHARE_METAPROGRAMMING_ENABLEIF_HPP
--- a/src/hotspot/share/metaprogramming/integralConstant.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/integralConstant.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_INTEGRALCONSTANT_HPP
-#define SHARE_VM_METAPROGRAMMING_INTEGRALCONSTANT_HPP
+#ifndef SHARE_METAPROGRAMMING_INTEGRALCONSTANT_HPP
+#define SHARE_METAPROGRAMMING_INTEGRALCONSTANT_HPP
// An Integral Constant is a class providing a compile-time value of an
@@ -56,4 +56,4 @@
// A bool valued IntegralConstant whose value is false.
typedef IntegralConstant<bool, false> FalseType;
-#endif // SHARE_VM_METAPROGRAMMING_INTEGRALCONSTANT_HPP
+#endif // SHARE_METAPROGRAMMING_INTEGRALCONSTANT_HPP
--- a/src/hotspot/share/metaprogramming/isConst.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/isConst.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,12 +22,12 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_ISCONST_HPP
-#define SHARE_VM_METAPROGRAMMING_ISCONST_HPP
+#ifndef SHARE_METAPROGRAMMING_ISCONST_HPP
+#define SHARE_METAPROGRAMMING_ISCONST_HPP
#include "metaprogramming/integralConstant.hpp"
template <typename T> struct IsConst: public FalseType {};
template <typename T> struct IsConst<const T>: public TrueType {};
-#endif // SHARE_VM_METAPROGRAMMING_ISCONST_HPP
+#endif // SHARE_METAPROGRAMMING_ISCONST_HPP
--- a/src/hotspot/share/metaprogramming/isFloatingPoint.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/isFloatingPoint.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_ISFLOATINGPOINT_HPP
-#define SHARE_VM_METAPROGRAMMING_ISFLOATINGPOINT_HPP
+#ifndef SHARE_METAPROGRAMMING_ISFLOATINGPOINT_HPP
+#define SHARE_METAPROGRAMMING_ISFLOATINGPOINT_HPP
#include "metaprogramming/integralConstant.hpp"
@@ -47,4 +47,4 @@
template <> struct IsFloatingPoint<volatile long double>: public TrueType {};
template <> struct IsFloatingPoint<const volatile long double>: public TrueType {};
-#endif // SHARE_VM_METAPROGRAMMING_ISFLOATINGPOINT_HPP
+#endif // SHARE_METAPROGRAMMING_ISFLOATINGPOINT_HPP
--- a/src/hotspot/share/metaprogramming/isIntegral.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/isIntegral.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -23,8 +23,8 @@
*/
-#ifndef SHARE_VM_METAPROGRAMMING_ISINTEGRAL_HPP
-#define SHARE_VM_METAPROGRAMMING_ISINTEGRAL_HPP
+#ifndef SHARE_METAPROGRAMMING_ISINTEGRAL_HPP
+#define SHARE_METAPROGRAMMING_ISINTEGRAL_HPP
#include "metaprogramming/integralConstant.hpp"
#include "metaprogramming/isSigned.hpp"
@@ -55,4 +55,4 @@
: public IntegralConstant<bool, IsIntegral<T>::value && !IsSigned<T>::value>
{};
-#endif // SHARE_VM_METAPROGRAMMING_ISINTEGRAL_HPP
+#endif // SHARE_METAPROGRAMMING_ISINTEGRAL_HPP
--- a/src/hotspot/share/metaprogramming/isPointer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/isPointer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_ISPOINTER_HPP
-#define SHARE_VM_METAPROGRAMMING_ISPOINTER_HPP
+#ifndef SHARE_METAPROGRAMMING_ISPOINTER_HPP
+#define SHARE_METAPROGRAMMING_ISPOINTER_HPP
#include "metaprogramming/integralConstant.hpp"
@@ -37,4 +37,4 @@
template <typename T> class IsPointer<T* volatile>: public TrueType {};
template <typename T> class IsPointer<T* const volatile>: public TrueType {};
-#endif // SHARE_VM_METAPROGRAMMING_ISPOINTER_HPP
+#endif // SHARE_METAPROGRAMMING_ISPOINTER_HPP
--- a/src/hotspot/share/metaprogramming/isRegisteredEnum.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/isRegisteredEnum.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_ISREGISTEREDENUM_HPP
-#define SHARE_VM_METAPROGRAMMING_ISREGISTEREDENUM_HPP
+#ifndef SHARE_METAPROGRAMMING_ISREGISTEREDENUM_HPP
+#define SHARE_METAPROGRAMMING_ISREGISTEREDENUM_HPP
#include "metaprogramming/integralConstant.hpp"
@@ -37,5 +37,4 @@
template<typename T>
struct IsRegisteredEnum : public FalseType {};
-#endif // SHARE_VM_METAPROGRAMMING_ISREGISTEREDENUM_HPP
-
+#endif // SHARE_METAPROGRAMMING_ISREGISTEREDENUM_HPP
--- a/src/hotspot/share/metaprogramming/isSame.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/isSame.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_ISSAME_HPP
-#define SHARE_VM_METAPROGRAMMING_ISSAME_HPP
+#ifndef SHARE_METAPROGRAMMING_ISSAME_HPP
+#define SHARE_METAPROGRAMMING_ISSAME_HPP
#include "metaprogramming/integralConstant.hpp"
@@ -35,4 +35,4 @@
template <typename X>
struct IsSame<X, X>: public TrueType {};
-#endif // SHARE_VM_METAPROGRAMMING_ISSAME_HPP
+#endif // SHARE_METAPROGRAMMING_ISSAME_HPP
--- a/src/hotspot/share/metaprogramming/isSigned.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/isSigned.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_ISSIGNED_HPP
-#define SHARE_VM_METAPROGRAMMING_ISSIGNED_HPP
+#ifndef SHARE_METAPROGRAMMING_ISSIGNED_HPP
+#define SHARE_METAPROGRAMMING_ISSIGNED_HPP
#include "metaprogramming/integralConstant.hpp"
#include "metaprogramming/removeCV.hpp"
@@ -34,4 +34,4 @@
: public IntegralConstant<bool, std::numeric_limits<typename RemoveCV<T>::type>::is_signed>
{};
-#endif // SHARE_VM_METAPROGRAMMING_ISSIGNED_HPP
+#endif // SHARE_METAPROGRAMMING_ISSIGNED_HPP
--- a/src/hotspot/share/metaprogramming/isVolatile.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/isVolatile.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,12 +22,12 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_ISVOLATILE_HPP
-#define SHARE_VM_METAPROGRAMMING_ISVOLATILE_HPP
+#ifndef SHARE_METAPROGRAMMING_ISVOLATILE_HPP
+#define SHARE_METAPROGRAMMING_ISVOLATILE_HPP
#include "metaprogramming/integralConstant.hpp"
template <typename T> struct IsVolatile: public FalseType {};
template <typename T> struct IsVolatile<volatile T>: public TrueType {};
-#endif // SHARE_VM_METAPROGRAMMING_ISVOLATILE_HPP
+#endif // SHARE_METAPROGRAMMING_ISVOLATILE_HPP
--- a/src/hotspot/share/metaprogramming/primitiveConversions.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/primitiveConversions.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_PRIMITIVECONVERSIONS_HPP
-#define SHARE_VM_METAPROGRAMMING_PRIMITIVECONVERSIONS_HPP
+#ifndef SHARE_METAPROGRAMMING_PRIMITIVECONVERSIONS_HPP
+#define SHARE_METAPROGRAMMING_PRIMITIVECONVERSIONS_HPP
#include "memory/allocation.hpp"
#include "metaprogramming/enableIf.hpp"
@@ -182,4 +182,4 @@
static Value recover(Decayed x) { return PrimitiveConversions::cast<Value>(x); }
};
-#endif // SHARE_VM_METAPROGRAMMING_PRIMITIVECONVERSIONS_HPP
+#endif // SHARE_METAPROGRAMMING_PRIMITIVECONVERSIONS_HPP
--- a/src/hotspot/share/metaprogramming/removeCV.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/removeCV.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_REMOVECV_HPP
-#define SHARE_VM_METAPROGRAMMING_REMOVECV_HPP
+#ifndef SHARE_METAPROGRAMMING_REMOVECV_HPP
+#define SHARE_METAPROGRAMMING_REMOVECV_HPP
#include "memory/allocation.hpp"
@@ -47,4 +47,4 @@
typedef T type;
};
-#endif // SHARE_VM_METAPROGRAMMING_REMOVECV_HPP
+#endif // SHARE_METAPROGRAMMING_REMOVECV_HPP
--- a/src/hotspot/share/metaprogramming/removePointer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/removePointer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_REMOVEPOINTER_HPP
-#define SHARE_VM_METAPROGRAMMING_REMOVEPOINTER_HPP
+#ifndef SHARE_METAPROGRAMMING_REMOVEPOINTER_HPP
+#define SHARE_METAPROGRAMMING_REMOVEPOINTER_HPP
#include "memory/allocation.hpp"
@@ -38,4 +38,4 @@
template <typename T> struct RemovePointer<T* volatile>: AllStatic { typedef T type; };
template <typename T> struct RemovePointer<T* const volatile>: AllStatic { typedef T type; };
-#endif // SHARE_VM_METAPROGRAMMING_REMOVEPOINTER_HPP
+#endif // SHARE_METAPROGRAMMING_REMOVEPOINTER_HPP
--- a/src/hotspot/share/metaprogramming/removeReference.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/metaprogramming/removeReference.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_METAPROGRAMMING_REMOVEREFERENCE_HPP
-#define SHARE_VM_METAPROGRAMMING_REMOVEREFERENCE_HPP
+#ifndef SHARE_METAPROGRAMMING_REMOVEREFERENCE_HPP
+#define SHARE_METAPROGRAMMING_REMOVEREFERENCE_HPP
#include "memory/allocation.hpp"
@@ -35,4 +35,4 @@
template <typename T> struct RemoveReference<T&>: AllStatic { typedef T type; };
-#endif // SHARE_VM_METAPROGRAMMING_REMOVEREFERENCE_HPP
+#endif // SHARE_METAPROGRAMMING_REMOVEREFERENCE_HPP
--- a/src/hotspot/share/oops/accessBackend.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/accessBackend.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_ACCESSBACKEND_INLINE_HPP
-#define SHARE_VM_RUNTIME_ACCESSBACKEND_INLINE_HPP
+#ifndef SHARE_OOPS_ACCESSBACKEND_INLINE_HPP
+#define SHARE_OOPS_ACCESSBACKEND_INLINE_HPP
#include "oops/access.hpp"
#include "oops/accessBackend.hpp"
@@ -363,4 +363,4 @@
dst->init_mark_raw();
}
-#endif // SHARE_VM_RUNTIME_ACCESSBACKEND_INLINE_HPP
+#endif // SHARE_OOPS_ACCESSBACKEND_INLINE_HPP
--- a/src/hotspot/share/oops/annotations.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/annotations.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_ANNOTATIONS_HPP
-#define SHARE_VM_OOPS_ANNOTATIONS_HPP
+#ifndef SHARE_OOPS_ANNOTATIONS_HPP
+#define SHARE_OOPS_ANNOTATIONS_HPP
#include "oops/array.hpp"
#include "oops/metadata.hpp"
@@ -106,4 +106,4 @@
#endif
void print_value_on(outputStream* st) const;
};
-#endif // SHARE_VM_OOPS_ANNOTATIONS_HPP
+#endif // SHARE_OOPS_ANNOTATIONS_HPP
--- a/src/hotspot/share/oops/array.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/array.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_ARRAY_HPP
-#define SHARE_VM_OOPS_ARRAY_HPP
+#ifndef SHARE_OOPS_ARRAY_HPP
+#define SHARE_OOPS_ARRAY_HPP
#include "memory/allocation.hpp"
#include "memory/metaspace.hpp"
@@ -156,4 +156,4 @@
};
-#endif // SHARE_VM_OOPS_ARRAY_HPP
+#endif // SHARE_OOPS_ARRAY_HPP
--- a/src/hotspot/share/oops/array.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/array.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_ARRAY_INLINE_HPP
-#define SHARE_VM_OOPS_ARRAY_INLINE_HPP
+#ifndef SHARE_OOPS_ARRAY_INLINE_HPP
+#define SHARE_OOPS_ARRAY_INLINE_HPP
#include "oops/array.hpp"
#include "runtime/orderAccess.hpp"
@@ -34,4 +34,4 @@
template <typename T>
inline void Array<T>::release_at_put(int which, T contents) { OrderAccess::release_store(adr_at(which), contents); }
-#endif // SHARE_VM_OOPS_ARRAY_INLINE_HPP
+#endif // SHARE_OOPS_ARRAY_INLINE_HPP
--- a/src/hotspot/share/oops/arrayKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/arrayKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_ARRAYKLASS_HPP
-#define SHARE_VM_OOPS_ARRAYKLASS_HPP
+#ifndef SHARE_OOPS_ARRAYKLASS_HPP
+#define SHARE_OOPS_ARRAYKLASS_HPP
#include "memory/universe.hpp"
#include "oops/klass.hpp"
@@ -144,4 +144,4 @@
void oop_verify_on(oop obj, outputStream* st);
};
-#endif // SHARE_VM_OOPS_ARRAYKLASS_HPP
+#endif // SHARE_OOPS_ARRAYKLASS_HPP
--- a/src/hotspot/share/oops/arrayKlass.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/arrayKlass.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_ARRAYKLASS_INLINE_HPP
-#define SHARE_VM_OOPS_ARRAYKLASS_INLINE_HPP
+#ifndef SHARE_OOPS_ARRAYKLASS_INLINE_HPP
+#define SHARE_OOPS_ARRAYKLASS_INLINE_HPP
#include "runtime/orderAccess.hpp"
#include "oops/arrayKlass.hpp"
@@ -36,4 +36,4 @@
OrderAccess::release_store(&_higher_dimension, k);
}
-#endif // SHARE_VM_OOPS_ARRAYKLASS_INLINE_HPP
+#endif // SHARE_OOPS_ARRAYKLASS_INLINE_HPP
--- a/src/hotspot/share/oops/arrayOop.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/arrayOop.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_ARRAYOOP_HPP
-#define SHARE_VM_OOPS_ARRAYOOP_HPP
+#ifndef SHARE_OOPS_ARRAYOOP_HPP
+#define SHARE_OOPS_ARRAYOOP_HPP
#include "memory/universe.hpp"
#include "oops/oop.hpp"
@@ -150,4 +150,4 @@
};
-#endif // SHARE_VM_OOPS_ARRAYOOP_HPP
+#endif // SHARE_OOPS_ARRAYOOP_HPP
--- a/src/hotspot/share/oops/compiledICHolder.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/compiledICHolder.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_COMPILEDICHOLDEROOP_HPP
-#define SHARE_VM_OOPS_COMPILEDICHOLDEROOP_HPP
+#ifndef SHARE_OOPS_COMPILEDICHOLDER_HPP
+#define SHARE_OOPS_COMPILEDICHOLDER_HPP
#include "oops/oop.hpp"
#include "utilities/macros.hpp"
@@ -97,4 +97,4 @@
void claim() NOT_DEBUG_RETURN;
};
-#endif // SHARE_VM_OOPS_COMPILEDICHOLDEROOP_HPP
+#endif // SHARE_OOPS_COMPILEDICHOLDER_HPP
--- a/src/hotspot/share/oops/constMethod.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/constMethod.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_CONSTMETHODOOP_HPP
-#define SHARE_VM_OOPS_CONSTMETHODOOP_HPP
+#ifndef SHARE_OOPS_CONSTMETHOD_HPP
+#define SHARE_OOPS_CONSTMETHOD_HPP
#include "oops/oop.hpp"
#include "utilities/align.hpp"
@@ -561,4 +561,4 @@
void verify_on(outputStream* st);
};
-#endif // SHARE_VM_OOPS_CONSTMETHODOOP_HPP
+#endif // SHARE_OOPS_CONSTMETHOD_HPP
--- a/src/hotspot/share/oops/constantPool.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/constantPool.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -504,10 +504,6 @@
}
}
- // Make this class loader depend upon the class loader owning the class reference
- ClassLoaderData* this_key = this_cp->pool_holder()->class_loader_data();
- this_key->record_dependency(k);
-
// logging for class+resolve.
if (log_is_enabled(Debug, class, resolve)){
trace_class_resolution(this_cp, k);
--- a/src/hotspot/share/oops/constantPool.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/constantPool.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_CONSTANTPOOLOOP_HPP
-#define SHARE_VM_OOPS_CONSTANTPOOLOOP_HPP
+#ifndef SHARE_OOPS_CONSTANTPOOL_HPP
+#define SHARE_OOPS_CONSTANTPOOL_HPP
#include "memory/allocation.hpp"
#include "oops/arrayOop.hpp"
@@ -1024,4 +1024,4 @@
~SymbolHashMap();
}; // End SymbolHashMap class
-#endif // SHARE_VM_OOPS_CONSTANTPOOLOOP_HPP
+#endif // SHARE_OOPS_CONSTANTPOOL_HPP
--- a/src/hotspot/share/oops/constantPool.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/constantPool.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_CONSTANTPOOL_INLINE_HPP
-#define SHARE_VM_OOPS_CONSTANTPOOL_INLINE_HPP
+#ifndef SHARE_OOPS_CONSTANTPOOL_INLINE_HPP
+#define SHARE_OOPS_CONSTANTPOOL_INLINE_HPP
#include "oops/constantPool.hpp"
#include "oops/cpCache.inline.hpp"
@@ -67,4 +67,4 @@
return s;
}
-#endif // SHARE_VM_OOPS_CONSTANTPOOL_INLINE_HPP
+#endif // SHARE_OOPS_CONSTANTPOOL_INLINE_HPP
--- a/src/hotspot/share/oops/cpCache.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/cpCache.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -253,11 +253,21 @@
if (byte_no == 1) {
assert(invoke_code != Bytecodes::_invokevirtual &&
invoke_code != Bytecodes::_invokeinterface, "");
+ bool do_resolve = true;
// Don't mark invokespecial to method as resolved if sender is an interface. The receiver
// has to be checked that it is a subclass of the current class every time this bytecode
// is executed.
- if (invoke_code != Bytecodes::_invokespecial || !sender_is_interface ||
- method->name() == vmSymbols::object_initializer_name()) {
+ if (invoke_code == Bytecodes::_invokespecial && sender_is_interface &&
+ method->name() != vmSymbols::object_initializer_name()) {
+ do_resolve = false;
+ }
+ // Don't mark invokestatic to method as resolved if the holder class has not yet completed
+ // initialization. An invokestatic must only proceed if the class is initialized, but if
+ // we resolve it before then that class initialization check is skipped.
+ if (invoke_code == Bytecodes::_invokestatic && !method->method_holder()->is_initialized()) {
+ do_resolve = false;
+ }
+ if (do_resolve) {
set_bytecode_1(invoke_code);
}
} else if (byte_no == 2) {
--- a/src/hotspot/share/oops/cpCache.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/cpCache.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_CPCACHEOOP_HPP
-#define SHARE_VM_OOPS_CPCACHEOOP_HPP
+#ifndef SHARE_OOPS_CPCACHE_HPP
+#define SHARE_OOPS_CPCACHE_HPP
#include "interpreter/bytecodes.hpp"
#include "memory/allocation.hpp"
@@ -526,4 +526,4 @@
void verify_on(outputStream* st);
};
-#endif // SHARE_VM_OOPS_CPCACHEOOP_HPP
+#endif // SHARE_OOPS_CPCACHE_HPP
--- a/src/hotspot/share/oops/cpCache.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/cpCache.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_CPCACHEOOP_INLINE_HPP
-#define SHARE_VM_OOPS_CPCACHEOOP_INLINE_HPP
+#ifndef SHARE_OOPS_CPCACHE_INLINE_HPP
+#define SHARE_OOPS_CPCACHE_INLINE_HPP
#include "oops/cpCache.hpp"
#include "oops/oopHandle.inline.hpp"
@@ -99,4 +99,4 @@
inline oop ConstantPoolCache::resolved_references() { return _resolved_references.resolve(); }
-#endif // SHARE_VM_OOPS_CPCACHEOOP_INLINE_HPP
+#endif // SHARE_OOPS_CPCACHE_INLINE_HPP
--- a/src/hotspot/share/oops/fieldInfo.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/fieldInfo.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_FIELDINFO_HPP
-#define SHARE_VM_OOPS_FIELDINFO_HPP
+#ifndef SHARE_OOPS_FIELDINFO_HPP
+#define SHARE_OOPS_FIELDINFO_HPP
#include "oops/constantPool.hpp"
#include "oops/typeArrayOop.hpp"
@@ -254,4 +254,4 @@
}
};
-#endif // SHARE_VM_OOPS_FIELDINFO_HPP
+#endif // SHARE_OOPS_FIELDINFO_HPP
--- a/src/hotspot/share/oops/fieldStreams.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/fieldStreams.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_FIELDSTREAMS_HPP
-#define SHARE_VM_OOPS_FIELDSTREAMS_HPP
+#ifndef SHARE_OOPS_FIELDSTREAMS_HPP
+#define SHARE_OOPS_FIELDSTREAMS_HPP
#include "oops/instanceKlass.hpp"
#include "oops/fieldInfo.hpp"
@@ -246,4 +246,4 @@
AllFieldStream(InstanceKlass* k): FieldStreamBase(k->fields(), k->constants()) {}
};
-#endif // SHARE_VM_OOPS_FIELDSTREAMS_HPP
+#endif // SHARE_OOPS_FIELDSTREAMS_HPP
--- a/src/hotspot/share/oops/generateOopMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/generateOopMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_GENERATEOOPMAP_HPP
-#define SHARE_VM_OOPS_GENERATEOOPMAP_HPP
+#ifndef SHARE_OOPS_GENERATEOOPMAP_HPP
+#define SHARE_OOPS_GENERATEOOPMAP_HPP
#include "interpreter/bytecodeStream.hpp"
#include "memory/allocation.hpp"
@@ -563,4 +563,4 @@
// Call compute_map(CHECK) to generate info.
};
-#endif // SHARE_VM_OOPS_GENERATEOOPMAP_HPP
+#endif // SHARE_OOPS_GENERATEOOPMAP_HPP
--- a/src/hotspot/share/oops/instanceClassLoaderKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceClassLoaderKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_INSTANCECLASSLOADERKLASS_HPP
-#define SHARE_VM_OOPS_INSTANCECLASSLOADERKLASS_HPP
+#ifndef SHARE_OOPS_INSTANCECLASSLOADERKLASS_HPP
+#define SHARE_OOPS_INSTANCECLASSLOADERKLASS_HPP
#include "oops/instanceKlass.hpp"
#include "utilities/macros.hpp"
@@ -68,4 +68,4 @@
inline void oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr);
};
-#endif // SHARE_VM_OOPS_INSTANCECLASSLOADERKLASS_HPP
+#endif // SHARE_OOPS_INSTANCECLASSLOADERKLASS_HPP
--- a/src/hotspot/share/oops/instanceClassLoaderKlass.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceClassLoaderKlass.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_INSTANCECLASSLOADERKLASS_INLINE_HPP
-#define SHARE_VM_OOPS_INSTANCECLASSLOADERKLASS_INLINE_HPP
+#ifndef SHARE_OOPS_INSTANCECLASSLOADERKLASS_INLINE_HPP
+#define SHARE_OOPS_INSTANCECLASSLOADERKLASS_INLINE_HPP
#include "classfile/javaClasses.hpp"
#include "memory/iterator.hpp"
@@ -70,4 +70,4 @@
}
}
-#endif // SHARE_VM_OOPS_INSTANCECLASSLOADERKLASS_INLINE_HPP
+#endif // SHARE_OOPS_INSTANCECLASSLOADERKLASS_INLINE_HPP
--- a/src/hotspot/share/oops/instanceKlass.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceKlass.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -918,25 +918,28 @@
bool wait = false;
+ assert(THREAD->is_Java_thread(), "non-JavaThread in initialize_impl");
+ JavaThread* jt = (JavaThread*)THREAD;
+
// refer to the JVM book page 47 for description of steps
// Step 1
{
Handle h_init_lock(THREAD, init_lock());
ObjectLocker ol(h_init_lock, THREAD, h_init_lock() != NULL);
- Thread *self = THREAD; // it's passed the current thread
-
// Step 2
// If we were to use wait() instead of waitInterruptibly() then
// we might end up throwing IE from link/symbol resolution sites
// that aren't expected to throw. This would wreak havoc. See 6320309.
- while(is_being_initialized() && !is_reentrant_initialization(self)) {
- wait = true;
- ol.waitUninterruptibly(CHECK);
+ while (is_being_initialized() && !is_reentrant_initialization(jt)) {
+ wait = true;
+ jt->set_class_to_be_initialized(this);
+ ol.waitUninterruptibly(jt);
+ jt->set_class_to_be_initialized(NULL);
}
// Step 3
- if (is_being_initialized() && is_reentrant_initialization(self)) {
+ if (is_being_initialized() && is_reentrant_initialization(jt)) {
DTRACE_CLASSINIT_PROBE_WAIT(recursive, -1, wait);
return;
}
@@ -966,7 +969,7 @@
// Step 6
set_init_state(being_initialized);
- set_init_thread(self);
+ set_init_thread(jt);
}
// Step 7
@@ -1006,8 +1009,6 @@
// Step 8
{
- assert(THREAD->is_Java_thread(), "non-JavaThread in initialize_impl");
- JavaThread* jt = (JavaThread*)THREAD;
DTRACE_CLASSINIT_PROBE_WAIT(clinit, -1, wait);
// Timer includes any side effects of class initialization (resolution,
// etc), but not recursive entry into call_class_initializer().
@@ -1033,14 +1034,14 @@
CLEAR_PENDING_EXCEPTION;
// JVMTI has already reported the pending exception
// JVMTI internal flag reset is needed in order to report ExceptionInInitializerError
- JvmtiExport::clear_detected_exception((JavaThread*)THREAD);
+ JvmtiExport::clear_detected_exception(jt);
{
EXCEPTION_MARK;
set_initialization_state_and_notify(initialization_error, THREAD);
CLEAR_PENDING_EXCEPTION; // ignore any exception thrown, class initialization error is thrown below
// JVMTI has already reported the pending exception
// JVMTI internal flag reset is needed in order to report ExceptionInInitializerError
- JvmtiExport::clear_detected_exception((JavaThread*)THREAD);
+ JvmtiExport::clear_detected_exception(jt);
}
DTRACE_CLASSINIT_PROBE_WAIT(error, -1, wait);
if (e->is_a(SystemDictionary::Error_klass())) {
@@ -2178,6 +2179,7 @@
for (int m = 0; m < methods()->length(); m++) {
MethodData* mdo = methods()->at(m)->method_data();
if (mdo != NULL) {
+ MutexLockerEx ml(SafepointSynchronize::is_at_safepoint() ? NULL : mdo->extra_data_lock());
mdo->clean_method_data(/*always_clean*/false);
}
}
@@ -2372,9 +2374,8 @@
Array<Method*>* methods = this->methods();
int num_methods = methods->length();
- for (int index2 = 0; index2 < num_methods; ++index2) {
- methodHandle m(THREAD, methods->at(index2));
- m->restore_unshareable_info(CHECK);
+ for (int index = 0; index < num_methods; ++index) {
+ methods->at(index)->restore_unshareable_info(CHECK);
}
if (JvmtiExport::has_redefined_a_class()) {
// Reinitialize vtable because RedefineClasses may have changed some
--- a/src/hotspot/share/oops/instanceKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_INSTANCEKLASS_HPP
-#define SHARE_VM_OOPS_INSTANCEKLASS_HPP
+#ifndef SHARE_OOPS_INSTANCEKLASS_HPP
+#define SHARE_OOPS_INSTANCEKLASS_HPP
#include "classfile/classLoader.hpp"
#include "classfile/classLoaderData.hpp"
@@ -1470,4 +1470,4 @@
}
};
-#endif // SHARE_VM_OOPS_INSTANCEKLASS_HPP
+#endif // SHARE_OOPS_INSTANCEKLASS_HPP
--- a/src/hotspot/share/oops/instanceKlass.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceKlass.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_INSTANCEKLASS_INLINE_HPP
-#define SHARE_VM_OOPS_INSTANCEKLASS_INLINE_HPP
+#ifndef SHARE_OOPS_INSTANCEKLASS_INLINE_HPP
+#define SHARE_OOPS_INSTANCEKLASS_INLINE_HPP
#include "memory/iterator.hpp"
#include "oops/instanceKlass.hpp"
@@ -157,4 +157,4 @@
oop_oop_iterate_oop_maps_bounded<T>(obj, closure, mr);
}
-#endif // SHARE_VM_OOPS_INSTANCEKLASS_INLINE_HPP
+#endif // SHARE_OOPS_INSTANCEKLASS_INLINE_HPP
--- a/src/hotspot/share/oops/instanceMirrorKlass.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceMirrorKlass.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -23,7 +23,7 @@
*/
#include "precompiled.hpp"
-#include "classfile/javaClasses.hpp"
+#include "classfile/javaClasses.inline.hpp"
#include "classfile/systemDictionary.hpp"
#include "gc/shared/collectedHeap.inline.hpp"
#include "memory/iterator.inline.hpp"
--- a/src/hotspot/share/oops/instanceMirrorKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceMirrorKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_INSTANCEMIRRORKLASS_HPP
-#define SHARE_VM_OOPS_INSTANCEMIRRORKLASS_HPP
+#ifndef SHARE_OOPS_INSTANCEMIRRORKLASS_HPP
+#define SHARE_OOPS_INSTANCEMIRRORKLASS_HPP
#include "classfile/systemDictionary.hpp"
#include "oops/instanceKlass.hpp"
@@ -121,4 +121,4 @@
inline void oop_oop_iterate_statics_bounded(oop obj, OopClosureType* closure, MemRegion mr);
};
-#endif // SHARE_VM_OOPS_INSTANCEMIRRORKLASS_HPP
+#endif // SHARE_OOPS_INSTANCEMIRRORKLASS_HPP
--- a/src/hotspot/share/oops/instanceMirrorKlass.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceMirrorKlass.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+/* Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_INSTANCEMIRRORKLASS_INLINE_HPP
-#define SHARE_VM_OOPS_INSTANCEMIRRORKLASS_INLINE_HPP
+#ifndef SHARE_OOPS_INSTANCEMIRRORKLASS_INLINE_HPP
+#define SHARE_OOPS_INSTANCEMIRRORKLASS_INLINE_HPP
#include "classfile/javaClasses.hpp"
#include "oops/instanceKlass.inline.hpp"
@@ -127,4 +127,4 @@
oop_oop_iterate_statics_bounded<T>(obj, closure, mr);
}
-#endif // SHARE_VM_OOPS_INSTANCEMIRRORKLASS_INLINE_HPP
+#endif // SHARE_OOPS_INSTANCEMIRRORKLASS_INLINE_HPP
--- a/src/hotspot/share/oops/instanceOop.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceOop.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_INSTANCEOOP_HPP
-#define SHARE_VM_OOPS_INSTANCEOOP_HPP
+#ifndef SHARE_OOPS_INSTANCEOOP_HPP
+#define SHARE_OOPS_INSTANCEOOP_HPP
#include "oops/oop.hpp"
@@ -51,4 +51,4 @@
}
};
-#endif // SHARE_VM_OOPS_INSTANCEOOP_HPP
+#endif // SHARE_OOPS_INSTANCEOOP_HPP
--- a/src/hotspot/share/oops/instanceRefKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceRefKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_INSTANCEREFKLASS_HPP
-#define SHARE_VM_OOPS_INSTANCEREFKLASS_HPP
+#ifndef SHARE_OOPS_INSTANCEREFKLASS_HPP
+#define SHARE_OOPS_INSTANCEREFKLASS_HPP
#include "oops/instanceKlass.hpp"
#include "utilities/macros.hpp"
@@ -138,4 +138,4 @@
void oop_verify_on(oop obj, outputStream* st);
};
-#endif // SHARE_VM_OOPS_INSTANCEREFKLASS_HPP
+#endif // SHARE_OOPS_INSTANCEREFKLASS_HPP
--- a/src/hotspot/share/oops/instanceRefKlass.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/instanceRefKlass.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_INSTANCEREFKLASS_INLINE_HPP
-#define SHARE_VM_OOPS_INSTANCEREFKLASS_INLINE_HPP
+#ifndef SHARE_OOPS_INSTANCEREFKLASS_INLINE_HPP
+#define SHARE_OOPS_INSTANCEREFKLASS_INLINE_HPP
#include "classfile/javaClasses.inline.hpp"
#include "gc/shared/referenceProcessor.hpp"
@@ -197,4 +197,4 @@
}
#endif
-#endif // SHARE_VM_OOPS_INSTANCEREFKLASS_INLINE_HPP
+#endif // SHARE_OOPS_INSTANCEREFKLASS_INLINE_HPP
--- a/src/hotspot/share/oops/klass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/klass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_KLASS_HPP
-#define SHARE_VM_OOPS_KLASS_HPP
+#ifndef SHARE_OOPS_KLASS_HPP
+#define SHARE_OOPS_KLASS_HPP
#include "classfile/classLoaderData.hpp"
#include "memory/iterator.hpp"
@@ -706,4 +706,4 @@
static Klass* decode_klass(narrowKlass v);
};
-#endif // SHARE_VM_OOPS_KLASS_HPP
+#endif // SHARE_OOPS_KLASS_HPP
--- a/src/hotspot/share/oops/klass.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/klass.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_KLASS_INLINE_HPP
-#define SHARE_VM_OOPS_KLASS_INLINE_HPP
+#ifndef SHARE_OOPS_KLASS_INLINE_HPP
+#define SHARE_OOPS_KLASS_INLINE_HPP
#include "memory/universe.hpp"
#include "oops/klass.hpp"
@@ -71,4 +71,4 @@
return is_null(v) ? (Klass*)NULL : decode_klass_not_null(v);
}
-#endif // SHARE_VM_OOPS_KLASS_INLINE_HPP
+#endif // SHARE_OOPS_KLASS_INLINE_HPP
--- a/src/hotspot/share/oops/klassVtable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/klassVtable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_KLASSVTABLE_HPP
-#define SHARE_VM_OOPS_KLASSVTABLE_HPP
+#ifndef SHARE_OOPS_KLASSVTABLE_HPP
+#define SHARE_OOPS_KLASSVTABLE_HPP
#include "oops/oopsHierarchy.hpp"
#include "runtime/handles.hpp"
@@ -352,4 +352,4 @@
static void update_stats(int size) PRODUCT_RETURN NOT_PRODUCT({ _total_classes++; _total_size += size; })
};
-#endif // SHARE_VM_OOPS_KLASSVTABLE_HPP
+#endif // SHARE_OOPS_KLASSVTABLE_HPP
--- a/src/hotspot/share/oops/markOop.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/markOop.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_MARKOOP_HPP
-#define SHARE_VM_OOPS_MARKOOP_HPP
+#ifndef SHARE_OOPS_MARKOOP_HPP
+#define SHARE_OOPS_MARKOOP_HPP
#include "oops/oop.hpp"
@@ -403,4 +403,4 @@
#endif // _LP64
};
-#endif // SHARE_VM_OOPS_MARKOOP_HPP
+#endif // SHARE_OOPS_MARKOOP_HPP
--- a/src/hotspot/share/oops/markOop.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/markOop.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_MARKOOP_INLINE_HPP
-#define SHARE_VM_OOPS_MARKOOP_INLINE_HPP
+#ifndef SHARE_OOPS_MARKOOP_INLINE_HPP
+#define SHARE_OOPS_MARKOOP_INLINE_HPP
#include "oops/klass.hpp"
#include "oops/markOop.hpp"
@@ -111,4 +111,4 @@
return obj->klass()->prototype_header();
}
-#endif // SHARE_VM_OOPS_MARKOOP_INLINE_HPP
+#endif // SHARE_OOPS_MARKOOP_INLINE_HPP
--- a/src/hotspot/share/oops/metadata.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/metadata.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_METADATA_HPP
-#define SHARE_VM_OOPS_METADATA_HPP
+#ifndef SHARE_OOPS_METADATA_HPP
+#define SHARE_OOPS_METADATA_HPP
#include "utilities/exceptions.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -76,4 +76,4 @@
static void mark_on_stack(Metadata* m) { m->set_on_stack(true); }
};
-#endif // SHARE_VM_OOPS_METADATA_HPP
+#endif // SHARE_OOPS_METADATA_HPP
--- a/src/hotspot/share/oops/method.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/method.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_METHODOOP_HPP
-#define SHARE_VM_OOPS_METHODOOP_HPP
+#ifndef SHARE_OOPS_METHOD_HPP
+#define SHARE_OOPS_METHOD_HPP
#include "classfile/vmSymbols.hpp"
#include "code/compressedStream.hpp"
@@ -1176,4 +1176,4 @@
}
};
-#endif // SHARE_VM_OOPS_METHODOOP_HPP
+#endif // SHARE_OOPS_METHOD_HPP
--- a/src/hotspot/share/oops/method.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/method.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_METHOD_INLINE_HPP
-#define SHARE_VM_OOPS_METHOD_INLINE_HPP
+#ifndef SHARE_OOPS_METHOD_INLINE_HPP
+#define SHARE_OOPS_METHOD_INLINE_HPP
#include "oops/method.hpp"
#include "runtime/orderAccess.hpp"
@@ -50,4 +50,4 @@
inline bool Method::has_compiled_code() const { return code() != NULL; }
-#endif // SHARE_VM_OOPS_METHOD_INLINE_HPP
+#endif // SHARE_OOPS_METHOD_INLINE_HPP
--- a/src/hotspot/share/oops/methodCounters.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/methodCounters.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_METHODCOUNTERS_HPP
-#define SHARE_VM_OOPS_METHODCOUNTERS_HPP
+#ifndef SHARE_OOPS_METHODCOUNTERS_HPP
+#define SHARE_OOPS_METHODCOUNTERS_HPP
#include "oops/metadata.hpp"
#include "compiler/compilerDefinitions.hpp"
@@ -265,4 +265,4 @@
virtual void print_value_on(outputStream* st) const;
};
-#endif //SHARE_VM_OOPS_METHODCOUNTERS_HPP
+#endif // SHARE_OOPS_METHODCOUNTERS_HPP
--- a/src/hotspot/share/oops/methodData.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/methodData.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1653,11 +1653,6 @@
}
}
-class CleanExtraDataClosure : public StackObj {
-public:
- virtual bool is_live(Method* m) = 0;
-};
-
// Check for entries that reference an unloaded method
class CleanExtraDataKlassClosure : public CleanExtraDataClosure {
bool _always_clean;
--- a/src/hotspot/share/oops/methodData.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/methodData.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_METHODDATAOOP_HPP
-#define SHARE_VM_OOPS_METHODDATAOOP_HPP
+#ifndef SHARE_OOPS_METHODDATA_HPP
+#define SHARE_OOPS_METHODDATA_HPP
#include "interpreter/bytecodes.hpp"
#include "memory/universe.hpp"
@@ -1943,7 +1943,11 @@
// adjusted in the event of a change in control flow.
//
-class CleanExtraDataClosure;
+class CleanExtraDataClosure : public StackObj {
+public:
+ virtual bool is_live(Method* m) = 0;
+};
+
class MethodData : public Metadata {
friend class VMStructs;
@@ -2116,11 +2120,12 @@
static bool profile_parameters_jsr292_only();
static bool profile_all_parameters();
- void clean_extra_data(CleanExtraDataClosure* cl);
void clean_extra_data_helper(DataLayout* dp, int shift, bool reset = false);
void verify_extra_data_clean(CleanExtraDataClosure* cl);
public:
+ void clean_extra_data(CleanExtraDataClosure* cl);
+
static int header_size() {
return sizeof(MethodData)/wordSize;
}
@@ -2427,4 +2432,4 @@
Mutex* extra_data_lock() { return &_extra_data_lock; }
};
-#endif // SHARE_VM_OOPS_METHODDATAOOP_HPP
+#endif // SHARE_OOPS_METHODDATA_HPP
--- a/src/hotspot/share/oops/methodData.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/methodData.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_METHODDATA_INLINE_HPP
-#define SHARE_VM_OOPS_METHODDATA_INLINE_HPP
+#ifndef SHARE_OOPS_METHODDATA_INLINE_HPP
+#define SHARE_OOPS_METHODDATA_INLINE_HPP
#include "oops/methodData.hpp"
#include "runtime/orderAccess.hpp"
@@ -52,4 +52,4 @@
release_set_int_at(bci0_offset + row * ret_row_cell_count, bci);
}
-#endif // SHARE_VM_OOPS_METHODDATA_INLINE_HPP
+#endif // SHARE_OOPS_METHODDATA_INLINE_HPP
--- a/src/hotspot/share/oops/objArrayKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/objArrayKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_OBJARRAYKLASS_HPP
-#define SHARE_VM_OOPS_OBJARRAYKLASS_HPP
+#ifndef SHARE_OOPS_OBJARRAYKLASS_HPP
+#define SHARE_OOPS_OBJARRAYKLASS_HPP
#include "classfile/classLoaderData.hpp"
#include "oops/arrayKlass.hpp"
@@ -174,4 +174,4 @@
void oop_verify_on(oop obj, outputStream* st);
};
-#endif // SHARE_VM_OOPS_OBJARRAYKLASS_HPP
+#endif // SHARE_OOPS_OBJARRAYKLASS_HPP
--- a/src/hotspot/share/oops/objArrayKlass.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/objArrayKlass.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_OBJARRAYKLASS_INLINE_HPP
-#define SHARE_VM_OOPS_OBJARRAYKLASS_INLINE_HPP
+#ifndef SHARE_OOPS_OBJARRAYKLASS_INLINE_HPP
+#define SHARE_OOPS_OBJARRAYKLASS_INLINE_HPP
#include "memory/memRegion.hpp"
#include "memory/iterator.hpp"
@@ -117,4 +117,4 @@
}
}
-#endif // SHARE_VM_OOPS_OBJARRAYKLASS_INLINE_HPP
+#endif // SHARE_OOPS_OBJARRAYKLASS_INLINE_HPP
--- a/src/hotspot/share/oops/objArrayOop.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/objArrayOop.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_OBJARRAYOOP_HPP
-#define SHARE_VM_OOPS_OBJARRAYOOP_HPP
+#ifndef SHARE_OOPS_OBJARRAYOOP_HPP
+#define SHARE_OOPS_OBJARRAYOOP_HPP
#include "oops/arrayOop.hpp"
#include "utilities/align.hpp"
@@ -112,4 +112,4 @@
void oop_iterate_range(OopClosureType* blk, int start, int end);
};
-#endif // SHARE_VM_OOPS_OBJARRAYOOP_HPP
+#endif // SHARE_OOPS_OBJARRAYOOP_HPP
--- a/src/hotspot/share/oops/objArrayOop.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/objArrayOop.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_OBJARRAYOOP_INLINE_HPP
-#define SHARE_VM_OOPS_OBJARRAYOOP_INLINE_HPP
+#ifndef SHARE_OOPS_OBJARRAYOOP_INLINE_HPP
+#define SHARE_OOPS_OBJARRAYOOP_INLINE_HPP
#include "oops/access.inline.hpp"
#include "oops/arrayOop.inline.hpp"
@@ -54,4 +54,4 @@
HeapAccess<IS_ARRAY>::oop_store_at(as_oop(), offset, value);
}
-#endif // SHARE_VM_OOPS_OBJARRAYOOP_INLINE_HPP
+#endif // SHARE_OOPS_OBJARRAYOOP_INLINE_HPP
--- a/src/hotspot/share/oops/oop.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/oop.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_OOP_HPP
-#define SHARE_VM_OOPS_OOP_HPP
+#ifndef SHARE_OOPS_OOP_HPP
+#define SHARE_OOPS_OOP_HPP
#include "memory/iterator.hpp"
#include "memory/memRegion.hpp"
@@ -331,4 +331,4 @@
static oop oop_or_null(address addr);
};
-#endif // SHARE_VM_OOPS_OOP_HPP
+#endif // SHARE_OOPS_OOP_HPP
--- a/src/hotspot/share/oops/oop.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/oop.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_OOP_INLINE_HPP
-#define SHARE_VM_OOPS_OOP_INLINE_HPP
+#ifndef SHARE_OOPS_OOP_INLINE_HPP
+#define SHARE_OOPS_OOP_INLINE_HPP
#include "gc/shared/collectedHeap.hpp"
#include "oops/access.inline.hpp"
@@ -481,4 +481,4 @@
mark_raw()->set_displaced_mark_helper(m);
}
-#endif // SHARE_VM_OOPS_OOP_INLINE_HPP
+#endif // SHARE_OOPS_OOP_INLINE_HPP
--- a/src/hotspot/share/oops/oopHandle.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/oopHandle.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_OOPHANDLE_HPP
-#define SHARE_VM_OOPS_OOPHANDLE_HPP
+#ifndef SHARE_OOPS_OOPHANDLE_HPP
+#define SHARE_OOPS_OOPHANDLE_HPP
#include "oops/oop.hpp"
@@ -50,4 +50,4 @@
oop* ptr_raw() const { return _obj; }
};
-#endif // SHARE_VM_OOPS_OOPHANDLE_HPP
+#endif // SHARE_OOPS_OOPHANDLE_HPP
--- a/src/hotspot/share/oops/oopHandle.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/oopHandle.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_OOPHANDLE_INLINE_HPP
-#define SHARE_VM_OOPS_OOPHANDLE_INLINE_HPP
+#ifndef SHARE_OOPS_OOPHANDLE_INLINE_HPP
+#define SHARE_OOPS_OOPHANDLE_INLINE_HPP
#include "oops/access.inline.hpp"
#include "oops/oopHandle.hpp"
@@ -36,4 +36,4 @@
return (_obj == NULL) ? (oop)NULL : NativeAccess<AS_NO_KEEPALIVE>::oop_load(_obj);
}
-#endif // SHARE_VM_OOPS_OOPHANDLE_INLINE_HPP
+#endif // SHARE_OOPS_OOPHANDLE_INLINE_HPP
--- a/src/hotspot/share/oops/oopsHierarchy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/oopsHierarchy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_OOPSHIERARCHY_HPP
-#define SHARE_VM_OOPS_OOPSHIERARCHY_HPP
+#ifndef SHARE_OOPS_OOPSHIERARCHY_HPP
+#define SHARE_OOPS_OOPSHIERARCHY_HPP
#include "metaprogramming/integralConstant.hpp"
#include "metaprogramming/primitiveConversions.hpp"
@@ -220,4 +220,4 @@
class ObjArrayKlass;
class TypeArrayKlass;
-#endif // SHARE_VM_OOPS_OOPSHIERARCHY_HPP
+#endif // SHARE_OOPS_OOPSHIERARCHY_HPP
--- a/src/hotspot/share/oops/reflectionAccessorImplKlassHelper.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/reflectionAccessorImplKlassHelper.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef HOTSPOT_SHARE_OOPS_REFLECTIONACCESSORIMPLKLASSHELPER_HPP
-#define HOTSPOT_SHARE_OOPS_REFLECTIONACCESSORIMPLKLASSHELPER_HPP
+#ifndef SHARE_OOPS_REFLECTIONACCESSORIMPLKLASSHELPER_HPP
+#define SHARE_OOPS_REFLECTIONACCESSORIMPLKLASSHELPER_HPP
#include "memory/allocation.hpp"
@@ -71,5 +71,4 @@
-#endif /* HOTSPOT_SHARE_OOPS_REFLECTIONACCESSORIMPLKLASSHELPER_HPP */
-
+#endif // SHARE_OOPS_REFLECTIONACCESSORIMPLKLASSHELPER_HPP
--- a/src/hotspot/share/oops/symbol.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/symbol.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_SYMBOL_HPP
-#define SHARE_VM_OOPS_SYMBOL_HPP
+#ifndef SHARE_OOPS_SYMBOL_HPP
+#define SHARE_OOPS_SYMBOL_HPP
#include "memory/allocation.hpp"
#include "utilities/exceptions.hpp"
@@ -271,4 +271,4 @@
return (((uintptr_t)this < (uintptr_t)other) ? -1
: ((uintptr_t)this == (uintptr_t) other) ? 0 : 1);
}
-#endif // SHARE_VM_OOPS_SYMBOL_HPP
+#endif // SHARE_OOPS_SYMBOL_HPP
--- a/src/hotspot/share/oops/typeArrayKlass.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/typeArrayKlass.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_TYPEARRAYKLASS_HPP
-#define SHARE_VM_OOPS_TYPEARRAYKLASS_HPP
+#ifndef SHARE_OOPS_TYPEARRAYKLASS_HPP
+#define SHARE_OOPS_TYPEARRAYKLASS_HPP
#include "classfile/classLoaderData.hpp"
#include "oops/arrayKlass.hpp"
@@ -135,4 +135,4 @@
PackageEntry* package() const;
};
-#endif // SHARE_VM_OOPS_TYPEARRAYKLASS_HPP
+#endif // SHARE_OOPS_TYPEARRAYKLASS_HPP
--- a/src/hotspot/share/oops/typeArrayKlass.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/typeArrayKlass.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_TYPEARRAYKLASS_INLINE_HPP
-#define SHARE_VM_OOPS_TYPEARRAYKLASS_INLINE_HPP
+#ifndef SHARE_OOPS_TYPEARRAYKLASS_INLINE_HPP
+#define SHARE_OOPS_TYPEARRAYKLASS_INLINE_HPP
#include "oops/arrayKlass.hpp"
#include "oops/klass.hpp"
@@ -54,4 +54,4 @@
oop_oop_iterate_impl(obj, closure);
}
-#endif // SHARE_VM_OOPS_TYPEARRAYKLASS_INLINE_HPP
+#endif // SHARE_OOPS_TYPEARRAYKLASS_INLINE_HPP
--- a/src/hotspot/share/oops/typeArrayOop.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/typeArrayOop.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_TYPEARRAYOOP_HPP
-#define SHARE_VM_OOPS_TYPEARRAYOOP_HPP
+#ifndef SHARE_OOPS_TYPEARRAYOOP_HPP
+#define SHARE_OOPS_TYPEARRAYOOP_HPP
#include "oops/arrayOop.hpp"
#include "oops/typeArrayKlass.hpp"
@@ -134,4 +134,4 @@
inline int object_size();
};
-#endif // SHARE_VM_OOPS_TYPEARRAYOOP_HPP
+#endif // SHARE_OOPS_TYPEARRAYOOP_HPP
--- a/src/hotspot/share/oops/typeArrayOop.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/typeArrayOop.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_TYPEARRAYOOP_INLINE_HPP
-#define SHARE_VM_OOPS_TYPEARRAYOOP_INLINE_HPP
+#ifndef SHARE_OOPS_TYPEARRAYOOP_INLINE_HPP
+#define SHARE_OOPS_TYPEARRAYOOP_INLINE_HPP
#include "oops/access.inline.hpp"
#include "oops/oop.inline.hpp"
@@ -203,4 +203,4 @@
#endif // _LP64
-#endif // SHARE_VM_OOPS_TYPEARRAYOOP_INLINE_HPP
+#endif // SHARE_OOPS_TYPEARRAYOOP_INLINE_HPP
--- a/src/hotspot/share/oops/verifyOopClosure.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/verifyOopClosure.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_VERIFYOOPCLOSURE_HPP
-#define SHARE_VM_OOPS_VERIFYOOPCLOSURE_HPP
+#ifndef SHARE_OOPS_VERIFYOOPCLOSURE_HPP
+#define SHARE_OOPS_VERIFYOOPCLOSURE_HPP
#include "memory/iterator.hpp"
@@ -36,4 +36,4 @@
static VerifyOopClosure verify_oop;
};
-#endif // SHARE_VM_OOPS_VERIFYOOPCLOSURE_HPP
+#endif // SHARE_OOPS_VERIFYOOPCLOSURE_HPP
--- a/src/hotspot/share/oops/weakHandle.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/weakHandle.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_WEAKHANDLE_HPP
-#define SHARE_VM_OOPS_WEAKHANDLE_HPP
+#ifndef SHARE_OOPS_WEAKHANDLE_HPP
+#define SHARE_OOPS_WEAKHANDLE_HPP
#include "oops/oop.hpp"
#include "runtime/handles.hpp"
@@ -66,4 +66,4 @@
typedef WeakHandle<vm_class_loader_data> ClassLoaderWeakHandle;
-#endif // SHARE_VM_OOPS_WEAKHANDLE_HPP
+#endif // SHARE_OOPS_WEAKHANDLE_HPP
--- a/src/hotspot/share/oops/weakHandle.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/oops/weakHandle.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OOPS_WEAKHANDLE_INLINE_HPP
-#define SHARE_VM_OOPS_WEAKHANDLE_INLINE_HPP
+#ifndef SHARE_OOPS_WEAKHANDLE_INLINE_HPP
+#define SHARE_OOPS_WEAKHANDLE_INLINE_HPP
#include "oops/weakHandle.hpp"
#include "oops/access.inline.hpp"
@@ -45,5 +45,4 @@
NativeAccess<ON_PHANTOM_OOP_REF>::oop_store(_obj, with_obj);
}
-#endif // SHARE_VM_OOPS_WEAKHANDLE_INLINE_HPP
-
+#endif // SHARE_OOPS_WEAKHANDLE_INLINE_HPP
--- a/src/hotspot/share/opto/ad.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/ad.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,12 +22,12 @@
*
*/
-#ifndef SHARE_VM_OPTO_AD_HPP
-#define SHARE_VM_OPTO_AD_HPP
+#ifndef SHARE_OPTO_AD_HPP
+#define SHARE_OPTO_AD_HPP
#include "utilities/macros.hpp"
#include CPU_HEADER(adfiles/ad)
-#endif // SHARE_VM_OPTO_AD_HPP
+#endif // SHARE_OPTO_AD_HPP
--- a/src/hotspot/share/opto/addnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/addnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_ADDNODE_HPP
-#define SHARE_VM_OPTO_ADDNODE_HPP
+#ifndef SHARE_OPTO_ADDNODE_HPP
+#define SHARE_OPTO_ADDNODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -297,4 +297,4 @@
virtual uint ideal_reg() const { return Op_RegD; }
};
-#endif // SHARE_VM_OPTO_ADDNODE_HPP
+#endif // SHARE_OPTO_ADDNODE_HPP
--- a/src/hotspot/share/opto/adlcVMDeps.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/adlcVMDeps.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,20 +22,18 @@
*
*/
-#ifndef SHARE_VM_OPTO_ADLCVMDEPS_HPP
-#define SHARE_VM_OPTO_ADLCVMDEPS_HPP
+#ifndef SHARE_OPTO_ADLCVMDEPS_HPP
+#define SHARE_OPTO_ADLCVMDEPS_HPP
+
// adlcVMDeps.hpp is used by both adlc and vm builds.
-// Only include allocation.hpp when we're not building adlc.
-#ifndef SHARE_VM_ADLC_ARENA_HPP
-#include "memory/allocation.hpp"
-#endif
+// Don't inherit from AllStatic to avoid including memory/allocation.hpp.
// Declare commonly known constant and data structures between the
// ADLC and the VM
//
-class AdlcVMDeps : public AllStatic {
+class AdlcVMDeps { // AllStatic
public:
// Mirror of TypeFunc types
enum { Control, I_O, Memory, FramePtr, ReturnAdr, Parms };
@@ -52,4 +50,4 @@
static const char* none_reloc_type() { return "relocInfo::none"; }
};
-#endif // SHARE_VM_OPTO_ADLCVMDEPS_HPP
+#endif // SHARE_OPTO_ADLCVMDEPS_HPP
--- a/src/hotspot/share/opto/arraycopynode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/arraycopynode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_ARRAYCOPYNODE_HPP
-#define SHARE_VM_OPTO_ARRAYCOPYNODE_HPP
+#ifndef SHARE_OPTO_ARRAYCOPYNODE_HPP
+#define SHARE_OPTO_ARRAYCOPYNODE_HPP
#include "gc/shared/c2/barrierSetC2.hpp"
#include "opto/callnode.hpp"
@@ -178,4 +178,4 @@
virtual void dump_compact_spec(outputStream* st) const;
#endif
};
-#endif // SHARE_VM_OPTO_ARRAYCOPYNODE_HPP
+#endif // SHARE_OPTO_ARRAYCOPYNODE_HPP
--- a/src/hotspot/share/opto/block.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/block.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_BLOCK_HPP
-#define SHARE_VM_OPTO_BLOCK_HPP
+#ifndef SHARE_OPTO_BLOCK_HPP
+#define SHARE_OPTO_BLOCK_HPP
#include "opto/multnode.hpp"
#include "opto/node.hpp"
@@ -887,4 +887,4 @@
void union_traces(Trace* from, Trace* to);
};
-#endif // SHARE_VM_OPTO_BLOCK_HPP
+#endif // SHARE_OPTO_BLOCK_HPP
--- a/src/hotspot/share/opto/c2_globals.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/c2_globals.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_C2_GLOBALS_HPP
-#define SHARE_VM_OPTO_C2_GLOBALS_HPP
+#ifndef SHARE_OPTO_C2_GLOBALS_HPP
+#define SHARE_OPTO_C2_GLOBALS_HPP
#include "runtime/globals.hpp"
#include "utilities/macros.hpp"
@@ -773,4 +773,4 @@
IGNORE_CONSTRAINT, \
IGNORE_WRITEABLE)
-#endif // SHARE_VM_OPTO_C2_GLOBALS_HPP
+#endif // SHARE_OPTO_C2_GLOBALS_HPP
--- a/src/hotspot/share/opto/c2compiler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/c2compiler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_C2COMPILER_HPP
-#define SHARE_VM_OPTO_C2COMPILER_HPP
+#ifndef SHARE_OPTO_C2COMPILER_HPP
+#define SHARE_OPTO_C2COMPILER_HPP
#include "compiler/abstractCompiler.hpp"
#include "opto/output.hpp"
@@ -70,4 +70,4 @@
static int initial_code_buffer_size(int const_size = initial_const_capacity);
};
-#endif // SHARE_VM_OPTO_C2COMPILER_HPP
+#endif // SHARE_OPTO_C2COMPILER_HPP
--- a/src/hotspot/share/opto/callGenerator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/callGenerator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_CALLGENERATOR_HPP
-#define SHARE_VM_OPTO_CALLGENERATOR_HPP
+#ifndef SHARE_OPTO_CALLGENERATOR_HPP
+#define SHARE_OPTO_CALLGENERATOR_HPP
#include "compiler/compileBroker.hpp"
#include "opto/callnode.hpp"
@@ -342,4 +342,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_CALLGENERATOR_HPP
+#endif // SHARE_OPTO_CALLGENERATOR_HPP
--- a/src/hotspot/share/opto/callnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/callnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_CALLNODE_HPP
-#define SHARE_VM_OPTO_CALLNODE_HPP
+#ifndef SHARE_OPTO_CALLNODE_HPP
+#define SHARE_OPTO_CALLNODE_HPP
#include "opto/connode.hpp"
#include "opto/mulnode.hpp"
@@ -1126,4 +1126,4 @@
JVMState* dbg_jvms() const { return NULL; }
#endif
};
-#endif // SHARE_VM_OPTO_CALLNODE_HPP
+#endif // SHARE_OPTO_CALLNODE_HPP
--- a/src/hotspot/share/opto/castnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/castnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_CASTNODE_HPP
-#define SHARE_VM_OPTO_CASTNODE_HPP
+#ifndef SHARE_OPTO_CASTNODE_HPP
+#define SHARE_OPTO_CASTNODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -151,4 +151,4 @@
-#endif // SHARE_VM_OPTO_CASTNODE_HPP
+#endif // SHARE_OPTO_CASTNODE_HPP
--- a/src/hotspot/share/opto/cfgnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/cfgnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_CFGNODE_HPP
-#define SHARE_VM_OPTO_CFGNODE_HPP
+#ifndef SHARE_OPTO_CFGNODE_HPP
+#define SHARE_OPTO_CFGNODE_HPP
#include "opto/multnode.hpp"
#include "opto/node.hpp"
@@ -613,4 +613,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_CFGNODE_HPP
+#endif // SHARE_OPTO_CFGNODE_HPP
--- a/src/hotspot/share/opto/chaitin.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/chaitin.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_CHAITIN_HPP
-#define SHARE_VM_OPTO_CHAITIN_HPP
+#ifndef SHARE_OPTO_CHAITIN_HPP
+#define SHARE_OPTO_CHAITIN_HPP
#include "code/vmreg.hpp"
#include "memory/resourceArea.hpp"
@@ -801,4 +801,4 @@
friend class PhaseConservativeCoalesce;
};
-#endif // SHARE_VM_OPTO_CHAITIN_HPP
+#endif // SHARE_OPTO_CHAITIN_HPP
--- a/src/hotspot/share/opto/coalesce.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/coalesce.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_COALESCE_HPP
-#define SHARE_VM_OPTO_COALESCE_HPP
+#ifndef SHARE_OPTO_COALESCE_HPP
+#define SHARE_OPTO_COALESCE_HPP
#include "opto/phase.hpp"
@@ -114,4 +114,4 @@
void update_ifg(uint lr1, uint lr2, IndexSet *n_lr1, IndexSet *n_lr2);
};
-#endif // SHARE_VM_OPTO_COALESCE_HPP
+#endif // SHARE_OPTO_COALESCE_HPP
--- a/src/hotspot/share/opto/compile.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/compile.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_COMPILE_HPP
-#define SHARE_VM_OPTO_COMPILE_HPP
+#ifndef SHARE_OPTO_COMPILE_HPP
+#define SHARE_OPTO_COMPILE_HPP
#include "asm/codeBuffer.hpp"
#include "ci/compilerInterface.hpp"
@@ -1363,4 +1363,4 @@
void set_clone_map(Dict* d);
};
-#endif // SHARE_VM_OPTO_COMPILE_HPP
+#endif // SHARE_OPTO_COMPILE_HPP
--- a/src/hotspot/share/opto/connode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/connode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_CONNODE_HPP
-#define SHARE_VM_OPTO_CONNODE_HPP
+#ifndef SHARE_OPTO_CONNODE_HPP
+#define SHARE_OPTO_CONNODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -151,4 +151,4 @@
-#endif // SHARE_VM_OPTO_CONNODE_HPP
+#endif // SHARE_OPTO_CONNODE_HPP
--- a/src/hotspot/share/opto/convertnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/convertnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_CONVERTNODE_HPP
-#define SHARE_VM_OPTO_CONVERTNODE_HPP
+#ifndef SHARE_OPTO_CONVERTNODE_HPP
+#define SHARE_OPTO_CONVERTNODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -213,4 +213,4 @@
};
-#endif // SHARE_VM_OPTO_CONVERTNODE_HPP
+#endif // SHARE_OPTO_CONVERTNODE_HPP
--- a/src/hotspot/share/opto/countbitsnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/countbitsnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_COUNTBITSNODE_HPP
-#define SHARE_VM_OPTO_COUNTBITSNODE_HPP
+#ifndef SHARE_OPTO_COUNTBITSNODE_HPP
+#define SHARE_OPTO_COUNTBITSNODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -91,4 +91,4 @@
};
-#endif // SHARE_VM_OPTO_COUNTBITSNODE_HPP
+#endif // SHARE_OPTO_COUNTBITSNODE_HPP
--- a/src/hotspot/share/opto/divnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/divnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_DIVNODE_HPP
-#define SHARE_VM_OPTO_DIVNODE_HPP
+#ifndef SHARE_OPTO_DIVNODE_HPP
+#define SHARE_OPTO_DIVNODE_HPP
#include "opto/multnode.hpp"
#include "opto/node.hpp"
@@ -184,4 +184,4 @@
static DivModLNode* make(Node* div_or_mod);
};
-#endif // SHARE_VM_OPTO_DIVNODE_HPP
+#endif // SHARE_OPTO_DIVNODE_HPP
--- a/src/hotspot/share/opto/escape.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/escape.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1727,7 +1727,8 @@
//
Node* n = field->ideal_node();
for (DUIterator_Fast imax, i = n->fast_outs(imax); i < imax; i++) {
- if (n->fast_out(i)->is_LoadStore()) {
+ Node* u = n->fast_out(i);
+ if (u->is_LoadStore() || (u->is_Mem() && u->as_Mem()->is_mismatched_access())) {
jobj->set_scalar_replaceable(false);
return;
}
--- a/src/hotspot/share/opto/escape.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/escape.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_ESCAPE_HPP
-#define SHARE_VM_OPTO_ESCAPE_HPP
+#ifndef SHARE_OPTO_ESCAPE_HPP
+#define SHARE_OPTO_ESCAPE_HPP
#include "opto/addnode.hpp"
#include "opto/node.hpp"
@@ -615,4 +615,4 @@
assert(n != NULL && es != UnknownEscape, "sanity");
}
-#endif // SHARE_VM_OPTO_ESCAPE_HPP
+#endif // SHARE_OPTO_ESCAPE_HPP
--- a/src/hotspot/share/opto/graphKit.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/graphKit.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_GRAPHKIT_HPP
-#define SHARE_VM_OPTO_GRAPHKIT_HPP
+#ifndef SHARE_OPTO_GRAPHKIT_HPP
+#define SHARE_OPTO_GRAPHKIT_HPP
#include "ci/ciEnv.hpp"
#include "ci/ciMethodData.hpp"
@@ -927,4 +927,4 @@
~PreserveReexecuteState();
};
-#endif // SHARE_VM_OPTO_GRAPHKIT_HPP
+#endif // SHARE_OPTO_GRAPHKIT_HPP
--- a/src/hotspot/share/opto/idealGraphPrinter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/idealGraphPrinter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_IDEALGRAPHPRINTER_HPP
-#define SHARE_VM_OPTO_IDEALGRAPHPRINTER_HPP
+#ifndef SHARE_OPTO_IDEALGRAPHPRINTER_HPP
+#define SHARE_OPTO_IDEALGRAPHPRINTER_HPP
#include "libadt/dict.hpp"
#include "libadt/vectset.hpp"
@@ -139,4 +139,4 @@
#endif
-#endif // SHARE_VM_OPTO_IDEALGRAPHPRINTER_HPP
+#endif // SHARE_OPTO_IDEALGRAPHPRINTER_HPP
--- a/src/hotspot/share/opto/idealKit.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/idealKit.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_IDEALKIT_HPP
-#define SHARE_VM_OPTO_IDEALKIT_HPP
+#ifndef SHARE_OPTO_IDEALKIT_HPP
+#define SHARE_OPTO_IDEALKIT_HPP
#include "opto/addnode.hpp"
#include "opto/cfgnode.hpp"
@@ -260,4 +260,4 @@
Node* parm3);
};
-#endif // SHARE_VM_OPTO_IDEALKIT_HPP
+#endif // SHARE_OPTO_IDEALKIT_HPP
--- a/src/hotspot/share/opto/indexSet.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/indexSet.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_INDEXSET_HPP
-#define SHARE_VM_OPTO_INDEXSET_HPP
+#ifndef SHARE_OPTO_INDEXSET_HPP
+#define SHARE_OPTO_INDEXSET_HPP
#include "memory/allocation.hpp"
#include "memory/resourceArea.hpp"
@@ -468,4 +468,4 @@
}
};
-#endif // SHARE_VM_OPTO_INDEXSET_HPP
+#endif // SHARE_OPTO_INDEXSET_HPP
--- a/src/hotspot/share/opto/intrinsicnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/intrinsicnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_INTRINSICNODE_HPP
-#define SHARE_VM_OPTO_INTRINSICNODE_HPP
+#ifndef SHARE_OPTO_INTRINSICNODE_HPP
+#define SHARE_OPTO_INTRINSICNODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -216,4 +216,4 @@
virtual uint ideal_reg() const { return Op_RegI; }
};
-#endif // SHARE_VM_OPTO_INTRINSICNODE_HPP
+#endif // SHARE_OPTO_INTRINSICNODE_HPP
--- a/src/hotspot/share/opto/live.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/live.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_LIVE_HPP
-#define SHARE_VM_OPTO_LIVE_HPP
+#ifndef SHARE_OPTO_LIVE_HPP
+#define SHARE_OPTO_LIVE_HPP
#include "libadt/vectset.hpp"
#include "opto/block.hpp"
@@ -90,4 +90,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_LIVE_HPP
+#endif // SHARE_OPTO_LIVE_HPP
--- a/src/hotspot/share/opto/locknode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/locknode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_LOCKNODE_HPP
-#define SHARE_VM_OPTO_LOCKNODE_HPP
+#ifndef SHARE_OPTO_LOCKNODE_HPP
+#define SHARE_OPTO_LOCKNODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -128,4 +128,4 @@
};
-#endif // SHARE_VM_OPTO_LOCKNODE_HPP
+#endif // SHARE_OPTO_LOCKNODE_HPP
--- a/src/hotspot/share/opto/loopPredicate.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/loopPredicate.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -160,7 +160,7 @@
// When called from beautify_loops() idom is not constructed yet.
if (_idom != NULL) {
Node* ridom = idom(rgn);
- Node* nrdom = dom_lca(ridom, new_iff);
+ Node* nrdom = dom_lca_internal(ridom, new_iff);
set_idom(rgn, nrdom, dom_depth(rgn));
}
@@ -1308,7 +1308,7 @@
// range checks between the pre and main loop to validate the value
// of the main loop induction variable. Make a copy of the predicates
// here with an opaque node as a place holder for the value (will be
-// updated by PhaseIdealLoop::update_skeleton_predicate()).
+// updated by PhaseIdealLoop::clone_skeleton_predicate()).
ProjNode* PhaseIdealLoop::insert_skeleton_predicate(IfNode* iff, IdealLoopTree *loop,
ProjNode* proj, ProjNode *predicate_proj,
ProjNode* upper_bound_proj,
--- a/src/hotspot/share/opto/loopTransform.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/loopTransform.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1067,8 +1067,9 @@
// CastII/ConvI2L nodes cause some data paths to die. For consistency,
// the control paths must die too but the range checks were removed by
// predication. The range checks that we add here guarantee that they do.
-void PhaseIdealLoop::duplicate_predicates_helper(Node* predicate, Node* castii, IdealLoopTree* outer_loop,
- LoopNode* outer_main_head, uint dd_main_head) {
+void PhaseIdealLoop::duplicate_predicates_helper(Node* predicate, Node* start, Node* end,
+ IdealLoopTree* outer_loop, LoopNode* outer_main_head,
+ uint dd_main_head) {
if (predicate != NULL) {
IfNode* iff = predicate->in(0)->as_If();
ProjNode* uncommon_proj = iff->proj_out(1 - predicate->as_Proj()->_con);
@@ -1084,13 +1085,14 @@
if (uncommon_proj->unique_ctrl_out() != rgn)
break;
if (iff->in(1)->Opcode() == Op_Opaque4) {
+ assert(skeleton_predicate_has_opaque(iff), "unexpected");
// Clone the predicate twice and initialize one with the initial
// value of the loop induction variable. Leave the other predicate
// to be initialized when increasing the stride during loop unrolling.
- prev_proj = update_skeleton_predicate(iff, castii, predicate, uncommon_proj, current_proj, outer_loop, prev_proj);
- Node* value = new Opaque1Node(C, castii);
- register_new_node(value, current_proj);
- prev_proj = update_skeleton_predicate(iff, value, predicate, uncommon_proj, current_proj, outer_loop, prev_proj);
+ prev_proj = clone_skeleton_predicate(iff, start, predicate, uncommon_proj, current_proj, outer_loop, prev_proj);
+ assert(skeleton_predicate_has_opaque(prev_proj->in(0)->as_If()) == (start->Opcode() == Op_Opaque1), "");
+ prev_proj = clone_skeleton_predicate(iff, end, predicate, uncommon_proj, current_proj, outer_loop, prev_proj);
+ assert(skeleton_predicate_has_opaque(prev_proj->in(0)->as_If()) == (end->Opcode() == Op_Opaque1), "");
// Remove the skeleton predicate from the pre-loop
_igvn.replace_input_of(iff, 1, _igvn.intcon(1));
}
@@ -1101,9 +1103,47 @@
}
}
-Node* PhaseIdealLoop::update_skeleton_predicate(Node* iff, Node* value, Node* predicate, Node* uncommon_proj,
- Node* current_proj, IdealLoopTree* outer_loop, Node* prev_proj) {
- bool clone = (outer_loop != NULL); // Clone the predicate?
+static bool skeleton_follow_inputs(Node* n, int op) {
+ return (n->is_Bool() ||
+ n->is_Cmp() ||
+ op == Op_AndL ||
+ op == Op_OrL ||
+ op == Op_RShiftL ||
+ op == Op_LShiftL ||
+ op == Op_AddL ||
+ op == Op_AddI ||
+ op == Op_MulL ||
+ op == Op_MulI ||
+ op == Op_SubL ||
+ op == Op_SubI ||
+ op == Op_ConvI2L);
+}
+
+bool PhaseIdealLoop::skeleton_predicate_has_opaque(IfNode* iff) {
+ ResourceMark rm;
+ Unique_Node_List wq;
+ wq.push(iff->in(1)->in(1));
+ for (uint i = 0; i < wq.size(); i++) {
+ Node* n = wq.at(i);
+ int op = n->Opcode();
+ if (skeleton_follow_inputs(n, op)) {
+ for (uint j = 1; j < n->req(); j++) {
+ Node* m = n->in(j);
+ if (m != NULL) {
+ wq.push(m);
+ }
+ }
+ continue;
+ }
+ if (op == Op_Opaque1) {
+ return true;
+ }
+ }
+ return false;
+}
+
+Node* PhaseIdealLoop::clone_skeleton_predicate(Node* iff, Node* value, Node* predicate, Node* uncommon_proj,
+ Node* current_proj, IdealLoopTree* outer_loop, Node* prev_proj) {
Node_Stack to_clone(2);
to_clone.push(iff->in(1), 1);
uint current = C->unique();
@@ -1118,28 +1158,11 @@
uint i = to_clone.index();
Node* m = n->in(i);
int op = m->Opcode();
- if (m->is_Bool() ||
- m->is_Cmp() ||
- op == Op_AndL ||
- op == Op_OrL ||
- op == Op_RShiftL ||
- op == Op_LShiftL ||
- op == Op_AddL ||
- op == Op_AddI ||
- op == Op_MulL ||
- op == Op_MulI ||
- op == Op_SubL ||
- op == Op_SubI ||
- op == Op_ConvI2L) {
+ if (skeleton_follow_inputs(m, op)) {
to_clone.push(m, 1);
continue;
}
if (op == Op_Opaque1) {
- if (!clone) {
- // Update the input of the Opaque1Node and exit
- _igvn.replace_input_of(m, 1, value);
- return prev_proj;
- }
if (n->_idx < current) {
n = n->clone();
}
@@ -1161,20 +1184,17 @@
}
Node* next = to_clone.node();
j = to_clone.index();
- if (clone && cur->_idx >= current) {
+ if (next->in(j) != cur) {
+ assert(cur->_idx >= current || next->in(j)->Opcode() == Op_Opaque1, "new node or Opaque1 being replaced");
if (next->_idx < current) {
next = next->clone();
register_new_node(next, current_proj);
to_clone.set_node(next);
}
- assert(next->in(j) != cur, "input should have been cloned");
next->set_req(j, cur);
}
}
} while (result == NULL);
- if (!clone) {
- return NULL;
- }
assert(result->_idx >= current, "new node expected");
Node* proj = predicate->clone();
@@ -1197,8 +1217,9 @@
return proj;
}
-void PhaseIdealLoop::duplicate_predicates(CountedLoopNode* pre_head, Node* castii, IdealLoopTree* outer_loop,
- LoopNode* outer_main_head, uint dd_main_head) {
+void PhaseIdealLoop::duplicate_predicates(CountedLoopNode* pre_head, Node* start, Node* end,
+ IdealLoopTree* outer_loop, LoopNode* outer_main_head,
+ uint dd_main_head) {
if (UseLoopPredicate) {
Node* entry = pre_head->in(LoopNode::EntryControl);
Node* predicate = NULL;
@@ -1214,8 +1235,8 @@
}
}
predicate = find_predicate_insertion_point(entry, Deoptimization::Reason_predicate);
- duplicate_predicates_helper(predicate, castii, outer_loop, outer_main_head, dd_main_head);
- duplicate_predicates_helper(profile_predicate, castii, outer_loop, outer_main_head, dd_main_head);
+ duplicate_predicates_helper(predicate, start, end, outer_loop, outer_main_head, dd_main_head);
+ duplicate_predicates_helper(profile_predicate, start, end, outer_loop, outer_main_head, dd_main_head);
}
}
@@ -1362,7 +1383,9 @@
// CastII for the main loop:
Node* castii = cast_incr_before_loop( pre_incr, min_taken, main_head );
assert(castii != NULL, "no castII inserted");
- duplicate_predicates(pre_head, castii, outer_loop, outer_main_head, dd_main_head);
+ Node* opaque_castii = new Opaque1Node(C, castii);
+ register_new_node(opaque_castii, outer_main_head->in(LoopNode::EntryControl));
+ duplicate_predicates(pre_head, castii, opaque_castii, outer_loop, outer_main_head, dd_main_head);
// Step B4: Shorten the pre-loop to run only 1 iteration (for now).
// RCE and alignment may change this later.
@@ -1641,6 +1664,49 @@
return !is_member(_phase->get_loop(n_c));
}
+void PhaseIdealLoop::update_skeleton_predicates(Node* ctrl, CountedLoopNode* loop_head, Node* init, int stride_con) {
+ // Search for skeleton predicates and update them according to the new stride
+ Node* entry = ctrl;
+ Node* prev_proj = ctrl;
+ LoopNode* outer_loop_head = loop_head->skip_strip_mined();
+ IdealLoopTree* outer_loop = get_loop(outer_loop_head);
+ while (entry != NULL && entry->is_Proj() && entry->in(0)->is_If()) {
+ IfNode* iff = entry->in(0)->as_If();
+ ProjNode* proj = iff->proj_out(1 - entry->as_Proj()->_con);
+ if (proj->unique_ctrl_out()->Opcode() != Op_Halt) {
+ break;
+ }
+ if (iff->in(1)->Opcode() == Op_Opaque4) {
+ // Look for predicate with an Opaque1 node that can be used as a template
+ if (!skeleton_predicate_has_opaque(iff)) {
+ // No Opaque1 node? It's either the check for the first value
+ // of the first iteration or the check for the last value of
+ // the first iteration of an unrolled loop. We can't
+ // tell. Kill it in any case.
+ _igvn.replace_input_of(iff, 1, iff->in(1)->in(2));
+ } else {
+ // Add back the predicate for the value at the beginning of the first entry
+ prev_proj = clone_skeleton_predicate(iff, init, entry, proj, ctrl, outer_loop, prev_proj);
+ assert(!skeleton_predicate_has_opaque(prev_proj->in(0)->as_If()), "unexpected");
+ // Compute the value of the loop induction variable at the end of the
+ // first iteration of the unrolled loop: init + new_stride_con - init_inc
+ int init_inc = stride_con/loop_head->unrolled_count();
+ assert(init_inc != 0, "invalid loop increment");
+ int new_stride_con = stride_con * 2;
+ Node* max_value = _igvn.intcon(new_stride_con - init_inc);
+ max_value = new AddINode(init, max_value);
+ register_new_node(max_value, get_ctrl(iff->in(1)));
+ prev_proj = clone_skeleton_predicate(iff, max_value, entry, proj, ctrl, outer_loop, prev_proj);
+ assert(!skeleton_predicate_has_opaque(prev_proj->in(0)->as_If()), "unexpected");
+ }
+ }
+ entry = entry->in(0)->in(0);
+ }
+ if (prev_proj != ctrl) {
+ _igvn.replace_input_of(outer_loop_head, LoopNode::EntryControl, prev_proj);
+ set_idom(outer_loop_head, prev_proj, dom_depth(outer_loop_head));
+ }
+}
//------------------------------do_unroll--------------------------------------
// Unroll the loop body one step - make each trip do 2 iterations.
@@ -1706,29 +1772,7 @@
assert(old_trip_count > 1 &&
(!adjust_min_trip || stride_p <= (1<<3)*loop_head->unrolled_count()), "sanity");
- if (UseLoopPredicate) {
- // Search for skeleton predicates and update them according to the new stride
- Node* entry = ctrl;
- while (entry != NULL && entry->is_Proj() && entry->in(0)->is_If()) {
- IfNode* iff = entry->in(0)->as_If();
- ProjNode* proj = iff->proj_out(1 - entry->as_Proj()->_con);
- if (proj->unique_ctrl_out()->Opcode() != Op_Halt) {
- break;
- }
- if (iff->in(1)->Opcode() == Op_Opaque4) {
- // Compute the value of the loop induction variable at the end of the
- // first iteration of the unrolled loop: init + new_stride_con - init_inc
- int init_inc = stride_con/loop_head->unrolled_count();
- assert(init_inc != 0, "invalid loop increment");
- int new_stride_con = stride_con * 2;
- Node* max_value = _igvn.intcon(new_stride_con - init_inc);
- max_value = new AddINode(init, max_value);
- register_new_node(max_value, get_ctrl(iff->in(1)));
- update_skeleton_predicate(iff, max_value);
- }
- entry = entry->in(0)->in(0);
- }
- }
+ update_skeleton_predicates(ctrl, loop_head, init, stride_con);
// Adjust loop limit to keep valid iterations number after unroll.
// Use (limit - stride) instead of (((limit - init)/stride) & (-2))*stride
@@ -2296,9 +2340,9 @@
// eliminated by iteration splitting.
Node* PhaseIdealLoop::add_range_check_predicate(IdealLoopTree* loop, CountedLoopNode* cl,
Node* predicate_proj, int scale_con, Node* offset,
- Node* limit, jint stride_con) {
+ Node* limit, jint stride_con, Node* value) {
bool overflow = false;
- BoolNode* bol = rc_predicate(loop, predicate_proj, scale_con, offset, cl->init_trip(), NULL, stride_con, limit, (stride_con > 0) != (scale_con > 0), overflow);
+ BoolNode* bol = rc_predicate(loop, predicate_proj, scale_con, offset, value, NULL, stride_con, limit, (stride_con > 0) != (scale_con > 0), overflow);
Node* opaque_bol = new Opaque4Node(C, bol, _igvn.intcon(1));
register_new_node(opaque_bol, predicate_proj);
IfNode* new_iff = NULL;
@@ -2497,7 +2541,23 @@
add_constraint( stride_con, scale_con, offset, zero, limit, pre_ctrl, &pre_limit, &main_limit );
// (0-offset)/scale could be outside of loop iterations range.
conditional_rc = true;
- predicate_proj = add_range_check_predicate(loop, cl, predicate_proj, scale_con, offset, limit, stride_con);
+ Node* init = cl->init_trip();
+ Node* opaque_init = new Opaque1Node(C, init);
+ register_new_node(opaque_init, predicate_proj);
+ // template predicate so it can be updated on next unrolling
+ predicate_proj = add_range_check_predicate(loop, cl, predicate_proj, scale_con, offset, limit, stride_con, opaque_init);
+ assert(skeleton_predicate_has_opaque(predicate_proj->in(0)->as_If()), "unexpected");
+ // predicate on first value of first iteration
+ predicate_proj = add_range_check_predicate(loop, cl, predicate_proj, scale_con, offset, limit, stride_con, init);
+ assert(!skeleton_predicate_has_opaque(predicate_proj->in(0)->as_If()), "unexpected");
+ int init_inc = stride_con/cl->unrolled_count();
+ assert(init_inc != 0, "invalid loop increment");
+ Node* max_value = _igvn.intcon(stride_con - init_inc);
+ max_value = new AddINode(init, max_value);
+ register_new_node(max_value, predicate_proj);
+ // predicate on last value of first iteration (in case unrolling has already happened)
+ predicate_proj = add_range_check_predicate(loop, cl, predicate_proj, scale_con, offset, limit, stride_con, max_value);
+ assert(!skeleton_predicate_has_opaque(predicate_proj->in(0)->as_If()), "unexpected");
} else {
if (PrintOpto) {
tty->print_cr("missed RCE opportunity");
--- a/src/hotspot/share/opto/loopnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/loopnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_LOOPNODE_HPP
-#define SHARE_VM_OPTO_LOOPNODE_HPP
+#ifndef SHARE_OPTO_LOOPNODE_HPP
+#define SHARE_OPTO_LOOPNODE_HPP
#include "opto/cfgnode.hpp"
#include "opto/multnode.hpp"
@@ -747,12 +747,14 @@
}
Node* cast_incr_before_loop(Node* incr, Node* ctrl, Node* loop);
- void duplicate_predicates_helper(Node* predicate, Node* castii, IdealLoopTree* outer_loop,
+ void duplicate_predicates_helper(Node* predicate, Node* start, Node* end, IdealLoopTree* outer_loop,
LoopNode* outer_main_head, uint dd_main_head);
- void duplicate_predicates(CountedLoopNode* pre_head, Node* castii, IdealLoopTree* outer_loop,
+ void duplicate_predicates(CountedLoopNode* pre_head, Node* start, Node* end, IdealLoopTree* outer_loop,
LoopNode* outer_main_head, uint dd_main_head);
- Node* update_skeleton_predicate(Node* iff, Node* value, Node* predicate = NULL, Node* uncommon_proj = NULL,
- Node* current_proj = NULL, IdealLoopTree* outer_loop = NULL, Node* prev_proj = NULL);
+ Node* clone_skeleton_predicate(Node* iff, Node* value, Node* predicate, Node* uncommon_proj,
+ Node* current_proj, IdealLoopTree* outer_loop, Node* prev_proj);
+ bool skeleton_predicate_has_opaque(IfNode* iff);
+ void update_skeleton_predicates(Node* ctrl, CountedLoopNode* loop_head, Node* init, int stride_con);
void insert_loop_limit_check(ProjNode* limit_check_proj, Node* cmp_limit, Node* bol);
public:
@@ -1128,7 +1130,7 @@
Deoptimization::DeoptReason reason);
Node* add_range_check_predicate(IdealLoopTree* loop, CountedLoopNode* cl,
Node* predicate_proj, int scale_con, Node* offset,
- Node* limit, jint stride_con);
+ Node* limit, jint stride_con, Node* value);
// Helper function to collect predicate for eliminating the useless ones
void collect_potentially_useful_predicates(IdealLoopTree *loop, Unique_Node_List &predicate_opaque1);
@@ -1304,6 +1306,14 @@
bool identical_backtoback_ifs(Node *n);
bool can_split_if(Node *n_ctrl);
+ // Determine if a method is too big for a/another round of split-if, based on
+ // a magic (approximate) ratio derived from the equally magic constant 35000,
+ // previously used for this purpose (but without relating to the node limit).
+ bool must_throttle_split_if() {
+ uint threshold = C->max_node_limit() * 2 / 5;
+ return C->live_nodes() > threshold;
+ }
+
bool _created_loop_node;
public:
void set_created_loop_node() { _created_loop_node = true; }
@@ -1428,4 +1438,4 @@
IdealLoopTree* current() { return _curnt; } // Return current value of iterator.
};
-#endif // SHARE_VM_OPTO_LOOPNODE_HPP
+#endif // SHARE_OPTO_LOOPNODE_HPP
--- a/src/hotspot/share/opto/loopopts.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/loopopts.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -532,6 +532,12 @@
register_new_node(nn, get_ctrl(n));
_igvn.replace_node(n, nn);
return nn;
+ } else if ((adr1->in(AddPNode::Base) == adr4->in(AddPNode::Base)) &&
+ (adr2->in(AddPNode::Base) == adr3->in(AddPNode::Base))) {
+ nn = new MulAddS2INode(mul_in1, mul_in2, mul_in4, mul_in3);
+ register_new_node(nn, get_ctrl(n));
+ _igvn.replace_node(n, nn);
+ return nn;
}
}
}
@@ -1024,8 +1030,7 @@
}
}
- // Use same limit as split_if_with_blocks_post
- if( C->live_nodes() > 35000 ) return n; // Method too big
+ if (must_throttle_split_if()) return n;
// Split 'n' through the merge point if it is profitable
Node *phi = split_thru_phi( n, n_blk, policy );
@@ -1143,9 +1148,10 @@
return true;
}
-bool PhaseIdealLoop::can_split_if(Node *n_ctrl) {
- if (C->live_nodes() > 35000) {
- return false; // Method too big
+
+bool PhaseIdealLoop::can_split_if(Node* n_ctrl) {
+ if (must_throttle_split_if()) {
+ return false;
}
// Do not do 'split-if' if irreducible loops are present.
@@ -1462,12 +1468,13 @@
// Check for aggressive application of 'split-if' optimization,
// using basic block level info.
void PhaseIdealLoop::split_if_with_blocks(VectorSet &visited, Node_Stack &nstack, bool last_round) {
- Node *n = C->root();
- visited.set(n->_idx); // first, mark node as visited
+ Node* root = C->root();
+ visited.set(root->_idx); // first, mark root as visited
// Do pre-visit work for root
- n = split_if_with_blocks_pre( n );
- uint cnt = n->outcnt();
- uint i = 0;
+ Node* n = split_if_with_blocks_pre(root);
+ uint cnt = n->outcnt();
+ uint i = 0;
+
while (true) {
// Visit all children
if (i < cnt) {
@@ -1475,7 +1482,7 @@
++i;
if (use->outcnt() != 0 && !visited.test_set(use->_idx)) {
// Now do pre-visit work for this use
- use = split_if_with_blocks_pre( use );
+ use = split_if_with_blocks_pre(use);
nstack.push(n, i); // Save parent and next use's index.
n = use; // Process all children of current use.
cnt = use->outcnt();
@@ -1486,7 +1493,10 @@
// All of n's children have been processed, complete post-processing.
if (cnt != 0 && !n->is_Con()) {
assert(has_node(n), "no dead nodes");
- split_if_with_blocks_post( n, last_round );
+ split_if_with_blocks_post(n, last_round);
+ }
+ if (must_throttle_split_if()) {
+ nstack.clear();
}
if (nstack.is_empty()) {
// Finished all nodes on stack.
--- a/src/hotspot/share/opto/machnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/machnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_MACHNODE_HPP
-#define SHARE_VM_OPTO_MACHNODE_HPP
+#ifndef SHARE_OPTO_MACHNODE_HPP
+#define SHARE_OPTO_MACHNODE_HPP
#include "opto/callnode.hpp"
#include "opto/matcher.hpp"
@@ -1102,4 +1102,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_MACHNODE_HPP
+#endif // SHARE_OPTO_MACHNODE_HPP
--- a/src/hotspot/share/opto/macro.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/macro.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_MACRO_HPP
-#define SHARE_VM_OPTO_MACRO_HPP
+#ifndef SHARE_OPTO_MACRO_HPP
+#define SHARE_OPTO_MACRO_HPP
#include "opto/phase.hpp"
@@ -217,4 +217,4 @@
intx lines);
};
-#endif // SHARE_VM_OPTO_MACRO_HPP
+#endif // SHARE_OPTO_MACRO_HPP
--- a/src/hotspot/share/opto/matcher.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/matcher.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_MATCHER_HPP
-#define SHARE_VM_OPTO_MATCHER_HPP
+#ifndef SHARE_OPTO_MATCHER_HPP
+#define SHARE_OPTO_MATCHER_HPP
#include "libadt/vectset.hpp"
#include "memory/resourceArea.hpp"
@@ -564,4 +564,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_MATCHER_HPP
+#endif // SHARE_OPTO_MATCHER_HPP
--- a/src/hotspot/share/opto/mathexactnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/mathexactnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_MATHEXACTNODE_HPP
-#define SHARE_VM_OPTO_MATHEXACTNODE_HPP
+#ifndef SHARE_OPTO_MATHEXACTNODE_HPP
+#define SHARE_OPTO_MATHEXACTNODE_HPP
#include "opto/multnode.hpp"
#include "opto/node.hpp"
@@ -135,5 +135,4 @@
static bool is_overflow(jlong v1, jlong v2);
};
-#endif
-
+#endif // SHARE_OPTO_MATHEXACTNODE_HPP
--- a/src/hotspot/share/opto/memnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/memnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_MEMNODE_HPP
-#define SHARE_VM_OPTO_MEMNODE_HPP
+#ifndef SHARE_OPTO_MEMNODE_HPP
+#define SHARE_OPTO_MEMNODE_HPP
#include "opto/multnode.hpp"
#include "opto/node.hpp"
@@ -1640,4 +1640,4 @@
virtual const Type *bottom_type() const { return ( AllocatePrefetchStyle == 3 ) ? Type::MEMORY : Type::ABIO; }
};
-#endif // SHARE_VM_OPTO_MEMNODE_HPP
+#endif // SHARE_OPTO_MEMNODE_HPP
--- a/src/hotspot/share/opto/movenode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/movenode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_MOVENODE_HPP
-#define SHARE_VM_OPTO_MOVENODE_HPP
+#ifndef SHARE_OPTO_MOVENODE_HPP
+#define SHARE_OPTO_MOVENODE_HPP
#include "opto/node.hpp"
@@ -152,5 +152,4 @@
};
-#endif // SHARE_VM_OPTO_MOVENODE_HPP
-
+#endif // SHARE_OPTO_MOVENODE_HPP
--- a/src/hotspot/share/opto/mulnode.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/mulnode.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1401,3 +1401,12 @@
return TypeF::make(fma(f1, f2, f3));
#endif
}
+
+//=============================================================================
+//------------------------------hash-------------------------------------------
+// Hash function for MulAddS2INode. Operation is commutative with commutative pairs.
+// The hash function must return the same value when edge swapping is performed.
+uint MulAddS2INode::hash() const {
+ return (uintptr_t)in(1) + (uintptr_t)in(2) + (uintptr_t)in(3) + (uintptr_t)in(4) + Opcode();
+}
+
--- a/src/hotspot/share/opto/mulnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/mulnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_MULNODE_HPP
-#define SHARE_VM_OPTO_MULNODE_HPP
+#ifndef SHARE_OPTO_MULNODE_HPP
+#define SHARE_OPTO_MULNODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -289,6 +289,7 @@
// Multiply shorts into integers and add them.
// Semantics: I_OUT = S1 * S2 + S3 * S4
class MulAddS2INode : public Node {
+ virtual uint hash() const;
public:
MulAddS2INode(Node* in1, Node *in2, Node *in3, Node* in4) : Node(0, in1, in2, in3, in4) {}
virtual int Opcode() const;
@@ -296,4 +297,4 @@
virtual uint ideal_reg() const { return Op_RegI; }
};
-#endif // SHARE_VM_OPTO_MULNODE_HPP
+#endif // SHARE_OPTO_MULNODE_HPP
--- a/src/hotspot/share/opto/multnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/multnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_MULTNODE_HPP
-#define SHARE_VM_OPTO_MULTNODE_HPP
+#ifndef SHARE_OPTO_MULTNODE_HPP
+#define SHARE_OPTO_MULTNODE_HPP
#include "opto/node.hpp"
@@ -105,4 +105,4 @@
ProjNode* other_if_proj() const;
};
-#endif // SHARE_VM_OPTO_MULTNODE_HPP
+#endif // SHARE_OPTO_MULTNODE_HPP
--- a/src/hotspot/share/opto/narrowptrnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/narrowptrnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_NARROWPTRNODE_HPP
-#define SHARE_VM_OPTO_NARROWPTRNODE_HPP
+#ifndef SHARE_OPTO_NARROWPTRNODE_HPP
+#define SHARE_OPTO_NARROWPTRNODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -114,5 +114,4 @@
virtual Node* Identity(PhaseGVN* phase);
};
-#endif // SHARE_VM_OPTO_NARROWPTRNODE_HPP
-
+#endif // SHARE_OPTO_NARROWPTRNODE_HPP
--- a/src/hotspot/share/opto/node.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/node.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_NODE_HPP
-#define SHARE_VM_OPTO_NODE_HPP
+#ifndef SHARE_OPTO_NODE_HPP
+#define SHARE_OPTO_NODE_HPP
#include "libadt/vectset.hpp"
#include "opto/compile.hpp"
@@ -1742,4 +1742,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_NODE_HPP
+#endif // SHARE_OPTO_NODE_HPP
--- a/src/hotspot/share/opto/opaquenode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/opaquenode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_OPAQUENODE_HPP
-#define SHARE_VM_OPTO_OPAQUENODE_HPP
+#ifndef SHARE_OPTO_OPAQUENODE_HPP
+#define SHARE_OPTO_OPAQUENODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -133,5 +133,4 @@
virtual const Type *bottom_type() const { return TypeInt::BOOL; }
};
-#endif // SHARE_VM_OPTO_OPAQUENODE_HPP
-
+#endif // SHARE_OPTO_OPAQUENODE_HPP
--- a/src/hotspot/share/opto/opcodes.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/opcodes.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_OPCODES_HPP
-#define SHARE_VM_OPTO_OPCODES_HPP
+#ifndef SHARE_OPTO_OPCODES_HPP
+#define SHARE_OPTO_OPCODES_HPP
// Build a big enum of class names to give them dense integer indices
#define macro(x) Op_##x,
@@ -53,4 +53,4 @@
// Table of names, indexed by Opcode
extern const char *NodeClassNames[];
-#endif // SHARE_VM_OPTO_OPCODES_HPP
+#endif // SHARE_OPTO_OPCODES_HPP
--- a/src/hotspot/share/opto/optoreg.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/optoreg.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_OPTOREG_HPP
-#define SHARE_VM_OPTO_OPTOREG_HPP
+#ifndef SHARE_OPTO_OPTOREG_HPP
+#define SHARE_OPTO_OPTOREG_HPP
#include "utilities/macros.hpp"
@@ -207,4 +207,4 @@
OptoRegPair() { _second = OptoReg::Bad; _first = OptoReg::Bad; }
};
-#endif // SHARE_VM_OPTO_OPTOREG_HPP
+#endif // SHARE_OPTO_OPTOREG_HPP
--- a/src/hotspot/share/opto/output.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/output.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_OUTPUT_HPP
-#define SHARE_VM_OPTO_OUTPUT_HPP
+#ifndef SHARE_OPTO_OUTPUT_HPP
+#define SHARE_OPTO_OUTPUT_HPP
#include "opto/ad.hpp"
#include "opto/block.hpp"
@@ -218,4 +218,4 @@
};
-#endif // SHARE_VM_OPTO_OUTPUT_HPP
+#endif // SHARE_OPTO_OUTPUT_HPP
--- a/src/hotspot/share/opto/parse.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/parse.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_PARSE_HPP
-#define SHARE_VM_OPTO_PARSE_HPP
+#ifndef SHARE_OPTO_PARSE_HPP
+#define SHARE_OPTO_PARSE_HPP
#include "ci/ciMethodData.hpp"
#include "ci/ciTypeFlow.hpp"
@@ -629,4 +629,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_PARSE_HPP
+#endif // SHARE_OPTO_PARSE_HPP
--- a/src/hotspot/share/opto/phase.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/phase.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_PHASE_HPP
-#define SHARE_VM_OPTO_PHASE_HPP
+#ifndef SHARE_OPTO_PHASE_HPP
+#define SHARE_OPTO_PHASE_HPP
#include "runtime/timer.hpp"
@@ -140,4 +140,4 @@
static void print_timers();
};
-#endif // SHARE_VM_OPTO_PHASE_HPP
+#endif // SHARE_OPTO_PHASE_HPP
--- a/src/hotspot/share/opto/phaseX.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/phaseX.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_PHASEX_HPP
-#define SHARE_VM_OPTO_PHASEX_HPP
+#ifndef SHARE_OPTO_PHASEX_HPP
+#define SHARE_OPTO_PHASEX_HPP
#include "libadt/dict.hpp"
#include "libadt/vectset.hpp"
@@ -639,4 +639,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_PHASEX_HPP
+#endif // SHARE_OPTO_PHASEX_HPP
--- a/src/hotspot/share/opto/phasetype.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/phasetype.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_PHASETYPE_HPP
-#define SHARE_VM_OPTO_PHASETYPE_HPP
+#ifndef SHARE_OPTO_PHASETYPE_HPP
+#define SHARE_OPTO_PHASETYPE_HPP
enum CompilerPhaseType {
PHASE_BEFORE_STRINGOPTS,
@@ -101,4 +101,4 @@
}
};
-#endif //SHARE_VM_OPTO_PHASETYPE_HPP
+#endif // SHARE_OPTO_PHASETYPE_HPP
--- a/src/hotspot/share/opto/regalloc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/regalloc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_REGALLOC_HPP
-#define SHARE_VM_OPTO_REGALLOC_HPP
+#ifndef SHARE_OPTO_REGALLOC_HPP
+#define SHARE_OPTO_REGALLOC_HPP
#include "code/vmreg.hpp"
#include "opto/block.hpp"
@@ -132,4 +132,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_REGALLOC_HPP
+#endif // SHARE_OPTO_REGALLOC_HPP
--- a/src/hotspot/share/opto/regmask.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/regmask.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_REGMASK_HPP
-#define SHARE_VM_OPTO_REGMASK_HPP
+#ifndef SHARE_OPTO_REGMASK_HPP
+#define SHARE_OPTO_REGMASK_HPP
#include "code/vmreg.hpp"
#include "opto/optoreg.hpp"
@@ -313,4 +313,4 @@
// Do not use this constant directly in client code!
#undef RM_SIZE
-#endif // SHARE_VM_OPTO_REGMASK_HPP
+#endif // SHARE_OPTO_REGMASK_HPP
--- a/src/hotspot/share/opto/replacednodes.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/replacednodes.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_REPLACEDNODES_HPP
-#define SHARE_VM_OPTO_REPLACEDNODES_HPP
+#ifndef SHARE_OPTO_REPLACEDNODES_HPP
+#define SHARE_OPTO_REPLACEDNODES_HPP
#include "opto/connode.hpp"
@@ -78,4 +78,4 @@
void apply(Compile* C, Node* ctl);
};
-#endif // SHARE_VM_OPTO_REPLACEDNODES_HPP
+#endif // SHARE_OPTO_REPLACEDNODES_HPP
--- a/src/hotspot/share/opto/rootnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/rootnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_ROOTNODE_HPP
-#define SHARE_VM_OPTO_ROOTNODE_HPP
+#ifndef SHARE_OPTO_ROOTNODE_HPP
+#define SHARE_OPTO_ROOTNODE_HPP
#include "opto/loopnode.hpp"
@@ -70,4 +70,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_ROOTNODE_HPP
+#endif // SHARE_OPTO_ROOTNODE_HPP
--- a/src/hotspot/share/opto/runtime.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/runtime.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_RUNTIME_HPP
-#define SHARE_VM_OPTO_RUNTIME_HPP
+#ifndef SHARE_OPTO_RUNTIME_HPP
+#define SHARE_OPTO_RUNTIME_HPP
#include "code/codeBlob.hpp"
#include "opto/machnode.hpp"
@@ -331,4 +331,4 @@
};
-#endif // SHARE_VM_OPTO_RUNTIME_HPP
+#endif // SHARE_OPTO_RUNTIME_HPP
--- a/src/hotspot/share/opto/stringopts.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/stringopts.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_STRINGOPTS_HPP
-#define SHARE_VM_OPTO_STRINGOPTS_HPP
+#ifndef SHARE_OPTO_STRINGOPTS_HPP
+#define SHARE_OPTO_STRINGOPTS_HPP
#include "opto/node.hpp"
#include "opto/phaseX.hpp"
@@ -115,4 +115,4 @@
PhaseStringOpts(PhaseGVN* gvn, Unique_Node_List* worklist);
};
-#endif // SHARE_VM_OPTO_STRINGOPTS_HPP
+#endif // SHARE_OPTO_STRINGOPTS_HPP
--- a/src/hotspot/share/opto/subnode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/subnode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_SUBNODE_HPP
-#define SHARE_VM_OPTO_SUBNODE_HPP
+#ifndef SHARE_OPTO_SUBNODE_HPP
+#define SHARE_OPTO_SUBNODE_HPP
#include "opto/node.hpp"
#include "opto/opcodes.hpp"
@@ -502,4 +502,4 @@
virtual uint ideal_reg() const { return Op_RegI; }
};
-#endif // SHARE_VM_OPTO_SUBNODE_HPP
+#endif // SHARE_OPTO_SUBNODE_HPP
--- a/src/hotspot/share/opto/superword.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/superword.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1445,7 +1445,7 @@
Node* t1 = s1->fast_out(i);
// Only allow operand swap on commuting operations
- if (!t1->is_Add() && !t1->is_Mul()) {
+ if (!t1->is_Add() && !t1->is_Mul() && !VectorNode::is_muladds2i(t1)) {
break;
}
@@ -1500,9 +1500,23 @@
if ((i1 == (3-i2)) && (u2->is_Add() || u2->is_Mul())) {
// Further analysis relies on operands position matching.
u2->swap_edges(i1, i2);
+ } else if (VectorNode::is_muladds2i(u2) && u1 != u2) {
+ if (i1 == 5 - i2) { // ((i1 == 3 && i2 == 2) || (i1 == 2 && i2 == 3) || (i1 == 1 && i2 == 4) || (i1 == 4 && i2 == 1))
+ u2->swap_edges(1, 2);
+ u2->swap_edges(3, 4);
+ }
+ if (i1 == 3 - i2 || i1 == 7 - i2) { // ((i1 == 1 && i2 == 2) || (i1 == 2 && i2 == 1) || (i1 == 3 && i2 == 4) || (i1 == 4 && i2 == 3))
+ u2->swap_edges(2, 3);
+ u2->swap_edges(1, 4);
+ }
+ return false; // Just swap the edges, the muladds2i nodes get packed in follow_use_defs
} else {
return false;
}
+ } else if (i1 == i2 && VectorNode::is_muladds2i(u2) && u1 != u2) {
+ u2->swap_edges(1, 3);
+ u2->swap_edges(2, 4);
+ return false; // Just swap the edges, the muladds2i nodes get packed in follow_use_defs
}
} while (i1 < ct);
return true;
--- a/src/hotspot/share/opto/superword.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/superword.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_OPTO_SUPERWORD_HPP
-#define SHARE_VM_OPTO_SUPERWORD_HPP
+#ifndef SHARE_OPTO_SUPERWORD_HPP
+#define SHARE_OPTO_SUPERWORD_HPP
#include "opto/loopnode.hpp"
#include "opto/node.hpp"
@@ -695,4 +695,4 @@
#endif
};
-#endif // SHARE_VM_OPTO_SUPERWORD_HPP
+#endif // SHARE_OPTO_SUPERWORD_HPP
--- a/src/hotspot/share/opto/type.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/type.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_OPTO_TYPE_HPP
-#define SHARE_VM_OPTO_TYPE_HPP
+#ifndef SHARE_OPTO_TYPE_HPP
+#define SHARE_OPTO_TYPE_HPP
#include "opto/adlcVMDeps.hpp"
#include "runtime/handles.hpp"
@@ -1845,4 +1845,4 @@
#endif
-#endif // SHARE_VM_OPTO_TYPE_HPP
+#endif // SHARE_OPTO_TYPE_HPP
--- a/src/hotspot/share/opto/vectornode.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/opto/vectornode.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -21,8 +21,8 @@
* questions.
*/
-#ifndef SHARE_VM_OPTO_VECTORNODE_HPP
-#define SHARE_VM_OPTO_VECTORNODE_HPP
+#ifndef SHARE_OPTO_VECTORNODE_HPP
+#define SHARE_OPTO_VECTORNODE_HPP
#include "opto/matcher.hpp"
#include "opto/memnode.hpp"
@@ -859,4 +859,4 @@
virtual const Type *Value(PhaseGVN *phase) const { return TypeInt::INT; }
};
-#endif // SHARE_VM_OPTO_VECTORNODE_HPP
+#endif // SHARE_OPTO_VECTORNODE_HPP
--- a/src/hotspot/share/prims/forte.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/forte.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_FORTE_HPP
-#define SHARE_VM_PRIMS_FORTE_HPP
+#ifndef SHARE_PRIMS_FORTE_HPP
+#define SHARE_PRIMS_FORTE_HPP
// Interface to Forte support.
@@ -34,4 +34,4 @@
// register internal VM stub
};
-#endif // SHARE_VM_PRIMS_FORTE_HPP
+#endif // SHARE_PRIMS_FORTE_HPP
--- a/src/hotspot/share/prims/jni.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jni.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -2428,9 +2428,7 @@
HOTSPOT_JNI_GETSTRINGLENGTH_ENTRY(env, string);
jsize ret = 0;
oop s = JNIHandles::resolve_non_null(string);
- if (java_lang_String::value(s) != NULL) {
- ret = java_lang_String::length(s);
- }
+ ret = java_lang_String::length(s);
HOTSPOT_JNI_GETSTRINGLENGTH_RETURN(ret);
return ret;
JNI_END
@@ -2444,7 +2442,7 @@
oop s = JNIHandles::resolve_non_null(string);
typeArrayOop s_value = java_lang_String::value(s);
if (s_value != NULL) {
- int s_len = java_lang_String::length(s);
+ int s_len = java_lang_String::length(s, s_value);
bool is_latin1 = java_lang_String::is_latin1(s);
buf = NEW_C_HEAP_ARRAY_RETURN_NULL(jchar, s_len + 1, mtInternal); // add one for zero termination
/* JNI Specification states return NULL on OOM */
@@ -2504,11 +2502,8 @@
JNI_ENTRY(jsize, jni_GetStringUTFLength(JNIEnv *env, jstring string))
JNIWrapper("GetStringUTFLength");
HOTSPOT_JNI_GETSTRINGUTFLENGTH_ENTRY(env, string);
- jsize ret = 0;
oop java_string = JNIHandles::resolve_non_null(string);
- if (java_lang_String::value(java_string) != NULL) {
- ret = java_lang_String::utf8_length(java_string);
- }
+ jsize ret = java_lang_String::utf8_length(java_string);
HOTSPOT_JNI_GETSTRINGUTFLENGTH_RETURN(ret);
return ret;
JNI_END
@@ -2519,12 +2514,13 @@
HOTSPOT_JNI_GETSTRINGUTFCHARS_ENTRY(env, string, (uintptr_t *) isCopy);
char* result = NULL;
oop java_string = JNIHandles::resolve_non_null(string);
- if (java_lang_String::value(java_string) != NULL) {
- size_t length = java_lang_String::utf8_length(java_string);
+ typeArrayOop s_value = java_lang_String::value(java_string);
+ if (s_value != NULL) {
+ size_t length = java_lang_String::utf8_length(java_string, s_value);
/* JNI Specification states return NULL on OOM */
result = AllocateHeap(length + 1, mtInternal, 0, AllocFailStrategy::RETURN_NULL);
if (result != NULL) {
- java_lang_String::as_utf8_string(java_string, result, (int) length + 1);
+ java_lang_String::as_utf8_string(java_string, s_value, result, (int) length + 1);
if (isCopy != NULL) {
*isCopy = JNI_TRUE;
}
@@ -3097,12 +3093,12 @@
HOTSPOT_JNI_GETSTRINGREGION_ENTRY(env, string, start, len, buf);
DT_VOID_RETURN_MARK(GetStringRegion);
oop s = JNIHandles::resolve_non_null(string);
- int s_len = java_lang_String::length(s);
+ typeArrayOop s_value = java_lang_String::value(s);
+ int s_len = java_lang_String::length(s, s_value);
if (start < 0 || len < 0 || start > s_len - len) {
THROW(vmSymbols::java_lang_StringIndexOutOfBoundsException());
} else {
if (len > 0) {
- typeArrayOop s_value = java_lang_String::value(s);
bool is_latin1 = java_lang_String::is_latin1(s);
if (!is_latin1) {
ArrayAccess<>::arraycopy_to_native(s_value, typeArrayOopDesc::element_offset<jchar>(start),
@@ -3124,14 +3120,15 @@
HOTSPOT_JNI_GETSTRINGUTFREGION_ENTRY(env, string, start, len, buf);
DT_VOID_RETURN_MARK(GetStringUTFRegion);
oop s = JNIHandles::resolve_non_null(string);
- int s_len = java_lang_String::length(s);
+ typeArrayOop s_value = java_lang_String::value(s);
+ int s_len = java_lang_String::length(s, s_value);
if (start < 0 || len < 0 || start > s_len - len) {
THROW(vmSymbols::java_lang_StringIndexOutOfBoundsException());
} else {
//%note jni_7
if (len > 0) {
// Assume the buffer is large enough as the JNI spec. does not require user error checking
- java_lang_String::as_utf8_string(s, start, len, buf, INT_MAX);
+ java_lang_String::as_utf8_string(s, s_value, start, len, buf, INT_MAX);
// as_utf8_string null-terminates the result string
} else {
// JDK null-terminates the buffer even in len is zero
@@ -3203,7 +3200,7 @@
ret = (jchar*) s_value->base(T_CHAR);
} else {
// Inflate latin1 encoded string to UTF16
- int s_len = java_lang_String::length(s);
+ int s_len = java_lang_String::length(s, s_value);
ret = NEW_C_HEAP_ARRAY_RETURN_NULL(jchar, s_len + 1, mtInternal); // add one for zero termination
/* JNI Specification states return NULL on OOM */
if (ret != NULL) {
--- a/src/hotspot/share/prims/jniCheck.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jniCheck.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JNICHECK_HPP
-#define SHARE_VM_PRIMS_JNICHECK_HPP
+#ifndef SHARE_PRIMS_JNICHECK_HPP
+#define SHARE_PRIMS_JNICHECK_HPP
#include "runtime/thread.hpp"
@@ -56,4 +56,4 @@
static Method* validate_jmethod_id(JavaThread* thr, jmethodID method_id);
};
-#endif // SHARE_VM_PRIMS_JNICHECK_HPP
+#endif // SHARE_PRIMS_JNICHECK_HPP
--- a/src/hotspot/share/prims/jniExport.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jniExport.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JNI_EXPORT_HPP
-#define SHARE_VM_PRIMS_JNI_EXPORT_HPP
+#ifndef SHARE_PRIMS_JNIEXPORT_HPP
+#define SHARE_PRIMS_JNIEXPORT_HPP
#include "jni.h"
#include "prims/jvmtiExport.hpp"
@@ -39,4 +39,4 @@
}
};
-#endif // SHARE_VM_PRIMS_JNI_EXPORT_HPP
+#endif // SHARE_PRIMS_JNIEXPORT_HPP
--- a/src/hotspot/share/prims/jniFastGetField.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jniFastGetField.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JNIFASTGETFIELD_HPP
-#define SHARE_VM_PRIMS_JNIFASTGETFIELD_HPP
+#ifndef SHARE_PRIMS_JNIFASTGETFIELD_HPP
+#define SHARE_PRIMS_JNIFASTGETFIELD_HPP
#include "memory/allocation.hpp"
#include "prims/jvm_misc.hpp"
@@ -99,4 +99,4 @@
static address find_slowcase_pc(address pc);
};
-#endif // SHARE_VM_PRIMS_JNIFASTGETFIELD_HPP
+#endif // SHARE_PRIMS_JNIFASTGETFIELD_HPP
--- a/src/hotspot/share/prims/jvm.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvm.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -873,7 +873,6 @@
if (result != NULL) {
oop mirror = JNIHandles::resolve_non_null(result);
Klass* to_class = java_lang_Class::as_Klass(mirror);
- ClassLoaderData::class_loader_data(h_loader())->record_dependency(to_class);
}
if (log_is_enabled(Debug, class, resolve) && result != NULL) {
--- a/src/hotspot/share/prims/jvm_misc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvm_misc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVM_MISC_HPP
-#define SHARE_VM_PRIMS_JVM_MISC_HPP
+#ifndef SHARE_PRIMS_JVM_MISC_HPP
+#define SHARE_PRIMS_JVM_MISC_HPP
#include "jni.h"
#include "runtime/handles.hpp"
@@ -78,4 +78,4 @@
address jni_GetFloatField_addr();
address jni_GetDoubleField_addr();
-#endif // SHARE_VM_PRIMS_JVM_MISC_HPP
+#endif // SHARE_PRIMS_JVM_MISC_HPP
--- a/src/hotspot/share/prims/jvmtiAgentThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiAgentThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIAGENTTHREAD_HPP
-#define SHARE_VM_PRIMS_JVMTIAGENTTHREAD_HPP
+#ifndef SHARE_PRIMS_JVMTIAGENTTHREAD_HPP
+#define SHARE_PRIMS_JVMTIAGENTTHREAD_HPP
#include "jvmtifiles/jvmtiEnv.hpp"
@@ -48,4 +48,4 @@
void call_start_function();
};
-#endif // SHARE_VM_PRIMS_JVMTIAGENTTHREAD_HPP
+#endif // SHARE_PRIMS_JVMTIAGENTTHREAD_HPP
--- a/src/hotspot/share/prims/jvmtiClassFileReconstituter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiClassFileReconstituter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTICLASSFILERECONSTITUTER_HPP
-#define SHARE_VM_PRIMS_JVMTICLASSFILERECONSTITUTER_HPP
+#ifndef SHARE_PRIMS_JVMTICLASSFILERECONSTITUTER_HPP
+#define SHARE_PRIMS_JVMTICLASSFILERECONSTITUTER_HPP
#include "jvmtifiles/jvmtiEnv.hpp"
@@ -143,4 +143,4 @@
static void copy_bytecodes(const methodHandle& method, unsigned char* bytecodes);
};
-#endif // SHARE_VM_PRIMS_JVMTICLASSFILERECONSTITUTER_HPP
+#endif // SHARE_PRIMS_JVMTICLASSFILERECONSTITUTER_HPP
--- a/src/hotspot/share/prims/jvmtiCodeBlobEvents.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiCodeBlobEvents.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTICODEBLOBEVENTS_HPP
-#define SHARE_VM_PRIMS_JVMTICODEBLOBEVENTS_HPP
+#ifndef SHARE_PRIMS_JVMTICODEBLOBEVENTS_HPP
+#define SHARE_PRIMS_JVMTICODEBLOBEVENTS_HPP
#include "jvmtifiles/jvmti.h"
@@ -53,4 +53,4 @@
jint *map_length);
};
-#endif // SHARE_VM_PRIMS_JVMTICODEBLOBEVENTS_HPP
+#endif // SHARE_PRIMS_JVMTICODEBLOBEVENTS_HPP
--- a/src/hotspot/share/prims/jvmtiEnter.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiEnter.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIENTER_INLINE_HPP
-#define SHARE_VM_PRIMS_JVMTIENTER_INLINE_HPP
+#ifndef SHARE_PRIMS_JVMTIENTER_INLINE_HPP
+#define SHARE_PRIMS_JVMTIENTER_INLINE_HPP
#include "classfile/systemDictionary.hpp"
#include "jvmtifiles/jvmtiEnv.hpp"
@@ -31,4 +31,4 @@
#include "prims/jvmtiImpl.hpp"
#include "runtime/interfaceSupport.inline.hpp"
-#endif // SHARE_VM_PRIMS_JVMTIENTER_INLINE_HPP
+#endif // SHARE_PRIMS_JVMTIENTER_INLINE_HPP
--- a/src/hotspot/share/prims/jvmtiEnvBase.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiEnvBase.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIENVBASE_HPP
-#define SHARE_VM_PRIMS_JVMTIENVBASE_HPP
+#ifndef SHARE_PRIMS_JVMTIENVBASE_HPP
+#define SHARE_PRIMS_JVMTIENVBASE_HPP
#include "classfile/classLoader.hpp"
#include "prims/jvmtiEnvThreadState.hpp"
@@ -644,4 +644,4 @@
jvmtiError get_all_modules(JvmtiEnv* env, jint* module_count_ptr, jobject** modules_ptr);
};
-#endif // SHARE_VM_PRIMS_JVMTIENVBASE_HPP
+#endif // SHARE_PRIMS_JVMTIENVBASE_HPP
--- a/src/hotspot/share/prims/jvmtiEnvThreadState.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiEnvThreadState.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIENVTHREADSTATE_HPP
-#define SHARE_VM_PRIMS_JVMTIENVTHREADSTATE_HPP
+#ifndef SHARE_PRIMS_JVMTIENVTHREADSTATE_HPP
+#define SHARE_PRIMS_JVMTIENVTHREADSTATE_HPP
#include "jvmtifiles/jvmti.h"
#include "memory/allocation.hpp"
@@ -182,4 +182,4 @@
};
-#endif // SHARE_VM_PRIMS_JVMTIENVTHREADSTATE_HPP
+#endif // SHARE_PRIMS_JVMTIENVTHREADSTATE_HPP
--- a/src/hotspot/share/prims/jvmtiEventController.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiEventController.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIEVENTCONTROLLER_HPP
-#define SHARE_VM_PRIMS_JVMTIEVENTCONTROLLER_HPP
+#ifndef SHARE_PRIMS_JVMTIEVENTCONTROLLER_HPP
+#define SHARE_PRIMS_JVMTIEVENTCONTROLLER_HPP
#include "jvmtifiles/jvmti.h"
#include "memory/allocation.hpp"
@@ -241,4 +241,4 @@
static void vm_death();
};
-#endif // SHARE_VM_PRIMS_JVMTIEVENTCONTROLLER_HPP
+#endif // SHARE_PRIMS_JVMTIEVENTCONTROLLER_HPP
--- a/src/hotspot/share/prims/jvmtiEventController.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiEventController.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIEVENTCONTROLLER_INLINE_HPP
-#define SHARE_VM_PRIMS_JVMTIEVENTCONTROLLER_INLINE_HPP
+#ifndef SHARE_PRIMS_JVMTIEVENTCONTROLLER_INLINE_HPP
+#define SHARE_PRIMS_JVMTIEVENTCONTROLLER_INLINE_HPP
#include "prims/jvmtiEventController.hpp"
#include "prims/jvmtiImpl.hpp"
@@ -107,4 +107,4 @@
return _universal_global_event_enabled.is_enabled(event_type);
}
-#endif // SHARE_VM_PRIMS_JVMTIEVENTCONTROLLER_INLINE_HPP
+#endif // SHARE_PRIMS_JVMTIEVENTCONTROLLER_INLINE_HPP
--- a/src/hotspot/share/prims/jvmtiExport.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiExport.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIEXPORT_HPP
-#define SHARE_VM_PRIMS_JVMTIEXPORT_HPP
+#ifndef SHARE_PRIMS_JVMTIEXPORT_HPP
+#define SHARE_PRIMS_JVMTIEXPORT_HPP
#include "jvmtifiles/jvmti.h"
#include "memory/allocation.hpp"
@@ -601,4 +601,4 @@
}
};
-#endif // SHARE_VM_PRIMS_JVMTIEXPORT_HPP
+#endif // SHARE_PRIMS_JVMTIEXPORT_HPP
--- a/src/hotspot/share/prims/jvmtiExtensions.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiExtensions.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIEXTENSIONS_HPP
-#define SHARE_VM_PRIMS_JVMTIEXTENSIONS_HPP
+#ifndef SHARE_PRIMS_JVMTIEXTENSIONS_HPP
+#define SHARE_PRIMS_JVMTIEXTENSIONS_HPP
#include "jvmtifiles/jvmti.h"
#include "jvmtifiles/jvmtiEnv.hpp"
@@ -58,4 +58,4 @@
jvmtiExtensionEvent callback);
};
-#endif // SHARE_VM_PRIMS_JVMTIEXTENSIONS_HPP
+#endif // SHARE_PRIMS_JVMTIEXTENSIONS_HPP
--- a/src/hotspot/share/prims/jvmtiGetLoadedClasses.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiGetLoadedClasses.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIGETLOADEDCLASSES_HPP
-#define SHARE_VM_PRIMS_JVMTIGETLOADEDCLASSES_HPP
+#ifndef SHARE_PRIMS_JVMTIGETLOADEDCLASSES_HPP
+#define SHARE_PRIMS_JVMTIGETLOADEDCLASSES_HPP
#include "jvmtifiles/jvmtiEnv.hpp"
@@ -34,4 +34,4 @@
jint* classCountPtr, jclass** classesPtr);
};
-#endif // SHARE_VM_PRIMS_JVMTIGETLOADEDCLASSES_HPP
+#endif // SHARE_PRIMS_JVMTIGETLOADEDCLASSES_HPP
--- a/src/hotspot/share/prims/jvmtiImpl.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiImpl.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIIMPL_HPP
-#define SHARE_VM_PRIMS_JVMTIIMPL_HPP
+#ifndef SHARE_PRIMS_JVMTIIMPL_HPP
+#define SHARE_PRIMS_JVMTIIMPL_HPP
#include "classfile/systemDictionary.hpp"
#include "jvmtifiles/jvmti.h"
@@ -532,4 +532,4 @@
// Utility macro that checks for NULL pointers:
#define NULL_CHECK(X, Y) if ((X) == NULL) { return (Y); }
-#endif // SHARE_VM_PRIMS_JVMTIIMPL_HPP
+#endif // SHARE_PRIMS_JVMTIIMPL_HPP
--- a/src/hotspot/share/prims/jvmtiManageCapabilities.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiManageCapabilities.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIMANAGECAPABILITIES_HPP
-#define SHARE_VM_PRIMS_JVMTIMANAGECAPABILITIES_HPP
+#ifndef SHARE_PRIMS_JVMTIMANAGECAPABILITIES_HPP
+#define SHARE_PRIMS_JVMTIMANAGECAPABILITIES_HPP
#include "jvmtifiles/jvmti.h"
#include "memory/allocation.hpp"
@@ -82,4 +82,4 @@
#endif
};
-#endif // SHARE_VM_PRIMS_JVMTIMANAGECAPABILITIES_HPP
+#endif // SHARE_PRIMS_JVMTIMANAGECAPABILITIES_HPP
--- a/src/hotspot/share/prims/jvmtiRawMonitor.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiRawMonitor.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIRAWMONITOR_HPP
-#define SHARE_VM_PRIMS_JVMTIRAWMONITOR_HPP
+#ifndef SHARE_PRIMS_JVMTIRAWMONITOR_HPP
+#define SHARE_PRIMS_JVMTIRAWMONITOR_HPP
#include "runtime/objectMonitor.hpp"
#include "utilities/growableArray.hpp"
@@ -104,4 +104,4 @@
static void transition_raw_monitors();
};
-#endif // SHARE_VM_PRIMS_JVMTIRAWMONITOR_HPP
+#endif // SHARE_PRIMS_JVMTIRAWMONITOR_HPP
--- a/src/hotspot/share/prims/jvmtiRedefineClasses.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiRedefineClasses.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIREDEFINECLASSES_HPP
-#define SHARE_VM_PRIMS_JVMTIREDEFINECLASSES_HPP
+#ifndef SHARE_PRIMS_JVMTIREDEFINECLASSES_HPP
+#define SHARE_PRIMS_JVMTIREDEFINECLASSES_HPP
#include "jvmtifiles/jvmtiEnv.hpp"
#include "memory/oopFactory.hpp"
@@ -552,4 +552,4 @@
// Error printing
void print_on_error(outputStream* st) const;
};
-#endif // SHARE_VM_PRIMS_JVMTIREDEFINECLASSES_HPP
+#endif // SHARE_PRIMS_JVMTIREDEFINECLASSES_HPP
--- a/src/hotspot/share/prims/jvmtiTagMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiTagMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -24,8 +24,8 @@
// JvmtiTagMap
-#ifndef SHARE_VM_PRIMS_JVMTITAGMAP_HPP
-#define SHARE_VM_PRIMS_JVMTITAGMAP_HPP
+#ifndef SHARE_PRIMS_JVMTITAGMAP_HPP
+#define SHARE_PRIMS_JVMTITAGMAP_HPP
#include "gc/shared/collectedHeap.hpp"
#include "jvmtifiles/jvmti.h"
@@ -125,4 +125,4 @@
BoolObjectClosure* is_alive, OopClosure* f) NOT_JVMTI_RETURN;
};
-#endif // SHARE_VM_PRIMS_JVMTITAGMAP_HPP
+#endif // SHARE_PRIMS_JVMTITAGMAP_HPP
--- a/src/hotspot/share/prims/jvmtiThreadState.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiThreadState.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTITHREADSTATE_HPP
-#define SHARE_VM_PRIMS_JVMTITHREADSTATE_HPP
+#ifndef SHARE_PRIMS_JVMTITHREADSTATE_HPP
+#define SHARE_PRIMS_JVMTITHREADSTATE_HPP
#include "jvmtifiles/jvmti.h"
#include "memory/allocation.hpp"
@@ -413,4 +413,4 @@
}
};
-#endif // SHARE_VM_PRIMS_JVMTITHREADSTATE_HPP
+#endif // SHARE_PRIMS_JVMTITHREADSTATE_HPP
--- a/src/hotspot/share/prims/jvmtiThreadState.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiThreadState.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTITHREADSTATE_INLINE_HPP
-#define SHARE_VM_PRIMS_JVMTITHREADSTATE_INLINE_HPP
+#ifndef SHARE_PRIMS_JVMTITHREADSTATE_INLINE_HPP
+#define SHARE_PRIMS_JVMTITHREADSTATE_INLINE_HPP
#include "prims/jvmtiEnvThreadState.hpp"
#include "prims/jvmtiThreadState.hpp"
@@ -95,4 +95,4 @@
return state;
}
-#endif // SHARE_VM_PRIMS_JVMTITHREADSTATE_INLINE_HPP
+#endif // SHARE_PRIMS_JVMTITHREADSTATE_INLINE_HPP
--- a/src/hotspot/share/prims/jvmtiTrace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiTrace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTITRACE_HPP
-#define SHARE_VM_PRIMS_JVMTITRACE_HPP
+#ifndef SHARE_PRIMS_JVMTITRACE_HPP
+#define SHARE_PRIMS_JVMTITRACE_HPP
#include "classfile/systemDictionary.hpp"
#include "jvmtifiles/jvmti.h"
@@ -109,4 +109,4 @@
#endif /*JVMTI_TRACE */
-#endif // SHARE_VM_PRIMS_JVMTITRACE_HPP
+#endif // SHARE_PRIMS_JVMTITRACE_HPP
--- a/src/hotspot/share/prims/jvmtiUtil.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/jvmtiUtil.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_JVMTIUTIL_HPP
-#define SHARE_VM_PRIMS_JVMTIUTIL_HPP
+#ifndef SHARE_PRIMS_JVMTIUTIL_HPP
+#define SHARE_PRIMS_JVMTIUTIL_HPP
#include "jvmtifiles/jvmti.h"
#include "memory/resourceArea.hpp"
@@ -92,4 +92,4 @@
};
-#endif // SHARE_VM_PRIMS_JVMTIUTIL_HPP
+#endif // SHARE_PRIMS_JVMTIUTIL_HPP
--- a/src/hotspot/share/prims/methodComparator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/methodComparator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_METHODCOMPARATOR_HPP
-#define SHARE_VM_PRIMS_METHODCOMPARATOR_HPP
+#ifndef SHARE_PRIMS_METHODCOMPARATOR_HPP
+#define SHARE_PRIMS_METHODCOMPARATOR_HPP
#include "interpreter/bytecodeStream.hpp"
#include "oops/constantPool.hpp"
@@ -52,4 +52,4 @@
};
-#endif // SHARE_VM_PRIMS_METHODCOMPARATOR_HPP
+#endif // SHARE_PRIMS_METHODCOMPARATOR_HPP
--- a/src/hotspot/share/prims/methodHandles.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/methodHandles.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_METHODHANDLES_HPP
-#define SHARE_VM_PRIMS_METHODHANDLES_HPP
+#ifndef SHARE_PRIMS_METHODHANDLES_HPP
+#define SHARE_PRIMS_METHODHANDLES_HPP
#include "classfile/javaClasses.hpp"
#include "classfile/vmSymbols.hpp"
@@ -215,4 +215,4 @@
void generate();
};
-#endif // SHARE_VM_PRIMS_METHODHANDLES_HPP
+#endif // SHARE_PRIMS_METHODHANDLES_HPP
--- a/src/hotspot/share/prims/nativeLookup.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/nativeLookup.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_NATIVELOOKUP_HPP
-#define SHARE_VM_PRIMS_NATIVELOOKUP_HPP
+#ifndef SHARE_PRIMS_NATIVELOOKUP_HPP
+#define SHARE_PRIMS_NATIVELOOKUP_HPP
#include "memory/allocation.hpp"
#include "runtime/handles.hpp"
@@ -53,4 +53,4 @@
static address base_library_lookup(const char* class_name, const char* method_name, const char* signature);
};
-#endif // SHARE_VM_PRIMS_NATIVELOOKUP_HPP
+#endif // SHARE_PRIMS_NATIVELOOKUP_HPP
--- a/src/hotspot/share/prims/resolvedMethodTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/resolvedMethodTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_RESOLVEDMETHOD_HPP
-#define SHARE_VM_PRIMS_RESOLVEDMETHOD_HPP
+#ifndef SHARE_PRIMS_RESOLVEDMETHODTABLE_HPP
+#define SHARE_PRIMS_RESOLVEDMETHODTABLE_HPP
#include "oops/symbol.hpp"
#include "oops/weakHandle.hpp"
@@ -110,4 +110,4 @@
void verify();
};
-#endif // SHARE_VM_PRIMS_RESOLVEDMETHOD_HPP
+#endif // SHARE_PRIMS_RESOLVEDMETHODTABLE_HPP
--- a/src/hotspot/share/prims/stackwalk.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/stackwalk.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -23,8 +23,8 @@
*/
-#ifndef SHARE_VM_PRIMS_STACKWALK_HPP
-#define SHARE_VM_PRIMS_STACKWALK_HPP
+#ifndef SHARE_PRIMS_STACKWALK_HPP
+#define SHARE_PRIMS_STACKWALK_HPP
#include "oops/oop.hpp"
#include "runtime/vframe.hpp"
@@ -157,4 +157,4 @@
int frame_count, int start_index,
objArrayHandle frames_array, TRAPS);
};
-#endif // SHARE_VM_PRIMS_STACKWALK_HPP
+#endif // SHARE_PRIMS_STACKWALK_HPP
--- a/src/hotspot/share/prims/unsafe.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/unsafe.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -23,8 +23,8 @@
*/
-#ifndef SHARE_VM_PRIMS_UNSAFE_HPP
-#define SHARE_VM_PRIMS_UNSAFE_HPP
+#ifndef SHARE_PRIMS_UNSAFE_HPP
+#define SHARE_PRIMS_UNSAFE_HPP
#include "jni.h"
@@ -36,4 +36,4 @@
jlong Unsafe_field_offset_from_byte_offset(jlong byte_offset);
-#endif // SHARE_VM_PRIMS_UNSAFE_HPP
+#endif // SHARE_PRIMS_UNSAFE_HPP
--- a/src/hotspot/share/prims/wbtestmethods/parserTests.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/wbtestmethods/parserTests.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -21,12 +21,12 @@
* questions.
*/
-#ifndef SHARE_VM_PRIMS_WBTESTMETHODS_PARSERTESTS_H
-#define SHARE_VM_PRIMS_WBTESTMETHODS_PARSERTESTS_H
+#ifndef SHARE_PRIMS_WBTESTMETHODS_PARSERTESTS_HPP
+#define SHARE_PRIMS_WBTESTMETHODS_PARSERTESTS_HPP
#include "jni.h"
#include "prims/whitebox.hpp"
WB_METHOD_DECLARE(jobjectArray) WB_ParseCommandLine(JNIEnv* env, jobject o, jstring args, jchar delim, jobjectArray arguments);
-#endif //SHARE_VM_PRIMS_WBTESTMETHODS_PARSERTESTS_H
+#endif //SHARE_PRIMS_WBTESTMETHODS_PARSERTESTS_HPP
--- a/src/hotspot/share/prims/whitebox.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/whitebox.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_WHITEBOX_HPP
-#define SHARE_VM_PRIMS_WHITEBOX_HPP
+#ifndef SHARE_PRIMS_WHITEBOX_HPP
+#define SHARE_PRIMS_WHITEBOX_HPP
#include "jni.h"
@@ -70,4 +70,4 @@
static bool compile_method(Method* method, int comp_level, int bci, Thread* THREAD);
};
-#endif // SHARE_VM_PRIMS_WHITEBOX_HPP
+#endif // SHARE_PRIMS_WHITEBOX_HPP
--- a/src/hotspot/share/prims/whitebox.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/prims/whitebox.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_PRIMS_WHITEBOX_INLINE_HPP
-#define SHARE_VM_PRIMS_WHITEBOX_INLINE_HPP
+#ifndef SHARE_PRIMS_WHITEBOX_INLINE_HPP
+#define SHARE_PRIMS_WHITEBOX_INLINE_HPP
#include "prims/whitebox.hpp"
#include "runtime/interfaceSupport.inline.hpp"
@@ -35,4 +35,4 @@
#define WB_END JNI_END
-#endif // SHARE_VM_PRIMS_WHITEBOX_INLINE_HPP
+#endif // SHARE_PRIMS_WHITEBOX_INLINE_HPP
--- a/src/hotspot/share/runtime/arguments.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/arguments.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -3283,11 +3283,7 @@
memset(buf, 0, bytes_alloc);
// Fill buffer
- // Use ::read() instead of os::read because os::read()
- // might do a thread state transition
- // and it is too early for that here
-
- ssize_t bytes_read = ::read(fd, (void *)buf, (unsigned)bytes_alloc);
+ ssize_t bytes_read = os::read(fd, (void *)buf, (unsigned)bytes_alloc);
os::close(fd);
if (bytes_read < 0) {
FREE_C_HEAP_ARRAY(char, buf);
--- a/src/hotspot/share/runtime/arguments.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/arguments.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_ARGUMENTS_HPP
-#define SHARE_VM_RUNTIME_ARGUMENTS_HPP
+#ifndef SHARE_RUNTIME_ARGUMENTS_HPP
+#define SHARE_RUNTIME_ARGUMENTS_HPP
#include "logging/logLevel.hpp"
#include "logging/logTag.hpp"
@@ -665,4 +665,4 @@
} \
} while(0)
-#endif // SHARE_VM_RUNTIME_ARGUMENTS_HPP
+#endif // SHARE_RUNTIME_ARGUMENTS_HPP
--- a/src/hotspot/share/runtime/atomic.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/atomic.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_ATOMIC_HPP
-#define SHARE_VM_RUNTIME_ATOMIC_HPP
+#ifndef SHARE_RUNTIME_ATOMIC_HPP
+#define SHARE_RUNTIME_ATOMIC_HPP
#include "memory/allocation.hpp"
#include "metaprogramming/conditional.hpp"
@@ -873,4 +873,4 @@
return XchgImpl<T, D>()(exchange_value, dest, order);
}
-#endif // SHARE_VM_RUNTIME_ATOMIC_HPP
+#endif // SHARE_RUNTIME_ATOMIC_HPP
--- a/src/hotspot/share/runtime/basicLock.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/basicLock.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_BASICLOCK_HPP
-#define SHARE_VM_RUNTIME_BASICLOCK_HPP
+#ifndef SHARE_RUNTIME_BASICLOCK_HPP
+#define SHARE_RUNTIME_BASICLOCK_HPP
#include "oops/markOop.hpp"
#include "runtime/handles.hpp"
@@ -78,4 +78,4 @@
};
-#endif // SHARE_VM_RUNTIME_BASICLOCK_HPP
+#endif // SHARE_RUNTIME_BASICLOCK_HPP
--- a/src/hotspot/share/runtime/biasedLocking.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/biasedLocking.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_BIASEDLOCKING_HPP
-#define SHARE_VM_RUNTIME_BIASEDLOCKING_HPP
+#ifndef SHARE_RUNTIME_BIASEDLOCKING_HPP
+#define SHARE_RUNTIME_BIASEDLOCKING_HPP
#include "runtime/handles.hpp"
#include "utilities/growableArray.hpp"
@@ -192,4 +192,4 @@
static void restore_marks();
};
-#endif // SHARE_VM_RUNTIME_BIASEDLOCKING_HPP
+#endif // SHARE_RUNTIME_BIASEDLOCKING_HPP
--- a/src/hotspot/share/runtime/compilationPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/compilationPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_COMPILATIONPOLICY_HPP
-#define SHARE_VM_RUNTIME_COMPILATIONPOLICY_HPP
+#ifndef SHARE_RUNTIME_COMPILATIONPOLICY_HPP
+#define SHARE_RUNTIME_COMPILATIONPOLICY_HPP
#include "code/nmethod.hpp"
#include "compiler/compileBroker.hpp"
@@ -140,4 +140,4 @@
};
#endif
-#endif // SHARE_VM_RUNTIME_COMPILATIONPOLICY_HPP
+#endif // SHARE_RUNTIME_COMPILATIONPOLICY_HPP
--- a/src/hotspot/share/runtime/deoptimization.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/deoptimization.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_DEOPTIMIZATION_HPP
-#define SHARE_VM_RUNTIME_DEOPTIMIZATION_HPP
+#ifndef SHARE_RUNTIME_DEOPTIMIZATION_HPP
+#define SHARE_RUNTIME_DEOPTIMIZATION_HPP
#include "memory/allocation.hpp"
#include "runtime/frame.hpp"
@@ -468,4 +468,4 @@
static bool is_active() { return _is_active; }
};
-#endif // SHARE_VM_RUNTIME_DEOPTIMIZATION_HPP
+#endif // SHARE_RUNTIME_DEOPTIMIZATION_HPP
--- a/src/hotspot/share/runtime/extendedPC.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/extendedPC.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_EXTENDEDPC_HPP
-#define SHARE_VM_RUNTIME_EXTENDEDPC_HPP
+#ifndef SHARE_RUNTIME_EXTENDEDPC_HPP
+#define SHARE_RUNTIME_EXTENDEDPC_HPP
#include "utilities/globalDefinitions.hpp"
@@ -40,4 +40,4 @@
ExtendedPC() { _pc = NULL; }
};
-#endif // SHARE_VM_RUNTIME_EXTENDEDPC_HPP
+#endif // SHARE_RUNTIME_EXTENDEDPC_HPP
--- a/src/hotspot/share/runtime/fieldDescriptor.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/fieldDescriptor.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_FIELDDESCRIPTOR_HPP
-#define SHARE_VM_RUNTIME_FIELDDESCRIPTOR_HPP
+#ifndef SHARE_RUNTIME_FIELDDESCRIPTOR_HPP
+#define SHARE_RUNTIME_FIELDDESCRIPTOR_HPP
#include "oops/constantPool.hpp"
#include "oops/fieldInfo.hpp"
@@ -117,4 +117,4 @@
void verify() const PRODUCT_RETURN;
};
-#endif // SHARE_VM_RUNTIME_FIELDDESCRIPTOR_HPP
+#endif // SHARE_RUNTIME_FIELDDESCRIPTOR_HPP
--- a/src/hotspot/share/runtime/fieldDescriptor.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/fieldDescriptor.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_FIELDDESCRIPTOR_INLINE_HPP
-#define SHARE_VM_RUNTIME_FIELDDESCRIPTOR_INLINE_HPP
+#ifndef SHARE_RUNTIME_FIELDDESCRIPTOR_INLINE_HPP
+#define SHARE_RUNTIME_FIELDDESCRIPTOR_INLINE_HPP
#include "runtime/handles.inline.hpp"
@@ -79,4 +79,4 @@
return FieldType::basic_type(signature());
}
-#endif // SHARE_VM_RUNTIME_FIELDDESCRIPTOR_INLINE_HPP
+#endif // SHARE_RUNTIME_FIELDDESCRIPTOR_INLINE_HPP
--- a/src/hotspot/share/runtime/fieldType.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/fieldType.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_FIELDTYPE_HPP
-#define SHARE_VM_RUNTIME_FIELDTYPE_HPP
+#ifndef SHARE_RUNTIME_FIELDTYPE_HPP
+#define SHARE_RUNTIME_FIELDTYPE_HPP
#include "memory/allocation.hpp"
#include "oops/symbol.hpp"
@@ -72,4 +72,4 @@
static BasicType get_array_info(Symbol* signature, FieldArrayInfo& ai, TRAPS);
};
-#endif // SHARE_VM_RUNTIME_FIELDTYPE_HPP
+#endif // SHARE_RUNTIME_FIELDTYPE_HPP
--- a/src/hotspot/share/runtime/flags/flagSetting.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/flags/flagSetting.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_FLAGS_FLAGSETTING_HPP
-#define SHARE_VM_RUNTIME_FLAGS_FLAGSETTING_HPP
+#ifndef SHARE_RUNTIME_FLAGS_FLAGSETTING_HPP
+#define SHARE_RUNTIME_FLAGS_FLAGSETTING_HPP
#include "memory/allocation.hpp"
@@ -68,4 +68,4 @@
#define FLAG_GUARD(f) FlagGuard<sizeof(f)> f ## _guard(&f)
-#endif // SHARE_VM_RUNTIME_FLAGS_FLAGSETTING_HPP
+#endif // SHARE_RUNTIME_FLAGS_FLAGSETTING_HPP
--- a/src/hotspot/share/runtime/flags/jvmFlag.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/flags/jvmFlag.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_FLAGS_JVMFLAG_HPP
-#define SHARE_VM_RUNTIME_FLAGS_JVMFLAG_HPP
+#ifndef SHARE_RUNTIME_FLAGS_JVMFLAG_HPP
+#define SHARE_RUNTIME_FLAGS_JVMFLAG_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
@@ -279,4 +279,4 @@
static void verify() PRODUCT_RETURN;
};
-#endif // SHARE_VM_RUNTIME_FLAGS_JVMFLAG_HPP
+#endif // SHARE_RUNTIME_FLAGS_JVMFLAG_HPP
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTLIST_HPP
-#define SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTLIST_HPP
+#ifndef SHARE_RUNTIME_FLAGS_JVMFLAGCONSTRAINTLIST_HPP
+#define SHARE_RUNTIME_FLAGS_JVMFLAGCONSTRAINTLIST_HPP
#include "runtime/flags/jvmFlag.hpp"
#include "utilities/growableArray.hpp"
@@ -98,4 +98,4 @@
static bool check_constraints(JVMFlagConstraint::ConstraintType type);
};
-#endif /* SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTLIST_HPP */
+#endif // SHARE_RUNTIME_FLAGS_JVMFLAGCONSTRAINTLIST_HPP
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTSCOMPILER_HPP
-#define SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTSCOMPILER_HPP
+#ifndef SHARE_RUNTIME_FLAGS_JVMFLAGCONSTRAINTSCOMPILER_HPP
+#define SHARE_RUNTIME_FLAGS_JVMFLAGCONSTRAINTSCOMPILER_HPP
#include "runtime/flags/jvmFlag.hpp"
@@ -71,4 +71,4 @@
JVMFlag::Error RTMTotalCountIncrRateConstraintFunc(int value, bool verbose);
-#endif /* SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTSCOMPILER_HPP */
+#endif // SHARE_RUNTIME_FLAGS_JVMFLAGCONSTRAINTSCOMPILER_HPP
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTSRUNTIME_HPP
-#define SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTSRUNTIME_HPP
+#ifndef SHARE_RUNTIME_FLAGS_JVMFLAGCONSTRAINTSRUNTIME_HPP
+#define SHARE_RUNTIME_FLAGS_JVMFLAGCONSTRAINTSRUNTIME_HPP
#include "runtime/flags/jvmFlag.hpp"
@@ -47,4 +47,4 @@
JVMFlag::Error ThreadLocalHandshakesConstraintFunc(bool value, bool verbose);
-#endif /* SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTSRUNTIME_HPP */
+#endif // SHARE_RUNTIME_FLAGS_JVMFLAGCONSTRAINTSRUNTIME_HPP
--- a/src/hotspot/share/runtime/flags/jvmFlagRangeList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/flags/jvmFlagRangeList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JVMFLAGRANGELIST_HPP
-#define SHARE_VM_RUNTIME_JVMFLAGRANGELIST_HPP
+#ifndef SHARE_RUNTIME_FLAGS_JVMFLAGRANGELIST_HPP
+#define SHARE_RUNTIME_FLAGS_JVMFLAGRANGELIST_HPP
#include "runtime/flags/jvmFlag.hpp"
#include "utilities/growableArray.hpp"
@@ -70,4 +70,4 @@
static bool check_ranges();
};
-#endif // SHARE_VM_RUNTIME_JVMFLAGRANGELIST_HPP
+#endif // SHARE_RUNTIME_FLAGS_JVMFLAGRANGELIST_HPP
--- a/src/hotspot/share/runtime/flags/jvmFlagWriteableList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/flags/jvmFlagWriteableList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JVMFLAGWRITEABLE_HPP
-#define SHARE_VM_RUNTIME_JVMFLAGWRITEABLE_HPP
+#ifndef SHARE_RUNTIME_FLAGS_JVMFLAGWRITEABLELIST_HPP
+#define SHARE_RUNTIME_FLAGS_JVMFLAGWRITEABLELIST_HPP
#include "utilities/growableArray.hpp"
@@ -64,4 +64,4 @@
static void mark_startup(void);
};
-#endif // SHARE_VM_RUNTIME_JVMFLAGWRITEABLE_HPP
+#endif // SHARE_RUNTIME_FLAGS_JVMFLAGWRITEABLELIST_HPP
--- a/src/hotspot/share/runtime/frame.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/frame.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_FRAME_HPP
-#define SHARE_VM_RUNTIME_FRAME_HPP
+#ifndef SHARE_RUNTIME_FRAME_HPP
+#define SHARE_RUNTIME_FRAME_HPP
#include "oops/method.hpp"
#include "runtime/basicLock.hpp"
@@ -470,4 +470,4 @@
RegisterMap* register_map() { return &_reg_map; }
};
-#endif // SHARE_VM_RUNTIME_FRAME_HPP
+#endif // SHARE_RUNTIME_FRAME_HPP
--- a/src/hotspot/share/runtime/frame.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/frame.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_FRAME_INLINE_HPP
-#define SHARE_VM_RUNTIME_FRAME_INLINE_HPP
+#ifndef SHARE_RUNTIME_FRAME_INLINE_HPP
+#define SHARE_RUNTIME_FRAME_INLINE_HPP
#include "code/compiledMethod.inline.hpp"
#include "interpreter/bytecodeInterpreter.hpp"
@@ -67,4 +67,4 @@
return (_is_done) ? true : (_is_done = _fr.is_first_frame(), false);
}
-#endif // SHARE_VM_RUNTIME_FRAME_INLINE_HPP
+#endif // SHARE_RUNTIME_FRAME_INLINE_HPP
--- a/src/hotspot/share/runtime/globals.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/globals.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_GLOBALS_HPP
-#define SHARE_VM_RUNTIME_GLOBALS_HPP
+#ifndef SHARE_RUNTIME_GLOBALS_HPP
+#define SHARE_RUNTIME_GLOBALS_HPP
#include "gc/shared/gc_globals.hpp"
#include "utilities/align.hpp"
@@ -1327,9 +1327,6 @@
develop(bool, TypeProfileCasts, true, \
"treat casts like calls for purposes of type profiling") \
\
- develop(bool, TimeLivenessAnalysis, false, \
- "Time computation of bytecode liveness analysis") \
- \
develop(bool, TraceLivenessGen, false, \
"Trace the generation of liveness analysis information") \
\
@@ -1673,9 +1670,6 @@
develop(intx, DontYieldALotInterval, 10, \
"Interval between which yields will be dropped (milliseconds)") \
\
- develop(intx, ProfilerPCTickThreshold, 15, \
- "Number of ticks in a PC buckets to be a hotspot") \
- \
notproduct(intx, DeoptimizeALotInterval, 5, \
"Number of exits until DeoptimizeALot kicks in") \
\
@@ -1997,10 +1991,6 @@
product(bool, CICompilerCountPerCPU, false, \
"1 compiler thread for log(N CPUs)") \
\
- develop(intx, CIFireOOMAt, -1, \
- "Fire OutOfMemoryErrors throughout CI for testing the compiler " \
- "(non-negative value throws OOM after this many CI accesses " \
- "in each compile)") \
notproduct(intx, CICrashAt, -1, \
"id of compilation to trigger assert in compiler thread for " \
"the purpose of testing, e.g. generation of replay data") \
@@ -2733,4 +2723,4 @@
#include "runtime/globals_ext.hpp"
-#endif // SHARE_VM_RUNTIME_GLOBALS_HPP
+#endif // SHARE_RUNTIME_GLOBALS_HPP
--- a/src/hotspot/share/runtime/globals_ext.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/globals_ext.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_GLOBALS_EXT_HPP
-#define SHARE_VM_RUNTIME_GLOBALS_EXT_HPP
+#ifndef SHARE_RUNTIME_GLOBALS_EXT_HPP
+#define SHARE_RUNTIME_GLOBALS_EXT_HPP
#include "runtime/flags/jvmFlag.hpp"
@@ -69,4 +69,4 @@
return JVMFlag::NONE;
}
-#endif // SHARE_VM_RUNTIME_GLOBALS_EXT_HPP
+#endif // SHARE_RUNTIME_GLOBALS_EXT_HPP
--- a/src/hotspot/share/runtime/globals_extension.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/globals_extension.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_GLOBALS_EXTENSION_HPP
-#define SHARE_VM_RUNTIME_GLOBALS_EXTENSION_HPP
+#ifndef SHARE_RUNTIME_GLOBALS_EXTENSION_HPP
+#define SHARE_RUNTIME_GLOBALS_EXTENSION_HPP
#include "runtime/globals.hpp"
#include "utilities/macros.hpp"
@@ -305,6 +305,8 @@
#define FLAG_SET_CMDLINE(type, name, value) (JVMFlagEx::setOnCmdLine(FLAG_MEMBER_WITH_TYPE(name, type)), \
JVMFlagEx::type##AtPut(FLAG_MEMBER_WITH_TYPE(name, type), (type)(value), JVMFlag::COMMAND_LINE))
#define FLAG_SET_ERGO(type, name, value) (JVMFlagEx::type##AtPut(FLAG_MEMBER_WITH_TYPE(name, type), (type)(value), JVMFlag::ERGONOMIC))
+#define FLAG_SET_MGMT(type, name, value) (JVMFlagEx::type##AtPut(FLAG_MEMBER_WITH_TYPE(name, type), (type)(value), JVMFlag::MANAGEMENT))
+
#define FLAG_SET_ERGO_IF_DEFAULT(type, name, value) \
do { \
if (FLAG_IS_DEFAULT(name)) { \
@@ -334,4 +336,4 @@
static void setOnCmdLine(JVMFlagsWithType flag);
};
-#endif // SHARE_VM_RUNTIME_GLOBALS_EXTENSION_HPP
+#endif // SHARE_RUNTIME_GLOBALS_EXTENSION_HPP
--- a/src/hotspot/share/runtime/handles.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/handles.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_HANDLES_HPP
-#define SHARE_VM_RUNTIME_HANDLES_HPP
+#ifndef SHARE_RUNTIME_HANDLES_HPP
+#define SHARE_RUNTIME_HANDLES_HPP
#include "memory/arena.hpp"
#include "oops/oop.hpp"
@@ -310,4 +310,4 @@
inline ~HandleMarkCleaner();
};
-#endif // SHARE_VM_RUNTIME_HANDLES_HPP
+#endif // SHARE_RUNTIME_HANDLES_HPP
--- a/src/hotspot/share/runtime/handles.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/handles.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_HANDLES_INLINE_HPP
-#define SHARE_VM_RUNTIME_HANDLES_INLINE_HPP
+#ifndef SHARE_RUNTIME_HANDLES_INLINE_HPP
+#define SHARE_RUNTIME_HANDLES_INLINE_HPP
#include "runtime/handles.hpp"
#include "runtime/thread.inline.hpp"
@@ -113,4 +113,4 @@
_thread->last_handle_mark()->pop_and_restore();
}
-#endif // SHARE_VM_RUNTIME_HANDLES_INLINE_HPP
+#endif // SHARE_RUNTIME_HANDLES_INLINE_HPP
--- a/src/hotspot/share/runtime/handshake.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/handshake.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_HANDSHAKE_HPP
-#define SHARE_VM_RUNTIME_HANDSHAKE_HPP
+#ifndef SHARE_RUNTIME_HANDSHAKE_HPP
+#define SHARE_RUNTIME_HANDSHAKE_HPP
#include "memory/allocation.hpp"
#include "runtime/flags/flagSetting.hpp"
@@ -81,4 +81,4 @@
void process_by_vmthread(JavaThread* target);
};
-#endif // SHARE_VM_RUNTIME_HANDSHAKE_HPP
+#endif // SHARE_RUNTIME_HANDSHAKE_HPP
--- a/src/hotspot/share/runtime/icache.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/icache.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_ICACHE_HPP
-#define SHARE_VM_RUNTIME_ICACHE_HPP
+#ifndef SHARE_RUNTIME_ICACHE_HPP
+#define SHARE_RUNTIME_ICACHE_HPP
#include "memory/allocation.hpp"
#include "runtime/stubCodeGenerator.hpp"
@@ -120,4 +120,4 @@
void generate_icache_flush(ICache::flush_icache_stub_t* flush_icache_stub);
};
-#endif // SHARE_VM_RUNTIME_ICACHE_HPP
+#endif // SHARE_RUNTIME_ICACHE_HPP
--- a/src/hotspot/share/runtime/init.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/init.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_INIT_HPP
-#define SHARE_VM_RUNTIME_INIT_HPP
+#ifndef SHARE_RUNTIME_INIT_HPP
+#define SHARE_RUNTIME_INIT_HPP
#include "utilities/globalDefinitions.hpp"
@@ -42,4 +42,4 @@
bool is_init_completed(); // returns true when bootstrapping has completed
void set_init_completed(); // set basic init to completed
-#endif // SHARE_VM_RUNTIME_INIT_HPP
+#endif // SHARE_RUNTIME_INIT_HPP
--- a/src/hotspot/share/runtime/interfaceSupport.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/interfaceSupport.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_INTERFACESUPPORT_INLINE_HPP
-#define SHARE_VM_RUNTIME_INTERFACESUPPORT_INLINE_HPP
+#ifndef SHARE_RUNTIME_INTERFACESUPPORT_INLINE_HPP
+#define SHARE_RUNTIME_INTERFACESUPPORT_INLINE_HPP
#include "runtime/handles.inline.hpp"
#include "runtime/mutexLocker.hpp"
@@ -568,4 +568,4 @@
#define JVM_END } }
-#endif // SHARE_VM_RUNTIME_INTERFACESUPPORT_INLINE_HPP
+#endif // SHARE_RUNTIME_INTERFACESUPPORT_INLINE_HPP
--- a/src/hotspot/share/runtime/java.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/java.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -81,7 +81,6 @@
#endif
#ifdef COMPILER2
#include "code/compiledIC.hpp"
-#include "compiler/methodLiveness.hpp"
#include "opto/compile.hpp"
#include "opto/indexSet.hpp"
#include "opto/runtime.hpp"
@@ -258,10 +257,6 @@
if (PrintLockStatistics || PrintPreciseBiasedLockingStatistics || PrintPreciseRTMLockingStatistics) {
OptoRuntime::print_named_counters();
}
-
- if (TimeLivenessAnalysis) {
- MethodLiveness::print_times();
- }
#ifdef ASSERT
if (CollectIndexSetStatistics) {
IndexSet::print_statistics();
--- a/src/hotspot/share/runtime/java.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/java.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JAVA_HPP
-#define SHARE_VM_RUNTIME_JAVA_HPP
+#ifndef SHARE_RUNTIME_JAVA_HPP
+#define SHARE_RUNTIME_JAVA_HPP
#include "runtime/os.hpp"
@@ -157,4 +157,4 @@
};
-#endif // SHARE_VM_RUNTIME_JAVA_HPP
+#endif // SHARE_RUNTIME_JAVA_HPP
--- a/src/hotspot/share/runtime/javaCalls.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/javaCalls.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JAVACALLS_HPP
-#define SHARE_VM_RUNTIME_JAVACALLS_HPP
+#ifndef SHARE_RUNTIME_JAVACALLS_HPP
+#define SHARE_RUNTIME_JAVACALLS_HPP
#include "memory/allocation.hpp"
#include "oops/method.hpp"
@@ -268,4 +268,4 @@
static void call(JavaValue* result, const methodHandle& method, JavaCallArguments* args, TRAPS);
};
-#endif // SHARE_VM_RUNTIME_JAVACALLS_HPP
+#endif // SHARE_RUNTIME_JAVACALLS_HPP
--- a/src/hotspot/share/runtime/javaFrameAnchor.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/javaFrameAnchor.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JAVAFRAMEANCHOR_HPP
-#define SHARE_VM_RUNTIME_JAVAFRAMEANCHOR_HPP
+#ifndef SHARE_RUNTIME_JAVAFRAMEANCHOR_HPP
+#define SHARE_RUNTIME_JAVAFRAMEANCHOR_HPP
#include "runtime/orderAccess.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -94,4 +94,4 @@
};
-#endif // SHARE_VM_RUNTIME_JAVAFRAMEANCHOR_HPP
+#endif // SHARE_RUNTIME_JAVAFRAMEANCHOR_HPP
--- a/src/hotspot/share/runtime/jfieldIDWorkaround.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/jfieldIDWorkaround.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JFIELDIDWORKAROUND_HPP
-#define SHARE_VM_RUNTIME_JFIELDIDWORKAROUND_HPP
+#ifndef SHARE_RUNTIME_JFIELDIDWORKAROUND_HPP
+#define SHARE_RUNTIME_JFIELDIDWORKAROUND_HPP
class jfieldIDWorkaround: AllStatic {
// This workaround is because JVMTI doesn't have distinct entry points
@@ -161,4 +161,4 @@
}
};
-#endif // SHARE_VM_RUNTIME_JFIELDIDWORKAROUND_HPP
+#endif // SHARE_RUNTIME_JFIELDIDWORKAROUND_HPP
--- a/src/hotspot/share/runtime/jniHandles.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/jniHandles.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JNIHANDLES_HPP
-#define SHARE_VM_RUNTIME_JNIHANDLES_HPP
+#ifndef SHARE_RUNTIME_JNIHANDLES_HPP
+#define SHARE_RUNTIME_JNIHANDLES_HPP
#include "memory/allocation.hpp"
#include "runtime/handles.hpp"
@@ -206,4 +206,4 @@
#endif
};
-#endif // SHARE_VM_RUNTIME_JNIHANDLES_HPP
+#endif // SHARE_RUNTIME_JNIHANDLES_HPP
--- a/src/hotspot/share/runtime/jniHandles.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/jniHandles.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -102,4 +102,3 @@
}
#endif // SHARE_RUNTIME_JNIHANDLES_INLINE_HPP
-
--- a/src/hotspot/share/runtime/jniPeriodicChecker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/jniPeriodicChecker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_JNIPERIODICCHECKER_HPP
-#define SHARE_VM_RUNTIME_JNIPERIODICCHECKER_HPP
+#ifndef SHARE_RUNTIME_JNIPERIODICCHECKER_HPP
+#define SHARE_RUNTIME_JNIPERIODICCHECKER_HPP
class JniPeriodicCheckerTask;
@@ -54,4 +54,4 @@
void jniPeriodicChecker_exit();
-#endif // SHARE_VM_RUNTIME_JNIPERIODICCHECKER_HPP
+#endif // SHARE_RUNTIME_JNIPERIODICCHECKER_HPP
--- a/src/hotspot/share/runtime/memprofiler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/memprofiler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_MEMPROFILER_HPP
-#define SHARE_VM_RUNTIME_MEMPROFILER_HPP
+#ifndef SHARE_RUNTIME_MEMPROFILER_HPP
+#define SHARE_RUNTIME_MEMPROFILER_HPP
// Prints periodic memory usage trace of HotSpot VM
@@ -44,4 +44,4 @@
static bool is_active() PRODUCT_RETURN0;
};
-#endif // SHARE_VM_RUNTIME_MEMPROFILER_HPP
+#endif // SHARE_RUNTIME_MEMPROFILER_HPP
--- a/src/hotspot/share/runtime/monitorChunk.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/monitorChunk.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_MONITORCHUNK_HPP
-#define SHARE_VM_RUNTIME_MONITORCHUNK_HPP
+#ifndef SHARE_RUNTIME_MONITORCHUNK_HPP
+#define SHARE_RUNTIME_MONITORCHUNK_HPP
#include "runtime/synchronizer.hpp"
@@ -62,4 +62,4 @@
bool contains(void* addr) const { return (addr >= (void*) monitors()) && (addr < (void*) (monitors() + number_of_monitors())); }
};
-#endif // SHARE_VM_RUNTIME_MONITORCHUNK_HPP
+#endif // SHARE_RUNTIME_MONITORCHUNK_HPP
--- a/src/hotspot/share/runtime/mutex.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/mutex.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_MUTEX_HPP
-#define SHARE_VM_RUNTIME_MUTEX_HPP
+#ifndef SHARE_RUNTIME_MUTEX_HPP
+#define SHARE_RUNTIME_MUTEX_HPP
#include "memory/allocation.hpp"
#include "runtime/os.hpp"
@@ -320,4 +320,4 @@
Mutex(rank, name, allow_vm_block, safepoint_check_required) {};
};
-#endif // SHARE_VM_RUNTIME_MUTEX_HPP
+#endif // SHARE_RUNTIME_MUTEX_HPP
--- a/src/hotspot/share/runtime/mutexLocker.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/mutexLocker.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -79,10 +79,8 @@
Monitor* CGC_lock = NULL;
Monitor* STS_lock = NULL;
Monitor* FullGCCount_lock = NULL;
-Mutex* SATB_Q_FL_lock = NULL;
Monitor* SATB_Q_CBL_mon = NULL;
Mutex* Shared_SATB_Q_lock = NULL;
-Mutex* DirtyCardQ_FL_lock = NULL;
Monitor* DirtyCardQ_CBL_mon = NULL;
Mutex* Shared_DirtyCardQ_lock = NULL;
Mutex* MarkStackFreeList_lock = NULL;
@@ -214,11 +212,9 @@
def(FullGCCount_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_never); // in support of ExplicitGCInvokesConcurrent
}
if (UseG1GC) {
- def(SATB_Q_FL_lock , PaddedMutex , access, true, Monitor::_safepoint_check_never);
def(SATB_Q_CBL_mon , PaddedMonitor, access, true, Monitor::_safepoint_check_never);
def(Shared_SATB_Q_lock , PaddedMutex , access + 1, true, Monitor::_safepoint_check_never);
- def(DirtyCardQ_FL_lock , PaddedMutex , access, true, Monitor::_safepoint_check_never);
def(DirtyCardQ_CBL_mon , PaddedMonitor, access, true, Monitor::_safepoint_check_never);
def(Shared_DirtyCardQ_lock , PaddedMutex , access + 1, true, Monitor::_safepoint_check_never);
@@ -235,7 +231,6 @@
def(MonitoringSupport_lock , PaddedMutex , native , true, Monitor::_safepoint_check_never); // used for serviceability monitoring support
}
if (UseShenandoahGC) {
- def(SATB_Q_FL_lock , PaddedMutex , access, true, Monitor::_safepoint_check_never);
def(SATB_Q_CBL_mon , PaddedMonitor, access, true, Monitor::_safepoint_check_never);
def(Shared_SATB_Q_lock , PaddedMutex , access + 1, true, Monitor::_safepoint_check_never);
--- a/src/hotspot/share/runtime/mutexLocker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/mutexLocker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_MUTEXLOCKER_HPP
-#define SHARE_VM_RUNTIME_MUTEXLOCKER_HPP
+#ifndef SHARE_RUNTIME_MUTEXLOCKER_HPP
+#define SHARE_RUNTIME_MUTEXLOCKER_HPP
#include "memory/allocation.hpp"
#include "runtime/flags/flagSetting.hpp"
@@ -76,16 +76,12 @@
// fore- & background GC threads.
extern Monitor* STS_lock; // used for joining/leaving SuspendibleThreadSet.
extern Monitor* FullGCCount_lock; // in support of "concurrent" full gc
-extern Mutex* SATB_Q_FL_lock; // Protects SATB Q
- // buffer free list.
extern Monitor* SATB_Q_CBL_mon; // Protects SATB Q
// completed buffer queue.
extern Mutex* Shared_SATB_Q_lock; // Lock protecting SATB
// queue shared by
// non-Java threads.
-extern Mutex* DirtyCardQ_FL_lock; // Protects dirty card Q
- // buffer free list.
extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q
// completed buffer queue.
extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card
@@ -352,4 +348,4 @@
}
};
-#endif // SHARE_VM_RUNTIME_MUTEXLOCKER_HPP
+#endif // SHARE_RUNTIME_MUTEXLOCKER_HPP
--- a/src/hotspot/share/runtime/objectMonitor.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/objectMonitor.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_OBJECTMONITOR_HPP
-#define SHARE_VM_RUNTIME_OBJECTMONITOR_HPP
+#ifndef SHARE_RUNTIME_OBJECTMONITOR_HPP
+#define SHARE_RUNTIME_OBJECTMONITOR_HPP
#include "memory/allocation.hpp"
#include "memory/padded.hpp"
@@ -315,4 +315,4 @@
bool ExitSuspendEquivalent(JavaThread * Self);
};
-#endif // SHARE_VM_RUNTIME_OBJECTMONITOR_HPP
+#endif // SHARE_RUNTIME_OBJECTMONITOR_HPP
--- a/src/hotspot/share/runtime/objectMonitor.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/objectMonitor.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_OBJECTMONITOR_INLINE_HPP
-#define SHARE_VM_RUNTIME_OBJECTMONITOR_INLINE_HPP
+#ifndef SHARE_RUNTIME_OBJECTMONITOR_INLINE_HPP
+#define SHARE_RUNTIME_OBJECTMONITOR_INLINE_HPP
inline intptr_t ObjectMonitor::is_entered(TRAPS) const {
if (THREAD == _owner || THREAD->is_lock_owned((address) _owner)) {
@@ -110,4 +110,4 @@
}
-#endif // SHARE_VM_RUNTIME_OBJECTMONITOR_INLINE_HPP
+#endif // SHARE_RUNTIME_OBJECTMONITOR_INLINE_HPP
--- a/src/hotspot/share/runtime/orderAccess.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/orderAccess.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_ORDERACCESS_HPP
-#define SHARE_VM_RUNTIME_ORDERACCESS_HPP
+#ifndef SHARE_RUNTIME_ORDERACCESS_HPP
+#define SHARE_RUNTIME_ORDERACCESS_HPP
#include "memory/allocation.hpp"
#include "runtime/atomic.hpp"
@@ -346,4 +346,4 @@
inline void OrderAccess::release_store_fence(volatile D* p, T v) {
StoreImpl<T, D, PlatformOrderedStore<sizeof(D), RELEASE_X_FENCE> >()(v, p);
}
-#endif // SHARE_VM_RUNTIME_ORDERACCESS_HPP
+#endif // SHARE_RUNTIME_ORDERACCESS_HPP
--- a/src/hotspot/share/runtime/os.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/os.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -217,7 +217,8 @@
OSReturn os::set_priority(Thread* thread, ThreadPriority p) {
debug_only(Thread::check_for_dangling_thread_pointer(thread);)
- if (p >= MinPriority && p <= MaxPriority) {
+ if ((p >= MinPriority && p <= MaxPriority) ||
+ (p == CriticalPriority && thread->is_ConcurrentGC_thread())) {
int priority = java_to_os_priority[p];
return set_native_priority(thread, priority);
} else {
--- a/src/hotspot/share/runtime/os.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/os.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_OS_HPP
-#define SHARE_VM_RUNTIME_OS_HPP
+#ifndef SHARE_RUNTIME_OS_HPP
+#define SHARE_RUNTIME_OS_HPP
#include "jvm.h"
#include "jvmtifiles/jvmti.h"
@@ -539,9 +539,8 @@
//File i/o operations
- static size_t read(int fd, void *buf, unsigned int nBytes);
- static size_t read_at(int fd, void *buf, unsigned int nBytes, jlong offset);
- static size_t restartable_read(int fd, void *buf, unsigned int nBytes);
+ static ssize_t read(int fd, void *buf, unsigned int nBytes);
+ static ssize_t read_at(int fd, void *buf, unsigned int nBytes, jlong offset);
static size_t write(int fd, const void *buf, unsigned int nBytes);
// Reading directories.
@@ -995,4 +994,4 @@
extern "C" int SpinPause();
-#endif // SHARE_VM_RUNTIME_OS_HPP
+#endif // SHARE_RUNTIME_OS_HPP
--- a/src/hotspot/share/runtime/os.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/os.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,11 +22,15 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_OS_INLINE_HPP
-#define SHARE_VM_RUNTIME_OS_INLINE_HPP
+#ifndef SHARE_RUNTIME_OS_INLINE_HPP
+#define SHARE_RUNTIME_OS_INLINE_HPP
#include "runtime/os.hpp"
+inline ssize_t os::read(int fd, void *buf, unsigned int nBytes) {
+ return ::read(fd, buf, nBytes);
+}
+
#include OS_HEADER_INLINE(os)
-#endif // SHARE_VM_RUNTIME_OS_INLINE_HPP
+#endif // SHARE_RUNTIME_OS_INLINE_HPP
--- a/src/hotspot/share/runtime/osThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/osThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_OSTHREAD_HPP
-#define SHARE_VM_RUNTIME_OSTHREAD_HPP
+#ifndef SHARE_RUNTIME_OSTHREAD_HPP
+#define SHARE_RUNTIME_OSTHREAD_HPP
#include "runtime/frame.hpp"
#include "runtime/handles.hpp"
@@ -147,4 +147,4 @@
}
};
-#endif // SHARE_VM_RUNTIME_OSTHREAD_HPP
+#endif // SHARE_RUNTIME_OSTHREAD_HPP
--- a/src/hotspot/share/runtime/os_ext.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/os_ext.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_OS_EXT_HPP
-#define SHARE_VM_RUNTIME_OS_EXT_HPP
+#ifndef SHARE_RUNTIME_OS_EXT_HPP
+#define SHARE_RUNTIME_OS_EXT_HPP
#define EMIT_RANGES_FOR_GLOBALS_EXT // NOP
#define EMIT_CONSTRAINTS_FOR_GLOBALS_EXT // NOP
@@ -35,4 +35,4 @@
private:
-#endif // SHARE_VM_RUNTIME_OS_EXT_HPP
+#endif // SHARE_RUNTIME_OS_EXT_HPP
--- a/src/hotspot/share/runtime/os_perf.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/os_perf.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_OS_PERF_HPP
-#define SHARE_VM_RUNTIME_OS_PERF_HPP
+#ifndef SHARE_RUNTIME_OS_PERF_HPP
+#define SHARE_RUNTIME_OS_PERF_HPP
#include "memory/allocation.hpp"
#include "utilities/macros.hpp"
@@ -287,4 +287,4 @@
int network_utilization(NetworkInterface** network_interfaces) const;
};
-#endif // SHARE_VM_RUNTIME_OS_PERF_HPP
+#endif // SHARE_RUNTIME_OS_PERF_HPP
--- a/src/hotspot/share/runtime/park.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/park.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_PARK_HPP
-#define SHARE_VM_RUNTIME_PARK_HPP
+#ifndef SHARE_RUNTIME_PARK_HPP
+#define SHARE_RUNTIME_PARK_HPP
#include "utilities/debug.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -163,4 +163,4 @@
static void Release (ParkEvent * e) ;
} ;
-#endif // SHARE_VM_RUNTIME_PARK_HPP
+#endif // SHARE_RUNTIME_PARK_HPP
--- a/src/hotspot/share/runtime/perfData.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/perfData.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_PERFDATA_HPP
-#define SHARE_VM_RUNTIME_PERFDATA_HPP
+#ifndef SHARE_RUNTIME_PERFDATA_HPP
+#define SHARE_RUNTIME_PERFDATA_HPP
#include "memory/allocation.hpp"
#include "runtime/perfMemory.hpp"
@@ -970,4 +970,4 @@
}
};
-#endif // SHARE_VM_RUNTIME_PERFDATA_HPP
+#endif // SHARE_RUNTIME_PERFDATA_HPP
--- a/src/hotspot/share/runtime/perfData.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/perfData.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_PERFDATA_INLINE_HPP
-#define SHARE_VM_RUNTIME_PERFDATA_INLINE_HPP
+#ifndef SHARE_RUNTIME_PERFDATA_INLINE_HPP
+#define SHARE_RUNTIME_PERFDATA_INLINE_HPP
#include "runtime/perfData.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -65,4 +65,4 @@
}
}
-#endif // SHARE_VM_RUNTIME_PERFDATA_INLINE_HPP
+#endif // SHARE_RUNTIME_PERFDATA_INLINE_HPP
--- a/src/hotspot/share/runtime/perfMemory.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/perfMemory.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_PERFMEMORY_HPP
-#define SHARE_VM_RUNTIME_PERFMEMORY_HPP
+#ifndef SHARE_RUNTIME_PERFMEMORY_HPP
+#define SHARE_RUNTIME_PERFMEMORY_HPP
#include "utilities/exceptions.hpp"
@@ -167,4 +167,4 @@
void perfMemory_init();
void perfMemory_exit();
-#endif // SHARE_VM_RUNTIME_PERFMEMORY_HPP
+#endif // SHARE_RUNTIME_PERFMEMORY_HPP
--- a/src/hotspot/share/runtime/prefetch.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/prefetch.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_PREFETCH_HPP
-#define SHARE_VM_RUNTIME_PREFETCH_HPP
+#ifndef SHARE_RUNTIME_PREFETCH_HPP
+#define SHARE_RUNTIME_PREFETCH_HPP
#include "memory/allocation.hpp"
@@ -48,4 +48,4 @@
static void write(void* loc, intx interval);
};
-#endif // SHARE_VM_RUNTIME_PREFETCH_HPP
+#endif // SHARE_RUNTIME_PREFETCH_HPP
--- a/src/hotspot/share/runtime/prefetch.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/prefetch.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,11 +22,11 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_PREFETCH_INLINE_HPP
-#define SHARE_VM_RUNTIME_PREFETCH_INLINE_HPP
+#ifndef SHARE_RUNTIME_PREFETCH_INLINE_HPP
+#define SHARE_RUNTIME_PREFETCH_INLINE_HPP
#include "runtime/prefetch.hpp"
#include "utilities/macros.hpp"
#include OS_CPU_HEADER_INLINE(prefetch)
-#endif // SHARE_VM_RUNTIME_PREFETCH_INLINE_HPP
+#endif // SHARE_RUNTIME_PREFETCH_INLINE_HPP
--- a/src/hotspot/share/runtime/reflection.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/reflection.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_REFLECTION_HPP
-#define SHARE_VM_RUNTIME_REFLECTION_HPP
+#ifndef SHARE_RUNTIME_REFLECTION_HPP
+#define SHARE_RUNTIME_REFLECTION_HPP
#include "oops/oop.hpp"
#include "runtime/fieldDescriptor.hpp"
@@ -131,4 +131,4 @@
};
-#endif // SHARE_VM_RUNTIME_REFLECTION_HPP
+#endif // SHARE_RUNTIME_REFLECTION_HPP
--- a/src/hotspot/share/runtime/reflectionUtils.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/reflectionUtils.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_REFLECTIONUTILS_HPP
-#define SHARE_VM_RUNTIME_REFLECTIONUTILS_HPP
+#ifndef SHARE_RUNTIME_REFLECTIONUTILS_HPP
+#define SHARE_RUNTIME_REFLECTIONUTILS_HPP
#include "memory/allocation.hpp"
#include "oops/instanceKlass.hpp"
@@ -232,4 +232,4 @@
}
};
-#endif // SHARE_VM_RUNTIME_REFLECTIONUTILS_HPP
+#endif // SHARE_RUNTIME_REFLECTIONUTILS_HPP
--- a/src/hotspot/share/runtime/registerMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/registerMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_REGISTERMAP_HPP
-#define SHARE_VM_RUNTIME_REGISTERMAP_HPP
+#ifndef SHARE_RUNTIME_REGISTERMAP_HPP
+#define SHARE_RUNTIME_REGISTERMAP_HPP
#include "code/vmreg.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -125,4 +125,4 @@
};
-#endif // SHARE_VM_RUNTIME_REGISTERMAP_HPP
+#endif // SHARE_RUNTIME_REGISTERMAP_HPP
--- a/src/hotspot/share/runtime/relocator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/relocator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_RELOCATOR_HPP
-#define SHARE_VM_RUNTIME_RELOCATOR_HPP
+#ifndef SHARE_RUNTIME_RELOCATOR_HPP
+#define SHARE_RUNTIME_RELOCATOR_HPP
#include "interpreter/bytecodes.hpp"
#include "oops/method.hpp"
@@ -125,4 +125,4 @@
}
};
-#endif // SHARE_VM_RUNTIME_RELOCATOR_HPP
+#endif // SHARE_RUNTIME_RELOCATOR_HPP
--- a/src/hotspot/share/runtime/rframe.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/rframe.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_RFRAME_HPP
-#define SHARE_VM_RUNTIME_RFRAME_HPP
+#ifndef SHARE_RUNTIME_RFRAME_HPP
+#define SHARE_RUNTIME_RFRAME_HPP
#include "memory/allocation.hpp"
#include "runtime/frame.hpp"
@@ -122,4 +122,4 @@
void print();
};
-#endif // SHARE_VM_RUNTIME_RFRAME_HPP
+#endif // SHARE_RUNTIME_RFRAME_HPP
--- a/src/hotspot/share/runtime/rtmLocking.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/rtmLocking.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_RTMLOCKING_HPP
-#define SHARE_VM_RUNTIME_RTMLOCKING_HPP
+#ifndef SHARE_RUNTIME_RTMLOCKING_HPP
+#define SHARE_RUNTIME_RTMLOCKING_HPP
// Generate RTM (Restricted Transactional Memory) locking code for all inflated
// locks when "UseRTMLocking" option is on with normal locking mechanism as fall back
@@ -110,4 +110,4 @@
void print() { print_on(tty); }
};
-#endif // SHARE_VM_RUNTIME_RTMLOCKING_HPP
+#endif // SHARE_RUNTIME_RTMLOCKING_HPP
--- a/src/hotspot/share/runtime/safepoint.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/safepoint.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SAFEPOINT_HPP
-#define SHARE_VM_RUNTIME_SAFEPOINT_HPP
+#ifndef SHARE_RUNTIME_SAFEPOINT_HPP
+#define SHARE_RUNTIME_SAFEPOINT_HPP
#include "memory/allocation.hpp"
#include "runtime/mutexLocker.hpp"
@@ -253,4 +253,4 @@
-#endif // SHARE_VM_RUNTIME_SAFEPOINT_HPP
+#endif // SHARE_RUNTIME_SAFEPOINT_HPP
--- a/src/hotspot/share/runtime/safepointMechanism.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/safepointMechanism.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SAFEPOINTMECHANISM_HPP
-#define SHARE_VM_RUNTIME_SAFEPOINTMECHANISM_HPP
+#ifndef SHARE_RUNTIME_SAFEPOINTMECHANISM_HPP
+#define SHARE_RUNTIME_SAFEPOINTMECHANISM_HPP
#include "runtime/globals.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -90,4 +90,4 @@
static void initialize_header(JavaThread* thread);
};
-#endif // SHARE_VM_RUNTIME_SAFEPOINTMECHANISM_HPP
+#endif // SHARE_RUNTIME_SAFEPOINTMECHANISM_HPP
--- a/src/hotspot/share/runtime/safepointMechanism.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/safepointMechanism.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SAFEPOINTMECHANISM_INLINE_HPP
-#define SHARE_VM_RUNTIME_SAFEPOINTMECHANISM_INLINE_HPP
+#ifndef SHARE_RUNTIME_SAFEPOINTMECHANISM_INLINE_HPP
+#define SHARE_RUNTIME_SAFEPOINTMECHANISM_INLINE_HPP
#include "runtime/safepointMechanism.hpp"
#include "runtime/safepoint.hpp"
@@ -95,4 +95,4 @@
thread->set_polling_page_release(poll_disarmed_value());
}
-#endif // SHARE_VM_RUNTIME_SAFEPOINTMECHANISM_INLINE_HPP
+#endif // SHARE_RUNTIME_SAFEPOINTMECHANISM_INLINE_HPP
--- a/src/hotspot/share/runtime/safepointVerifiers.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/safepointVerifiers.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SAFEPOINTVERIFIERS_HPP
-#define SHARE_VM_RUNTIME_SAFEPOINTVERIFIERS_HPP
+#ifndef SHARE_RUNTIME_SAFEPOINTVERIFIERS_HPP
+#define SHARE_RUNTIME_SAFEPOINTVERIFIERS_HPP
#include "memory/allocation.hpp"
#include "runtime/thread.hpp"
@@ -172,4 +172,4 @@
#endif
};
-#endif // SHARE_VM_RUNTIME_SAFEPOINTVERIFIERS_HPP
+#endif // SHARE_RUNTIME_SAFEPOINTVERIFIERS_HPP
--- a/src/hotspot/share/runtime/semaphore.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/semaphore.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SEMAPHORE_HPP
-#define SHARE_VM_RUNTIME_SEMAPHORE_HPP
+#ifndef SHARE_RUNTIME_SEMAPHORE_HPP
+#define SHARE_RUNTIME_SEMAPHORE_HPP
#include "memory/allocation.hpp"
@@ -60,4 +60,4 @@
void wait_with_safepoint_check(JavaThread* thread);
};
-#endif // SHARE_VM_RUNTIME_SEMAPHORE_HPP
+#endif // SHARE_RUNTIME_SEMAPHORE_HPP
--- a/src/hotspot/share/runtime/semaphore.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/semaphore.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SEMAPHORE_INLINE_HPP
-#define SHARE_VM_RUNTIME_SEMAPHORE_INLINE_HPP
+#ifndef SHARE_RUNTIME_SEMAPHORE_INLINE_HPP
+#define SHARE_RUNTIME_SEMAPHORE_INLINE_HPP
#include "runtime/interfaceSupport.inline.hpp"
#include "runtime/semaphore.hpp"
@@ -38,4 +38,4 @@
_impl.wait();
}
-#endif // SHARE_VM_RUNTIME_SEMAPHORE_INLINE_HPP
+#endif // SHARE_RUNTIME_SEMAPHORE_INLINE_HPP
--- a/src/hotspot/share/runtime/serviceThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/serviceThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SERVICETHREAD_HPP
-#define SHARE_VM_RUNTIME_SERVICETHREAD_HPP
+#ifndef SHARE_RUNTIME_SERVICETHREAD_HPP
+#define SHARE_RUNTIME_SERVICETHREAD_HPP
#include "runtime/thread.hpp"
@@ -48,4 +48,4 @@
static bool is_service_thread(Thread* thread);
};
-#endif // SHARE_VM_RUNTIME_SERVICETHREAD_HPP
+#endif // SHARE_RUNTIME_SERVICETHREAD_HPP
--- a/src/hotspot/share/runtime/sharedRuntime.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/sharedRuntime.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1376,6 +1376,14 @@
}
#endif
+ // Do not patch call site for static call when the class is not
+ // fully initialized.
+ if (invoke_code == Bytecodes::_invokestatic &&
+ !callee_method->method_holder()->is_initialized()) {
+ assert(callee_method->method_holder()->is_linked(), "must be");
+ return callee_method;
+ }
+
// JSR 292 key invariant:
// If the resolved method is a MethodHandle invoke target, the call
// site must be a MethodHandle call site, because the lambda form might tail-call
--- a/src/hotspot/share/runtime/sharedRuntime.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/sharedRuntime.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SHAREDRUNTIME_HPP
-#define SHARE_VM_RUNTIME_SHAREDRUNTIME_HPP
+#ifndef SHARE_RUNTIME_SHAREDRUNTIME_HPP
+#define SHARE_RUNTIME_SHAREDRUNTIME_HPP
#include "interpreter/bytecodeHistogram.hpp"
#include "interpreter/bytecodeTracer.hpp"
@@ -725,4 +725,4 @@
};
-#endif // SHARE_VM_RUNTIME_SHAREDRUNTIME_HPP
+#endif // SHARE_RUNTIME_SHAREDRUNTIME_HPP
--- a/src/hotspot/share/runtime/sharedRuntimeMath.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/sharedRuntimeMath.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SHAREDRUNTIMEMATH_HPP
-#define SHARE_VM_RUNTIME_SHAREDRUNTIMEMATH_HPP
+#ifndef SHARE_RUNTIME_SHAREDRUNTIMEMATH_HPP
+#define SHARE_RUNTIME_SHAREDRUNTIMEMATH_HPP
#include <math.h>
@@ -127,4 +127,4 @@
return x*twom54;
}
-#endif // SHARE_VM_RUNTIME_SHAREDRUNTIMEMATH_HPP
+#endif // SHARE_RUNTIME_SHAREDRUNTIMEMATH_HPP
--- a/src/hotspot/share/runtime/signature.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/signature.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SIGNATURE_HPP
-#define SHARE_VM_RUNTIME_SIGNATURE_HPP
+#ifndef SHARE_RUNTIME_SIGNATURE_HPP
+#define SHARE_RUNTIME_SIGNATURE_HPP
#include "memory/allocation.hpp"
#include "oops/method.hpp"
@@ -428,4 +428,4 @@
static bool invalid_name_char(char);
};
-#endif // SHARE_VM_RUNTIME_SIGNATURE_HPP
+#endif // SHARE_RUNTIME_SIGNATURE_HPP
--- a/src/hotspot/share/runtime/stackValue.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/stackValue.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -206,7 +206,11 @@
break;
case T_OBJECT:
- _handle_value()->print_value_on(st);
+ if (_handle_value() != NULL) {
+ _handle_value()->print_value_on(st);
+ } else {
+ st->print("NULL");
+ }
st->print(" <" INTPTR_FORMAT ">", p2i((address)_handle_value()));
break;
--- a/src/hotspot/share/runtime/stackValue.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/stackValue.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_STACKVALUE_HPP
-#define SHARE_VM_RUNTIME_STACKVALUE_HPP
+#ifndef SHARE_RUNTIME_STACKVALUE_HPP
+#define SHARE_RUNTIME_STACKVALUE_HPP
#include "code/location.hpp"
#include "runtime/handles.hpp"
@@ -117,4 +117,4 @@
#endif
};
-#endif // SHARE_VM_RUNTIME_STACKVALUE_HPP
+#endif // SHARE_RUNTIME_STACKVALUE_HPP
--- a/src/hotspot/share/runtime/stackValueCollection.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/stackValueCollection.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_STACKVALUECOLLECTION_HPP
-#define SHARE_VM_RUNTIME_STACKVALUECOLLECTION_HPP
+#ifndef SHARE_RUNTIME_STACKVALUECOLLECTION_HPP
+#define SHARE_RUNTIME_STACKVALUECOLLECTION_HPP
#include "memory/allocation.hpp"
#include "runtime/stackValue.hpp"
@@ -59,4 +59,4 @@
void print();
};
-#endif // SHARE_VM_RUNTIME_STACKVALUECOLLECTION_HPP
+#endif // SHARE_RUNTIME_STACKVALUECOLLECTION_HPP
--- a/src/hotspot/share/runtime/statSampler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/statSampler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_STATSAMPLER_HPP
-#define SHARE_VM_RUNTIME_STATSAMPLER_HPP
+#ifndef SHARE_RUNTIME_STATSAMPLER_HPP
+#define SHARE_RUNTIME_STATSAMPLER_HPP
#include "runtime/perfData.hpp"
#include "runtime/task.hpp"
@@ -67,4 +67,4 @@
void statSampler_exit();
-#endif // SHARE_VM_RUNTIME_STATSAMPLER_HPP
+#endif // SHARE_RUNTIME_STATSAMPLER_HPP
--- a/src/hotspot/share/runtime/stubCodeGenerator.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/stubCodeGenerator.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_STUBCODEGENERATOR_HPP
-#define SHARE_VM_RUNTIME_STUBCODEGENERATOR_HPP
+#ifndef SHARE_RUNTIME_STUBCODEGENERATOR_HPP
+#define SHARE_RUNTIME_STUBCODEGENERATOR_HPP
#include "asm/assembler.hpp"
#include "memory/allocation.hpp"
@@ -128,4 +128,4 @@
};
-#endif // SHARE_VM_RUNTIME_STUBCODEGENERATOR_HPP
+#endif // SHARE_RUNTIME_STUBCODEGENERATOR_HPP
--- a/src/hotspot/share/runtime/stubRoutines.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/stubRoutines.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_STUBROUTINES_HPP
-#define SHARE_VM_RUNTIME_STUBROUTINES_HPP
+#ifndef SHARE_RUNTIME_STUBROUTINES_HPP
+#define SHARE_RUNTIME_STUBROUTINES_HPP
#include "code/codeBlob.hpp"
#include "memory/allocation.hpp"
@@ -474,4 +474,4 @@
inline bool CanUseSafeFetchN() {
return StubRoutines::SafeFetchN_stub() ? true : false;
}
-#endif // SHARE_VM_RUNTIME_STUBROUTINES_HPP
+#endif // SHARE_RUNTIME_STUBROUTINES_HPP
--- a/src/hotspot/share/runtime/sweeper.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/sweeper.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SWEEPER_HPP
-#define SHARE_VM_RUNTIME_SWEEPER_HPP
+#ifndef SHARE_RUNTIME_SWEEPER_HPP
+#define SHARE_RUNTIME_SWEEPER_HPP
class WhiteBox;
@@ -128,4 +128,4 @@
static void print() { print(tty); }
};
-#endif // SHARE_VM_RUNTIME_SWEEPER_HPP
+#endif // SHARE_RUNTIME_SWEEPER_HPP
--- a/src/hotspot/share/runtime/synchronizer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/synchronizer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_SYNCHRONIZER_HPP
-#define SHARE_VM_RUNTIME_SYNCHRONIZER_HPP
+#ifndef SHARE_RUNTIME_SYNCHRONIZER_HPP
+#define SHARE_RUNTIME_SYNCHRONIZER_HPP
#include "memory/padded.hpp"
#include "oops/markOop.hpp"
@@ -206,4 +206,4 @@
void reenter(intptr_t recursion, TRAPS) { ObjectSynchronizer::reenter(_obj, recursion, CHECK); }
};
-#endif // SHARE_VM_RUNTIME_SYNCHRONIZER_HPP
+#endif // SHARE_RUNTIME_SYNCHRONIZER_HPP
--- a/src/hotspot/share/runtime/task.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/task.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_TASK_HPP
-#define SHARE_VM_RUNTIME_TASK_HPP
+#ifndef SHARE_RUNTIME_TASK_HPP
+#define SHARE_RUNTIME_TASK_HPP
#include "memory/allocation.hpp"
#include "runtime/timer.hpp"
@@ -107,4 +107,4 @@
virtual void task() = 0;
};
-#endif // SHARE_VM_RUNTIME_TASK_HPP
+#endif // SHARE_RUNTIME_TASK_HPP
--- a/src/hotspot/share/runtime/thread.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/thread.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -1671,6 +1671,8 @@
SafepointMechanism::initialize_header(this);
}
+ _class_to_be_initialized = NULL;
+
pd_initialize();
}
@@ -3716,6 +3718,10 @@
// Timing (must come after argument parsing)
TraceTime timer("Create VM", TRACETIME_LOG(Info, startuptime));
+ // Initialize the os module after parsing the args
+ jint os_init_2_result = os::init_2();
+ if (os_init_2_result != JNI_OK) return os_init_2_result;
+
#ifdef CAN_SHOW_REGISTERS_ON_ASSERT
// Initialize assert poison page mechanism.
if (ShowRegistersOnAssert) {
@@ -3723,10 +3729,6 @@
}
#endif // CAN_SHOW_REGISTERS_ON_ASSERT
- // Initialize the os module after parsing the args
- jint os_init_2_result = os::init_2();
- if (os_init_2_result != JNI_OK) return os_init_2_result;
-
SafepointMechanism::initialize();
jint adjust_after_os_result = Arguments::adjust_after_os();
--- a/src/hotspot/share/runtime/thread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/thread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_THREAD_HPP
-#define SHARE_VM_RUNTIME_THREAD_HPP
+#ifndef SHARE_RUNTIME_THREAD_HPP
+#define SHARE_RUNTIME_THREAD_HPP
#include "jni.h"
#include "code/compiledMethod.hpp"
@@ -2088,6 +2088,16 @@
bool is_attaching_via_jni() const { return _jni_attach_state == _attaching_via_jni; }
bool has_attached_via_jni() const { return is_attaching_via_jni() || _jni_attach_state == _attached_via_jni; }
inline void set_done_attaching_via_jni();
+
+ // Stack dump assistance:
+ // Track the class we want to initialize but for which we have to wait
+ // on its init_lock() because it is already being initialized.
+ void set_class_to_be_initialized(InstanceKlass* k);
+ InstanceKlass* class_to_be_initialized() const;
+
+private:
+ InstanceKlass* _class_to_be_initialized;
+
};
// Inline implementation of JavaThread::current
@@ -2329,4 +2339,4 @@
};
-#endif // SHARE_VM_RUNTIME_THREAD_HPP
+#endif // SHARE_RUNTIME_THREAD_HPP
--- a/src/hotspot/share/runtime/thread.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/thread.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_THREAD_INLINE_HPP
-#define SHARE_VM_RUNTIME_THREAD_INLINE_HPP
+#ifndef SHARE_RUNTIME_THREAD_INLINE_HPP
+#define SHARE_RUNTIME_THREAD_INLINE_HPP
#include "runtime/atomic.hpp"
#include "runtime/globals.hpp"
@@ -233,4 +233,16 @@
OrderAccess::release_store((volatile jint *) &_terminated, (jint) _thread_terminated);
}
-#endif // SHARE_VM_RUNTIME_THREAD_INLINE_HPP
+// Allow tracking of class initialization monitor use
+inline void JavaThread::set_class_to_be_initialized(InstanceKlass* k) {
+ assert((k == NULL && _class_to_be_initialized != NULL) ||
+ (k != NULL && _class_to_be_initialized == NULL), "incorrect usage");
+ assert(this == Thread::current(), "Only the current thread can set this field");
+ _class_to_be_initialized = k;
+}
+
+inline InstanceKlass* JavaThread::class_to_be_initialized() const {
+ return _class_to_be_initialized;
+}
+
+#endif // SHARE_RUNTIME_THREAD_INLINE_HPP
--- a/src/hotspot/share/runtime/threadCritical.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/threadCritical.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_THREADCRITICAL_HPP
-#define SHARE_VM_RUNTIME_THREADCRITICAL_HPP
+#ifndef SHARE_RUNTIME_THREADCRITICAL_HPP
+#define SHARE_RUNTIME_THREADCRITICAL_HPP
#include "memory/allocation.hpp"
@@ -52,4 +52,4 @@
~ThreadCritical();
};
-#endif // SHARE_VM_RUNTIME_THREADCRITICAL_HPP
+#endif // SHARE_RUNTIME_THREADCRITICAL_HPP
--- a/src/hotspot/share/runtime/threadHeapSampler.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/threadHeapSampler.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, Google and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef RUNTIME_THREADHEAPSAMPLER_HPP
-#define RUNTIME_THREADHEAPSAMPLER_HPP
+#ifndef SHARE_RUNTIME_THREADHEAPSAMPLER_HPP
+#define SHARE_RUNTIME_THREADHEAPSAMPLER_HPP
#include "memory/allocation.hpp"
--- a/src/hotspot/share/runtime/threadLocalStorage.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/threadLocalStorage.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_THREADLOCALSTORAGE_HPP
-#define SHARE_VM_RUNTIME_THREADLOCALSTORAGE_HPP
+#ifndef SHARE_RUNTIME_THREADLOCALSTORAGE_HPP
+#define SHARE_RUNTIME_THREADLOCALSTORAGE_HPP
#include "memory/allocation.hpp"
@@ -47,4 +47,4 @@
static bool is_initialized(); // can't use TLS prior to initialization
};
-#endif // SHARE_VM_RUNTIME_THREADLOCALSTORAGE_HPP
+#endif // SHARE_RUNTIME_THREADLOCALSTORAGE_HPP
--- a/src/hotspot/share/runtime/threadSMR.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/threadSMR.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_THREADSMR_HPP
-#define SHARE_VM_RUNTIME_THREADSMR_HPP
+#ifndef SHARE_RUNTIME_THREADSMR_HPP
+#define SHARE_RUNTIME_THREADSMR_HPP
#include "memory/allocation.hpp"
#include "runtime/timer.hpp"
@@ -372,4 +372,4 @@
}
};
-#endif // SHARE_VM_RUNTIME_THREADSMR_HPP
+#endif // SHARE_RUNTIME_THREADSMR_HPP
--- a/src/hotspot/share/runtime/threadSMR.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/threadSMR.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_THREADSMR_INLINE_HPP
-#define SHARE_VM_RUNTIME_THREADSMR_INLINE_HPP
+#ifndef SHARE_RUNTIME_THREADSMR_INLINE_HPP
+#define SHARE_RUNTIME_THREADSMR_INLINE_HPP
#include "runtime/atomic.hpp"
#include "runtime/prefetch.inline.hpp"
@@ -92,4 +92,4 @@
ThreadsSMRSupport::update_tlh_time_max(millis);
}
-#endif // SHARE_VM_RUNTIME_THREADSMR_INLINE_HPP
+#endif // SHARE_RUNTIME_THREADSMR_INLINE_HPP
--- a/src/hotspot/share/runtime/threadStatisticalInfo.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/threadStatisticalInfo.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_THREADSTATISTICS_HPP
-#define SHARE_VM_RUNTIME_THREADSTATISTICS_HPP
+#ifndef SHARE_RUNTIME_THREADSTATISTICALINFO_HPP
+#define SHARE_RUNTIME_THREADSTATISTICALINFO_HPP
#include "jni.h"
#include "runtime/os.hpp"
@@ -45,4 +45,4 @@
uint64_t getElapsedTime() const { return os::javaTimeMillis() - getStartTime(); }
};
-#endif // SHARE_VM_RUNTIME_THREADSTATISTICS_HPP
+#endif // SHARE_RUNTIME_THREADSTATISTICALINFO_HPP
--- a/src/hotspot/share/runtime/tieredThresholdPolicy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/tieredThresholdPolicy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_TIEREDTHRESHOLDPOLICY_HPP
-#define SHARE_VM_RUNTIME_TIEREDTHRESHOLDPOLICY_HPP
+#ifndef SHARE_RUNTIME_TIEREDTHRESHOLDPOLICY_HPP
+#define SHARE_RUNTIME_TIEREDTHRESHOLDPOLICY_HPP
#include "code/nmethod.hpp"
#include "oops/methodData.hpp"
@@ -274,4 +274,4 @@
#endif // TIERED
-#endif // SHARE_VM_RUNTIME_TIEREDTHRESHOLDPOLICY_HPP
+#endif // SHARE_RUNTIME_TIEREDTHRESHOLDPOLICY_HPP
--- a/src/hotspot/share/runtime/timer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/timer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_TIMER_HPP
-#define SHARE_VM_RUNTIME_TIMER_HPP
+#ifndef SHARE_RUNTIME_TIMER_HPP
+#define SHARE_RUNTIME_TIMER_HPP
#include "utilities/globalDefinitions.hpp"
@@ -96,4 +96,4 @@
static jlong millis_to_counter(jlong millis);
};
-#endif // SHARE_VM_RUNTIME_TIMER_HPP
+#endif // SHARE_RUNTIME_TIMER_HPP
--- a/src/hotspot/share/runtime/timerTrace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/timerTrace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_TIMERTRACE_HPP
-#define SHARE_VM_RUNTIME_TIMERTRACE_HPP
+#ifndef SHARE_RUNTIME_TIMERTRACE_HPP
+#define SHARE_RUNTIME_TIMERTRACE_HPP
#include "logging/log.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -77,4 +77,4 @@
};
-#endif // SHARE_VM_RUNTIME_TIMERTRACE_HPP
+#endif // SHARE_RUNTIME_TIMERTRACE_HPP
--- a/src/hotspot/share/runtime/unhandledOops.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/unhandledOops.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_UNHANDLEDOOPS_HPP
-#define SHARE_VM_RUNTIME_UNHANDLEDOOPS_HPP
+#ifndef SHARE_RUNTIME_UNHANDLEDOOPS_HPP
+#define SHARE_RUNTIME_UNHANDLEDOOPS_HPP
#ifdef CHECK_UNHANDLED_OOPS
@@ -86,4 +86,4 @@
#endif // _LP64
#endif // CHECK_UNHANDLED_OOPS
-#endif // SHARE_VM_RUNTIME_UNHANDLEDOOPS_HPP
+#endif // SHARE_RUNTIME_UNHANDLEDOOPS_HPP
--- a/src/hotspot/share/runtime/vframe.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/vframe.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -190,6 +190,14 @@
Klass* k = obj->klass();
st->print_cr("\t- %s <" INTPTR_FORMAT "> (a %s)", "parking to wait for ", p2i(obj), k->external_name());
}
+ else if (thread()->osthread()->get_state() == OBJECT_WAIT) {
+ // We are waiting on an Object monitor but Object.wait() isn't the
+ // top-frame, so we should be waiting on a Class initialization monitor.
+ InstanceKlass* k = thread()->class_to_be_initialized();
+ if (k != NULL) {
+ st->print_cr("\t- waiting on the Class initialization monitor for %s", k->external_name());
+ }
+ }
}
// Print out all monitors that we have locked, or are trying to lock,
--- a/src/hotspot/share/runtime/vframe.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/vframe.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_VFRAME_HPP
-#define SHARE_VM_RUNTIME_VFRAME_HPP
+#ifndef SHARE_RUNTIME_VFRAME_HPP
+#define SHARE_RUNTIME_VFRAME_HPP
#include "code/debugInfo.hpp"
#include "code/debugInfoRec.hpp"
@@ -354,4 +354,4 @@
vframeStream(JavaThread* thread, frame top_frame, bool stop_at_java_call_stub = false);
};
-#endif // SHARE_VM_RUNTIME_VFRAME_HPP
+#endif // SHARE_RUNTIME_VFRAME_HPP
--- a/src/hotspot/share/runtime/vframe.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/vframe.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_VFRAME_INLINE_HPP
-#define SHARE_VM_RUNTIME_VFRAME_INLINE_HPP
+#ifndef SHARE_RUNTIME_VFRAME_INLINE_HPP
+#define SHARE_RUNTIME_VFRAME_INLINE_HPP
#include "runtime/frame.inline.hpp"
#include "runtime/vframe.hpp"
@@ -228,4 +228,4 @@
_bci = bci;
}
-#endif // SHARE_VM_RUNTIME_VFRAME_INLINE_HPP
+#endif // SHARE_RUNTIME_VFRAME_INLINE_HPP
--- a/src/hotspot/share/runtime/vframeArray.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/vframeArray.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_VFRAMEARRAY_HPP
-#define SHARE_VM_RUNTIME_VFRAMEARRAY_HPP
+#ifndef SHARE_RUNTIME_VFRAMEARRAY_HPP
+#define SHARE_RUNTIME_VFRAMEARRAY_HPP
#include "memory/allocation.hpp"
#include "oops/arrayOop.hpp"
@@ -228,4 +228,4 @@
};
-#endif // SHARE_VM_RUNTIME_VFRAMEARRAY_HPP
+#endif // SHARE_RUNTIME_VFRAMEARRAY_HPP
--- a/src/hotspot/share/runtime/vframe_hp.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/vframe_hp.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_VFRAME_HP_HPP
-#define SHARE_VM_RUNTIME_VFRAME_HP_HPP
+#ifndef SHARE_RUNTIME_VFRAME_HP_HPP
+#define SHARE_RUNTIME_VFRAME_HP_HPP
#include "runtime/vframe.hpp"
@@ -162,4 +162,4 @@
};
-#endif // SHARE_VM_RUNTIME_VFRAME_HP_HPP
+#endif // SHARE_RUNTIME_VFRAME_HP_HPP
--- a/src/hotspot/share/runtime/vmOperations.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/vmOperations.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_VMOPERATIONS_HPP
-#define SHARE_VM_RUNTIME_VMOPERATIONS_HPP
+#ifndef SHARE_RUNTIME_VMOPERATIONS_HPP
+#define SHARE_RUNTIME_VMOPERATIONS_HPP
#include "classfile/javaClasses.hpp"
#include "memory/allocation.hpp"
@@ -518,4 +518,4 @@
};
#endif // INCLUDE_SERVICES
-#endif // SHARE_VM_RUNTIME_VMOPERATIONS_HPP
+#endif // SHARE_RUNTIME_VMOPERATIONS_HPP
--- a/src/hotspot/share/runtime/vmStructs.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/vmStructs.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_VMSTRUCTS_HPP
-#define SHARE_VM_RUNTIME_VMSTRUCTS_HPP
+#ifndef SHARE_RUNTIME_VMSTRUCTS_HPP
+#define SHARE_RUNTIME_VMSTRUCTS_HPP
#include "utilities/debug.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -299,4 +299,4 @@
#define GENERATE_VM_ADDRESS_LAST_ENTRY() \
{ NULL, NULL }
-#endif // SHARE_VM_RUNTIME_VMSTRUCTS_HPP
+#endif // SHARE_RUNTIME_VMSTRUCTS_HPP
--- a/src/hotspot/share/runtime/vmThread.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/vmThread.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_VMTHREAD_HPP
-#define SHARE_VM_RUNTIME_VMTHREAD_HPP
+#ifndef SHARE_RUNTIME_VMTHREAD_HPP
+#define SHARE_RUNTIME_VMTHREAD_HPP
#include "runtime/perfData.hpp"
#include "runtime/thread.hpp"
@@ -186,4 +186,4 @@
static VMThread* _vm_thread;
};
-#endif // SHARE_VM_RUNTIME_VMTHREAD_HPP
+#endif // SHARE_RUNTIME_VMTHREAD_HPP
--- a/src/hotspot/share/runtime/vm_version.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/runtime/vm_version.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_RUNTIME_VM_VERSION_HPP
-#define SHARE_VM_RUNTIME_VM_VERSION_HPP
+#ifndef SHARE_RUNTIME_VM_VERSION_HPP
+#define SHARE_RUNTIME_VM_VERSION_HPP
#include "memory/allocation.hpp"
#include "utilities/ostream.hpp"
@@ -153,4 +153,4 @@
#include CPU_HEADER(vm_version)
-#endif // SHARE_VM_RUNTIME_VM_VERSION_HPP
+#endif // SHARE_RUNTIME_VM_VERSION_HPP
--- a/src/hotspot/share/services/allocationSite.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/allocationSite.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_ALLOCATION_SITE_HPP
-#define SHARE_VM_SERVICES_ALLOCATION_SITE_HPP
+#ifndef SHARE_SERVICES_ALLOCATIONSITE_HPP
+#define SHARE_SERVICES_ALLOCATIONSITE_HPP
#include "utilities/nativeCallStack.hpp"
@@ -53,4 +53,4 @@
const E* peek() const { return &e; }
};
-#endif // SHARE_VM_SERVICES_ALLOCATION_SITE_HPP
+#endif // SHARE_SERVICES_ALLOCATIONSITE_HPP
--- a/src/hotspot/share/services/attachListener.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/attachListener.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_ATTACHLISTENER_HPP
-#define SHARE_VM_SERVICES_ATTACHLISTENER_HPP
+#ifndef SHARE_SERVICES_ATTACHLISTENER_HPP
+#define SHARE_SERVICES_ATTACHLISTENER_HPP
#include "memory/allocation.hpp"
#include "utilities/debug.hpp"
@@ -160,4 +160,4 @@
};
#endif // INCLUDE_SERVICES
-#endif // SHARE_VM_SERVICES_ATTACHLISTENER_HPP
+#endif // SHARE_SERVICES_ATTACHLISTENER_HPP
--- a/src/hotspot/share/services/classLoadingService.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/classLoadingService.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_CLASSLOADINGSERVICE_HPP
-#define SHARE_VM_SERVICES_CLASSLOADINGSERVICE_HPP
+#ifndef SHARE_SERVICES_CLASSLOADINGSERVICE_HPP
+#define SHARE_SERVICES_CLASSLOADINGSERVICE_HPP
#include "logging/log.hpp"
#include "runtime/handles.hpp"
@@ -117,4 +117,4 @@
}
};
-#endif // SHARE_VM_SERVICES_CLASSLOADINGSERVICE_HPP
+#endif // SHARE_SERVICES_CLASSLOADINGSERVICE_HPP
--- a/src/hotspot/share/services/diagnosticArgument.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/diagnosticArgument.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_DIAGNOSTICARGUMENT_HPP
-#define SHARE_VM_SERVICES_DIAGNOSTICARGUMENT_HPP
+#ifndef SHARE_SERVICES_DIAGNOSTICARGUMENT_HPP
+#define SHARE_SERVICES_DIAGNOSTICARGUMENT_HPP
#include "classfile/vmSymbols.hpp"
#include "memory/allocation.hpp"
@@ -134,4 +134,4 @@
void value_as_str(char *buf, size_t len) const { to_string(_value, buf, len);}
};
-#endif /* SHARE_VM_SERVICES_DIAGNOSTICARGUMENT_HPP */
+#endif // SHARE_SERVICES_DIAGNOSTICARGUMENT_HPP
--- a/src/hotspot/share/services/diagnosticCommand.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/diagnosticCommand.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_DIAGNOSTICCOMMAND_HPP
-#define SHARE_VM_SERVICES_DIAGNOSTICCOMMAND_HPP
+#ifndef SHARE_SERVICES_DIAGNOSTICCOMMAND_HPP
+#define SHARE_SERVICES_DIAGNOSTICCOMMAND_HPP
#include "classfile/stringTable.hpp"
#include "classfile/symbolTable.hpp"
@@ -888,4 +888,4 @@
};
#endif // INCLUDE_JVMTI
-#endif // SHARE_VM_SERVICES_DIAGNOSTICCOMMAND_HPP
+#endif // SHARE_SERVICES_DIAGNOSTICCOMMAND_HPP
--- a/src/hotspot/share/services/diagnosticFramework.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/diagnosticFramework.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_DIAGNOSTICFRAMEWORK_HPP
-#define SHARE_VM_SERVICES_DIAGNOSTICFRAMEWORK_HPP
+#ifndef SHARE_SERVICES_DIAGNOSTICFRAMEWORK_HPP
+#define SHARE_SERVICES_DIAGNOSTICFRAMEWORK_HPP
#include "classfile/vmSymbols.hpp"
#include "memory/allocation.hpp"
@@ -439,4 +439,4 @@
friend class Management;
};
-#endif // SHARE_VM_SERVICES_DIAGNOSTICFRAMEWORK_HPP
+#endif // SHARE_SERVICES_DIAGNOSTICFRAMEWORK_HPP
--- a/src/hotspot/share/services/dtraceAttacher.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/dtraceAttacher.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_DTRACEATTACHER_HPP
-#define SHARE_VM_SERVICES_DTRACEATTACHER_HPP
+#ifndef SHARE_SERVICES_DTRACEATTACHER_HPP
+#define SHARE_SERVICES_DTRACEATTACHER_HPP
#define DTRACE_ALLOC_PROBES 0x1
#define DTRACE_METHOD_PROBES 0x2
@@ -48,4 +48,4 @@
static void set_monitor_dprobes(bool value);
};
-#endif // SHARE_VM_SERVICES_DTRACEATTACHER_HPP
+#endif // SHARE_SERVICES_DTRACEATTACHER_HPP
--- a/src/hotspot/share/services/gcNotifier.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/gcNotifier.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_GCNOTIFIER_HPP
-#define SHARE_VM_SERVICES_GCNOTIFIER_HPP
+#ifndef SHARE_SERVICES_GCNOTIFIER_HPP
+#define SHARE_SERVICES_GCNOTIFIER_HPP
#include "memory/allocation.hpp"
#include "services/memoryPool.hpp"
@@ -67,4 +67,4 @@
static void sendNotification(TRAPS);
};
-#endif // SHARE_VM_SERVICES_GCNOTIFIER_HPP
+#endif // SHARE_SERVICES_GCNOTIFIER_HPP
--- a/src/hotspot/share/services/heapDumper.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/heapDumper.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_HEAPDUMPER_HPP
-#define SHARE_VM_SERVICES_HEAPDUMPER_HPP
+#ifndef SHARE_SERVICES_HEAPDUMPER_HPP
+#define SHARE_SERVICES_HEAPDUMPER_HPP
#include "memory/allocation.hpp"
#include "oops/oop.hpp"
@@ -81,4 +81,4 @@
static void dump_heap_from_oome() NOT_SERVICES_RETURN;
};
-#endif // SHARE_VM_SERVICES_HEAPDUMPER_HPP
+#endif // SHARE_SERVICES_HEAPDUMPER_HPP
--- a/src/hotspot/share/services/lowMemoryDetector.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/lowMemoryDetector.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_LOWMEMORYDETECTOR_HPP
-#define SHARE_VM_SERVICES_LOWMEMORYDETECTOR_HPP
+#ifndef SHARE_SERVICES_LOWMEMORYDETECTOR_HPP
+#define SHARE_SERVICES_LOWMEMORYDETECTOR_HPP
#include "memory/allocation.hpp"
#include "services/memoryPool.hpp"
@@ -290,4 +290,4 @@
}
};
-#endif // SHARE_VM_SERVICES_LOWMEMORYDETECTOR_HPP
+#endif // SHARE_SERVICES_LOWMEMORYDETECTOR_HPP
--- a/src/hotspot/share/services/mallocSiteTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/mallocSiteTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MALLOC_SITE_TABLE_HPP
-#define SHARE_VM_SERVICES_MALLOC_SITE_TABLE_HPP
+#ifndef SHARE_SERVICES_MALLOCSITETABLE_HPP
+#define SHARE_SERVICES_MALLOCSITETABLE_HPP
#if INCLUDE_NMT
@@ -271,4 +271,4 @@
};
#endif // INCLUDE_NMT
-#endif // SHARE_VM_SERVICES_MALLOC_SITE_TABLE_HPP
+#endif // SHARE_SERVICES_MALLOCSITETABLE_HPP
--- a/src/hotspot/share/services/mallocTracker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/mallocTracker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MALLOC_TRACKER_HPP
-#define SHARE_VM_SERVICES_MALLOC_TRACKER_HPP
+#ifndef SHARE_SERVICES_MALLOCTRACKER_HPP
+#define SHARE_SERVICES_MALLOCTRACKER_HPP
#if INCLUDE_NMT
@@ -375,4 +375,4 @@
#endif // INCLUDE_NMT
-#endif //SHARE_VM_SERVICES_MALLOC_TRACKER_HPP
+#endif // SHARE_SERVICES_MALLOCTRACKER_HPP
--- a/src/hotspot/share/services/mallocTracker.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/mallocTracker.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MALLOC_TRACKER_INLINE_HPP
-#define SHARE_VM_SERVICES_MALLOC_TRACKER_INLINE_HPP
+#ifndef SHARE_SERVICES_MALLOCTRACKER_INLINE_HPP
+#define SHARE_SERVICES_MALLOCTRACKER_INLINE_HPP
#include "services/mallocTracker.hpp"
#include "services/memTracker.hpp"
@@ -32,5 +32,4 @@
return get_base(memblock, MemTracker::tracking_level());
}
-#endif // SHARE_VM_SERVICES_MALLOC_TRACKER_INLINE_HPP
-
+#endif // SHARE_SERVICES_MALLOCTRACKER_INLINE_HPP
--- a/src/hotspot/share/services/management.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/management.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MANAGEMENT_HPP
-#define SHARE_VM_SERVICES_MANAGEMENT_HPP
+#ifndef SHARE_SERVICES_MANAGEMENT_HPP
+#define SHARE_SERVICES_MANAGEMENT_HPP
#include "jmm.h"
#include "memory/allocation.hpp"
@@ -134,4 +134,4 @@
};
-#endif // SHARE_VM_SERVICES_MANAGEMENT_HPP
+#endif // SHARE_SERVICES_MANAGEMENT_HPP
--- a/src/hotspot/share/services/memBaseline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/memBaseline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MEM_BASELINE_HPP
-#define SHARE_VM_SERVICES_MEM_BASELINE_HPP
+#ifndef SHARE_SERVICES_MEMBASELINE_HPP
+#define SHARE_SERVICES_MEMBASELINE_HPP
#if INCLUDE_NMT
@@ -216,4 +216,4 @@
#endif // INCLUDE_NMT
-#endif // SHARE_VM_SERVICES_MEM_BASELINE_HPP
+#endif // SHARE_SERVICES_MEMBASELINE_HPP
--- a/src/hotspot/share/services/memReporter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/memReporter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MEM_REPORTER_HPP
-#define SHARE_VM_SERVICES_MEM_REPORTER_HPP
+#ifndef SHARE_SERVICES_MEMREPORTER_HPP
+#define SHARE_SERVICES_MEMREPORTER_HPP
#if INCLUDE_NMT
@@ -235,5 +235,4 @@
#endif // INCLUDE_NMT
-#endif
-
+#endif // SHARE_SERVICES_MEMREPORTER_HPP
--- a/src/hotspot/share/services/memTracker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/memTracker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MEM_TRACKER_HPP
-#define SHARE_VM_SERVICES_MEM_TRACKER_HPP
+#ifndef SHARE_SERVICES_MEMTRACKER_HPP
+#define SHARE_SERVICES_MEMTRACKER_HPP
#include "services/nmtCommon.hpp"
#include "utilities/nativeCallStack.hpp"
@@ -321,4 +321,4 @@
#endif // INCLUDE_NMT
-#endif // SHARE_VM_SERVICES_MEM_TRACKER_HPP
+#endif // SHARE_SERVICES_MEMTRACKER_HPP
--- a/src/hotspot/share/services/memoryManager.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/memoryManager.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MEMORYMANAGER_HPP
-#define SHARE_VM_SERVICES_MEMORYMANAGER_HPP
+#ifndef SHARE_SERVICES_MEMORYMANAGER_HPP
+#define SHARE_SERVICES_MEMORYMANAGER_HPP
#include "gc/shared/gcCause.hpp"
#include "memory/allocation.hpp"
@@ -182,4 +182,4 @@
bool is_notification_enabled() { return _notification_enabled; }
};
-#endif // SHARE_VM_SERVICES_MEMORYMANAGER_HPP
+#endif // SHARE_SERVICES_MEMORYMANAGER_HPP
--- a/src/hotspot/share/services/memoryPool.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/memoryPool.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MEMORYPOOL_HPP
-#define SHARE_VM_SERVICES_MEMORYPOOL_HPP
+#ifndef SHARE_SERVICES_MEMORYPOOL_HPP
+#define SHARE_SERVICES_MEMORYPOOL_HPP
#include "memory/heap.hpp"
#include "oops/oop.hpp"
@@ -172,4 +172,4 @@
size_t used_in_bytes();
};
-#endif // SHARE_VM_SERVICES_MEMORYPOOL_HPP
+#endif // SHARE_SERVICES_MEMORYPOOL_HPP
--- a/src/hotspot/share/services/memoryService.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/memoryService.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MEMORYSERVICE_HPP
-#define SHARE_VM_SERVICES_MEMORYSERVICE_HPP
+#ifndef SHARE_SERVICES_MEMORYSERVICE_HPP
+#define SHARE_SERVICES_MEMORYSERVICE_HPP
#include "gc/shared/gcCause.hpp"
#include "logging/log.hpp"
@@ -153,4 +153,4 @@
~TraceMemoryManagerStats();
};
-#endif // SHARE_VM_SERVICES_MEMORYSERVICE_HPP
+#endif // SHARE_SERVICES_MEMORYSERVICE_HPP
--- a/src/hotspot/share/services/memoryUsage.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/memoryUsage.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_MEMORYUSAGE_HPP
-#define SHARE_VM_SERVICES_MEMORYUSAGE_HPP
+#ifndef SHARE_SERVICES_MEMORYUSAGE_HPP
+#define SHARE_SERVICES_MEMORYUSAGE_HPP
#include "utilities/globalDefinitions.hpp"
@@ -83,4 +83,4 @@
jlong max_size_as_jlong() const { return convert_to_jlong(_maxSize); }
};
-#endif // SHARE_VM_SERVICES_MEMORYUSAGE_HPP
+#endif // SHARE_SERVICES_MEMORYUSAGE_HPP
--- a/src/hotspot/share/services/nmtCommon.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/nmtCommon.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_NMT_COMMON_HPP
-#define SHARE_VM_SERVICES_NMT_COMMON_HPP
+#ifndef SHARE_SERVICES_NMTCOMMON_HPP
+#define SHARE_SERVICES_NMTCOMMON_HPP
#include "memory/allocation.hpp"
#include "utilities/align.hpp"
@@ -78,4 +78,4 @@
};
-#endif
+#endif // SHARE_SERVICES_NMTCOMMON_HPP
--- a/src/hotspot/share/services/nmtDCmd.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/nmtDCmd.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_NMT_DCMD_HPP
-#define SHARE_VM_SERVICES_NMT_DCMD_HPP
+#ifndef SHARE_SERVICES_NMTDCMD_HPP
+#define SHARE_SERVICES_NMTDCMD_HPP
#if INCLUDE_NMT
@@ -75,4 +75,4 @@
#endif // INCLUDE_NMT
-#endif // SHARE_VM_SERVICES_NMT_DCMD_HPP
+#endif // SHARE_SERVICES_NMTDCMD_HPP
--- a/src/hotspot/share/services/runtimeService.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/runtimeService.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_RUNTIMESERVICE_HPP
-#define SHARE_VM_SERVICES_RUNTIMESERVICE_HPP
+#ifndef SHARE_SERVICES_RUNTIMESERVICE_HPP
+#define SHARE_SERVICES_RUNTIMESERVICE_HPP
#include "runtime/perfData.hpp"
#include "runtime/timer.hpp"
@@ -58,4 +58,4 @@
};
-#endif // SHARE_VM_SERVICES_RUNTIMESERVICE_HPP
+#endif // SHARE_SERVICES_RUNTIMESERVICE_HPP
--- a/src/hotspot/share/services/threadService.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/threadService.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_THREADSERVICE_HPP
-#define SHARE_VM_SERVICES_THREADSERVICE_HPP
+#ifndef SHARE_SERVICES_THREADSERVICE_HPP
+#define SHARE_SERVICES_THREADSERVICE_HPP
#include "classfile/javaClasses.hpp"
#include "runtime/handles.hpp"
@@ -610,4 +610,4 @@
}
};
-#endif // SHARE_VM_SERVICES_THREADSERVICE_HPP
+#endif // SHARE_SERVICES_THREADSERVICE_HPP
--- a/src/hotspot/share/services/virtualMemoryTracker.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/virtualMemoryTracker.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_VIRTUAL_MEMORY_TRACKER_HPP
-#define SHARE_VM_SERVICES_VIRTUAL_MEMORY_TRACKER_HPP
+#ifndef SHARE_SERVICES_VIRTUALMEMORYTRACKER_HPP
+#define SHARE_SERVICES_VIRTUALMEMORYTRACKER_HPP
#if INCLUDE_NMT
@@ -445,4 +445,4 @@
#endif // INCLUDE_NMT
-#endif // SHARE_VM_SERVICES_VIRTUAL_MEMORY_TRACKER_HPP
+#endif // SHARE_SERVICES_VIRTUALMEMORYTRACKER_HPP
--- a/src/hotspot/share/services/writeableFlags.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/services/writeableFlags.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_SERVICES_WRITEABLEFLAG_HPP
-#define SHARE_VM_SERVICES_WRITEABLEFLAG_HPP
+#ifndef SHARE_SERVICES_WRITEABLEFLAGS_HPP
+#define SHARE_SERVICES_WRITEABLEFLAGS_HPP
#include "runtime/flags/jvmFlag.hpp"
#include "runtime/globals.hpp"
@@ -89,4 +89,4 @@
static JVMFlag::Error set_flag(const char* flag_name, jvalue flag_value, JVMFlag::Flags origin, FormatBuffer<80>& err_msg);
};
-#endif /* SHARE_VM_SERVICES_WRITEABLEFLAG_HPP */
+#endif // SHARE_SERVICES_WRITEABLEFLAGS_HPP
--- a/src/hotspot/share/utilities/accessFlags.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/accessFlags.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_ACCESSFLAGS_HPP
-#define SHARE_VM_UTILITIES_ACCESSFLAGS_HPP
+#ifndef SHARE_UTILITIES_ACCESSFLAGS_HPP
+#define SHARE_UTILITIES_ACCESSFLAGS_HPP
#include "jvm.h"
#include "utilities/debug.hpp"
@@ -282,4 +282,4 @@
return af;
}
-#endif // SHARE_VM_UTILITIES_ACCESSFLAGS_HPP
+#endif // SHARE_UTILITIES_ACCESSFLAGS_HPP
--- a/src/hotspot/share/utilities/align.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/align.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_ALIGN_HPP
-#define SHARE_VM_UTILITIES_ALIGN_HPP
+#ifndef SHARE_UTILITIES_ALIGN_HPP
+#define SHARE_UTILITIES_ALIGN_HPP
#include "utilities/globalDefinitions.hpp"
@@ -149,4 +149,4 @@
}
}
-#endif // SHARE_VM_UTILITIES_ALIGN_HPP
+#endif // SHARE_UTILITIES_ALIGN_HPP
--- a/src/hotspot/share/utilities/bitMap.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/bitMap.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_BITMAP_HPP
-#define SHARE_VM_UTILITIES_BITMAP_HPP
+#ifndef SHARE_UTILITIES_BITMAP_HPP
+#define SHARE_UTILITIES_BITMAP_HPP
#include "memory/allocation.hpp"
#include "utilities/align.hpp"
@@ -452,4 +452,4 @@
virtual bool do_bit(BitMap::idx_t offset) = 0;
};
-#endif // SHARE_VM_UTILITIES_BITMAP_HPP
+#endif // SHARE_UTILITIES_BITMAP_HPP
--- a/src/hotspot/share/utilities/bitMap.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/bitMap.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_BITMAP_INLINE_HPP
-#define SHARE_VM_UTILITIES_BITMAP_INLINE_HPP
+#ifndef SHARE_UTILITIES_BITMAP_INLINE_HPP
+#define SHARE_UTILITIES_BITMAP_INLINE_HPP
#include "runtime/atomic.hpp"
#include "utilities/bitMap.hpp"
@@ -287,4 +287,4 @@
_map.at_put(bit, value);
}
-#endif // SHARE_VM_UTILITIES_BITMAP_INLINE_HPP
+#endif // SHARE_UTILITIES_BITMAP_INLINE_HPP
--- a/src/hotspot/share/utilities/breakpoint.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/breakpoint.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_BREAKPOINT_HPP
-#define SHARE_VM_UTILITIES_BREAKPOINT_HPP
+#ifndef SHARE_UTILITIES_BREAKPOINT_HPP
+#define SHARE_UTILITIES_BREAKPOINT_HPP
// Provide BREAKPOINT macro for requesting stop in the debugger.
@@ -43,4 +43,4 @@
#define BREAKPOINT ::breakpoint()
#endif
-#endif // SHARE_VM_UTILITIES_BREAKPOINT_HPP
+#endif // SHARE_UTILITIES_BREAKPOINT_HPP
--- a/src/hotspot/share/utilities/bytes.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/bytes.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_BYTES_HPP
-#define SHARE_VM_UTILITIES_BYTES_HPP
+#ifndef SHARE_UTILITIES_BYTES_HPP
+#define SHARE_UTILITIES_BYTES_HPP
#include "utilities/macros.hpp"
@@ -50,4 +50,4 @@
#include CPU_HEADER(bytes)
-#endif // SHARE_VM_UTILITIES_BYTES_HPP
+#endif // SHARE_UTILITIES_BYTES_HPP
--- a/src/hotspot/share/utilities/chunkedList.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/chunkedList.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_CHUNKED_LIST_HPP
-#define SHARE_VM_UTILITIES_CHUNKED_LIST_HPP
+#ifndef SHARE_UTILITIES_CHUNKEDLIST_HPP
+#define SHARE_UTILITIES_CHUNKEDLIST_HPP
#include "memory/allocation.hpp"
#include "utilities/debug.hpp"
@@ -78,4 +78,4 @@
}
};
-#endif // SHARE_VM_UTILITIES_CHUNKED_LIST_HPP
+#endif // SHARE_UTILITIES_CHUNKEDLIST_HPP
--- a/src/hotspot/share/utilities/compilerWarnings.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/compilerWarnings.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_COMPILERWARNINGS_HPP
-#define SHARE_VM_UTILITIES_COMPILERWARNINGS_HPP
+#ifndef SHARE_UTILITIES_COMPILERWARNINGS_HPP
+#define SHARE_UTILITIES_COMPILERWARNINGS_HPP
// Macros related to control of compiler warnings.
@@ -84,4 +84,4 @@
#define PRAGMA_DIAG_POP
#endif
-#endif // SHARE_VM_UTILITIES_COMPILERWARNINGS_HPP
+#endif // SHARE_UTILITIES_COMPILERWARNINGS_HPP
--- a/src/hotspot/share/utilities/concurrentHashTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/concurrentHashTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_UTILITIES_CONCURRENT_HASH_TABLE_HPP
-#define SHARE_UTILITIES_CONCURRENT_HASH_TABLE_HPP
+#ifndef SHARE_UTILITIES_CONCURRENTHASHTABLE_HPP
+#define SHARE_UTILITIES_CONCURRENTHASHTABLE_HPP
#include "memory/allocation.hpp"
#include "utilities/globalCounter.hpp"
@@ -73,7 +73,7 @@
void print_value_on(outputStream* st) const {};
};
- // Only constructed with placement new[] from an array allocated with MEMFLAGS
+ // Only constructed with placement new from an array allocated with MEMFLAGS
// of InternalTable.
class Bucket {
private:
@@ -505,4 +505,4 @@
class GrowTask;
};
-#endif // include guard
+#endif // SHARE_UTILITIES_CONCURRENTHASHTABLE_HPP
--- a/src/hotspot/share/utilities/concurrentHashTable.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/concurrentHashTable.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_UTILITIES_CONCURRENT_HASH_TABLE_INLINE_HPP
-#define SHARE_UTILITIES_CONCURRENT_HASH_TABLE_INLINE_HPP
+#ifndef SHARE_UTILITIES_CONCURRENTHASHTABLE_INLINE_HPP
+#define SHARE_UTILITIES_CONCURRENTHASHTABLE_INLINE_HPP
#include "memory/allocation.inline.hpp"
#include "runtime/atomic.hpp"
@@ -193,8 +193,12 @@
{
assert(_log2_size >= SIZE_SMALL_LOG2 && _log2_size <= SIZE_BIG_LOG2,
"Bad size");
- void* memory = NEW_C_HEAP_ARRAY(Bucket, _size, F);
- _buckets = new (memory) Bucket[_size];
+ _buckets = NEW_C_HEAP_ARRAY(Bucket, _size, F);
+ // Use placement new for each element instead of new[] which could use more
+ // memory than allocated.
+ for (size_t i = 0; i < _size; ++i) {
+ new (_buckets + i) Bucket();
+ }
}
template <typename VALUE, typename CONFIG, MEMFLAGS F>
@@ -1279,4 +1283,4 @@
return true;
}
-#endif // include guard
+#endif // SHARE_UTILITIES_CONCURRENTHASHTABLE_INLINE_HPP
--- a/src/hotspot/share/utilities/concurrentHashTableTasks.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/concurrentHashTableTasks.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_UTILITIES_CONCURRENT_HASH_TABLE_TASKS_INLINE_HPP
-#define SHARE_UTILITIES_CONCURRENT_HASH_TABLE_TASKS_INLINE_HPP
+#ifndef SHARE_UTILITIES_CONCURRENTHASHTABLETASKS_INLINE_HPP
+#define SHARE_UTILITIES_CONCURRENTHASHTABLETASKS_INLINE_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/concurrentHashTable.inline.hpp"
@@ -199,4 +199,4 @@
}
};
-#endif // include guard
+#endif // SHARE_UTILITIES_CONCURRENTHASHTABLETASKS_INLINE_HPP
--- a/src/hotspot/share/utilities/constantTag.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/constantTag.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_CONSTANTTAG_HPP
-#define SHARE_VM_UTILITIES_CONSTANTTAG_HPP
+#ifndef SHARE_UTILITIES_CONSTANTTAG_HPP
+#define SHARE_UTILITIES_CONSTANTTAG_HPP
#include "jvm.h"
#include "utilities/globalDefinitions.hpp"
@@ -141,4 +141,4 @@
void print_on(outputStream* st) const PRODUCT_RETURN;
};
-#endif // SHARE_VM_UTILITIES_CONSTANTTAG_HPP
+#endif // SHARE_UTILITIES_CONSTANTTAG_HPP
--- a/src/hotspot/share/utilities/copy.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/copy.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_COPY_HPP
-#define SHARE_VM_UTILITIES_COPY_HPP
+#ifndef SHARE_UTILITIES_COPY_HPP
+#define SHARE_UTILITIES_COPY_HPP
#include "runtime/stubRoutines.hpp"
#include "utilities/align.hpp"
@@ -346,4 +346,4 @@
};
-#endif // SHARE_VM_UTILITIES_COPY_HPP
+#endif // SHARE_UTILITIES_COPY_HPP
--- a/src/hotspot/share/utilities/count_trailing_zeros.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/count_trailing_zeros.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_COUNTTRAILINGZEROS_HPP
-#define SHARE_VM_UTILITIES_COUNTTRAILINGZEROS_HPP
+#ifndef SHARE_UTILITIES_COUNT_TRAILING_ZEROS_HPP
+#define SHARE_UTILITIES_COUNT_TRAILING_ZEROS_HPP
#include "utilities/debug.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -105,4 +105,4 @@
#endif // Toolchain dispatch
-#endif // include guard
+#endif // SHARE_UTILITIES_COUNT_TRAILING_ZEROS_HPP
--- a/src/hotspot/share/utilities/debug.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/debug.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_DEBUG_HPP
-#define SHARE_VM_UTILITIES_DEBUG_HPP
+#ifndef SHARE_UTILITIES_DEBUG_HPP
+#define SHARE_UTILITIES_DEBUG_HPP
#include "utilities/breakpoint.hpp"
#include "utilities/compilerWarnings.hpp"
@@ -205,4 +205,4 @@
// out of memory reporting
void report_java_out_of_memory(const char* message);
-#endif // SHARE_VM_UTILITIES_DEBUG_HPP
+#endif // SHARE_UTILITIES_DEBUG_HPP
--- a/src/hotspot/share/utilities/decoder.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/decoder.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -23,8 +23,8 @@
*/
-#ifndef SHARE_VM_UTILITIES_DECODER_HPP
-#define SHARE_VM_UTILITIES_DECODER_HPP
+#ifndef SHARE_UTILITIES_DECODER_HPP
+#define SHARE_UTILITIES_DECODER_HPP
#include "memory/allocation.hpp"
#include "runtime/mutex.hpp"
@@ -146,4 +146,4 @@
}
};
-#endif // SHARE_VM_UTILITIES_DECODER_HPP
+#endif // SHARE_UTILITIES_DECODER_HPP
--- a/src/hotspot/share/utilities/decoder_elf.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/decoder_elf.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_DECODER_ELF_HPP
-#define SHARE_VM_UTILITIES_DECODER_ELF_HPP
+#ifndef SHARE_UTILITIES_DECODER_ELF_HPP
+#define SHARE_UTILITIES_DECODER_ELF_HPP
#if !defined(_WINDOWS) && !defined(__APPLE__)
@@ -54,4 +54,4 @@
};
#endif // !_WINDOWS && !__APPLE__
-#endif // SHARE_VM_UTILITIES_DECODER_ELF_HPP
+#endif // SHARE_UTILITIES_DECODER_ELF_HPP
--- a/src/hotspot/share/utilities/defaultStream.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/defaultStream.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_DEFAULTSTREAM_HPP
-#define SHARE_VM_UTILITIES_DEFAULTSTREAM_HPP
+#ifndef SHARE_UTILITIES_DEFAULTSTREAM_HPP
+#define SHARE_UTILITIES_DEFAULTSTREAM_HPP
#include "utilities/xmlstream.hpp"
@@ -96,4 +96,4 @@
static defaultStream* instance; // sole instance
};
-#endif // SHARE_VM_UTILITIES_DEFAULTSTREAM_HPP
+#endif // SHARE_UTILITIES_DEFAULTSTREAM_HPP
--- a/src/hotspot/share/utilities/dtrace.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/dtrace.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2009, 2012 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_DTRACE_HPP
-#define SHARE_VM_UTILITIES_DTRACE_HPP
+#ifndef SHARE_UTILITIES_DTRACE_HPP
+#define SHARE_UTILITIES_DTRACE_HPP
#if defined(DTRACE_ENABLED)
@@ -61,4 +61,4 @@
#endif /* defined(DTRACE_ENABLED) */
-#endif // SHARE_VM_UTILITIES_DTRACE_HPP
+#endif // SHARE_UTILITIES_DTRACE_HPP
--- a/src/hotspot/share/utilities/dtrace_disabled.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/dtrace_disabled.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_DTRACE_USDT2_DISABLED_HPP
-#define SHARE_VM_UTILITIES_DTRACE_USDT2_DISABLED_HPP
+#ifndef SHARE_UTILITIES_DTRACE_DISABLED_HPP
+#define SHARE_UTILITIES_DTRACE_DISABLED_HPP
/* This file contains dummy provider probes needed when compiling a hotspot
* that does not support dtrace probes. This could be because we're building
@@ -1094,4 +1094,4 @@
#error This file should only be included when dtrace is not enabled
#endif /* !defined(DTRACE_ENABLED) */
-#endif // SHARE_VM_UTILITIES_DTRACE_USDT2_DISABLED_HPP
+#endif // SHARE_UTILITIES_DTRACE_DISABLED_HPP
--- a/src/hotspot/share/utilities/elfFile.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/elfFile.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_ELF_FILE_HPP
-#define SHARE_VM_UTILITIES_ELF_FILE_HPP
+#ifndef SHARE_UTILITIES_ELFFILE_HPP
+#define SHARE_UTILITIES_ELFFILE_HPP
#if !defined(_WINDOWS) && !defined(__APPLE__) && !defined(_AIX)
@@ -214,4 +214,4 @@
#endif // !_WINDOWS && !__APPLE__
-#endif // SHARE_VM_UTILITIES_ELF_FILE_HPP
+#endif // SHARE_UTILITIES_ELFFILE_HPP
--- a/src/hotspot/share/utilities/elfFuncDescTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/elfFuncDescTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,8 +23,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_ELF_FUNC_DESC_TABLE_HPP
-#define SHARE_VM_UTILITIES_ELF_FUNC_DESC_TABLE_HPP
+#ifndef SHARE_UTILITIES_ELFFUNCDESCTABLE_HPP
+#define SHARE_UTILITIES_ELFFUNCDESCTABLE_HPP
#if !defined(_WINDOWS) && !defined(__APPLE__)
@@ -145,4 +145,4 @@
#endif // !_WINDOWS && !__APPLE__
-#endif // SHARE_VM_UTILITIES_ELF_FUNC_DESC_TABLE_HPP
+#endif // SHARE_UTILITIES_ELFFUNCDESCTABLE_HPP
--- a/src/hotspot/share/utilities/elfStringTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/elfStringTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_ELF_STRING_TABLE_HPP
-#define SHARE_VM_UTILITIES_ELF_STRING_TABLE_HPP
+#ifndef SHARE_UTILITIES_ELFSTRINGTABLE_HPP
+#define SHARE_UTILITIES_ELFSTRINGTABLE_HPP
#if !defined(_WINDOWS) && !defined(__APPLE__)
@@ -71,4 +71,4 @@
#endif // !_WINDOWS && !__APPLE__
-#endif // SHARE_VM_UTILITIES_ELF_STRING_TABLE_HPP
+#endif // SHARE_UTILITIES_ELFSTRINGTABLE_HPP
--- a/src/hotspot/share/utilities/elfSymbolTable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/elfSymbolTable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_ELF_SYMBOL_TABLE_HPP
-#define SHARE_VM_UTILITIES_ELF_SYMBOL_TABLE_HPP
+#ifndef SHARE_UTILITIES_ELFSYMBOLTABLE_HPP
+#define SHARE_UTILITIES_ELFSYMBOLTABLE_HPP
#if !defined(_WINDOWS) && !defined(__APPLE__)
@@ -67,4 +67,4 @@
#endif // !_WINDOWS and !__APPLE__
-#endif // SHARE_VM_UTILITIES_ELF_SYMBOL_TABLE_HPP
+#endif // SHARE_UTILITIES_ELFSYMBOLTABLE_HPP
--- a/src/hotspot/share/utilities/events.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/events.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_EVENTS_HPP
-#define SHARE_VM_UTILITIES_EVENTS_HPP
+#ifndef SHARE_UTILITIES_EVENTS_HPP
+#define SHARE_UTILITIES_EVENTS_HPP
#include "memory/allocation.hpp"
#include "runtime/mutexLocker.hpp"
@@ -301,4 +301,4 @@
~EventMark();
};
-#endif // SHARE_VM_UTILITIES_EVENTS_HPP
+#endif // SHARE_UTILITIES_EVENTS_HPP
--- a/src/hotspot/share/utilities/exceptions.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/exceptions.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_EXCEPTIONS_HPP
-#define SHARE_VM_UTILITIES_EXCEPTIONS_HPP
+#ifndef SHARE_UTILITIES_EXCEPTIONS_HPP
+#define SHARE_UTILITIES_EXCEPTIONS_HPP
#include "memory/allocation.hpp"
#include "oops/oopsHierarchy.hpp"
@@ -333,4 +333,4 @@
#define EXCEPTION_MARK Thread* THREAD = NULL; ExceptionMark __em(THREAD);
-#endif // SHARE_VM_UTILITIES_EXCEPTIONS_HPP
+#endif // SHARE_UTILITIES_EXCEPTIONS_HPP
--- a/src/hotspot/share/utilities/fakeRttiSupport.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/fakeRttiSupport.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_FAKERTTISUPPORT_HPP
-#define SHARE_VM_UTILITIES_FAKERTTISUPPORT_HPP
+#ifndef SHARE_UTILITIES_FAKERTTISUPPORT_HPP
+#define SHARE_UTILITIES_FAKERTTISUPPORT_HPP
#include "utilities/globalDefinitions.hpp"
#include "utilities/debug.hpp"
@@ -98,4 +98,4 @@
}
};
-#endif // include guard
+#endif // SHARE_UTILITIES_FAKERTTISUPPORT_HPP
--- a/src/hotspot/share/utilities/formatBuffer.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/formatBuffer.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_FORMATBUFFER_HPP
-#define SHARE_VM_UTILITIES_FORMATBUFFER_HPP
+#ifndef SHARE_UTILITIES_FORMATBUFFER_HPP
+#define SHARE_UTILITIES_FORMATBUFFER_HPP
#include "jvm.h"
#include "utilities/globalDefinitions.hpp"
@@ -116,4 +116,4 @@
// Used to format messages.
typedef FormatBuffer<> err_msg;
-#endif // SHARE_VM_UTILITIES_FORMATBUFFER_HPP
+#endif // SHARE_UTILITIES_FORMATBUFFER_HPP
--- a/src/hotspot/share/utilities/globalCounter.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/globalCounter.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_UTILITIES_GLOBAL_COUNTER_HPP
-#define SHARE_UTILITIES_GLOBAL_COUNTER_HPP
+#ifndef SHARE_UTILITIES_GLOBALCOUNTER_HPP
+#define SHARE_UTILITIES_GLOBALCOUNTER_HPP
#include "memory/allocation.hpp"
#include "memory/padded.hpp"
@@ -86,4 +86,4 @@
class CriticalSection;
};
-#endif // include guard
+#endif // SHARE_UTILITIES_GLOBALCOUNTER_HPP
--- a/src/hotspot/share/utilities/globalCounter.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/globalCounter.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_UTILITIES_GLOBAL_COUNTER_INLINE_HPP
-#define SHARE_UTILITIES_GLOBAL_COUNTER_INLINE_HPP
+#ifndef SHARE_UTILITIES_GLOBALCOUNTER_INLINE_HPP
+#define SHARE_UTILITIES_GLOBALCOUNTER_INLINE_HPP
#include "runtime/atomic.hpp"
#include "runtime/orderAccess.hpp"
@@ -68,4 +68,4 @@
}
};
-#endif // include guard
+#endif // SHARE_UTILITIES_GLOBALCOUNTER_INLINE_HPP
--- a/src/hotspot/share/utilities/globalDefinitions.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/globalDefinitions.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_GLOBALDEFINITIONS_HPP
-#define SHARE_VM_UTILITIES_GLOBALDEFINITIONS_HPP
+#ifndef SHARE_UTILITIES_GLOBALDEFINITIONS_HPP
+#define SHARE_UTILITIES_GLOBALDEFINITIONS_HPP
#include "utilities/compilerWarnings.hpp"
#include "utilities/debug.hpp"
@@ -230,15 +230,20 @@
const jlong NANOSECS_PER_SEC = CONST64(1000000000);
const jint NANOSECS_PER_MILLISEC = 1000000;
+// Proper units routines try to maintain at least three significant digits.
+// In worst case, it would print five significant digits with lower prefix.
+// G is close to MAX_SIZE on 32-bit platforms, so its product can easily overflow,
+// and therefore we need to be careful.
+
inline const char* proper_unit_for_byte_size(size_t s) {
#ifdef _LP64
- if (s >= 10*G) {
+ if (s >= 100*G) {
return "G";
}
#endif
- if (s >= 10*M) {
+ if (s >= 100*M) {
return "M";
- } else if (s >= 10*K) {
+ } else if (s >= 100*K) {
return "K";
} else {
return "B";
@@ -248,13 +253,13 @@
template <class T>
inline T byte_size_in_proper_unit(T s) {
#ifdef _LP64
- if (s >= 10*G) {
+ if (s >= 100*G) {
return (T)(s/G);
}
#endif
- if (s >= 10*M) {
+ if (s >= 100*M) {
return (T)(s/M);
- } else if (s >= 10*K) {
+ } else if (s >= 100*K) {
return (T)(s/K);
} else {
return s;
@@ -1096,4 +1101,4 @@
}
-#endif // SHARE_VM_UTILITIES_GLOBALDEFINITIONS_HPP
+#endif // SHARE_UTILITIES_GLOBALDEFINITIONS_HPP
--- a/src/hotspot/share/utilities/globalDefinitions_gcc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/globalDefinitions_gcc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_GLOBALDEFINITIONS_GCC_HPP
-#define SHARE_VM_UTILITIES_GLOBALDEFINITIONS_GCC_HPP
+#ifndef SHARE_UTILITIES_GLOBALDEFINITIONS_GCC_HPP
+#define SHARE_UTILITIES_GLOBALDEFINITIONS_GCC_HPP
#include "jni.h"
@@ -271,4 +271,4 @@
//
#define ATTRIBUTE_ALIGNED(x) __attribute__((aligned(x+0)))
-#endif // SHARE_VM_UTILITIES_GLOBALDEFINITIONS_GCC_HPP
+#endif // SHARE_UTILITIES_GLOBALDEFINITIONS_GCC_HPP
--- a/src/hotspot/share/utilities/globalDefinitions_solstudio.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/globalDefinitions_solstudio.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_GLOBALDEFINITIONS_SOLSTUDIO_HPP
-#define SHARE_VM_UTILITIES_GLOBALDEFINITIONS_SOLSTUDIO_HPP
+#ifndef SHARE_UTILITIES_GLOBALDEFINITIONS_SOLSTUDIO_HPP
+#define SHARE_UTILITIES_GLOBALDEFINITIONS_SOLSTUDIO_HPP
#include "jni.h"
@@ -256,4 +256,4 @@
// Alignment
#define ATTRIBUTE_ALIGNED(x) __attribute__((aligned(x)))
-#endif // SHARE_VM_UTILITIES_GLOBALDEFINITIONS_SOLSTUDIO_HPP
+#endif // SHARE_UTILITIES_GLOBALDEFINITIONS_SOLSTUDIO_HPP
--- a/src/hotspot/share/utilities/globalDefinitions_visCPP.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/globalDefinitions_visCPP.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_GLOBALDEFINITIONS_VISCPP_HPP
-#define SHARE_VM_UTILITIES_GLOBALDEFINITIONS_VISCPP_HPP
+#ifndef SHARE_UTILITIES_GLOBALDEFINITIONS_VISCPP_HPP
+#define SHARE_UTILITIES_GLOBALDEFINITIONS_VISCPP_HPP
#include "jni.h"
@@ -167,4 +167,4 @@
// Alignment
#define ATTRIBUTE_ALIGNED(x) __declspec(align(x))
-#endif // SHARE_VM_UTILITIES_GLOBALDEFINITIONS_VISCPP_HPP
+#endif // SHARE_UTILITIES_GLOBALDEFINITIONS_VISCPP_HPP
--- a/src/hotspot/share/utilities/globalDefinitions_xlc.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/globalDefinitions_xlc.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -23,8 +23,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_GLOBALDEFINITIONS_XLC_HPP
-#define SHARE_VM_UTILITIES_GLOBALDEFINITIONS_XLC_HPP
+#ifndef SHARE_UTILITIES_GLOBALDEFINITIONS_XLC_HPP
+#define SHARE_UTILITIES_GLOBALDEFINITIONS_XLC_HPP
#include "jni.h"
@@ -162,4 +162,4 @@
#define NOINLINE __attribute__((__noinline__))
#define ALWAYSINLINE inline __attribute__((__always_inline__))
-#endif // SHARE_VM_UTILITIES_GLOBALDEFINITIONS_XLC_HPP
+#endif // SHARE_UTILITIES_GLOBALDEFINITIONS_XLC_HPP
--- a/src/hotspot/share/utilities/growableArray.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/growableArray.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_GROWABLEARRAY_HPP
-#define SHARE_VM_UTILITIES_GROWABLEARRAY_HPP
+#ifndef SHARE_UTILITIES_GROWABLEARRAY_HPP
+#define SHARE_UTILITIES_GROWABLEARRAY_HPP
#include "memory/allocation.hpp"
#include "oops/oop.hpp"
@@ -584,4 +584,4 @@
typedef GrowableArray<int> intStack;
typedef GrowableArray<bool> boolArray;
-#endif // SHARE_VM_UTILITIES_GROWABLEARRAY_HPP
+#endif // SHARE_UTILITIES_GROWABLEARRAY_HPP
--- a/src/hotspot/share/utilities/hashtable.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/hashtable.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_HASHTABLE_HPP
-#define SHARE_VM_UTILITIES_HASHTABLE_HPP
+#ifndef SHARE_UTILITIES_HASHTABLE_HPP
+#define SHARE_UTILITIES_HASHTABLE_HPP
#include "memory/allocation.hpp"
#include "oops/oop.hpp"
@@ -316,4 +316,4 @@
};
-#endif // SHARE_VM_UTILITIES_HASHTABLE_HPP
+#endif // SHARE_UTILITIES_HASHTABLE_HPP
--- a/src/hotspot/share/utilities/hashtable.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/hashtable.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_HASHTABLE_INLINE_HPP
-#define SHARE_VM_UTILITIES_HASHTABLE_INLINE_HPP
+#ifndef SHARE_UTILITIES_HASHTABLE_INLINE_HPP
+#define SHARE_UTILITIES_HASHTABLE_INLINE_HPP
#include "memory/allocation.inline.hpp"
#include "runtime/orderAccess.hpp"
@@ -116,4 +116,4 @@
--_number_of_entries;
}
-#endif // SHARE_VM_UTILITIES_HASHTABLE_INLINE_HPP
+#endif // SHARE_UTILITIES_HASHTABLE_INLINE_HPP
--- a/src/hotspot/share/utilities/histogram.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/histogram.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_HISTOGRAM_HPP
-#define SHARE_VM_UTILITIES_HISTOGRAM_HPP
+#ifndef SHARE_UTILITIES_HISTOGRAM_HPP
+#define SHARE_UTILITIES_HISTOGRAM_HPP
#include "memory/allocation.hpp"
#include "runtime/os.hpp"
@@ -97,4 +97,4 @@
#endif
-#endif // SHARE_VM_UTILITIES_HISTOGRAM_HPP
+#endif // SHARE_UTILITIES_HISTOGRAM_HPP
--- a/src/hotspot/share/utilities/intHisto.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/intHisto.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_INTHISTO_HPP
-#define SHARE_VM_UTILITIES_INTHISTO_HPP
+#ifndef SHARE_UTILITIES_INTHISTO_HPP
+#define SHARE_UTILITIES_INTHISTO_HPP
#include "memory/allocation.hpp"
#include "utilities/growableArray.hpp"
@@ -75,4 +75,4 @@
void print_on(outputStream* st) const;
};
-#endif // SHARE_VM_UTILITIES_INTHISTO_HPP
+#endif // SHARE_UTILITIES_INTHISTO_HPP
--- a/src/hotspot/share/utilities/json.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/json.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_JSON_HPP
-#define SHARE_VM_UTILITIES_JSON_HPP
+#ifndef SHARE_UTILITIES_JSON_HPP
+#define SHARE_UTILITIES_JSON_HPP
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -109,4 +109,4 @@
const char* strerror(JSON_ERROR e);
};
-#endif // SHARE_VM_UTILITIES_JSON_HPP
+#endif // SHARE_UTILITIES_JSON_HPP
--- a/src/hotspot/share/utilities/linkedlist.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/linkedlist.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_LINKED_LIST_HPP
-#define SHARE_VM_UTILITIES_LINKED_LIST_HPP
+#ifndef SHARE_UTILITIES_LINKEDLIST_HPP
+#define SHARE_UTILITIES_LINKEDLIST_HPP
#include "memory/allocation.hpp"
@@ -418,4 +418,4 @@
}
};
-#endif
+#endif // SHARE_UTILITIES_LINKEDLIST_HPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/share/utilities/lockFreeStack.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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 SHARE_UTILITIES_LOCKFREESTACK_HPP
+#define SHARE_UTILITIES_LOCKFREESTACK_HPP
+
+#include "runtime/atomic.hpp"
+#include "utilities/debug.hpp"
+#include "utilities/macros.hpp"
+
+// The LockFreeStack class template provides a lock-free LIFO. The objects
+// in the sequence are intrusively linked via a member in the objects. As
+// a result, there is no allocation involved in adding objects to the stack
+// or removing them from the stack.
+//
+// To be used in a LockFreeStack of objects of type T, an object of
+// type T must have a list entry member of type T* volatile, with an
+// non-member accessor function returning a pointer to that member. A
+// LockFreeStack is associated with the class of its elements and an
+// entry member from that class.
+//
+// An object can be in multiple stacks at the same time, so long as
+// each stack uses a different entry member. That is, the class of the
+// object must have multiple LockFreeStack entry members, one for each
+// stack in which the object may simultaneously be an element.
+//
+// LockFreeStacks support polymorphic elements. Because the objects
+// in a stack are externally managed, rather than being embedded
+// values in the stack, the actual type of such objects may be more
+// specific than the stack's element type.
+//
+// \tparam T is the class of the elements in the stack.
+//
+// \tparam next_ptr is a function pointer. Applying this function to
+// an object of type T must return a pointer to the list entry member
+// of the object associated with the LockFreeStack type.
+template<typename T, T* volatile* (*next_ptr)(T&)>
+class LockFreeStack {
+ T* volatile _top;
+
+ void prepend_impl(T* first, T* last) {
+ T* cur = top();
+ T* old;
+ do {
+ old = cur;
+ set_next(*last, cur);
+ cur = Atomic::cmpxchg(first, &_top, cur);
+ } while (old != cur);
+ }
+
+ // Noncopyable.
+ LockFreeStack(const LockFreeStack&);
+ LockFreeStack& operator=(const LockFreeStack&);
+
+public:
+ LockFreeStack() : _top(NULL) {}
+ ~LockFreeStack() { assert(empty(), "stack not empty"); }
+
+ // Atomically removes the top object from this stack and returns a
+ // pointer to that object, or NULL if this stack is empty. Acts as a
+ // full memory barrier. Subject to ABA behavior; callers must ensure
+ // usage is safe.
+ T* pop() {
+ T* result = top();
+ T* old;
+ do {
+ old = result;
+ T* new_top = NULL;
+ if (result != NULL) {
+ new_top = next(*result);
+ }
+ // CAS even on empty pop, for consistent membar bahavior.
+ result = Atomic::cmpxchg(new_top, &_top, result);
+ } while (result != old);
+ if (result != NULL) {
+ set_next(*result, NULL);
+ }
+ return result;
+ }
+
+ // Atomically exchange the list of elements with NULL, returning the old
+ // list of elements. Acts as a full memory barrier.
+ // postcondition: empty()
+ T* pop_all() {
+ return Atomic::xchg((T*)NULL, &_top);
+ }
+
+ // Atomically adds value to the top of this stack. Acts as a full
+ // memory barrier.
+ void push(T& value) {
+ assert(next(value) == NULL, "precondition");
+ prepend_impl(&value, &value);
+ }
+
+ // Atomically adds the list of objects (designated by first and
+ // last) before the objects already in this stack, in the same order
+ // as in the list. Acts as a full memory barrier.
+ // precondition: next(last) == NULL.
+ // postcondition: top() == &first, next(last) == old top().
+ void prepend(T& first, T& last) {
+ assert(next(last) == NULL, "precondition");
+#ifdef ASSERT
+ for (T* p = &first; p != &last; p = next(*p)) {
+ assert(p != NULL, "invalid prepend list");
+ }
+#endif
+ prepend_impl(&first, &last);
+ }
+
+ // Atomically adds the list of objects headed by first before the
+ // objects already in this stack, in the same order as in the list.
+ // Acts as a full memory barrier.
+ // postcondition: top() == &first.
+ void prepend(T& first) {
+ T* last = &first;
+ while (true) {
+ T* step_to = next(*last);
+ if (step_to == NULL) break;
+ last = step_to;
+ }
+ prepend_impl(&first, last);
+ }
+
+ // Return true if the stack is empty.
+ bool empty() const { return top() == NULL; }
+
+ // Return the most recently pushed element, or NULL if the stack is empty.
+ // The returned element is not removed from the stack.
+ T* top() const { return Atomic::load(&_top); }
+
+ // Return the number of objects in the stack. There must be no concurrent
+ // pops while the length is being determined.
+ size_t length() const {
+ size_t result = 0;
+ for (const T* current = top(); current != NULL; current = next(*current)) {
+ ++result;
+ }
+ return result;
+ }
+
+ // Return the entry following value in the list used by the
+ // specialized LockFreeStack class.
+ static T* next(const T& value) {
+ return Atomic::load(next_ptr(const_cast<T&>(value)));
+ }
+
+ // Set the entry following value to new_next in the list used by the
+ // specialized LockFreeStack class. Not thread-safe; in particular,
+ // if value is in an instance of this specialization of LockFreeStack,
+ // there must be no concurrent push or pop operations on that stack.
+ static void set_next(T& value, T* new_next) {
+ Atomic::store(new_next, next_ptr(value));
+ }
+};
+
+#endif // SHARE_UTILITIES_LOCKFREESTACK_HPP
--- a/src/hotspot/share/utilities/macros.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/macros.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_MACROS_HPP
-#define SHARE_VM_UTILITIES_MACROS_HPP
+#ifndef SHARE_UTILITIES_MACROS_HPP
+#define SHARE_UTILITIES_MACROS_HPP
// Use this to mark code that needs to be cleaned up (for development only)
#define NEEDS_CLEANUP
@@ -640,4 +640,4 @@
#define NOT_CDS_JAVA_HEAP_RETURN_(code) { return code; }
#endif
-#endif // SHARE_VM_UTILITIES_MACROS_HPP
+#endif // SHARE_UTILITIES_MACROS_HPP
--- a/src/hotspot/share/utilities/nativeCallStack.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/nativeCallStack.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_NATIVE_CALL_STACK_HPP
-#define SHARE_VM_UTILITIES_NATIVE_CALL_STACK_HPP
+#ifndef SHARE_UTILITIES_NATIVECALLSTACK_HPP
+#define SHARE_UTILITIES_NATIVECALLSTACK_HPP
#include "memory/allocation.hpp"
#include "services/nmtCommon.hpp"
@@ -98,4 +98,4 @@
void print_on(outputStream* out, int indent) const;
};
-#endif
+#endif // SHARE_UTILITIES_NATIVECALLSTACK_HPP
--- a/src/hotspot/share/utilities/numberSeq.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/numberSeq.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_NUMBERSEQ_HPP
-#define SHARE_VM_UTILITIES_NUMBERSEQ_HPP
+#ifndef SHARE_UTILITIES_NUMBERSEQ_HPP
+#define SHARE_UTILITIES_NUMBERSEQ_HPP
#include "memory/allocation.hpp"
@@ -131,4 +131,4 @@
virtual void dump_on(outputStream* s);
};
-#endif // SHARE_VM_UTILITIES_NUMBERSEQ_HPP
+#endif // SHARE_UTILITIES_NUMBERSEQ_HPP
--- a/src/hotspot/share/utilities/ostream.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/ostream.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_OSTREAM_HPP
-#define SHARE_VM_UTILITIES_OSTREAM_HPP
+#ifndef SHARE_UTILITIES_OSTREAM_HPP
+#define SHARE_UTILITIES_OSTREAM_HPP
#include "memory/allocation.hpp"
#include "runtime/timer.hpp"
@@ -294,4 +294,4 @@
#endif
-#endif // SHARE_VM_UTILITIES_OSTREAM_HPP
+#endif // SHARE_UTILITIES_OSTREAM_HPP
--- a/src/hotspot/share/utilities/pair.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/pair.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_PAIR_HPP
-#define SHARE_VM_UTILITIES_PAIR_HPP
+#ifndef SHARE_UTILITIES_PAIR_HPP
+#define SHARE_UTILITIES_PAIR_HPP
#include "memory/allocation.hpp"
@@ -38,4 +38,4 @@
};
-#endif // SHARE_VM_UTILITIES_PAIR_HPP
+#endif // SHARE_UTILITIES_PAIR_HPP
--- a/src/hotspot/share/utilities/preserveException.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/preserveException.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_PRESERVEEXCEPTION_HPP
-#define SHARE_VM_UTILITIES_PRESERVEEXCEPTION_HPP
+#ifndef SHARE_UTILITIES_PRESERVEEXCEPTION_HPP
+#define SHARE_UTILITIES_PRESERVEEXCEPTION_HPP
#include "runtime/handles.hpp"
#include "runtime/thread.hpp"
@@ -90,4 +90,4 @@
// saving and restoring them
#define PRESERVE_EXCEPTION_MARK Thread* THREAD; PreserveExceptionMark __em(THREAD);
-#endif // SHARE_VM_UTILITIES_PRESERVEEXCEPTION_HPP
+#endif // SHARE_UTILITIES_PRESERVEEXCEPTION_HPP
--- a/src/hotspot/share/utilities/quickSort.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/quickSort.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_QUICKSORT_HPP
-#define SHARE_VM_UTILITIES_QUICKSORT_HPP
+#ifndef SHARE_UTILITIES_QUICKSORT_HPP
+#define SHARE_UTILITIES_QUICKSORT_HPP
#include "memory/allocation.hpp"
#include "runtime/globals.hpp"
@@ -127,4 +127,4 @@
};
-#endif //SHARE_VM_UTILITIES_QUICKSORT_HPP
+#endif // SHARE_UTILITIES_QUICKSORT_HPP
--- a/src/hotspot/share/utilities/resourceHash.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/resourceHash.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_RESOURCEHASH_HPP
-#define SHARE_VM_UTILITIES_RESOURCEHASH_HPP
+#ifndef SHARE_UTILITIES_RESOURCEHASH_HPP
+#define SHARE_UTILITIES_RESOURCEHASH_HPP
#include "memory/allocation.hpp"
@@ -167,4 +167,4 @@
};
-#endif // SHARE_VM_UTILITIES_RESOURCEHASH_HPP
+#endif // SHARE_UTILITIES_RESOURCEHASH_HPP
--- a/src/hotspot/share/utilities/sizes.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/sizes.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_SIZES_HPP
-#define SHARE_VM_UTILITIES_SIZES_HPP
+#ifndef SHARE_UTILITIES_SIZES_HPP
+#define SHARE_UTILITIES_SIZES_HPP
#include "utilities/globalDefinitions.hpp"
@@ -148,4 +148,4 @@
#define byte_offset_of(klass,field) in_ByteSize((int)offset_of(klass, field))
-#endif // SHARE_VM_UTILITIES_SIZES_HPP
+#endif // SHARE_UTILITIES_SIZES_HPP
--- a/src/hotspot/share/utilities/stack.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/stack.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_STACK_HPP
-#define SHARE_VM_UTILITIES_STACK_HPP
+#ifndef SHARE_UTILITIES_STACK_HPP
+#define SHARE_UTILITIES_STACK_HPP
#include "memory/allocation.hpp"
@@ -211,4 +211,4 @@
#undef inline
#endif // __GNUC__
-#endif // SHARE_VM_UTILITIES_STACK_HPP
+#endif // SHARE_UTILITIES_STACK_HPP
--- a/src/hotspot/share/utilities/stack.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/stack.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_STACK_INLINE_HPP
-#define SHARE_VM_UTILITIES_STACK_INLINE_HPP
+#ifndef SHARE_UTILITIES_STACK_INLINE_HPP
+#define SHARE_UTILITIES_STACK_INLINE_HPP
#include "memory/allocation.inline.hpp"
#include "utilities/align.hpp"
@@ -273,4 +273,4 @@
return _cur_seg + --_cur_seg_size;
}
-#endif // SHARE_VM_UTILITIES_STACK_INLINE_HPP
+#endif // SHARE_UTILITIES_STACK_INLINE_HPP
--- a/src/hotspot/share/utilities/stringUtils.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/stringUtils.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_STRINGUTILS_HPP
-#define SHARE_VM_UTILITIES_STRINGUTILS_HPP
+#ifndef SHARE_UTILITIES_STRINGUTILS_HPP
+#define SHARE_UTILITIES_STRINGUTILS_HPP
#include "memory/allocation.hpp"
@@ -42,4 +42,4 @@
static double similarity(const char* str1, size_t len1, const char* str2, size_t len2);
};
-#endif // SHARE_VM_UTILITIES_STRINGUTILS_HPP
+#endif // SHARE_UTILITIES_STRINGUTILS_HPP
--- a/src/hotspot/share/utilities/ticks.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/ticks.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_TICKS_HPP
-#define SHARE_VM_UTILITIES_TICKS_HPP
+#ifndef SHARE_UTILITIES_TICKS_HPP
+#define SHARE_UTILITIES_TICKS_HPP
#include "jni.h"
#include "memory/allocation.hpp"
@@ -246,4 +246,4 @@
typedef TimeInterval<CounterRepresentation, ElapsedCounterSource> Tickspan;
#endif
-#endif // SHARE_VM_UTILITIES_TICKS_HPP
+#endif // SHARE_UTILITIES_TICKS_HPP
--- a/src/hotspot/share/utilities/utf8.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/utf8.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_UTF8_HPP
-#define SHARE_VM_UTILITIES_UTF8_HPP
+#ifndef SHARE_UTILITIES_UTF8_HPP
+#define SHARE_UTILITIES_UTF8_HPP
#include "memory/allocation.hpp"
@@ -116,4 +116,4 @@
template<typename T> static void as_quoted_ascii(const T* base, int length, char* buf, int buflen);
};
-#endif // SHARE_VM_UTILITIES_UTF8_HPP
+#endif // SHARE_UTILITIES_UTF8_HPP
--- a/src/hotspot/share/utilities/vmError.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/vmError.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_VMERROR_HPP
-#define SHARE_VM_UTILITIES_VMERROR_HPP
+#ifndef SHARE_UTILITIES_VMERROR_HPP
+#define SHARE_UTILITIES_VMERROR_HPP
#include "utilities/globalDefinitions.hpp"
@@ -198,4 +198,4 @@
// for test purposes, which is not NULL and contains bits in every word
static void* get_segfault_address();
};
-#endif // SHARE_VM_UTILITIES_VMERROR_HPP
+#endif // SHARE_UTILITIES_VMERROR_HPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/share/utilities/waitBarrier.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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 SHARE_UTILITIES_WAITBARRIER_HPP
+#define SHARE_UTILITIES_WAITBARRIER_HPP
+
+#include "memory/allocation.hpp"
+#include "runtime/thread.hpp"
+#include "utilities/debug.hpp"
+#include "utilities/waitBarrier_generic.hpp"
+
+#if defined(LINUX)
+#include "waitBarrier_linux.hpp"
+typedef LinuxWaitBarrier WaitBarrierDefault;
+#else
+typedef GenericWaitBarrier WaitBarrierDefault;
+#endif
+
+// Platform independent WaitBarrier API.
+// An armed WaitBarrier prevents threads from advancing until the threads are
+// woken by calling disarm(). The barrier is armed by setting a non-zero value
+// - the tag. When the WaitBarrier is created, a thread is designated the owner
+// and is the thread that should arm and disarm the WaitBarrier. In debug builds
+// this is enforced.
+//
+// Expected Usage:
+// - Arming thread:
+// tag = ...; // non-zero value
+// barrier.arm(tag);
+// <publish tag>
+// <work>
+// barrier.disarm();
+//
+// - After arm(tag) returns any thread calling wait(tag) will block.
+// - Calling disarm() guarantees any thread calling or that has wait(tag) will
+// return. Either they will see the WaitBarrier as disarmed or they will be
+// unblocked and eligible to execute again when disarm() returns.
+// - After calling disarm() the barrier is ready to be re-armed with a new tag.
+// (may not be re-armed with last used tag)
+//
+// - Waiting threads
+// wait(tag); // don't execute following code unless 'safe'
+// <work>
+//
+// - A call to wait(tag) will block if the barrier is armed with the value
+// 'tag'; else it will return immediately.
+// - A blocked thread is eligible to execute again once the barrier is
+// disarmed when disarm() has been called.
+//
+// It is a usage error to:
+// - call arm on a barrier that is already armed
+// - call disarm on a barrier that is not armed
+// - arm with the same tag as last used
+// Usage errors are checked in debug builds but may be ignored otherwise.
+//
+// A primary goal of the WaitBarrier implementation is to wake all waiting
+// threads as fast, and as concurrently, as possible.
+//
+template <typename WaitBarrierImpl>
+class WaitBarrierType : public CHeapObj<mtInternal> {
+ WaitBarrierImpl _impl;
+
+ // Prevent copying and assignment of WaitBarrier instances.
+ WaitBarrierType(const WaitBarrierDefault&);
+ WaitBarrierType& operator=(const WaitBarrierDefault&);
+
+#ifdef ASSERT
+ int _last_arm_tag;
+ Thread* _owner;
+#endif
+
+ public:
+ WaitBarrierType(Thread* owner) : _impl() {
+#ifdef ASSERT
+ _last_arm_tag = 0;
+ _owner = owner;
+#endif
+ }
+ ~WaitBarrierType() {}
+
+ // Returns implementation description.
+ const char* description() { return _impl.description(); }
+
+ // Guarantees any thread calling wait() with same tag will be blocked.
+ // Provides a trailing fence.
+ void arm(int barrier_tag) {
+#ifdef ASSERT
+ assert(_last_arm_tag != barrier_tag, "Re-arming with same tag");
+ _last_arm_tag = barrier_tag;
+ assert(_owner == Thread::current(), "Not owner thread");
+#endif
+ _impl.arm(barrier_tag);
+ }
+
+ // Guarantees any thread that called wait() will be awake when it returns.
+ // Provides a trailing fence.
+ void disarm() {
+ assert(_owner == Thread::current(), "Not owner thread");
+ _impl.disarm();
+ }
+
+ // Guarantees not to return until disarm() is called,
+ // if called with currently armed tag (otherwise returns immediately).
+ // Implementations must guarantee no spurious wakeups.
+ // Provides a trailing fence.
+ void wait(int barrier_tag) {
+ assert(_owner != Thread::current(), "Trying to wait with owner thread");
+ _impl.wait(barrier_tag);
+ }
+};
+
+typedef WaitBarrierType<WaitBarrierDefault> WaitBarrier;
+
+#endif // SHARE_UTILITIES_WAITBARRIER_HPP
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/share/utilities/waitBarrier_generic.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "runtime/atomic.hpp"
+#include "runtime/orderAccess.hpp"
+#include "runtime/os.hpp"
+#include "utilities/waitBarrier_generic.hpp"
+#include "utilities/spinYield.hpp"
+
+void GenericWaitBarrier::arm(int barrier_tag) {
+ assert(_barrier_tag == 0, "Already armed");
+ assert(_waiters == 0, "We left a thread hanging");
+ _barrier_tag = barrier_tag;
+ _waiters = 0;
+ OrderAccess::fence();
+}
+
+int GenericWaitBarrier::wake_if_needed() {
+ assert(_barrier_tag == 0, "Not disarmed");
+ int w = _waiters;
+ if (w == 0) {
+ // Load of _barrier_threads in caller must not pass the load of _waiters.
+ OrderAccess::loadload();
+ return 0;
+ }
+ assert(w > 0, "Bad counting");
+ // We need an exact count which never goes below zero,
+ // otherwise the semaphore may be signalled too many times.
+ if (Atomic::cmpxchg(w - 1, &_waiters, w) == w) {
+ _sem_barrier.signal();
+ return w - 1;
+ }
+ return w;
+}
+
+void GenericWaitBarrier::disarm() {
+ assert(_barrier_tag != 0, "Not armed");
+ _barrier_tag = 0;
+ // Loads of _barrier_threads/_waiters must not float above disarm store and
+ // disarm store must not sink below.
+ OrderAccess::fence();
+ int left;
+ SpinYield sp;
+ do {
+ left = GenericWaitBarrier::wake_if_needed();
+ if (left == 0 && _barrier_threads > 0) {
+ // There is no thread to wake but we still have barrier threads.
+ sp.wait();
+ }
+ // We must loop here until there are no waiters or potential waiters.
+ } while (left > 0 || _barrier_threads > 0);
+ // API specifies disarm() must provide a trailing fence.
+ OrderAccess::fence();
+}
+
+void GenericWaitBarrier::wait(int barrier_tag) {
+ assert(barrier_tag != 0, "Trying to wait on disarmed value");
+ if (barrier_tag != _barrier_tag) {
+ // API specifies wait() must provide a trailing fence.
+ OrderAccess::fence();
+ return;
+ }
+ Atomic::add(1, &_barrier_threads);
+ if (barrier_tag != 0 && barrier_tag == _barrier_tag) {
+ Atomic::add(1, &_waiters);
+ _sem_barrier.wait();
+ // We help out with posting, but we need to do so before we decrement the
+ // _barrier_threads otherwise we might wake threads up in next wait.
+ GenericWaitBarrier::wake_if_needed();
+ }
+ Atomic::add(-1, &_barrier_threads);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hotspot/share/utilities/waitBarrier_generic.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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 SHARE_UTILITIES_WAITBARRIER_GENERIC_HPP
+#define SHARE_UTILITIES_WAITBARRIER_GENERIC_HPP
+
+#include "memory/allocation.hpp"
+#include "runtime/semaphore.hpp"
+
+// In addition to the barrier tag, it uses two counters to keep the semaphore
+// count correct and not leave any late thread waiting.
+class GenericWaitBarrier : public CHeapObj<mtInternal> {
+ volatile int _barrier_tag;
+ // The number of threads waiting on or about to wait on the semaphore.
+ volatile int _waiters;
+ // The number of threads in the wait path, before or after the tag check.
+ // These threads can become waiters.
+ volatile int _barrier_threads;
+ Semaphore _sem_barrier;
+
+ // Prevent copying and assignment of GenericWaitBarrier instances.
+ GenericWaitBarrier(const GenericWaitBarrier&);
+ GenericWaitBarrier& operator=(const GenericWaitBarrier&);
+
+ int wake_if_needed();
+
+ public:
+ GenericWaitBarrier() : _barrier_tag(0), _waiters(0), _barrier_threads(0), _sem_barrier(0) {}
+ ~GenericWaitBarrier() {}
+
+ const char* description() { return "semaphore"; }
+
+ void arm(int barrier_tag);
+ void disarm();
+ void wait(int barrier_tag);
+};
+
+#endif // SHARE_UTILITIES_WAITBARRIER_GENERIC_HPP
--- a/src/hotspot/share/utilities/xmlstream.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/hotspot/share/utilities/xmlstream.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef SHARE_VM_UTILITIES_XMLSTREAM_HPP
-#define SHARE_VM_UTILITIES_XMLSTREAM_HPP
+#ifndef SHARE_UTILITIES_XMLSTREAM_HPP
+#define SHARE_UTILITIES_XMLSTREAM_HPP
#include "runtime/handles.hpp"
#include "utilities/ostream.hpp"
@@ -184,4 +184,4 @@
// Note: If ::xtty != NULL, ::tty == ::xtty->text().
-#endif // SHARE_VM_UTILITIES_XMLSTREAM_HPP
+#endif // SHARE_UTILITIES_XMLSTREAM_HPP
--- a/src/java.base/share/classes/java/io/File.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/io/File.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2019, Oracle and/or its affiliates. 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
@@ -29,11 +29,11 @@
import java.net.URL;
import java.net.MalformedURLException;
import java.net.URISyntaxException;
-import java.util.List;
-import java.util.ArrayList;
+import java.nio.file.FileSystems;
+import java.nio.file.Path;
import java.security.SecureRandom;
-import java.nio.file.Path;
-import java.nio.file.FileSystems;
+import java.util.ArrayList;
+import java.util.List;
import sun.security.action.GetPropertyAction;
/**
@@ -1395,14 +1395,14 @@
* If parameter <code>dest</code> is <code>null</code>
*/
public boolean renameTo(File dest) {
+ if (dest == null) {
+ throw new NullPointerException();
+ }
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkWrite(path);
security.checkWrite(dest.path);
}
- if (dest == null) {
- throw new NullPointerException();
- }
if (this.isInvalid() || dest.isInvalid()) {
return false;
}
--- a/src/java.base/share/classes/java/io/ObjectInputFilter.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/io/ObjectInputFilter.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -72,7 +72,7 @@
* to use other filters without forcing either allowed or rejected status.
*
* <p>
- * Typically, a custom filter should check if a process-wide filter
+ * Typically, a custom filter should check if a system-wide filter
* is configured and defer to it if so. For example,
* <pre>{@code
* ObjectInputFilter.Status checkInput(FilterInfo info) {
@@ -80,7 +80,7 @@
* if (serialFilter != null) {
* ObjectInputFilter.Status status = serialFilter.checkInput(info);
* if (status != ObjectInputFilter.Status.UNDECIDED) {
- * // The process-wide filter overrides this filter
+ * // The system-wide filter overrides this filter
* return status;
* }
* }
@@ -196,8 +196,8 @@
}
/**
- * A utility class to set and get the process-wide filter or create a filter
- * from a pattern string. If a process-wide filter is set, it will be
+ * A utility class to set and get the system-wide filter or create a filter
+ * from a pattern string. If a system-wide filter is set, it will be
* used for each {@link ObjectInputStream} that does not set its own filter.
* <p>
* When setting the filter, it should be stateless and idempotent,
@@ -222,7 +222,7 @@
private Config() {}
/**
- * Lock object for process-wide filter.
+ * Lock object for system-wide filter.
*/
private final static Object serialFilterLock = new Object();
@@ -241,13 +241,13 @@
}
/**
- * The name for the process-wide deserialization filter.
+ * The name for the system-wide deserialization filter.
* Used as a system property and a java.security.Security property.
*/
private final static String SERIAL_FILTER_PROPNAME = "jdk.serialFilter";
/**
- * The process-wide filter; may be null.
+ * The system-wide filter; may be null.
* Lookup the filter in java.security.Security or
* the system property.
*/
@@ -286,9 +286,9 @@
private static ObjectInputFilter serialFilter = configuredFilter;
/**
- * Returns the process-wide serialization filter or {@code null} if not configured.
+ * Returns the system-wide serialization filter or {@code null} if not configured.
*
- * @return the process-wide serialization filter or {@code null} if not configured
+ * @return the system-wide serialization filter or {@code null} if not configured
*/
public static ObjectInputFilter getSerialFilter() {
synchronized (serialFilterLock) {
@@ -297,9 +297,9 @@
}
/**
- * Set the process-wide filter if it has not already been configured or set.
+ * Set the system-wide filter if it has not already been configured or set.
*
- * @param filter the serialization filter to set as the process-wide filter; not null
+ * @param filter the serialization filter to set as the system-wide filter; not null
* @throws SecurityException if there is security manager and the
* {@code SerializablePermission("serialFilter")} is not granted
* @throws IllegalStateException if the filter has already been set {@code non-null}
@@ -401,7 +401,7 @@
/**
* Implementation of ObjectInputFilter that performs the checks of
- * the process-wide serialization filter. If configured, it will be
+ * the system-wide serialization filter. If configured, it will be
* used for all ObjectInputStreams that do not set their own filters.
*
*/
--- a/src/java.base/share/classes/java/io/ObjectInputStream.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/io/ObjectInputStream.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2019, Oracle and/or its affiliates. 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
@@ -188,7 +188,7 @@
* the classes, array lengths, number of references in the stream, depth, and
* number of bytes consumed from the input stream are allowed and
* if not, can terminate deserialization.
- * A {@linkplain ObjectInputFilter.Config#setSerialFilter(ObjectInputFilter) process-wide filter}
+ * A {@linkplain ObjectInputFilter.Config#setSerialFilter(ObjectInputFilter) system-wide filter}
* can be configured that is applied to each {@code ObjectInputStream} unless replaced
* using {@link #setObjectInputFilter(ObjectInputFilter) setObjectInputFilter}.
*
@@ -322,7 +322,7 @@
* has written and flushed the header.
*
* <p>The serialization filter is initialized to the value of
- * {@linkplain ObjectInputFilter.Config#getSerialFilter() the process-wide filter}.
+ * {@linkplain ObjectInputFilter.Config#getSerialFilter() the system-wide filter}.
*
* <p>If a security manager is installed, this constructor will check for
* the "enableSubclassImplementation" SerializablePermission when invoked
@@ -357,7 +357,7 @@
* implementation of ObjectInputStream.
*
* <p>The serialization filter is initialized to the value of
- * {@linkplain ObjectInputFilter.Config#getSerialFilter() the process-wide filter}.
+ * {@linkplain ObjectInputFilter.Config#getSerialFilter() the system-wide filter}.
*
* <p>If there is a security manager installed, this method first calls the
* security manager's <code>checkPermission</code> method with the
@@ -1157,7 +1157,7 @@
* Returns the serialization filter for this stream.
* The serialization filter is the most recent filter set in
* {@link #setObjectInputFilter setObjectInputFilter} or
- * the initial process-wide filter from
+ * the initial system-wide filter from
* {@link ObjectInputFilter.Config#getSerialFilter() ObjectInputFilter.Config.getSerialFilter}.
*
* @return the serialization filter for the stream; may be null
@@ -1233,7 +1233,7 @@
* @throws SecurityException if there is security manager and the
* {@code SerializablePermission("serialFilter")} is not granted
* @throws IllegalStateException if the {@linkplain #getObjectInputFilter() current filter}
- * is not {@code null} and is not the process-wide filter
+ * is not {@code null} and is not the system-wide filter
* @since 9
*/
public final void setObjectInputFilter(ObjectInputFilter filter) {
@@ -1241,7 +1241,7 @@
if (sm != null) {
sm.checkPermission(ObjectStreamConstants.SERIAL_FILTER_PERMISSION);
}
- // Allow replacement of the process-wide filter if not already set
+ // Allow replacement of the system-wide filter if not already set
if (serialFilter != null &&
serialFilter != ObjectInputFilter.Config.getSerialFilter()) {
throw new IllegalStateException("filter can not be set more than once");
--- a/src/java.base/share/classes/java/io/ObjectStreamConstants.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/io/ObjectStreamConstants.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2019, Oracle and/or its affiliates. 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
@@ -201,7 +201,7 @@
new SerializablePermission("enableSubclassImplementation");
/**
- * Enable setting the process-wide serial filter.
+ * Enable setting the system-wide serial filter.
*
* @see java.io.ObjectInputFilter.Config#setSerialFilter(ObjectInputFilter)
* @since 9
--- a/src/java.base/share/classes/java/lang/Class.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/lang/Class.java Tue Jan 22 09:43:38 2019 -0500
@@ -272,8 +272,9 @@
TypeVariable<?>[] typeparms = component.getTypeParameters();
if (typeparms.length > 0) {
- sb.append(Stream.of(typeparms).map(Class::typeVarBounds).
- collect(Collectors.joining(",", "<", ">")));
+ sb.append(Arrays.stream(typeparms)
+ .map(Class::typeVarBounds)
+ .collect(Collectors.joining(",", "<", ">")));
}
for (int i = 0; i < arrayDepth; i++)
@@ -289,8 +290,9 @@
return typeVar.getName();
} else {
return typeVar.getName() + " extends " +
- Stream.of(bounds).map(Type::getTypeName).
- collect(Collectors.joining(" & "));
+ Arrays.stream(bounds)
+ .map(Type::getTypeName)
+ .collect(Collectors.joining(" & "));
}
}
@@ -3419,8 +3421,9 @@
StringBuilder sb = new StringBuilder();
sb.append(getName() + "." + name + "(");
if (argTypes != null) {
- Stream.of(argTypes).map(c -> {return (c == null) ? "null" : c.getName();}).
- collect(Collectors.joining(","));
+ sb.append(Arrays.stream(argTypes)
+ .map(c -> (c == null) ? "null" : c.getName())
+ .collect(Collectors.joining(",")));
}
sb.append(")");
return sb.toString();
--- a/src/java.base/share/classes/java/lang/String.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/lang/String.java Tue Jan 22 09:43:38 2019 -0500
@@ -2813,8 +2813,7 @@
* lines are then concatenated and returned.
* <p>
* If {@code n > 0} then {@code n} spaces (U+0020) are inserted at the
- * beginning of each line. {@link String#isBlank() Blank lines} are
- * unaffected.
+ * beginning of each line.
* <p>
* If {@code n < 0} then up to {@code n}
* {@link Character#isWhitespace(int) white space characters} are removed
@@ -2849,7 +2848,7 @@
: lines();
if (n > 0) {
final String spaces = " ".repeat(n);
- stream = stream.map(s -> s.isBlank() ? s : spaces + s);
+ stream = stream.map(s -> spaces + s);
} else if (n == Integer.MIN_VALUE) {
stream = stream.map(s -> s.stripLeading());
} else if (n < 0) {
--- a/src/java.base/share/classes/java/lang/invoke/VarHandle.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/lang/invoke/VarHandle.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -1865,35 +1865,6 @@
}
/**
- * Compare this {@linkplain VarHandle} with another object for equality.
- * Two {@linkplain VarHandle}s are considered equal if they both describe the
- * same instance field, both describe the same static field, both describe
- * array elements for arrays with the same component type, or both describe
- * the same component of an off-heap structure.
- *
- * @param o the other object
- * @return Whether this {@linkplain VarHandle} is equal to the other object
- */
- @Override
- public final boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- VarHandle that = (VarHandle) o;
- return accessModeType(AccessMode.GET).equals(that.accessModeType(AccessMode.GET)) &&
- internalEquals(that);
- }
-
- abstract boolean internalEquals(VarHandle vh);
-
- @Override
- public final int hashCode() {
- return 31 * accessModeType(AccessMode.GET).hashCode() + internalHashCode();
- }
-
- abstract int internalHashCode();
-
- /**
* Returns a compact textual description of this {@linkplain VarHandle},
* including the type of variable described, and a description of its coordinates.
*
--- a/src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -64,17 +64,6 @@
}
@Override
- final boolean internalEquals(VarHandle vh) {
- FieldInstanceReadOnly that = (FieldInstanceReadOnly) vh;
- return fieldOffset == that.fieldOffset;
- }
-
- @Override
- final int internalHashCode() {
- return Long.hashCode(fieldOffset);
- }
-
- @Override
public Optional<VarHandleDesc> describeConstable() {
var receiverTypeRef = receiverType.describeConstable();
var fieldTypeRef = {#if[Object]?fieldType:$type$.class}.describeConstable();
@@ -350,17 +339,6 @@
}
@Override
- final boolean internalEquals(VarHandle vh) {
- FieldStaticReadOnly that = (FieldStaticReadOnly) vh;
- return base == that.base && fieldOffset == that.fieldOffset;
- }
-
- @Override
- final int internalHashCode() {
- return 31 * Long.hashCode(fieldOffset) + base.hashCode();
- }
-
- @Override
public Optional<VarHandleDesc> describeConstable() {
var fieldTypeRef = {#if[Object]?fieldType:$type$.class}.describeConstable();
if (!fieldTypeRef.isPresent())
@@ -640,20 +618,6 @@
}
@Override
- final boolean internalEquals(VarHandle vh) {
- // Equality of access mode types of AccessMode.GET is sufficient for
- // equality checks
- return true;
- }
-
- @Override
- final int internalHashCode() {
- // The hash code of the access mode types of AccessMode.GET is
- // sufficient for hash code generation
- return 0;
- }
-
- @Override
public Optional<VarHandleDesc> describeConstable() {
var arrayTypeRef = {#if[Object]?arrayType:$type$[].class}.describeConstable();
if (!arrayTypeRef.isPresent())
--- a/src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -67,17 +67,6 @@
super(form);
this.be = be;
}
-
- @Override
- final boolean internalEquals(VarHandle vh) {
- ByteArrayViewVarHandle that = (ByteArrayViewVarHandle) vh;
- return be == that.be;
- }
-
- @Override
- final int internalHashCode() {
- return Boolean.hashCode(be);
- }
}
static final class ArrayHandle extends ByteArrayViewVarHandle {
--- a/src/java.base/share/classes/java/lang/reflect/Executable.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/lang/reflect/Executable.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -111,16 +111,13 @@
printModifiersIfNonzero(sb, modifierMask, isDefault);
specificToStringHeader(sb);
- sb.append('(');
-
- sb.append(Stream.of(parameterTypes).map(Type::getTypeName).
- collect(Collectors.joining(",")));
-
- sb.append(')');
-
+ sb.append(Arrays.stream(parameterTypes)
+ .map(Type::getTypeName)
+ .collect(Collectors.joining(",", "(", ")")));
if (exceptionTypes.length > 0) {
- sb.append(Stream.of(exceptionTypes).map(Type::getTypeName).
- collect(Collectors.joining(",", " throws ", "")));
+ sb.append(Arrays.stream(exceptionTypes)
+ .map(Type::getTypeName)
+ .collect(Collectors.joining(",", " throws ", "")));
}
return sb.toString();
} catch (Exception e) {
@@ -140,8 +137,9 @@
return typeVar.getName();
} else {
return typeVar.getName() + " extends " +
- Stream.of(bounds).map(Type::getTypeName).
- collect(Collectors.joining(" & "));
+ Arrays.stream(bounds)
+ .map(Type::getTypeName)
+ .collect(Collectors.joining(" & "));
}
}
@@ -153,8 +151,9 @@
TypeVariable<?>[] typeparms = getTypeParameters();
if (typeparms.length > 0) {
- sb.append(Stream.of(typeparms).map(Executable::typeVarBounds).
- collect(Collectors.joining(",", "<", "> ")));
+ sb.append(Arrays.stream(typeparms)
+ .map(Executable::typeVarBounds)
+ .collect(Collectors.joining(",", "<", "> ")));
}
specificToGenericStringHeader(sb);
@@ -173,8 +172,9 @@
Type[] exceptionTypes = getGenericExceptionTypes();
if (exceptionTypes.length > 0) {
- sb.append(Stream.of(exceptionTypes).map(Type::getTypeName).
- collect(Collectors.joining(",", " throws ", "")));
+ sb.append(Arrays.stream(exceptionTypes)
+ .map(Type::getTypeName)
+ .collect(Collectors.joining(",", " throws ", "")));
}
return sb.toString();
} catch (Exception e) {
--- a/src/java.base/share/classes/java/math/BigDecimal.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/math/BigDecimal.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. 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
@@ -31,6 +31,7 @@
import static java.math.BigInteger.LONG_MASK;
import java.util.Arrays;
+import java.util.Objects;
/**
* Immutable, arbitrary-precision signed decimal numbers. A
@@ -424,9 +425,14 @@
* @since 1.5
*/
public BigDecimal(char[] in, int offset, int len, MathContext mc) {
- // protect against huge length.
- if (offset + len > in.length || offset < 0)
- throw new NumberFormatException("Bad offset or len arguments for char[] input.");
+ // protect against huge length, negative values, and integer overflow
+ try {
+ Objects.checkFromIndexSize(offset, len, in.length);
+ } catch (IndexOutOfBoundsException e) {
+ throw new NumberFormatException
+ ("Bad offset or len arguments for char[] input.");
+ }
+
// This is the primary string to BigDecimal constructor; all
// incoming strings end up here; it uses explicit (inline)
// parsing for speed and generates at most one intermediate
--- a/src/java.base/share/classes/java/math/BigInteger.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/math/BigInteger.java Tue Jan 22 09:43:38 2019 -0500
@@ -307,10 +307,8 @@
public BigInteger(byte[] val, int off, int len) {
if (val.length == 0) {
throw new NumberFormatException("Zero length BigInteger");
- } else if ((off < 0) || (off >= val.length) || (len < 0) ||
- (len > val.length - off)) { // 0 <= off < val.length
- throw new IndexOutOfBoundsException();
}
+ Objects.checkFromIndexSize(off, len, val.length);
if (val[off] < 0) {
mag = makePositive(val, off, len);
@@ -395,12 +393,8 @@
public BigInteger(int signum, byte[] magnitude, int off, int len) {
if (signum < -1 || signum > 1) {
throw(new NumberFormatException("Invalid signum value"));
- } else if ((off < 0) || (len < 0) ||
- (len > 0 &&
- ((off >= magnitude.length) ||
- (len > magnitude.length - off)))) { // 0 <= off < magnitude.length
- throw new IndexOutOfBoundsException();
}
+ Objects.checkFromIndexSize(off, len, magnitude.length);
// stripLeadingZeroBytes() returns a zero length array if len == 0
this.mag = stripLeadingZeroBytes(magnitude, off, len);
@@ -1239,6 +1233,14 @@
private static final double LOG_TWO = Math.log(2.0);
static {
+ assert 0 < KARATSUBA_THRESHOLD
+ && KARATSUBA_THRESHOLD < TOOM_COOK_THRESHOLD
+ && TOOM_COOK_THRESHOLD < Integer.MAX_VALUE
+ && 0 < KARATSUBA_SQUARE_THRESHOLD
+ && KARATSUBA_SQUARE_THRESHOLD < TOOM_COOK_SQUARE_THRESHOLD
+ && TOOM_COOK_SQUARE_THRESHOLD < Integer.MAX_VALUE :
+ "Algorithm thresholds are inconsistent";
+
for (int i = 1; i <= MAX_CONSTANT; i++) {
int[] magnitude = new int[1];
magnitude[0] = i;
@@ -1562,6 +1564,18 @@
* @return {@code this * val}
*/
public BigInteger multiply(BigInteger val) {
+ return multiply(val, false);
+ }
+
+ /**
+ * Returns a BigInteger whose value is {@code (this * val)}. If
+ * the invocation is recursive certain overflow checks are skipped.
+ *
+ * @param val value to be multiplied by this BigInteger.
+ * @param isRecursion whether this is a recursive invocation
+ * @return {@code this * val}
+ */
+ private BigInteger multiply(BigInteger val, boolean isRecursion) {
if (val.signum == 0 || signum == 0)
return ZERO;
@@ -1589,6 +1603,63 @@
if ((xlen < TOOM_COOK_THRESHOLD) && (ylen < TOOM_COOK_THRESHOLD)) {
return multiplyKaratsuba(this, val);
} else {
+ //
+ // In "Hacker's Delight" section 2-13, p.33, it is explained
+ // that if x and y are unsigned 32-bit quantities and m and n
+ // are their respective numbers of leading zeros within 32 bits,
+ // then the number of leading zeros within their product as a
+ // 64-bit unsigned quantity is either m + n or m + n + 1. If
+ // their product is not to overflow, it cannot exceed 32 bits,
+ // and so the number of leading zeros of the product within 64
+ // bits must be at least 32, i.e., the leftmost set bit is at
+ // zero-relative position 31 or less.
+ //
+ // From the above there are three cases:
+ //
+ // m + n leftmost set bit condition
+ // ----- ---------------- ---------
+ // >= 32 x <= 64 - 32 = 32 no overflow
+ // == 31 x >= 64 - 32 = 32 possible overflow
+ // <= 30 x >= 64 - 31 = 33 definite overflow
+ //
+ // The "possible overflow" condition cannot be detected by
+ // examning data lengths alone and requires further calculation.
+ //
+ // By analogy, if 'this' and 'val' have m and n as their
+ // respective numbers of leading zeros within 32*MAX_MAG_LENGTH
+ // bits, then:
+ //
+ // m + n >= 32*MAX_MAG_LENGTH no overflow
+ // m + n == 32*MAX_MAG_LENGTH - 1 possible overflow
+ // m + n <= 32*MAX_MAG_LENGTH - 2 definite overflow
+ //
+ // Note however that if the number of ints in the result
+ // were to be MAX_MAG_LENGTH and mag[0] < 0, then there would
+ // be overflow. As a result the leftmost bit (of mag[0]) cannot
+ // be used and the constraints must be adjusted by one bit to:
+ //
+ // m + n > 32*MAX_MAG_LENGTH no overflow
+ // m + n == 32*MAX_MAG_LENGTH possible overflow
+ // m + n < 32*MAX_MAG_LENGTH definite overflow
+ //
+ // The foregoing leading zero-based discussion is for clarity
+ // only. The actual calculations use the estimated bit length
+ // of the product as this is more natural to the internal
+ // array representation of the magnitude which has no leading
+ // zero elements.
+ //
+ if (!isRecursion) {
+ // The bitLength() instance method is not used here as we
+ // are only considering the magnitudes as non-negative. The
+ // Toom-Cook multiplication algorithm determines the sign
+ // at its end from the two signum values.
+ if (bitLength(mag, mag.length) +
+ bitLength(val.mag, val.mag.length) >
+ 32L*MAX_MAG_LENGTH) {
+ reportOverflow();
+ }
+ }
+
return multiplyToomCook3(this, val);
}
}
@@ -1674,7 +1745,7 @@
int ystart = ylen - 1;
if (z == null || z.length < (xlen+ ylen))
- z = new int[xlen+ylen];
+ z = new int[xlen+ylen];
long carry = 0;
for (int j=ystart, k=ystart+1+xstart; j >= 0; j--, k--) {
@@ -1808,16 +1879,16 @@
BigInteger v0, v1, v2, vm1, vinf, t1, t2, tm1, da1, db1;
- v0 = a0.multiply(b0);
+ v0 = a0.multiply(b0, true);
da1 = a2.add(a0);
db1 = b2.add(b0);
- vm1 = da1.subtract(a1).multiply(db1.subtract(b1));
+ vm1 = da1.subtract(a1).multiply(db1.subtract(b1), true);
da1 = da1.add(a1);
db1 = db1.add(b1);
- v1 = da1.multiply(db1);
+ v1 = da1.multiply(db1, true);
v2 = da1.add(a2).shiftLeft(1).subtract(a0).multiply(
- db1.add(b2).shiftLeft(1).subtract(b0));
- vinf = a2.multiply(b2);
+ db1.add(b2).shiftLeft(1).subtract(b0), true);
+ vinf = a2.multiply(b2, true);
// The algorithm requires two divisions by 2 and one by 3.
// All divisions are known to be exact, that is, they do not produce
@@ -1983,6 +2054,17 @@
* @return {@code this<sup>2</sup>}
*/
private BigInteger square() {
+ return square(false);
+ }
+
+ /**
+ * Returns a BigInteger whose value is {@code (this<sup>2</sup>)}. If
+ * the invocation is recursive certain overflow checks are skipped.
+ *
+ * @param isRecursion whether this is a recursive invocation
+ * @return {@code this<sup>2</sup>}
+ */
+ private BigInteger square(boolean isRecursion) {
if (signum == 0) {
return ZERO;
}
@@ -1995,6 +2077,15 @@
if (len < TOOM_COOK_SQUARE_THRESHOLD) {
return squareKaratsuba();
} else {
+ //
+ // For a discussion of overflow detection see multiply()
+ //
+ if (!isRecursion) {
+ if (bitLength(mag, mag.length) > 16L*MAX_MAG_LENGTH) {
+ reportOverflow();
+ }
+ }
+
return squareToomCook3();
}
}
@@ -2146,13 +2237,13 @@
a0 = getToomSlice(k, r, 2, len);
BigInteger v0, v1, v2, vm1, vinf, t1, t2, tm1, da1;
- v0 = a0.square();
+ v0 = a0.square(true);
da1 = a2.add(a0);
- vm1 = da1.subtract(a1).square();
+ vm1 = da1.subtract(a1).square(true);
da1 = da1.add(a1);
- v1 = da1.square();
- vinf = a2.square();
- v2 = da1.add(a2).shiftLeft(1).subtract(a0).square();
+ v1 = da1.square(true);
+ vinf = a2.square(true);
+ v2 = da1.add(a2).shiftLeft(1).subtract(a0).square(true);
// The algorithm requires two divisions by 2 and one by 3.
// All divisions are known to be exact, that is, they do not produce
@@ -2323,10 +2414,11 @@
// The remaining part can then be exponentiated faster. The
// powers of two will be multiplied back at the end.
int powersOfTwo = partToSquare.getLowestSetBit();
- long bitsToShift = (long)powersOfTwo * exponent;
- if (bitsToShift > Integer.MAX_VALUE) {
+ long bitsToShiftLong = (long)powersOfTwo * exponent;
+ if (bitsToShiftLong > Integer.MAX_VALUE) {
reportOverflow();
}
+ int bitsToShift = (int)bitsToShiftLong;
int remainingBits;
@@ -2336,9 +2428,9 @@
remainingBits = partToSquare.bitLength();
if (remainingBits == 1) { // Nothing left but +/- 1?
if (signum < 0 && (exponent&1) == 1) {
- return NEGATIVE_ONE.shiftLeft(powersOfTwo*exponent);
+ return NEGATIVE_ONE.shiftLeft(bitsToShift);
} else {
- return ONE.shiftLeft(powersOfTwo*exponent);
+ return ONE.shiftLeft(bitsToShift);
}
}
} else {
@@ -2383,13 +2475,16 @@
if (bitsToShift + scaleFactor <= 62) { // Fits in long?
return valueOf((result << bitsToShift) * newSign);
} else {
- return valueOf(result*newSign).shiftLeft((int) bitsToShift);
+ return valueOf(result*newSign).shiftLeft(bitsToShift);
}
- }
- else {
+ } else {
return valueOf(result*newSign);
}
} else {
+ if ((long)bitLength() * exponent / Integer.SIZE > MAX_MAG_LENGTH) {
+ reportOverflow();
+ }
+
// Large number algorithm. This is basically identical to
// the algorithm above, but calls multiply() and square()
// which may use more efficient algorithms for large numbers.
@@ -2409,7 +2504,7 @@
// Multiply back the (exponentiated) powers of two (quickly,
// by shifting left)
if (powersOfTwo > 0) {
- answer = answer.shiftLeft(powersOfTwo*exponent);
+ answer = answer.shiftLeft(bitsToShift);
}
if (signum < 0 && (exponent&1) == 1) {
@@ -3584,7 +3679,7 @@
for (int i=1; i< len && pow2; i++)
pow2 = (mag[i] == 0);
- n = (pow2 ? magBitLength -1 : magBitLength);
+ n = (pow2 ? magBitLength - 1 : magBitLength);
} else {
n = magBitLength;
}
--- a/src/java.base/share/classes/java/nio/file/Files.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/nio/file/Files.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -1608,12 +1608,13 @@
}
/**
- * Tells whether or not a file is considered <em>hidden</em>. The exact
- * definition of hidden is platform or provider dependent. On UNIX for
- * example a file is considered to be hidden if its name begins with a
- * period character ('.'). On Windows a file is considered hidden if it
- * isn't a directory and the DOS {@link DosFileAttributes#isHidden hidden}
- * attribute is set.
+ * Tells whether or not a file is considered <em>hidden</em>.
+ *
+ * @apiNote
+ * The exact definition of hidden is platform or provider dependent. On UNIX
+ * for example a file is considered to be hidden if its name begins with a
+ * period character ('.'). On Windows a file is considered hidden if the DOS
+ * {@link DosFileAttributes#isHidden hidden} attribute is set.
*
* <p> Depending on the implementation this method may require to access
* the file system to determine if the file is considered hidden.
--- a/src/java.base/share/classes/java/security/spec/PSSParameterSpec.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/java/security/spec/PSSParameterSpec.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,6 @@
package java.security.spec;
import java.util.Objects;
-import java.security.spec.MGF1ParameterSpec;
/**
* This class specifies a parameter spec for RSASSA-PSS signature scheme,
@@ -218,4 +217,14 @@
public int getTrailerField() {
return trailerField;
}
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("MD: " + mdName + "\n")
+ .append("MGF: " + mgfSpec + "\n")
+ .append("SaltLength: " + saltLen + "\n")
+ .append("TrailerField: " + trailerField + "\n");
+ return sb.toString();
+ }
}
--- a/src/java.base/share/classes/javax/crypto/spec/GCMParameterSpec.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/javax/crypto/spec/GCMParameterSpec.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. 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
@@ -120,7 +120,7 @@
// Input sanity check
if ((src == null) ||(len < 0) || (offset < 0)
- || ((len + offset) > src.length)) {
+ || (len > (src.length - offset))) {
throw new IllegalArgumentException("Invalid buffer arguments");
}
--- a/src/java.base/share/classes/jdk/internal/loader/URLClassPath.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/jdk/internal/loader/URLClassPath.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -1092,10 +1092,15 @@
int i = 0;
while (st.hasMoreTokens()) {
String path = st.nextToken();
- URL url = DISABLE_CP_URL_CHECK ? new URL(base, path) : safeResolve(base, path);
+ URL url = DISABLE_CP_URL_CHECK ? new URL(base, path) : tryResolve(base, path);
if (url != null) {
urls[i] = url;
i++;
+ } else {
+ if (DEBUG_CP_URL_CHECK) {
+ System.err.println("Class-Path entry: \"" + path
+ + "\" ignored in JAR file " + base);
+ }
}
}
if (i == 0) {
@@ -1107,36 +1112,74 @@
return urls;
}
- /*
- * Return a URL for the given path resolved against the base URL, or
- * null if the resulting URL is invalid.
+ static URL tryResolve(URL base, String input) throws MalformedURLException {
+ if ("file".equalsIgnoreCase(base.getProtocol())) {
+ return tryResolveFile(base, input);
+ } else {
+ return tryResolveNonFile(base, input);
+ }
+ }
+
+ /**
+ * Attempt to return a file URL by resolving input against a base file
+ * URL. The input is an absolute or relative file URL that encodes a
+ * file path.
+ *
+ * @apiNote Nonsensical input such as a Windows file path with a drive
+ * letter cannot be disambiguated from an absolute URL so will be rejected
+ * (by returning null) by this method.
+ *
+ * @return the resolved URL or null if the input is an absolute URL with
+ * a scheme other than file (ignoring case)
+ * @throws MalformedURLException
*/
- static URL safeResolve(URL base, String path) {
- String child = path.replace(File.separatorChar, '/');
- try {
- if (!URI.create(child).isAbsolute()) {
- URL url = new URL(base, child);
- if (base.getProtocol().equalsIgnoreCase("file")) {
- return url;
- } else {
- String bp = base.getPath();
- String urlp = url.getPath();
- int pos = bp.lastIndexOf('/');
- if (pos == -1) {
- pos = bp.length() - 1;
- }
- if (urlp.regionMatches(0, bp, 0, pos + 1)
- && urlp.indexOf("..", pos) == -1) {
- return url;
- }
- }
+ static URL tryResolveFile(URL base, String input) throws MalformedURLException {
+ int index = input.indexOf(':');
+ boolean isFile;
+ if (index >= 0) {
+ String scheme = input.substring(0, index);
+ isFile = "file".equalsIgnoreCase(scheme);
+ } else {
+ isFile = true;
+ }
+ return (isFile) ? new URL(base, input) : null;
+ }
+
+ /**
+ * Attempt to return a URL by resolving input against a base URL. Returns
+ * null if the resolved URL is not contained by the base URL.
+ *
+ * @return the resolved URL or null
+ * @throws MalformedURLException
+ */
+ static URL tryResolveNonFile(URL base, String input) throws MalformedURLException {
+ String child = input.replace(File.separatorChar, '/');
+ if (isRelative(child)) {
+ URL url = new URL(base, child);
+ String bp = base.getPath();
+ String urlp = url.getPath();
+ int pos = bp.lastIndexOf('/');
+ if (pos == -1) {
+ pos = bp.length() - 1;
}
- } catch (MalformedURLException | IllegalArgumentException e) {}
- if (DEBUG_CP_URL_CHECK) {
- System.err.println("Class-Path entry: \"" + path + "\" ignored in JAR file " + base);
+ if (urlp.regionMatches(0, bp, 0, pos + 1)
+ && urlp.indexOf("..", pos) == -1) {
+ return url;
+ }
}
return null;
}
+
+ /**
+ * Returns true if the given input is a relative URI.
+ */
+ static boolean isRelative(String child) {
+ try {
+ return !URI.create(child).isAbsolute();
+ } catch (IllegalArgumentException e) {
+ return false;
+ }
+ }
}
/*
--- a/src/java.base/share/classes/sun/net/ext/ExtendedSocketOptions.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/net/ext/ExtendedSocketOptions.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -54,21 +54,53 @@
/** Return the, possibly empty, set of extended socket options available. */
public final Set<SocketOption<?>> options() { return options; }
- public static final Set<SocketOption<?>> options(short type) {
- return getInstance().options0(type);
+ /**
+ * Returns the (possibly empty) set of extended socket options for
+ * stream-oriented listening sockets.
+ */
+ public static Set<SocketOption<?>> serverSocketOptions() {
+ return getInstance().options0(SOCK_STREAM, true);
+ }
+
+ /**
+ * Returns the (possibly empty) set of extended socket options for
+ * stream-oriented connecting sockets.
+ */
+ public static Set<SocketOption<?>> clientSocketOptions() {
+ return getInstance().options0(SOCK_STREAM, false);
}
- private Set<SocketOption<?>> options0(short type) {
- Set<SocketOption<?>> extOptions = null;
+ /**
+ * Returns the (possibly empty) set of extended socket options for
+ * datagram-oriented sockets.
+ */
+ public static Set<SocketOption<?>> datagramSocketOptions() {
+ return getInstance().options0(SOCK_DGRAM, false);
+ }
+
+ private boolean isDatagramOption(SocketOption<?> option) {
+ return !option.name().startsWith("TCP_");
+ }
+
+ private boolean isStreamOption(SocketOption<?> option, boolean server) {
+ if (server && "SO_FLOW_SLA".equals(option.name())) {
+ return false;
+ } else {
+ return !option.name().startsWith("UDP_");
+ }
+ }
+
+ private Set<SocketOption<?>> options0(short type, boolean server) {
+ Set<SocketOption<?>> extOptions;
switch (type) {
case SOCK_DGRAM:
extOptions = options.stream()
- .filter((option) -> !option.name().startsWith("TCP_"))
+ .filter(option -> isDatagramOption(option))
.collect(Collectors.toUnmodifiableSet());
break;
case SOCK_STREAM:
extOptions = options.stream()
- .filter((option) -> !option.name().startsWith("UDP_"))
+ .filter(option -> isStreamOption(option, server))
.collect(Collectors.toUnmodifiableSet());
break;
default:
--- a/src/java.base/share/classes/sun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback.java Tue Jan 22 09:43:38 2019 -0500
@@ -33,8 +33,7 @@
* credentials without prompting) should only be tried with trusted sites.
*/
public abstract class NTLMAuthenticationCallback {
- private static volatile NTLMAuthenticationCallback callback =
- new DefaultNTLMAuthenticationCallback();
+ private static volatile NTLMAuthenticationCallback callback;
public static void setNTLMAuthenticationCallback(
NTLMAuthenticationCallback callback) {
@@ -50,10 +49,5 @@
* transparent Authentication.
*/
public abstract boolean isTrustedSite(URL url);
-
- static class DefaultNTLMAuthenticationCallback extends NTLMAuthenticationCallback {
- @Override
- public boolean isTrustedSite(URL url) { return true; }
- }
}
--- a/src/java.base/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -40,7 +40,6 @@
import java.util.concurrent.locks.ReentrantReadWriteLock;
import sun.net.NetHooks;
import sun.net.ext.ExtendedSocketOptions;
-import static sun.net.ext.ExtendedSocketOptions.SOCK_STREAM;
/**
* Base implementation of AsynchronousServerSocketChannel.
@@ -236,7 +235,7 @@
if (Net.isReusePortAvailable()) {
set.add(StandardSocketOptions.SO_REUSEPORT);
}
- set.addAll(ExtendedSocketOptions.options(SOCK_STREAM));
+ set.addAll(ExtendedSocketOptions.serverSocketOptions());
return Collections.unmodifiableSet(set);
}
}
--- a/src/java.base/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -40,7 +40,6 @@
import java.util.concurrent.locks.*;
import sun.net.NetHooks;
import sun.net.ext.ExtendedSocketOptions;
-import static sun.net.ext.ExtendedSocketOptions.SOCK_STREAM;
/**
* Base implementation of AsynchronousSocketChannel
@@ -513,7 +512,7 @@
set.add(StandardSocketOptions.SO_REUSEPORT);
}
set.add(StandardSocketOptions.TCP_NODELAY);
- set.addAll(ExtendedSocketOptions.options(SOCK_STREAM));
+ set.addAll(ExtendedSocketOptions.clientSocketOptions());
return Collections.unmodifiableSet(set);
}
}
--- a/src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -57,7 +57,6 @@
import sun.net.ResourceManager;
import sun.net.ext.ExtendedSocketOptions;
-import static sun.net.ext.ExtendedSocketOptions.SOCK_DGRAM;
/**
* An implementation of DatagramChannels.
@@ -335,7 +334,7 @@
set.add(StandardSocketOptions.IP_MULTICAST_IF);
set.add(StandardSocketOptions.IP_MULTICAST_TTL);
set.add(StandardSocketOptions.IP_MULTICAST_LOOP);
- set.addAll(ExtendedSocketOptions.options(SOCK_DGRAM));
+ set.addAll(ExtendedSocketOptions.datagramSocketOptions());
return Collections.unmodifiableSet(set);
}
}
--- a/src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -624,11 +624,10 @@
{
// Untrusted target: Use a newly-erased buffer
int c = Math.min(icount, TRANSFER_SIZE);
- ByteBuffer bb = Util.getTemporaryDirectBuffer(c);
+ ByteBuffer bb = ByteBuffer.allocate(c);
long tw = 0; // Total bytes written
long pos = position;
try {
- Util.erase(bb);
while (tw < icount) {
bb.limit(Math.min((int)(icount - tw), TRANSFER_SIZE));
int nr = read(bb, pos);
@@ -649,8 +648,6 @@
if (tw > 0)
return tw;
throw x;
- } finally {
- Util.releaseTemporaryDirectBuffer(bb);
}
}
@@ -734,11 +731,10 @@
{
// Untrusted target: Use a newly-erased buffer
int c = (int)Math.min(count, TRANSFER_SIZE);
- ByteBuffer bb = Util.getTemporaryDirectBuffer(c);
+ ByteBuffer bb = ByteBuffer.allocate(c);
long tw = 0; // Total bytes written
long pos = position;
try {
- Util.erase(bb);
while (tw < count) {
bb.limit((int)Math.min((count - tw), (long)TRANSFER_SIZE));
// ## Bug: Will block reading src if this channel
@@ -759,8 +755,6 @@
if (tw > 0)
return tw;
throw x;
- } finally {
- Util.releaseTemporaryDirectBuffer(bb);
}
}
--- a/src/java.base/share/classes/sun/nio/ch/ServerSocketChannelImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/nio/ch/ServerSocketChannelImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -28,11 +28,9 @@
import java.io.FileDescriptor;
import java.io.IOException;
import java.net.InetSocketAddress;
-import java.net.ProtocolFamily;
import java.net.ServerSocket;
import java.net.SocketAddress;
import java.net.SocketOption;
-import java.net.StandardProtocolFamily;
import java.net.StandardSocketOptions;
import java.nio.channels.AlreadyBoundException;
import java.nio.channels.AsynchronousCloseException;
@@ -50,7 +48,6 @@
import sun.net.NetHooks;
import sun.net.ext.ExtendedSocketOptions;
-import static sun.net.ext.ExtendedSocketOptions.SOCK_STREAM;
/**
* An implementation of ServerSocketChannels
@@ -193,7 +190,7 @@
if (Net.isReusePortAvailable()) {
set.add(StandardSocketOptions.SO_REUSEPORT);
}
- set.addAll(ExtendedSocketOptions.options(SOCK_STREAM));
+ set.addAll(ExtendedSocketOptions.serverSocketOptions());
return Collections.unmodifiableSet(set);
}
}
--- a/src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -55,7 +55,6 @@
import sun.net.NetHooks;
import sun.net.ext.ExtendedSocketOptions;
import sun.net.util.SocketExceptions;
-import static sun.net.ext.ExtendedSocketOptions.SOCK_STREAM;
/**
* An implementation of SocketChannels
@@ -282,7 +281,7 @@
// additional options required by socket adaptor
set.add(StandardSocketOptions.IP_TOS);
set.add(ExtendedSocketOption.SO_OOBINLINE);
- set.addAll(ExtendedSocketOptions.options(SOCK_STREAM));
+ set.addAll(ExtendedSocketOptions.clientSocketOptions());
return Collections.unmodifiableSet(set);
}
}
--- a/src/java.base/share/classes/sun/nio/cs/UnicodeDecoder.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/nio/cs/UnicodeDecoder.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -91,11 +91,6 @@
char c = decode(b1, b2);
- if (c == REVERSED_MARK) {
- // A reversed BOM cannot occur within middle of stream
- return CoderResult.malformedForLength(2);
- }
-
// Surrogates
if (Character.isSurrogate(c)) {
if (Character.isHighSurrogate(c)) {
--- a/src/java.base/share/classes/sun/security/pkcs10/PKCS10.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/pkcs10/PKCS10.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2019, Oracle and/or its affiliates. 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
@@ -32,7 +32,6 @@
import java.security.cert.CertificateException;
import java.security.*;
-import java.security.spec.AlgorithmParameterSpec;
import java.util.Base64;
@@ -237,10 +236,14 @@
*/
AlgorithmId algId = null;
try {
- algId = AlgorithmId.get(signature.getAlgorithm());
+ AlgorithmParameters params = signature.getParameters();
+ algId = params == null
+ ? AlgorithmId.get(signature.getAlgorithm())
+ : AlgorithmId.get(params);
} catch (NoSuchAlgorithmException nsae) {
throw new SignatureException(nsae);
}
+
algId.encode(scratch); // sig algorithm
scratch.putBitString(sig); // sig
--- a/src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -63,6 +63,7 @@
import javax.security.auth.DestroyFailedException;
import javax.security.auth.x500.X500Principal;
+import sun.security.tools.KeyStoreUtil;
import sun.security.util.Debug;
import sun.security.util.DerInputStream;
import sun.security.util.DerOutputStream;
@@ -74,6 +75,7 @@
import sun.security.pkcs.EncryptedPrivateKeyInfo;
import sun.security.provider.JavaKeyStore.JKS;
import sun.security.util.KeyStoreDelegator;
+import sun.security.x509.AuthorityKeyIdentifierExtension;
/**
@@ -306,8 +308,7 @@
Collections.synchronizedMap(new LinkedHashMap<String, Entry>());
private ArrayList<KeyEntry> keyList = new ArrayList<KeyEntry>();
- private LinkedHashMap<X500Principal, X509Certificate> certsMap =
- new LinkedHashMap<X500Principal, X509Certificate>();
+ private List<X509Certificate> allCerts = new ArrayList<>();
private ArrayList<CertEntry> certEntries = new ArrayList<CertEntry>();
/**
@@ -2212,11 +2213,10 @@
}
}
chain.add(cert);
- X500Principal issuerDN = cert.getIssuerX500Principal();
- if (issuerDN.equals(cert.getSubjectX500Principal())) {
+ if (KeyStoreUtil.isSelfSigned(cert)) {
break;
}
- cert = certsMap.get(issuerDN);
+ cert = findIssuer(cert);
}
/* Update existing KeyEntry in entries table */
if (chain.size() > 0) {
@@ -2246,11 +2246,75 @@
}
certEntries.clear();
- certsMap.clear();
+ allCerts.clear();
keyList.clear();
}
/**
+ * Find the issuer of input in allCerts. If the input has an
+ * AuthorityKeyIdentifier extension and the keyId inside matches
+ * the keyId of the SubjectKeyIdentifier of a cert. This cert is
+ * returned. Otherwise, a cert whose subjectDN is the same as the
+ * input's issuerDN is returned.
+ *
+ * @param input the input certificate
+ * @return the isssuer, or null if none matches
+ */
+ private X509Certificate findIssuer(X509Certificate input) {
+
+ X509Certificate fallback = null; // the DN match
+ X500Principal issuerPrinc = input.getIssuerX500Principal();
+
+ // AuthorityKeyIdentifier value encoded as an OCTET STRING
+ byte[] issuerIdExtension = input.getExtensionValue("2.5.29.35");
+ byte[] issuerId = null;
+
+ if (issuerIdExtension != null) {
+ try {
+ issuerId = new AuthorityKeyIdentifierExtension(
+ false,
+ new DerValue(issuerIdExtension).getOctetString())
+ .getEncodedKeyIdentifier();
+ } catch (IOException e) {
+ // ignored. issuerId is still null
+ }
+ }
+
+ for (X509Certificate cert : allCerts) {
+ if (cert.getSubjectX500Principal().equals(issuerPrinc)) {
+ if (issuerId != null) {
+ // SubjectKeyIdentifier value encoded as an OCTET STRING
+ byte[] subjectIdExtension = cert.getExtensionValue("2.5.29.14");
+ byte[] subjectId = null;
+ if (subjectIdExtension != null) {
+ try {
+ subjectId = new DerValue(subjectIdExtension)
+ .getOctetString();
+ } catch (IOException e) {
+ // ignored. issuerId is still null
+ }
+ }
+ if (subjectId != null) {
+ if (Arrays.equals(issuerId, subjectId)) {
+ // keyId exact match!
+ return cert;
+ } else {
+ // Different keyId. Not a fallback.
+ continue;
+ }
+ } else {
+ // A DN match with no subjectId
+ fallback = cert;
+ }
+ } else { // if there is no issuerId, return the 1st DN match
+ return cert;
+ }
+ }
+ }
+ return fallback;
+ }
+
+ /**
* Returns if a pkcs12 file is password-less. This means no cert is
* encrypted and there is no Mac. Please note that the private key
* can be encrypted.
@@ -2507,12 +2571,7 @@
} else {
certEntries.add(new CertEntry(cert, keyId, alias));
}
- X500Principal subjectDN = cert.getSubjectX500Principal();
- if (subjectDN != null) {
- if (!certsMap.containsKey(subjectDN)) {
- certsMap.put(subjectDN, cert);
- }
- }
+ allCerts.add(cert);
}
}
}
--- a/src/java.base/share/classes/sun/security/rsa/PSSParameters.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/rsa/PSSParameters.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -52,13 +52,7 @@
public final class PSSParameters extends AlgorithmParametersSpi {
- private String mdName;
- private MGF1ParameterSpec mgfSpec;
- private int saltLength;
- private int trailerField;
-
- private static final ObjectIdentifier OID_MGF1 =
- ObjectIdentifier.newInternal(new int[] {1,2,840,113549,1,1,8});
+ private PSSParameterSpec spec;
public PSSParameters() {
}
@@ -71,9 +65,9 @@
("Inappropriate parameter specification");
}
PSSParameterSpec spec = (PSSParameterSpec) paramSpec;
- this.mdName = spec.getDigestAlgorithm();
+
String mgfName = spec.getMGFAlgorithm();
- if (!mgfName.equalsIgnoreCase("MGF1")) {
+ if (!spec.getMGFAlgorithm().equalsIgnoreCase("MGF1")) {
throw new InvalidParameterSpecException("Unsupported mgf " +
mgfName + "; MGF1 only");
}
@@ -82,31 +76,30 @@
throw new InvalidParameterSpecException("Inappropriate mgf " +
"parameters; non-null MGF1ParameterSpec only");
}
- this.mgfSpec = (MGF1ParameterSpec) mgfSpec;
- this.saltLength = spec.getSaltLength();
- this.trailerField = spec.getTrailerField();
+ this.spec = spec;
}
@Override
protected void engineInit(byte[] encoded) throws IOException {
// first initialize with the DEFAULT values before
// retrieving from the encoding bytes
- this.mdName = DEFAULT.getDigestAlgorithm();
- this.mgfSpec = (MGF1ParameterSpec) DEFAULT.getMGFParameters();
- this.saltLength = DEFAULT.getSaltLength();
- this.trailerField = DEFAULT.getTrailerField();
+ String mdName = DEFAULT.getDigestAlgorithm();
+ MGF1ParameterSpec mgfSpec = (MGF1ParameterSpec) DEFAULT.getMGFParameters();
+ int saltLength = DEFAULT.getSaltLength();
+ int trailerField = DEFAULT.getTrailerField();
DerInputStream der = new DerInputStream(encoded);
DerValue[] datum = der.getSequence(4);
+
for (DerValue d : datum) {
if (d.isContextSpecific((byte) 0x00)) {
// hash algid
- this.mdName = AlgorithmId.parse
+ mdName = AlgorithmId.parse
(d.data.getDerValue()).getName();
} else if (d.isContextSpecific((byte) 0x01)) {
// mgf algid
AlgorithmId val = AlgorithmId.parse(d.data.getDerValue());
- if (!val.getOID().equals(OID_MGF1)) {
+ if (!val.getOID().equals(AlgorithmId.mgf1_oid)) {
throw new IOException("Only MGF1 mgf is supported");
}
AlgorithmId params = AlgorithmId.parse(
@@ -114,25 +107,25 @@
String mgfDigestName = params.getName();
switch (mgfDigestName) {
case "SHA-1":
- this.mgfSpec = MGF1ParameterSpec.SHA1;
+ mgfSpec = MGF1ParameterSpec.SHA1;
break;
case "SHA-224":
- this.mgfSpec = MGF1ParameterSpec.SHA224;
+ mgfSpec = MGF1ParameterSpec.SHA224;
break;
case "SHA-256":
- this.mgfSpec = MGF1ParameterSpec.SHA256;
+ mgfSpec = MGF1ParameterSpec.SHA256;
break;
case "SHA-384":
- this.mgfSpec = MGF1ParameterSpec.SHA384;
+ mgfSpec = MGF1ParameterSpec.SHA384;
break;
case "SHA-512":
- this.mgfSpec = MGF1ParameterSpec.SHA512;
+ mgfSpec = MGF1ParameterSpec.SHA512;
break;
case "SHA-512/224":
- this.mgfSpec = MGF1ParameterSpec.SHA512_224;
+ mgfSpec = MGF1ParameterSpec.SHA512_224;
break;
case "SHA-512/256":
- this.mgfSpec = MGF1ParameterSpec.SHA512_256;
+ mgfSpec = MGF1ParameterSpec.SHA512_256;
break;
default:
throw new IOException
@@ -141,21 +134,24 @@
}
} else if (d.isContextSpecific((byte) 0x02)) {
// salt length
- this.saltLength = d.data.getDerValue().getInteger();
- if (this.saltLength < 0) {
+ saltLength = d.data.getDerValue().getInteger();
+ if (saltLength < 0) {
throw new IOException("Negative value for saltLength");
}
} else if (d.isContextSpecific((byte) 0x03)) {
// trailer field
- this.trailerField = d.data.getDerValue().getInteger();
- if (this.trailerField != 1) {
+ trailerField = d.data.getDerValue().getInteger();
+ if (trailerField != 1) {
throw new IOException("Unsupported trailerField value " +
- this.trailerField);
+ trailerField);
}
} else {
throw new IOException("Invalid encoded PSSParameters");
}
}
+
+ this.spec = new PSSParameterSpec(mdName, "MGF1", mgfSpec,
+ saltLength, trailerField);
}
@Override
@@ -173,9 +169,7 @@
T engineGetParameterSpec(Class<T> paramSpec)
throws InvalidParameterSpecException {
if (PSSParameterSpec.class.isAssignableFrom(paramSpec)) {
- return paramSpec.cast(
- new PSSParameterSpec(mdName, "MGF1", mgfSpec,
- saltLength, trailerField));
+ return paramSpec.cast(spec);
} else {
throw new InvalidParameterSpecException
("Inappropriate parameter specification");
@@ -184,54 +178,7 @@
@Override
protected byte[] engineGetEncoded() throws IOException {
- DerOutputStream tmp = new DerOutputStream();
- DerOutputStream tmp2, tmp3;
-
- // MD
- AlgorithmId mdAlgId;
- try {
- mdAlgId = AlgorithmId.get(mdName);
- } catch (NoSuchAlgorithmException nsae) {
- throw new IOException("AlgorithmId " + mdName +
- " impl not found");
- }
- tmp2 = new DerOutputStream();
- mdAlgId.derEncode(tmp2);
- tmp.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0),
- tmp2);
-
- // MGF
- tmp2 = new DerOutputStream();
- tmp2.putOID(OID_MGF1);
- AlgorithmId mgfDigestId;
- try {
- mgfDigestId = AlgorithmId.get(mgfSpec.getDigestAlgorithm());
- } catch (NoSuchAlgorithmException nase) {
- throw new IOException("AlgorithmId " +
- mgfSpec.getDigestAlgorithm() + " impl not found");
- }
- mgfDigestId.encode(tmp2);
- tmp3 = new DerOutputStream();
- tmp3.write(DerValue.tag_Sequence, tmp2);
- tmp.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)1),
- tmp3);
-
- // SaltLength
- tmp2 = new DerOutputStream();
- tmp2.putInteger(saltLength);
- tmp.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)2),
- tmp2);
-
- // TrailerField
- tmp2 = new DerOutputStream();
- tmp2.putInteger(trailerField);
- tmp.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)3),
- tmp2);
-
- // Put all together under a SEQUENCE tag
- DerOutputStream out = new DerOutputStream();
- out.write(DerValue.tag_Sequence, tmp);
- return out.toByteArray();
+ return getEncoded(spec);
}
@Override
@@ -245,11 +192,83 @@
@Override
protected String engineToString() {
- StringBuilder sb = new StringBuilder();
- sb.append("MD: " + mdName + "\n")
- .append("MGF: MGF1" + mgfSpec.getDigestAlgorithm() + "\n")
- .append("SaltLength: " + saltLength + "\n")
- .append("TrailerField: " + trailerField + "\n");
- return sb.toString();
+ return spec.toString();
+ }
+
+ /**
+ * Returns the encoding of a {@link PSSParameterSpec} object. This method
+ * is used in this class and {@link AlgorithmId}.
+ *
+ * @param spec a {@code PSSParameterSpec} object
+ * @return its DER encoding
+ * @throws IOException if the name of a MessageDigest or MaskGenAlgorithm
+ * is unsupported
+ */
+ public static byte[] getEncoded(PSSParameterSpec spec) throws IOException {
+
+ AlgorithmParameterSpec mgfSpec = spec.getMGFParameters();
+ if (!(mgfSpec instanceof MGF1ParameterSpec)) {
+ throw new IOException("Cannot encode " + mgfSpec);
+ }
+
+ MGF1ParameterSpec mgf1Spec = (MGF1ParameterSpec)mgfSpec;
+
+ DerOutputStream tmp = new DerOutputStream();
+ DerOutputStream tmp2, tmp3;
+
+ // MD
+ AlgorithmId mdAlgId;
+ try {
+ mdAlgId = AlgorithmId.get(spec.getDigestAlgorithm());
+ } catch (NoSuchAlgorithmException nsae) {
+ throw new IOException("AlgorithmId " + spec.getDigestAlgorithm() +
+ " impl not found");
+ }
+ if (!mdAlgId.getOID().equals(AlgorithmId.SHA_oid)) {
+ tmp2 = new DerOutputStream();
+ mdAlgId.derEncode(tmp2);
+ tmp.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0),
+ tmp2);
+ }
+
+ // MGF
+ AlgorithmId mgfDigestId;
+ try {
+ mgfDigestId = AlgorithmId.get(mgf1Spec.getDigestAlgorithm());
+ } catch (NoSuchAlgorithmException nase) {
+ throw new IOException("AlgorithmId " +
+ mgf1Spec.getDigestAlgorithm() + " impl not found");
+ }
+
+ if (!mgfDigestId.getOID().equals(AlgorithmId.SHA_oid)) {
+ tmp2 = new DerOutputStream();
+ tmp2.putOID(AlgorithmId.mgf1_oid);
+ mgfDigestId.encode(tmp2);
+ tmp3 = new DerOutputStream();
+ tmp3.write(DerValue.tag_Sequence, tmp2);
+ tmp.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 1),
+ tmp3);
+ }
+
+ // SaltLength
+ if (spec.getSaltLength() != 20) {
+ tmp2 = new DerOutputStream();
+ tmp2.putInteger(spec.getSaltLength());
+ tmp.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 2),
+ tmp2);
+ }
+
+ // TrailerField
+ if (spec.getTrailerField() != PSSParameterSpec.TRAILER_FIELD_BC) {
+ tmp2 = new DerOutputStream();
+ tmp2.putInteger(spec.getTrailerField());
+ tmp.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 3),
+ tmp2);
+ }
+
+ // Put all together under a SEQUENCE tag
+ DerOutputStream out = new DerOutputStream();
+ out.write(DerValue.tag_Sequence, tmp);
+ return out.toByteArray();
}
}
--- a/src/java.base/share/classes/sun/security/ssl/Ciphertext.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/ssl/Ciphertext.java Tue Jan 22 09:43:38 2019 -0500
@@ -31,8 +31,6 @@
* Ciphertext
*/
final class Ciphertext {
- static final Ciphertext CIPHERTEXT_NULL = new Ciphertext();
-
final byte contentType;
final byte handshakeType;
final long recordSN;
--- a/src/java.base/share/classes/sun/security/ssl/DHKeyExchange.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/ssl/DHKeyExchange.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -220,8 +220,8 @@
public byte[] encode() {
// Note: the DH public value is encoded as a big-endian integer
// and padded to the left with zeros to the size of p in bytes.
- byte[] encoded = publicKey.getY().toByteArray();
- int pSize = KeyUtil.getKeySize(publicKey);
+ byte[] encoded = Utilities.toByteArray(publicKey.getY());
+ int pSize = (KeyUtil.getKeySize(publicKey) + 7) >>> 3;
if (pSize > 0 && encoded.length < pSize) {
byte[] buffer = new byte[pSize];
System.arraycopy(encoded, 0,
--- a/src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -247,6 +247,19 @@
hsStatus = ciphertext.handshakeStatus;
} else {
hsStatus = getHandshakeStatus();
+ if (ciphertext == null && !conContext.isNegotiated &&
+ conContext.isInboundClosed() &&
+ hsStatus == HandshakeStatus.NEED_WRAP) {
+ // Even the outboud is open, no futher data could be wrapped as:
+ // 1. the outbound is empty
+ // 2. no negotiated connection
+ // 3. the inbound has closed, cannot complete the handshake
+ //
+ // Mark the engine as closed if the handshake status is
+ // NEED_WRAP. Otherwise, it could lead to dead loops in
+ // applications.
+ status = Status.CLOSED;
+ }
}
int deltaSrcs = srcsRemains;
@@ -279,7 +292,7 @@
}
if (ciphertext == null) {
- return Ciphertext.CIPHERTEXT_NULL;
+ return null;
}
// Is the handshake completed?
--- a/src/java.base/share/classes/sun/security/ssl/TransportContext.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/ssl/TransportContext.java Tue Jan 22 09:43:38 2019 -0500
@@ -577,13 +577,7 @@
} else if (!isOutboundClosed()) {
// Special case that the inbound was closed, but outbound open.
return HandshakeStatus.NEED_WRAP;
- }
- } else if (isOutboundClosed() && !isInboundClosed()) {
- // Special case that the outbound was closed, but inbound open.
- return HandshakeStatus.NEED_UNWRAP;
- } else if (!isOutboundClosed() && isInboundClosed()) {
- // Special case that the inbound was closed, but outbound open.
- return HandshakeStatus.NEED_WRAP;
+ } // Otherwise, both inbound and outbound are closed.
}
return HandshakeStatus.NOT_HANDSHAKING;
--- a/src/java.base/share/classes/sun/security/tools/keytool/CertAndKeyGen.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/tools/keytool/CertAndKeyGen.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2019, Oracle and/or its affiliates. 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
@@ -30,6 +30,7 @@
import java.security.cert.CertificateException;
import java.security.cert.CertificateEncodingException;
import java.security.*;
+import java.security.spec.AlgorithmParameterSpec;
import java.security.spec.ECGenParameterSpec;
import java.security.spec.NamedParameterSpec;
import java.util.Date;
@@ -37,7 +38,6 @@
import sun.security.pkcs10.PKCS10;
import sun.security.x509.*;
-
/**
* Generate a pair of keys, and provide access to them. This class is
* provided primarily for ease of use.
@@ -282,12 +282,14 @@
new CertificateValidity(firstDate,lastDate);
X509CertInfo info = new X509CertInfo();
+ AlgorithmParameterSpec params = AlgorithmId
+ .getDefaultAlgorithmParameterSpec(sigAlg, privateKey);
// Add all mandatory attributes
info.set(X509CertInfo.VERSION,
new CertificateVersion(CertificateVersion.V3));
info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(
new java.util.Random().nextInt() & 0x7fffffff));
- AlgorithmId algID = AlgorithmId.get(sigAlg);
+ AlgorithmId algID = AlgorithmId.getWithParameterSpec(sigAlg, params);
info.set(X509CertInfo.ALGORITHM_ID,
new CertificateAlgorithmId(algID));
info.set(X509CertInfo.SUBJECT, myname);
@@ -297,13 +299,19 @@
if (ext != null) info.set(X509CertInfo.EXTENSIONS, ext);
cert = new X509CertImpl(info);
- cert.sign(privateKey, this.sigAlg);
+ cert.sign(privateKey,
+ params,
+ sigAlg,
+ null);
return (X509Certificate)cert;
} catch (IOException e) {
throw new CertificateEncodingException("getSelfCert: " +
e.getMessage());
+ } catch (InvalidAlgorithmParameterException e2) {
+ throw new SignatureException(
+ "Unsupported PSSParameterSpec: " + e2.getMessage());
}
}
@@ -329,6 +337,7 @@
* @exception InvalidKeyException on key handling errors.
* @exception SignatureException on signature handling errors.
*/
+ // This method is not used inside JDK. Will not update it.
public PKCS10 getCertRequest (X500Name myname)
throws InvalidKeyException, SignatureException
{
--- a/src/java.base/share/classes/sun/security/tools/keytool/Main.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/tools/keytool/Main.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -52,6 +52,7 @@
import java.security.interfaces.ECKey;
+import java.security.spec.AlgorithmParameterSpec;
import java.security.spec.ECParameterSpec;
import java.text.Collator;
import java.text.MessageFormat;
@@ -1431,14 +1432,16 @@
signature.initSign(privateKey);
X509CertInfo info = new X509CertInfo();
+ AlgorithmParameterSpec params = AlgorithmId
+ .getDefaultAlgorithmParameterSpec(sigAlgName, privateKey);
+ AlgorithmId algID = AlgorithmId.getWithParameterSpec(sigAlgName, params);
info.set(X509CertInfo.VALIDITY, interval);
info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(
new java.util.Random().nextInt() & 0x7fffffff));
info.set(X509CertInfo.VERSION,
new CertificateVersion(CertificateVersion.V3));
info.set(X509CertInfo.ALGORITHM_ID,
- new CertificateAlgorithmId(
- AlgorithmId.get(sigAlgName)));
+ new CertificateAlgorithmId(algID));
info.set(X509CertInfo.ISSUER, issuer);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
@@ -1482,7 +1485,7 @@
signerCert.getPublicKey());
info.set(X509CertInfo.EXTENSIONS, ext);
X509CertImpl cert = new X509CertImpl(info);
- cert.sign(privateKey, sigAlgName);
+ cert.sign(privateKey, params, sigAlgName, null);
dumpCert(cert, out);
for (Certificate ca: keyStore.getCertificateChain(alias)) {
if (ca instanceof X509Certificate) {
@@ -1585,6 +1588,12 @@
Signature signature = Signature.getInstance(sigAlgName);
signature.initSign(privKey);
+ AlgorithmParameterSpec params = AlgorithmId
+ .getDefaultAlgorithmParameterSpec(sigAlgName, privKey);
+ if (params != null) {
+ signature.setParameter(params);
+ }
+
X500Name subject = dname == null?
new X500Name(((X509Certificate)cert).getSubjectDN().toString()):
new X500Name(dname);
@@ -2962,7 +2971,9 @@
// other solution: We first sign the cert, then retrieve the
// outer sigalg and use it to set the inner sigalg
X509CertImpl newCert = new X509CertImpl(certInfo);
- newCert.sign(privKey, sigAlgName);
+ AlgorithmParameterSpec params = AlgorithmId
+ .getDefaultAlgorithmParameterSpec(sigAlgName, privKey);
+ newCert.sign(privKey, params, sigAlgName, null);
AlgorithmId sigAlgid = (AlgorithmId)newCert.get(X509CertImpl.SIG_ALG);
certInfo.set(CertificateAlgorithmId.NAME + "." +
CertificateAlgorithmId.ALGORITHM, sigAlgid);
@@ -2979,7 +2990,7 @@
certInfo.set(X509CertInfo.EXTENSIONS, ext);
// Sign the new certificate
newCert = new X509CertImpl(certInfo);
- newCert.sign(privKey, sigAlgName);
+ newCert.sign(privKey, params, sigAlgName, null);
// Store the new certificate as a single-element certificate chain
keyStore.setKeyEntry(alias, privKey,
@@ -3773,9 +3784,9 @@
replyCerts.length);
tmpCerts[tmpCerts.length-1] = root.snd;
replyCerts = tmpCerts;
- checkWeak(String.format(rb.getString(fromKeyStore ?
- "alias.in.keystore" :
- "alias.in.cacerts"),
+ checkWeak(String.format(fromKeyStore
+ ? rb.getString("alias.in.keystore")
+ : rb.getString("alias.in.cacerts"),
root.fst),
root.snd);
}
--- a/src/java.base/share/classes/sun/security/tools/keytool/Resources.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/tools/keytool/Resources.java Tue Jan 22 09:43:38 2019 -0500
@@ -253,7 +253,6 @@
{"Keystore.password.is.too.short.must.be.at.least.6.characters",
"Keystore password is too short - must be at least 6 characters"},
{"Unknown.Entry.Type", "Unknown Entry Type"},
- {"Too.many.failures.Alias.not.changed", "Too many failures. Alias not changed"},
{"Entry.for.alias.alias.successfully.imported.",
"Entry for alias {0} successfully imported."},
{"Entry.for.alias.alias.not.imported.", "Entry for alias {0} not imported."},
@@ -314,10 +313,6 @@
{"Too.many.failures.Key.entry.not.cloned",
"Too many failures. Key entry not cloned"},
{"key.password.for.alias.", "key password for <{0}>"},
- {"Keystore.entry.for.id.getName.already.exists",
- "Keystore entry for <{0}> already exists"},
- {"Creating.keystore.entry.for.id.getName.",
- "Creating keystore entry for <{0}> ..."},
{"No.entries.from.identity.database.added",
"No entries from identity database added"},
{"Alias.name.alias", "Alias name: {0}"},
@@ -355,7 +350,6 @@
{"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
"Do you still want to add it to your own keystore? [no]: "},
{"Trust.this.certificate.no.", "Trust this certificate? [no]: "},
- {"YES", "YES"},
{"New.prompt.", "New {0}: "},
{"Passwords.must.differ", "Passwords must differ"},
{"Re.enter.new.prompt.", "Re-enter new {0}: "},
@@ -395,7 +389,6 @@
{"Signer.d.", "Signer #%d:"},
{"Timestamp.", "Timestamp:"},
{"Signature.", "Signature:"},
- {"CRLs.", "CRLs:"},
{"Certificate.owner.", "Certificate owner: "},
{"Not.a.signed.jar.file", "Not a signed jar file"},
{"No.certificate.from.the.SSL.server",
@@ -414,13 +407,10 @@
"Certificate reply does not contain public key for <{0}>"},
{"Incomplete.certificate.chain.in.reply",
"Incomplete certificate chain in reply"},
- {"Certificate.chain.in.reply.does.not.verify.",
- "Certificate chain in reply does not verify: "},
{"Top.level.certificate.in.reply.",
"Top-level certificate in reply:\n"},
{".is.not.trusted.", "... is not trusted. "},
{"Install.reply.anyway.no.", "Install reply anyway? [no]: "},
- {"NO", "NO"},
{"Public.keys.in.reply.and.keystore.don.t.match",
"Public keys in reply and keystore don't match"},
{"Certificate.reply.and.certificate.in.keystore.are.identical",
--- a/src/java.base/share/classes/sun/security/util/Resources.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/util/Resources.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. 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
@@ -66,8 +66,6 @@
{"Subject.", "Subject:\n"},
{".Principal.", "\tPrincipal: "},
{".Public.Credential.", "\tPublic Credential: "},
- {".Private.Credentials.inaccessible.",
- "\tPrivate Credentials inaccessible\n"},
{".Private.Credential.", "\tPrivate Credential: "},
{".Private.Credential.inaccessible.",
"\tPrivate Credential inaccessible\n"},
@@ -89,16 +87,6 @@
"invalid null CallbackHandler provided"},
{"null.subject.logout.called.before.login",
"null subject - logout called before login"},
- {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
- "unable to instantiate LoginModule, {0}, because it does not provide a no-argument constructor"},
- {"unable.to.instantiate.LoginModule",
- "unable to instantiate LoginModule"},
- {"unable.to.instantiate.LoginModule.",
- "unable to instantiate LoginModule: "},
- {"unable.to.find.LoginModule.class.",
- "unable to find LoginModule class: "},
- {"unable.to.access.LoginModule.",
- "unable to access LoginModule: "},
{"Login.Failure.all.modules.ignored",
"Login Failure: all modules ignored"},
--- a/src/java.base/share/classes/sun/security/x509/AlgorithmId.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/x509/AlgorithmId.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2019, Oracle and/or its affiliates. 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
@@ -26,9 +26,14 @@
package sun.security.x509;
import java.io.*;
+import java.security.spec.AlgorithmParameterSpec;
+import java.security.spec.InvalidParameterSpecException;
+import java.security.spec.MGF1ParameterSpec;
+import java.security.spec.PSSParameterSpec;
import java.util.*;
import java.security.*;
+import sun.security.rsa.PSSParameters;
import sun.security.util.*;
@@ -190,7 +195,12 @@
} else {
bytes.putNull();
}*/
- bytes.putNull();
+ if (algid.equals(RSASSA_PSS_oid)) {
+ // RFC 4055 3.3: when an RSASSA-PSS key does not require
+ // parameter validation, field is absent.
+ } else {
+ bytes.putNull();
+ }
} else {
bytes.putDerValue(params);
}
@@ -689,6 +699,8 @@
oid(1, 2, 840, 113549, 1, 1, 1);
public static final ObjectIdentifier RSAES_OAEP_oid =
oid(1, 2, 840, 113549, 1, 1, 7);
+ public static final ObjectIdentifier mgf1_oid =
+ oid(1, 2, 840, 113549, 1, 1, 8);
public static final ObjectIdentifier RSASSA_PSS_oid =
oid(1, 2, 840, 113549, 1, 1, 10);
@@ -1063,6 +1075,81 @@
}
}
+ // Most commonly used PSSParameterSpec and AlgorithmId
+ private static class PSSParamsHolder {
+
+ final static PSSParameterSpec PSS_256_SPEC = new PSSParameterSpec(
+ "SHA-256", "MGF1",
+ new MGF1ParameterSpec("SHA-256"),
+ 32, PSSParameterSpec.TRAILER_FIELD_BC);
+ final static PSSParameterSpec PSS_384_SPEC = new PSSParameterSpec(
+ "SHA-384", "MGF1",
+ new MGF1ParameterSpec("SHA-384"),
+ 48, PSSParameterSpec.TRAILER_FIELD_BC);
+ final static PSSParameterSpec PSS_512_SPEC = new PSSParameterSpec(
+ "SHA-512", "MGF1",
+ new MGF1ParameterSpec("SHA-512"),
+ 64, PSSParameterSpec.TRAILER_FIELD_BC);
+
+ final static AlgorithmId PSS_256_ID;
+ final static AlgorithmId PSS_384_ID;
+ final static AlgorithmId PSS_512_ID;
+
+ static {
+ try {
+ PSS_256_ID = new AlgorithmId(RSASSA_PSS_oid,
+ new DerValue(PSSParameters.getEncoded(PSS_256_SPEC)));
+ PSS_384_ID = new AlgorithmId(RSASSA_PSS_oid,
+ new DerValue(PSSParameters.getEncoded(PSS_384_SPEC)));
+ PSS_512_ID = new AlgorithmId(RSASSA_PSS_oid,
+ new DerValue(PSSParameters.getEncoded(PSS_512_SPEC)));
+ } catch (IOException e) {
+ throw new AssertionError("Should not happen", e);
+ }
+ }
+ }
+
+ public static AlgorithmId getWithParameterSpec(String algName,
+ AlgorithmParameterSpec spec) throws NoSuchAlgorithmException {
+
+ if (spec == null) {
+ return AlgorithmId.get(algName);
+ } else if (spec == PSSParamsHolder.PSS_256_SPEC) {
+ return PSSParamsHolder.PSS_256_ID;
+ } else if (spec == PSSParamsHolder.PSS_384_SPEC) {
+ return PSSParamsHolder.PSS_384_ID;
+ } else if (spec == PSSParamsHolder.PSS_512_SPEC) {
+ return PSSParamsHolder.PSS_512_ID;
+ } else {
+ try {
+ AlgorithmParameters result =
+ AlgorithmParameters.getInstance(algName);
+ result.init(spec);
+ return get(result);
+ } catch (InvalidParameterSpecException | NoSuchAlgorithmException e) {
+ throw new ProviderException(e);
+ }
+ }
+ }
+
+ public static PSSParameterSpec getDefaultAlgorithmParameterSpec(
+ String sigAlg, PrivateKey k) {
+ if (sigAlg.equalsIgnoreCase("RSASSA-PSS")) {
+ switch (ifcFfcStrength(KeyUtil.getKeySize(k))) {
+ case "SHA256":
+ return PSSParamsHolder.PSS_256_SPEC;
+ case "SHA384":
+ return PSSParamsHolder.PSS_384_SPEC;
+ case "SHA512":
+ return PSSParamsHolder.PSS_512_SPEC;
+ default:
+ throw new AssertionError("Should not happen");
+ }
+ } else {
+ return null;
+ }
+ }
+
// Values from SP800-57 part 1 rev 4 tables 2 and 3
private static String ecStrength (int bitLength) {
if (bitLength >= 512) { // 256 bits of strength
--- a/src/java.base/share/classes/sun/security/x509/X509CertImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/classes/sun/security/x509/X509CertImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2019, Oracle and/or its affiliates. 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
@@ -42,7 +42,6 @@
import javax.security.auth.x500.X500Principal;
-import java.util.Base64;
import sun.security.util.*;
import sun.security.provider.X509Factory;
@@ -599,14 +598,10 @@
sigEngine.initSign(key);
- // set parameters after Signature.initSign/initVerify call, so
- // the deferred provider selection happens when the key is set
- try {
+ if (signingParams != null) {
+ // set parameters after Signature.initSign/initVerify call, so
+ // the deferred provider selection happens when the key is set
sigEngine.setParameter(signingParams);
- } catch (UnsupportedOperationException e) {
- // for backward compatibility, only re-throw when
- // parameters is not null
- if (signingParams != null) throw e;
}
// in case the name is reset
--- a/src/java.base/share/conf/net.properties Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/conf/net.properties Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
############################################################
-# Default Networking Configuration File
+# Default Networking Configuration File
#
# This file may contain default values for the networking system properties.
# These values are only used when the system properties are not specified
@@ -110,3 +110,23 @@
#
# jdk.httpclient.allowRestrictedHeaders=host
#
+#
+# Transparent NTLM HTTP authentication mode on Windows. Transparent authentication
+# can be used for the NTLM scheme, where the security credentials based on the
+# currently logged in user's name and password can be obtained directly from the
+# operating system, without prompting the user. This property has three possible
+# values which regulate the behavior as shown below. Other unrecognized values
+# are handled the same as 'disabled'. Note, that NTLM is not considered to be a
+# strongly secure authentication scheme and care should be taken before enabling
+# this mechanism.
+#
+# Transparent authentication never used.
+#jdk.http.ntlm.transparentAuth=disabled
+#
+# Enabled for all hosts.
+#jdk.http.ntlm.transparentAuth=allHosts
+#
+# Enabled for hosts that are trusted in Windows Internet settings
+#jdk.http.ntlm.transparentAuth=trustedHosts
+#
+jdk.http.ntlm.transparentAuth=disabled
--- a/src/java.base/share/conf/security/java.security Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/conf/security/java.security Tue Jan 22 09:43:38 2019 -0500
@@ -920,7 +920,7 @@
noRetrievalMethodLoops
#
-# Serialization process-wide filter
+# Serialization system-wide filter
#
# A filter, if configured, is used by java.io.ObjectInputStream during
# deserialization to check the contents of the stream.
--- a/src/java.base/share/lib/security/default.policy Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/share/lib/security/default.policy Tue Jan 22 09:43:38 2019 -0500
@@ -127,6 +127,7 @@
permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.ch";
permission java.lang.RuntimePermission "loadLibrary.j2pkcs11";
permission java.util.PropertyPermission "sun.security.pkcs11.allowSingleThreadedModules", "read";
+ permission java.util.PropertyPermission "sun.security.pkcs11.disableKeyExtraction", "read";
permission java.util.PropertyPermission "os.name", "read";
permission java.util.PropertyPermission "os.arch", "read";
permission java.util.PropertyPermission "jdk.crypto.KeyAgreement.legacyKDF", "read";
@@ -157,10 +158,14 @@
};
grant codeBase "jrt:/jdk.internal.vm.compiler.management" {
- permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.hotspot";
+ permission java.lang.RuntimePermission "accessClassInPackage.jdk.internal.vm.compiler.collections";
permission java.lang.RuntimePermission "accessClassInPackage.jdk.vm.ci.runtime";
- permission java.lang.RuntimePermission "accessClassInPackage.sun.management.spi";
- permission java.lang.RuntimePermission "sun.management.spi.PlatformMBeanProvider.subclass";
+ permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.core.common";
+ permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.debug";
+ permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.hotspot";
+ permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.options";
+ permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.phases.common.jmx";
+ permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.serviceprovider";
};
grant codeBase "jrt:/jdk.jsobject" {
--- a/src/java.base/unix/classes/java/net/PlainDatagramSocketImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/unix/classes/java/net/PlainDatagramSocketImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -28,7 +28,6 @@
import java.util.Set;
import java.util.HashSet;
import sun.net.ext.ExtendedSocketOptions;
-import static sun.net.ext.ExtendedSocketOptions.SOCK_DGRAM;
/*
* On Unix systems we simply delegate to native methods.
@@ -78,7 +77,7 @@
protected Set<SocketOption<?>> supportedOptions() {
HashSet<SocketOption<?>> options = new HashSet<>(super.supportedOptions());
- options.addAll(ExtendedSocketOptions.options(SOCK_DGRAM));
+ options.addAll(ExtendedSocketOptions.datagramSocketOptions());
return options;
}
--- a/src/java.base/unix/classes/java/net/PlainSocketImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/unix/classes/java/net/PlainSocketImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -29,7 +29,6 @@
import java.util.Set;
import java.util.HashSet;
import sun.net.ext.ExtendedSocketOptions;
-import static sun.net.ext.ExtendedSocketOptions.SOCK_STREAM;
/*
* On Unix systems we simply delegate to native methods.
@@ -91,25 +90,14 @@
protected Set<SocketOption<?>> supportedOptions() {
HashSet<SocketOption<?>> options = new HashSet<>(super.supportedOptions());
- addExtSocketOptions(ExtendedSocketOptions.options(SOCK_STREAM), options);
+ if (getServerSocket() != null) {
+ options.addAll(ExtendedSocketOptions.serverSocketOptions());
+ } else {
+ options.addAll(ExtendedSocketOptions.clientSocketOptions());
+ }
return options;
}
- private void addExtSocketOptions(Set<SocketOption<?>> extOptions,
- Set<SocketOption<?>> options) {
- extOptions.forEach((option) -> {
- if (option.name().equals("SO_FLOW_SLA")) {
- // SO_FLOW_SLA is Solaris specific option which is not applicable
- // for ServerSockets.
- // getSocket() will always return null for server socket
- if (getSocket() != null) {
- options.add(option);
- }
- } else {
- options.add(option);
- }
- });
- }
protected void socketSetOption(int opt, boolean b, Object val) throws SocketException {
if (opt == SocketOptions.SO_REUSEPORT &&
!supportedOptions().contains(StandardSocketOptions.SO_REUSEPORT)) {
--- a/src/java.base/unix/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/unix/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Tue Jan 22 09:43:38 2019 -0500
@@ -93,10 +93,13 @@
/**
* Returns true if the given site is trusted, i.e. we can try
- * transparent Authentication.
+ * transparent Authentication. Shouldn't be called since
+ * capability not supported on Unix
*/
public static boolean isTrustedSite(URL url) {
- return NTLMAuthCallback.isTrustedSite(url);
+ if (NTLMAuthCallback != null)
+ return NTLMAuthCallback.isTrustedSite(url);
+ return false;
}
private void init0() {
--- a/src/java.base/unix/native/libjli/java_md_solinux.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/unix/native/libjli/java_md_solinux.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -374,10 +374,6 @@
char *new_jvmpath = JLI_StringDup(jvmpath);
new_runpath_size = ((runpath != NULL) ? JLI_StrLen(runpath) : 0) +
2 * JLI_StrLen(jrepath) +
-#ifdef AIX
- /* On AIX we additionally need 'jli' in the path because ld doesn't support $ORIGIN. */
- JLI_StrLen(jrepath) + JLI_StrLen("/lib//jli:") +
-#endif
JLI_StrLen(new_jvmpath) + 52;
new_runpath = JLI_MemAlloc(new_runpath_size);
newpath = new_runpath + JLI_StrLen(LD_LIBRARY_PATH "=");
@@ -395,15 +391,9 @@
sprintf(new_runpath, LD_LIBRARY_PATH "="
"%s:"
"%s/lib:"
-#ifdef AIX
- "%s/lib/jli:" /* Needed on AIX because ld doesn't support $ORIGIN. */
-#endif
"%s/../lib",
new_jvmpath,
jrepath,
-#ifdef AIX
- jrepath,
-#endif
jrepath
);
--- a/src/java.base/unix/native/libnet/Inet6AddressImpl.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/unix/native/libnet/Inet6AddressImpl.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -142,17 +142,18 @@
*/
struct ifaddrs *iter = ifa;
while (iter) {
- int family = iter->ifa_addr->sa_family;
- if (iter->ifa_name[0] != '\0' && iter->ifa_addr)
- {
- jboolean isLoopback = iter->ifa_flags & IFF_LOOPBACK;
- if (family == AF_INET) {
- addrs4++;
- if (isLoopback) numV4Loopbacks++;
- } else if (family == AF_INET6 && includeV6) {
- addrs6++;
- if (isLoopback) numV6Loopbacks++;
- } // else we don't care, e.g. AF_LINK
+ if (iter->ifa_addr != NULL) {
+ int family = iter->ifa_addr->sa_family;
+ if (iter->ifa_name[0] != '\0') {
+ jboolean isLoopback = iter->ifa_flags & IFF_LOOPBACK;
+ if (family == AF_INET) {
+ addrs4++;
+ if (isLoopback) numV4Loopbacks++;
+ } else if (family == AF_INET6 && includeV6) {
+ addrs6++;
+ if (isLoopback) numV6Loopbacks++;
+ } // else we don't care, e.g. AF_LINK
+ }
}
iter = iter->ifa_next;
}
@@ -180,28 +181,30 @@
// Now loop around the ifaddrs
iter = ifa;
while (iter != NULL) {
- jboolean isLoopback = iter->ifa_flags & IFF_LOOPBACK;
- int family = iter->ifa_addr->sa_family;
+ if (iter->ifa_addr != NULL) {
+ jboolean isLoopback = iter->ifa_flags & IFF_LOOPBACK;
+ int family = iter->ifa_addr->sa_family;
- if (iter->ifa_name[0] != '\0' && iter->ifa_addr &&
- (family == AF_INET || (family == AF_INET6 && includeV6)) &&
- (!isLoopback || includeLoopback))
- {
- int port;
- int index = (family == AF_INET) ? i++ : j++;
- jobject o = NET_SockaddrToInetAddress(env,
- (SOCKETADDRESS *)iter->ifa_addr, &port);
- if (!o) {
- freeifaddrs(ifa);
- if (!(*env)->ExceptionCheck(env))
- JNU_ThrowOutOfMemoryError(env, "Object allocation failed");
- return NULL;
+ if (iter->ifa_name[0] != '\0' &&
+ (family == AF_INET || (family == AF_INET6 && includeV6)) &&
+ (!isLoopback || includeLoopback))
+ {
+ int port;
+ int index = (family == AF_INET) ? i++ : j++;
+ jobject o = NET_SockaddrToInetAddress(env,
+ (SOCKETADDRESS *)iter->ifa_addr, &port);
+ if (!o) {
+ freeifaddrs(ifa);
+ if (!(*env)->ExceptionCheck(env))
+ JNU_ThrowOutOfMemoryError(env, "Object allocation failed");
+ return NULL;
+ }
+ setInetAddress_hostName(env, o, name);
+ if ((*env)->ExceptionCheck(env))
+ goto done;
+ (*env)->SetObjectArrayElement(env, result, index, o);
+ (*env)->DeleteLocalRef(env, o);
}
- setInetAddress_hostName(env, o, name);
- if ((*env)->ExceptionCheck(env))
- goto done;
- (*env)->SetObjectArrayElement(env, result, index, o);
- (*env)->DeleteLocalRef(env, o);
}
iter = iter->ifa_next;
}
--- a/src/java.base/unix/native/libnet/NetworkInterface.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/unix/native/libnet/NetworkInterface.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -1015,7 +1015,11 @@
*/
static short translateIPv4AddressToPrefix(struct sockaddr_in *addr) {
short prefix = 0;
- unsigned int mask = ntohl(addr->sin_addr.s_addr);
+ unsigned int mask;
+ if (addr == NULL) {
+ return 0;
+ }
+ mask = ntohl(addr->sin_addr.s_addr);
while (mask) {
mask <<= 1;
prefix++;
@@ -1028,7 +1032,11 @@
*/
static short translateIPv6AddressToPrefix(struct sockaddr_in6 *addr) {
short prefix = 0;
- u_char *addrBytes = (u_char *)&(addr->sin6_addr);
+ u_char *addrBytes;
+ if (addr == NULL) {
+ return 0;
+ }
+ addrBytes = (u_char *)&(addr->sin6_addr);
unsigned int byte, bit;
for (byte = 0; byte < sizeof(struct in6_addr); byte++, prefix += 8) {
@@ -1541,20 +1549,23 @@
if (getkerninfo(KINFO_NDD, nddp, &size, 0) < 0) {
perror("getkerninfo 2");
+ free(nddp);
return -1;
}
end = (void *)nddp + size;
while ((void *)nddp < end) {
if (!strcmp(nddp->ndd_alias, ifname) ||
- !strcmp(nddp->ndd_name, ifname)) {
+ !strcmp(nddp->ndd_name, ifname)) {
bcopy(nddp->ndd_addr, buf, 6);
+ free(nddp);
return 6;
} else {
nddp++;
}
}
+ free(nddp);
return -1;
}
@@ -2092,14 +2103,16 @@
// cycle through the interfaces
for (i = 0, ifa = ifa0; ifa != NULL; ifa = ifa->ifa_next, i++) {
saddr = ifa->ifa_addr;
- // link layer contains the MAC address
- if (saddr->sa_family == AF_LINK && !strcmp(ifname, ifa->ifa_name)) {
- struct sockaddr_dl *sadl = (struct sockaddr_dl *) saddr;
- // check the address has the correct length
- if (sadl->sdl_alen == ETHER_ADDR_LEN) {
- memcpy(buf, (sadl->sdl_data + sadl->sdl_nlen), ETHER_ADDR_LEN);
- freeifaddrs(ifa0);
- return ETHER_ADDR_LEN;
+ if (saddr != NULL) {
+ // link layer contains the MAC address
+ if (saddr->sa_family == AF_LINK && !strcmp(ifname, ifa->ifa_name)) {
+ struct sockaddr_dl *sadl = (struct sockaddr_dl *) saddr;
+ // check the address has the correct length
+ if (sadl->sdl_alen == ETHER_ADDR_LEN) {
+ memcpy(buf, (sadl->sdl_data + sadl->sdl_nlen), ETHER_ADDR_LEN);
+ freeifaddrs(ifa0);
+ return ETHER_ADDR_LEN;
+ }
}
}
}
--- a/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -1084,7 +1084,7 @@
if (setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
(const char*)&index, sizeof(index)) < 0) {
- if (errno == EINVAL && index > 0) {
+ if ((errno == EINVAL || errno == EADDRNOTAVAIL) && index > 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"IPV6_MULTICAST_IF failed (interface has IPv4 "
"address only?)");
--- a/src/java.base/unix/native/libnet/net_util_md.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/unix/native/libnet/net_util_md.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -584,6 +584,8 @@
if (loRoutesTemp == 0) {
free(loRoutes);
+ loRoutes = NULL;
+ nRoutes = 0;
fclose (f);
return;
}
@@ -645,6 +647,7 @@
unsigned char staddr [16];
char ifname [33];
struct localinterface *lif=0;
+ struct localinterface *localifsTemp;
int index, x1, x2, x3;
unsigned int u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,ua,ub,uc,ud,ue,uf;
@@ -673,13 +676,17 @@
staddr[15] = (unsigned char)uf;
nifs ++;
if (nifs > localifsSize) {
- localifs = (struct localinterface *) realloc (
+ localifsTemp = (struct localinterface *) realloc(
localifs, sizeof (struct localinterface)* (localifsSize+5));
- if (localifs == 0) {
+ if (localifsTemp == 0) {
+ free(localifs);
+ localifs = 0;
+ localifsSize = 0;
nifs = 0;
- fclose (f);
+ fclose(f);
return;
}
+ localifs = localifsTemp;
lif = localifs + localifsSize;
localifsSize += 5;
} else {
--- a/src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Tue Jan 22 09:43:38 2019 -0500
@@ -32,6 +32,7 @@
import java.net.URL;
import java.util.Objects;
import java.util.Properties;
+import sun.net.NetProperties;
import sun.net.www.HeaderParser;
import sun.net.www.protocol.http.AuthenticationInfo;
import sun.net.www.protocol.http.AuthScheme;
@@ -56,11 +57,33 @@
private static final String defaultDomain;
/* Whether cache is enabled for NTLM */
private static final boolean ntlmCache;
+
+ enum TransparentAuth {
+ DISABLED, // disable for all hosts (default)
+ TRUSTED_HOSTS, // use Windows trusted hosts settings
+ ALL_HOSTS // attempt for all hosts
+ }
+
+ private static final TransparentAuth authMode;
+
static {
Properties props = GetPropertyAction.privilegedGetProperties();
defaultDomain = props.getProperty("http.auth.ntlm.domain", "domain");
String ntlmCacheProp = props.getProperty("jdk.ntlm.cache", "true");
ntlmCache = Boolean.parseBoolean(ntlmCacheProp);
+ String modeProp = java.security.AccessController.doPrivileged(
+ new java.security.PrivilegedAction<String>() {
+ public String run() {
+ return NetProperties.get("jdk.http.ntlm.transparentAuth");
+ }
+ });
+
+ if ("trustedHosts".equalsIgnoreCase(modeProp))
+ authMode = TransparentAuth.TRUSTED_HOSTS;
+ else if ("allHosts".equalsIgnoreCase(modeProp))
+ authMode = TransparentAuth.ALL_HOSTS;
+ else
+ authMode = TransparentAuth.DISABLED;
}
private void init0() {
@@ -166,9 +189,21 @@
* transparent Authentication.
*/
public static boolean isTrustedSite(URL url) {
- return NTLMAuthCallback.isTrustedSite(url);
+ if (NTLMAuthCallback != null)
+ return NTLMAuthCallback.isTrustedSite(url);
+
+ switch (authMode) {
+ case TRUSTED_HOSTS:
+ return isTrustedSite(url.toString());
+ case ALL_HOSTS:
+ return true;
+ default:
+ return false;
+ }
}
+ static native boolean isTrustedSite(String url);
+
/**
* Not supported. Must use the setHeaders() method
*/
@@ -218,5 +253,4 @@
return false;
}
}
-
}
--- a/src/java.base/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -470,9 +470,6 @@
} catch (WindowsException x) {
x.rethrowAsIOException(file);
}
- // DOS hidden attribute not meaningful when set on directories
- if (attrs.isDirectory())
- return false;
return attrs.isHidden();
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.base/windows/native/libnet/NTLMAuthentication.c Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+#include <jni.h>
+#include <windows.h>
+#include "jni_util.h"
+#include <urlmon.h>
+
+JNIEXPORT jboolean JNICALL Java_sun_net_www_protocol_http_ntlm_NTLMAuthentication_isTrustedSite(JNIEnv *env, jclass clazz, jstring url )
+{
+
+ HRESULT hr;
+ DWORD dwZone;
+ DWORD pPolicy = 0;
+ IInternetSecurityManager *spSecurityManager;
+ jboolean ret;
+
+ // Create IInternetSecurityManager
+ hr = CoInternetCreateSecurityManager(NULL, &spSecurityManager, (DWORD)0);
+ if (FAILED(hr)) {
+ return JNI_FALSE;
+ }
+
+ const LPCWSTR bstrURL = (LPCWSTR)((*env)->GetStringChars(env, url, NULL));
+ if (bstrURL == NULL) {
+ if (!(*env)->ExceptionCheck(env))
+ JNU_ThrowOutOfMemoryError(env, NULL);
+ spSecurityManager->lpVtbl->Release(spSecurityManager);
+ return JNI_FALSE;
+ }
+
+ // Determines the policy for the URLACTION_CREDENTIALS_USE action and display
+ // a user interface, if the policy indicates that the user should be queried
+ hr = spSecurityManager->lpVtbl->ProcessUrlAction(
+ spSecurityManager,
+ bstrURL,
+ URLACTION_CREDENTIALS_USE,
+ (LPBYTE)&pPolicy,
+ sizeof(DWORD), 0, 0, 0, 0);
+
+ if (FAILED(hr)) {
+ ret = JNI_FALSE;
+ goto cleanupAndReturn;
+ }
+
+ // If these two User Authentication Logon options is selected
+ // Anonymous logon
+ // Prompt for user name and password
+ if (pPolicy == URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY ||
+ pPolicy == URLPOLICY_CREDENTIALS_MUST_PROMPT_USER) {
+ ret = JNI_FALSE;
+ goto cleanupAndReturn;
+ }
+
+ // Option "Automatic logon with current user name and password" is selected
+ if (pPolicy == URLPOLICY_CREDENTIALS_SILENT_LOGON_OK) {
+ ret = JNI_TRUE;
+ goto cleanupAndReturn;
+ }
+
+ // Option "Automatic logon only in intranet zone" is selected
+ if (pPolicy == URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT) {
+
+ // Gets the zone index from the specified URL
+ hr = spSecurityManager->lpVtbl->MapUrlToZone(
+ spSecurityManager, bstrURL, &dwZone, 0);
+ if (FAILED(hr)) {
+ ret = JNI_FALSE;
+ goto cleanupAndReturn;
+ }
+
+ // Check if the URL is in Local or Intranet zone
+ if (dwZone == URLZONE_INTRANET || dwZone == URLZONE_LOCAL_MACHINE) {
+ ret = JNI_TRUE;
+ goto cleanupAndReturn;
+ }
+ }
+ ret = JNI_FALSE;
+
+cleanupAndReturn:
+ (*env)->ReleaseStringChars(env, url, bstrURL);
+ spSecurityManager->lpVtbl->Release(spSecurityManager);
+ return ret;
+}
--- a/src/java.base/windows/native/libnet/NetworkInterface.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/windows/native/libnet/NetworkInterface.c Tue Jan 22 09:43:38 2019 -0500
@@ -273,7 +273,7 @@
// But in rare case it fails, we allow 'char' to be displayed
curr->displayName = (char *)malloc(ifrowP->dwDescrLen + 1);
} else {
- curr->displayName = (wchar_t *)malloc(wlen*(sizeof(wchar_t))+1);
+ curr->displayName = (wchar_t *)malloc((wlen+1)*sizeof(wchar_t));
}
curr->name = (char *)malloc(strlen(dev_name) + 1);
@@ -316,7 +316,7 @@
free(curr);
return -1;
} else {
- curr->displayName[wlen*(sizeof(wchar_t))] = '\0';
+ ((wchar_t *)curr->displayName)[wlen] = L'\0';
curr->dNameIsUnicode = TRUE;
}
}
--- a/src/java.base/windows/native/libnio/ch/DatagramDispatcher.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/windows/native/libnio/ch/DatagramDispatcher.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. 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
@@ -95,6 +95,10 @@
jint fd = fdval(env, fdo);
struct iovec *iovp = (struct iovec *)address;
WSABUF *bufs = malloc(len * sizeof(WSABUF));
+ if (bufs == NULL) {
+ JNU_ThrowOutOfMemoryError(env, NULL);
+ return IOS_THROWN;
+ }
/* copy iovec into WSABUF */
for(i=0; i<len; i++) {
@@ -182,6 +186,10 @@
jint fd = fdval(env, fdo);
struct iovec *iovp = (struct iovec *)address;
WSABUF *bufs = malloc(len * sizeof(WSABUF));
+ if (bufs == NULL) {
+ JNU_ThrowOutOfMemoryError(env, NULL);
+ return IOS_THROWN;
+ }
/* copy iovec into WSABUF */
for(i=0; i<len; i++) {
--- a/src/java.base/windows/native/libnio/ch/WindowsSelectorImpl.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.base/windows/native/libnio/ch/WindowsSelectorImpl.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. 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
@@ -219,6 +219,10 @@
/* Prepare corresponding buffer if needed, and then read */
if (bytesToRead > WAKEUP_SOCKET_BUF_SIZE) {
char* buf = (char*)malloc(bytesToRead);
+ if (buf == NULL) {
+ JNU_ThrowOutOfMemoryError(env, NULL);
+ return;
+ }
recv(scinFd, buf, bytesToRead, 0);
free(buf);
} else {
--- a/src/java.compiler/share/classes/javax/lang/model/util/Elements.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.compiler/share/classes/javax/lang/model/util/Elements.java Tue Jan 22 09:43:38 2019 -0500
@@ -189,7 +189,7 @@
/**
* Returns a module element given its fully qualified name.
*
- * If the named module cannot be found, {@code null} is
+ * If the requested module cannot be found, {@code null} is
* returned. One situation where a module cannot be found is if
* the environment does not include modules, such as an annotation
* processing environment configured for a {@linkplain
@@ -199,7 +199,7 @@
* @implSpec The default implementation of this method returns
* {@code null}.
*
- * @param name the name
+ * @param name the name, or an empty string for an unnamed module
* @return the named module element, or {@code null} if it cannot be found
* @see #getAllModuleElements
* @since 9
--- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -298,8 +298,6 @@
private Rectangle normalBounds = null; // not-null only for undecorated maximized windows
private CPlatformResponder responder;
private long lastBecomeMainTime; // this is necessary to preserve right siblings order
- private boolean maximizedBothState = false;
- private boolean frameResizibilityChanged = false;
public CPlatformWindow() {
super(0, true);
@@ -402,7 +400,7 @@
// Either java.awt.Frame or java.awt.Dialog can be resizable, however java.awt.Window is never resizable
{
- final boolean resizable = isTargetResizable();
+ final boolean resizable = isFrame ? ((Frame)target).isResizable() : (isDialog ? ((Dialog)target).isResizable() : false);
styleBits = SET(styleBits, RESIZABLE, resizable);
if (!resizable) {
styleBits = SET(styleBits, ZOOMABLE, false);
@@ -614,8 +612,6 @@
setBounds(maximizedBounds.x, maximizedBounds.y,
maximizedBounds.width, maximizedBounds.height);
}
- setFrameResizibilityChanged(true);
- updateResizableAndMaximizeState(true);
}
private void unmaximize() {
@@ -712,9 +708,11 @@
// Manage the extended state when showing
if (visible) {
/* Frame or Dialog should be set property WINDOW_FULLSCREENABLE to true if the
- Frame resizable and Frame state is not MAXIMIZED_BOTH or Dialog is resizable.
+ Frame or Dialog is resizable.
**/
- if (isTargetResizable()) {
+ final boolean resizable = (target instanceof Frame) ? ((Frame)target).isResizable() :
+ ((target instanceof Dialog) ? ((Dialog)target).isResizable() : false);
+ if (resizable) {
setCanFullscreen(true);
}
@@ -730,11 +728,6 @@
frameState = Frame.ICONIFIED;
}
- if (isFrameResizibilityChanged()) {
- updateResizableAndMaximizeState(false);
- setFrameResizibilityChanged(false);
- }
-
switch (frameState) {
case Frame.ICONIFIED:
execute(CWrapper.NSWindow::miniaturize);
@@ -854,10 +847,9 @@
@Override
public void setResizable(final boolean resizable) {
- boolean windowResizable = resizable && !isMaximizedBoth();
- setCanFullscreen(windowResizable);
- setStyleBits(RESIZABLE, windowResizable);
- setStyleBits(ZOOMABLE, windowResizable);
+ setCanFullscreen(resizable);
+ setStyleBits(RESIZABLE, resizable);
+ setStyleBits(ZOOMABLE, resizable);
}
@Override
@@ -966,11 +958,6 @@
windowState = Frame.ICONIFIED;
}
- if (isFrameResizibilityChanged()) {
- updateResizableAndMaximizeState(false);
- setFrameResizibilityChanged(false);
- }
-
switch (windowState) {
case Frame.ICONIFIED:
if (prevWindowState == Frame.MAXIMIZED_BOTH) {
@@ -1174,21 +1161,6 @@
}
/*
- * Resizibility of frame with state MAXIMIZED_BOTH is set to true to zoom
- * the frame on double click on title bar and set to false later. This is
- * required as frame won't zoom if resizibility of frame is false.
- */
- private void deliverDoubleClickOnTitlebar() {
- if ((peer != null) && (target instanceof Frame)) {
- if (isMaximizedBoth()) {
- updateResizableAndMaximizeState(false);
- execute(CWrapper.NSWindow::zoom);
- updateResizableAndMaximizeState(true);
- }
- }
- }
-
- /*
* Our focus model is synthetic and only non-simple window
* may become natively focusable window.
*/
@@ -1353,33 +1325,6 @@
}
return false;
}
-
- private boolean isTargetResizable() {
- if (target instanceof Frame) {
- return ((Frame)target).isResizable() && !isMaximizedBoth();
- } else if (target instanceof Dialog) {
- return ((Dialog)target).isResizable();
- }
- return false;
- }
-
- private void updateResizableAndMaximizeState(boolean maximizeState) {
- maximizedBothState = maximizeState;
- setResizable(!maximizeState);
- }
-
- private boolean isMaximizedBoth() {
- return maximizedBothState;
- }
-
- private void setFrameResizibilityChanged(boolean resize) {
- frameResizibilityChanged = resize;
- }
-
- private boolean isFrameResizibilityChanged() {
- return frameResizibilityChanged;
- }
-
// ----------------------------------------------------------------------
// NATIVE CALLBACKS
// ----------------------------------------------------------------------
--- a/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -965,11 +965,6 @@
// Currently, no need to deliver the whole NSEvent.
static JNF_MEMBER_CACHE(jm_deliverNCMouseDown, jc_CPlatformWindow, "deliverNCMouseDown", "()V");
JNFCallVoidMethod(env, platformWindow, jm_deliverNCMouseDown);
- // Deliver double click on title bar
- if ([event clickCount] > 1) {
- static JNF_MEMBER_CACHE(jm_deliverDoubleClickOnTitlebar, jc_CPlatformWindow, "deliverDoubleClickOnTitlebar", "()V");
- JNFCallVoidMethod(env, platformWindow, jm_deliverDoubleClickOnTitlebar);
- }
(*env)->DeleteLocalRef(env, platformWindow);
}
}
--- a/src/java.desktop/share/classes/java/awt/Robot.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.desktop/share/classes/java/awt/Robot.java Tue Jan 22 09:43:38 2019 -0500
@@ -394,6 +394,7 @@
* @return Color of the pixel
*/
public synchronized Color getPixelColor(int x, int y) {
+ checkScreenCaptureAllowed();
AffineTransform tx = GraphicsEnvironment.
getLocalGraphicsEnvironment().getDefaultScreenDevice().
getDefaultConfiguration().getDefaultTransform();
--- a/src/java.desktop/share/native/libjavajpeg/jmemmgr.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.desktop/share/native/libjavajpeg/jmemmgr.c Tue Jan 22 09:43:38 2019 -0500
@@ -406,6 +406,9 @@
JDIMENSION rowsperchunk, currow, i;
long ltemp;
+ if (samplesperrow == 0) {
+ ERREXIT(cinfo, JERR_WIDTH_OVERFLOW);
+ }
/* Calculate max # of rows allowed in one allocation chunk */
ltemp = (MAX_ALLOC_CHUNK-SIZEOF(large_pool_hdr)) /
((long) samplesperrow * SIZEOF(JSAMPLE));
@@ -454,6 +457,10 @@
JDIMENSION rowsperchunk, currow, i;
long ltemp;
+ if (blocksperrow == 0) {
+ ERREXIT(cinfo, JERR_WIDTH_OVERFLOW);
+ }
+
/* Calculate max # of rows allowed in one allocation chunk */
ltemp = (MAX_ALLOC_CHUNK-SIZEOF(large_pool_hdr)) /
((long) blocksperrow * SIZEOF(JBLOCK));
--- a/src/java.desktop/share/native/liblcms/cmscgats.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.desktop/share/native/liblcms/cmscgats.c Tue Jan 22 09:43:38 2019 -0500
@@ -1535,10 +1535,16 @@
t-> nSamples = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_FIELDS"));
t-> nPatches = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_SETS"));
- t-> Data = (char**)AllocChunk (it8, ((cmsUInt32Number) t->nSamples + 1) * ((cmsUInt32Number) t->nPatches + 1) *sizeof (char*));
- if (t->Data == NULL) {
-
- SynError(it8, "AllocateDataSet: Unable to allocate data array");
+ if (t -> nSamples < 0 || t->nSamples > 0x7ffe || t->nPatches < 0 || t->nPatches > 0x7ffe)
+ {
+ SynError(it8, "AllocateDataSet: too much data");
+ }
+ else {
+ t->Data = (char**)AllocChunk(it8, ((cmsUInt32Number)t->nSamples + 1) * ((cmsUInt32Number)t->nPatches + 1) * sizeof(char*));
+ if (t->Data == NULL) {
+
+ SynError(it8, "AllocateDataSet: Unable to allocate data array");
+ }
}
}
--- a/src/java.desktop/unix/native/libawt_xawt/awt/awt_UNIXToolkit.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.desktop/unix/native/libawt_xawt/awt/awt_UNIXToolkit.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2018, Oracle and/or its affiliates. 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
@@ -161,6 +161,7 @@
int len;
char *stock_id_str = NULL;
char *detail_str = NULL;
+ jboolean result = JNI_FALSE;
if (stock_id == NULL)
{
@@ -190,23 +191,15 @@
(*env)->GetStringUTFRegion(env, detail, 0, len, detail_str);
}
- if (!init_method(env, this) ) {
- free(stock_id_str);
- if (detail_str != NULL) {
- free(detail_str);
- }
- return JNI_FALSE;
+ if (init_method(env, this)) {
+ result = gtk->get_icon_data(env, widget_type, stock_id_str,
+ icon_size, text_direction, detail_str,
+ icon_upcall_method, this);
}
- jboolean result = gtk->get_icon_data(env, widget_type, stock_id_str,
- icon_size, text_direction, detail_str,
- icon_upcall_method, this);
-
/* Release the strings we've allocated. */
free(stock_id_str);
- if (detail_str != NULL)
- {
- free(detail_str);
- }
+ free(detail_str);
+
return result;
#else /* HEADLESS */
return JNI_FALSE;
--- a/src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -962,9 +962,10 @@
if (!present) {
defIndices[0] = papers[0];
}
- if (papers != NULL) {
- free((char*)papers);
- }
+ }
+ // If DeviceCapabilities fails, then also free paper allocation
+ if (papers != NULL) {
+ free((char*)papers);
}
}
RESTORE_CONTROLWORD
--- a/src/java.instrument/unix/native/libinstrument/FileSystemSupport_md.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.instrument/unix/native/libinstrument/FileSystemSupport_md.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2018 Oracle and/or its affiliates. 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
@@ -23,6 +23,7 @@
* questions.
*/
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -50,6 +51,10 @@
} else {
int len = last - path;
char* str = (char*)malloc(len+1);
+ if (str == NULL) {
+ fprintf(stderr, "OOM error in native tmp buffer allocation");
+ return NULL;
+ }
if (len > 0) {
memcpy(str, path, len);
}
@@ -80,6 +85,10 @@
if (n == 0) return strdup("/");
sb = (char*)malloc(strlen(pathname)+1);
+ if (sb == NULL) {
+ fprintf(stderr, "OOM error in native tmp buffer allocation");
+ return NULL;
+ }
sbLen = 0;
if (off > 0) {
@@ -128,6 +137,10 @@
len = parentEnd + cn - childStart;
if (child[0] == slash) {
theChars = (char*)malloc(len+1);
+ if (theChars == NULL) {
+ fprintf(stderr, "OOM error in native tmp buffer allocation");
+ return NULL;
+ }
if (parentEnd > 0)
memcpy(theChars, parent, parentEnd);
if (cn > 0)
@@ -135,6 +148,10 @@
theChars[len] = '\0';
} else {
theChars = (char*)malloc(len+2);
+ if (theChars == NULL) {
+ fprintf(stderr, "OOM error in native tmp buffer allocation");
+ return NULL;
+ }
if (parentEnd > 0)
memcpy(theChars, parent, parentEnd);
theChars[parentEnd] = slash;
@@ -150,10 +167,13 @@
if (len > 1 && path[len-1] == slash) {
// "/foo/" --> "/foo", but "/" --> "/"
char* str = (char*)malloc(len);
- if (str != NULL) {
- memcpy(str, path, len-1);
- str[len-1] = '\0';
+ if (str == NULL)
+ {
+ fprintf(stderr, "OOM error in native tmp buffer allocation");
+ return NULL;
}
+ memcpy(str, path, len-1);
+ str[len-1] = '\0';
return str;
} else {
return (char*)path;
--- a/src/java.instrument/windows/native/libinstrument/FileSystemSupport_md.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.instrument/windows/native/libinstrument/FileSystemSupport_md.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2018 Oracle and/or its affiliates. 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
@@ -23,6 +23,7 @@
* questions.
*/
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
@@ -66,6 +67,10 @@
} else {
int len = (int)(last - path);
char* str = (char*)malloc(len+1);
+ if (str == NULL) {
+ fprintf(stderr, "OOM error in native tmp buffer allocation");
+ return NULL;
+ }
if (len > 0) {
memcpy(str, path, len);
}
@@ -135,6 +140,10 @@
if (off < 3) off = 0; /* Avoid fencepost cases with UNC pathnames */
sb = (char*)malloc(len+1);
+ if (sb == NULL) {
+ fprintf(stderr, "OOM error in native tmp buffer allocation");
+ return NULL;
+ }
sbLen = 0;
if (off == 0) {
@@ -261,11 +270,19 @@
if (child[childStart] == slash) {
theChars = (char*)malloc(len+1);
+ if (theChars == NULL) {
+ fprintf(stderr, "OOM error in native tmp buffer allocation");
+ return NULL;
+ }
memcpy(theChars, parent, parentEnd);
memcpy(theChars+parentEnd, child+childStart, (cn-childStart));
theChars[len] = '\0';
} else {
theChars = (char*)malloc(len+2);
+ if (theChars == NULL) {
+ fprintf(stderr, "OOM error in native tmp buffer allocation");
+ return NULL;
+ }
memcpy(theChars, parent, parentEnd);
theChars[parentEnd] = slash;
memcpy(theChars+parentEnd+1, child+childStart, (cn-childStart));
@@ -320,10 +337,12 @@
return (char*)path;
} else {
char* p = (char*)malloc(len+1);
- if (p != NULL) {
- memcpy(p, path+start, len);
- p[len] = '\0';
+ if (p == NULL) {
+ fprintf(stderr, "OOM error in native tmp buffer allocation");
+ return NULL;
}
+ memcpy(p, path+start, len);
+ p[len] = '\0';
return p;
}
}
--- a/src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java Tue Jan 22 09:43:38 2019 -0500
@@ -34,6 +34,7 @@
import java.net.URL;
import java.util.Base64;
import java.util.LinkedList;
+import java.util.List;
import java.util.Objects;
import java.util.WeakHashMap;
import java.net.http.HttpHeaders;
@@ -258,23 +259,21 @@
boolean proxy = status == PROXY_UNAUTHORIZED;
String authname = proxy ? "Proxy-Authenticate" : "WWW-Authenticate";
- String authval = hdrs.firstValue(authname).orElse(null);
- if (authval == null) {
- if (exchange.client().authenticator().isPresent()) {
- throw new IOException(authname + " header missing for response code " + status);
- } else {
- // No authenticator? let the caller deal with this.
- return null;
+ List<String> authvals = hdrs.allValues(authname);
+ if (authvals.isEmpty() && exchange.client().authenticator().isPresent()) {
+ throw new IOException(authname + " header missing for response code " + status);
+ }
+ String authval = null;
+ for (String aval : authvals) {
+ HeaderParser parser = new HeaderParser(aval);
+ String scheme = parser.findKey(0);
+ if (scheme.equalsIgnoreCase("Basic")) {
+ authval = aval;
+ break;
}
}
-
- HeaderParser parser = new HeaderParser(authval);
- String scheme = parser.findKey(0);
-
- // TODO: Need to generalise from Basic only. Delegate to a provider class etc.
-
- if (!scheme.equalsIgnoreCase("Basic")) {
- return null; // error gets returned to app
+ if (authval == null) {
+ return null;
}
if (proxy) {
--- a/src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -33,8 +33,10 @@
import java.net.URISyntaxException;
import java.net.URLPermission;
import java.security.AccessControlContext;
+import java.time.Duration;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
import java.util.function.Function;
@@ -125,6 +127,10 @@
return request;
}
+ public Optional<Duration> remainingConnectTimeout() {
+ return multi.remainingConnectTimeout();
+ }
+
HttpClientImpl client() {
return client;
}
@@ -151,6 +157,13 @@
}
}
+ // Called for 204 response - when no body is permitted
+ // This is actually only needed for HTTP/1.1 in order
+ // to return the connection to the pool (or close it)
+ void nullBody(HttpResponse<T> resp, Throwable t) {
+ exchImpl.nullBody(resp, t);
+ }
+
public CompletableFuture<T> readBodyAsync(HttpResponse.BodyHandler<T> handler) {
// If we received a 407 while establishing the exchange
// there will be no body to read: bodyIgnored will be true,
--- a/src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -161,6 +161,12 @@
}
}
+ // Called for 204 response - when no body is permitted
+ void nullBody(HttpResponse<T> resp, Throwable t) {
+ // only needed for HTTP/1.1 to close the connection
+ // or return it to the pool
+ }
+
/* The following methods have separate HTTP/1.1 and HTTP/2 implementations */
abstract CompletableFuture<ExchangeImpl<T>> sendHeadersAsync();
@@ -177,6 +183,7 @@
*/
abstract CompletableFuture<Void> ignoreBody();
+
/** Gets the response headers. Completes before body is read. */
abstract CompletableFuture<Response> getResponseAsync(Executor executor);
--- a/src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -28,6 +28,7 @@
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.http.HttpClient;
+import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandler;
import java.net.http.HttpResponse.BodySubscriber;
import java.nio.ByteBuffer;
@@ -382,6 +383,13 @@
return response.ignoreBody(executor);
}
+ // Used for those response codes that have no body associated
+ @Override
+ public void nullBody(HttpResponse<T> resp, Throwable t) {
+ response.nullBody(resp, t);
+ }
+
+
ByteBuffer drainLeftOverBytes() {
synchronized (lock) {
asyncReceiver.stop();
--- a/src/java.net.http/share/classes/jdk/internal/net/http/Http1Response.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/Http1Response.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -267,6 +267,15 @@
}
}
+ // Used for those response codes that have no body associated
+ public void nullBody(HttpResponse<T> resp, Throwable t) {
+ if (t != null) connection.close();
+ else {
+ return2Cache = !request.isWebSocket();
+ onFinished();
+ }
+ }
+
static final Flow.Subscription NOP = new Flow.Subscription() {
@Override
public void request(long n) { }
--- a/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,6 +26,8 @@
package jdk.internal.net.http;
import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLException;
+import javax.net.ssl.SSLHandshakeException;
import javax.net.ssl.SSLParameters;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -158,7 +160,7 @@
private final CookieHandler cookieHandler;
private final Duration connectTimeout;
private final Redirect followRedirects;
- private final Optional<ProxySelector> userProxySelector;
+ private final ProxySelector userProxySelector;
private final ProxySelector proxySelector;
private final Authenticator authenticator;
private final Version version;
@@ -284,12 +286,12 @@
connectTimeout = builder.connectTimeout;
followRedirects = builder.followRedirects == null ?
Redirect.NEVER : builder.followRedirects;
- this.userProxySelector = Optional.ofNullable(builder.proxy);
- this.proxySelector = userProxySelector
+ this.userProxySelector = builder.proxy;
+ this.proxySelector = Optional.ofNullable(userProxySelector)
.orElseGet(HttpClientImpl::getDefaultProxySelector);
if (debug.on())
debug.log("proxySelector is %s (user-supplied=%s)",
- this.proxySelector, userProxySelector.isPresent());
+ this.proxySelector, userProxySelector != null);
authenticator = builder.authenticator;
if (builder.version == null) {
version = HttpClient.Version.HTTP_2;
@@ -561,6 +563,15 @@
ConnectException ce = new ConnectException(msg);
ce.initCause(throwable);
throw ce;
+ } else if (throwable instanceof SSLHandshakeException) {
+ // special case for SSLHandshakeException
+ SSLHandshakeException he = new SSLHandshakeException(msg);
+ he.initCause(throwable);
+ throw he;
+ } else if (throwable instanceof SSLException) {
+ // any other SSLException is wrapped in a plain
+ // SSLException
+ throw new SSLException(msg, throwable);
} else if (throwable instanceof IOException) {
throw new IOException(msg, throwable);
} else {
@@ -1138,7 +1149,7 @@
@Override
public Optional<ProxySelector> proxy() {
- return this.userProxySelector;
+ return Optional.ofNullable(userProxySelector);
}
// Return the effective proxy that this client uses.
--- a/src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -85,8 +85,8 @@
new IdentityHashMap<>();
void add(CompletionStage<?> cf) {
synchronized(operations) {
+ operations.put(cf, Boolean.TRUE);
cf.whenComplete((r,t)-> remove(cf));
- operations.put(cf, Boolean.TRUE);
}
}
boolean remove(CompletionStage<?> cf) {
--- a/src/java.net.http/share/classes/jdk/internal/net/http/HttpResponseImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/HttpResponseImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -44,16 +44,13 @@
class HttpResponseImpl<T> implements HttpResponse<T>, RawChannel.Provider {
final int responseCode;
- final Exchange<T> exchange;
final HttpRequest initialRequest;
final Optional<HttpResponse<T>> previousResponse;
final HttpHeaders headers;
final Optional<SSLSession> sslSession;
final URI uri;
final HttpClient.Version version;
- RawChannel rawchan;
- final HttpConnection connection;
- final Stream<T> stream;
+ final RawChannelProvider rawChannelProvider;
final T body;
public HttpResponseImpl(HttpRequest initialRequest,
@@ -62,7 +59,6 @@
T body,
Exchange<T> exch) {
this.responseCode = response.statusCode();
- this.exchange = exch;
this.initialRequest = initialRequest;
this.previousResponse = Optional.ofNullable(previousResponse);
this.headers = response.headers();
@@ -70,23 +66,10 @@
this.sslSession = Optional.ofNullable(response.getSSLSession());
this.uri = response.request().uri();
this.version = response.version();
- this.connection = connection(exch);
- this.stream = null;
+ this.rawChannelProvider = RawChannelProvider.create(response, exch);
this.body = body;
}
- private HttpConnection connection(Exchange<?> exch) {
- if (exch == null || exch.exchImpl == null) {
- assert responseCode == 407;
- return null; // case of Proxy 407
- }
- return exch.exchImpl.connection();
- }
-
- private ExchangeImpl<?> exchangeImpl() {
- return exchange != null ? exchange.exchImpl : stream;
- }
-
@Override
public int statusCode() {
return responseCode;
@@ -141,23 +124,11 @@
*/
@Override
public synchronized RawChannel rawChannel() throws IOException {
- if (rawchan == null) {
- ExchangeImpl<?> exchImpl = exchangeImpl();
- if (!(exchImpl instanceof Http1Exchange)) {
- // RawChannel is only used for WebSocket - and WebSocket
- // is not supported over HTTP/2 yet, so we should not come
- // here. Getting a RawChannel over HTTP/2 might be supported
- // in the future, but it would entail retrieving any left over
- // bytes that might have been read but not consumed by the
- // HTTP/2 connection.
- throw new UnsupportedOperationException("RawChannel is not supported over HTTP/2");
- }
- // Http1Exchange may have some remaining bytes in its
- // internal buffer.
- Supplier<ByteBuffer> initial = ((Http1Exchange<?>)exchImpl)::drainLeftOverBytes;
- rawchan = new RawChannelTube(connection, initial);
+ if (rawChannelProvider == null) {
+ throw new UnsupportedOperationException(
+ "RawChannel is only supported for WebSocket creation");
}
- return rawchan;
+ return rawChannelProvider.rawChannel();
}
@Override
@@ -174,4 +145,61 @@
.append(statusCode());
return sb.toString();
}
+
+ /**
+ * An auxiliary class used for RawChannel creation when creating a WebSocket.
+ * This avoids keeping around references to connection/exchange in the
+ * regular HttpResponse case. Only those responses corresponding to an
+ * initial WebSocket request have a RawChannelProvider.
+ */
+ private static final class RawChannelProvider implements RawChannel.Provider {
+ private final HttpConnection connection;
+ private final Exchange<?> exchange;
+ private RawChannel rawchan;
+ RawChannelProvider(HttpConnection conn, Exchange<?> exch) {
+ connection = conn;
+ exchange = exch;
+ }
+
+ static RawChannelProvider create(Response resp, Exchange<?> exch) {
+ if (resp.request().isWebSocket()) {
+ return new RawChannelProvider(connection(resp, exch), exch);
+ }
+ return null;
+ }
+
+ @Override
+ public synchronized RawChannel rawChannel() {
+ if (rawchan == null) {
+ ExchangeImpl<?> exchImpl = exchangeImpl();
+ if (!(exchImpl instanceof Http1Exchange)) {
+ // RawChannel is only used for WebSocket - and WebSocket
+ // is not supported over HTTP/2 yet, so we should not come
+ // here. Getting a RawChannel over HTTP/2 might be supported
+ // in the future, but it would entail retrieving any left over
+ // bytes that might have been read but not consumed by the
+ // HTTP/2 connection.
+ throw new UnsupportedOperationException("RawChannel is not supported over HTTP/2");
+ }
+ // Http1Exchange may have some remaining bytes in its
+ // internal buffer.
+ Supplier<ByteBuffer> initial = ((Http1Exchange<?>) exchImpl)::drainLeftOverBytes;
+ rawchan = new RawChannelTube(connection, initial);
+ }
+ return rawchan;
+ }
+
+ private static HttpConnection connection(Response resp, Exchange<?> exch) {
+ if (exch == null || exch.exchImpl == null) {
+ assert resp.statusCode == 407;
+ return null; // case of Proxy 407
+ }
+ return exch.exchImpl.connection();
+ }
+
+ private ExchangeImpl<?> exchangeImpl() {
+ return exchange != null ? exchange.exchImpl : null;
+ }
+
+ }
}
--- a/src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,12 +26,14 @@
package jdk.internal.net.http;
import java.io.IOException;
-import java.io.UncheckedIOException;
import java.net.ConnectException;
import java.net.http.HttpConnectTimeoutException;
+import java.time.Duration;
import java.util.Iterator;
import java.util.LinkedList;
import java.security.AccessControlContext;
+import java.util.Objects;
+import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletionException;
@@ -39,6 +41,7 @@
import java.util.concurrent.Executor;
import java.util.concurrent.Flow;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
import java.util.function.Function;
import java.net.http.HttpClient;
@@ -71,6 +74,7 @@
private final HttpRequest userRequest; // the user request
private final HttpRequestImpl request; // a copy of the user request
+ private final ConnectTimeoutTracker connectTimeout; // null if no timeout
final AccessControlContext acc;
final HttpClientImpl client;
final HttpResponse.BodyHandler<T> responseHandler;
@@ -107,6 +111,38 @@
// RedirectHandler
volatile int numberOfRedirects = 0;
+ // This class is used to keep track of the connection timeout
+ // across retries, when a ConnectException causes a retry.
+ // In that case - we will retry the connect, but we don't
+ // want to double the timeout by starting a new timer with
+ // the full connectTimeout again.
+ // Instead we use the ConnectTimeoutTracker to return a new
+ // duration that takes into account the time spent in the
+ // first connect attempt.
+ // If however, the connection gets connected, but we later
+ // retry the whole operation, then we reset the timer before
+ // retrying (since the connection used for the second request
+ // will not necessarily be the same: it could be a new
+ // unconnected connection) - see getExceptionalCF().
+ private static final class ConnectTimeoutTracker {
+ final Duration max;
+ final AtomicLong startTime = new AtomicLong();
+ ConnectTimeoutTracker(Duration connectTimeout) {
+ this.max = Objects.requireNonNull(connectTimeout);
+ }
+
+ Duration getRemaining() {
+ long now = System.nanoTime();
+ long previous = startTime.compareAndExchange(0, now);
+ if (previous == 0 || max.isZero()) return max;
+ Duration remaining = max.minus(Duration.ofNanos(now - previous));
+ assert remaining.compareTo(max) <= 0;
+ return remaining.isNegative() ? Duration.ZERO : remaining;
+ }
+
+ void reset() { startTime.set(0); }
+ }
+
/**
* MultiExchange with one final response.
*/
@@ -135,7 +171,8 @@
} else {
pushGroup = null;
}
-
+ this.connectTimeout = client.connectTimeout()
+ .map(ConnectTimeoutTracker::new).orElse(null);
this.exchange = new Exchange<>(request, this);
}
@@ -161,6 +198,11 @@
this.exchange = exchange;
}
+ public Optional<Duration> remainingConnectTimeout() {
+ return Optional.ofNullable(connectTimeout)
+ .map(ConnectTimeoutTracker::getRemaining);
+ }
+
private void cancelTimer() {
if (responseTimerEvent != null) {
client.cancelTimer(responseTimerEvent);
@@ -242,7 +284,8 @@
result.complete(this.response);
}
});
- return result;
+ // ensure that the connection is closed or returned to the pool.
+ return result.whenComplete(exch::nullBody);
}
private CompletableFuture<HttpResponse<T>>
@@ -354,7 +397,7 @@
return s.isEmpty() ? true : Boolean.parseBoolean(s);
}
- private static boolean retryConnect() {
+ private static boolean disableRetryConnect() {
String s = Utils.getNetProperty("jdk.httpclient.disableRetryConnect");
if (s == null)
return false;
@@ -364,7 +407,7 @@
/** True if ALL ( even non-idempotent ) requests can be automatic retried. */
private static final boolean RETRY_ALWAYS = retryPostValue();
/** True if ConnectException should cause a retry. Enabled by default */
- private static final boolean RETRY_CONNECT = retryConnect();
+ private static final boolean RETRY_CONNECT = !disableRetryConnect();
/** Returns true is given request has an idempotent method. */
private static boolean isIdempotentRequest(HttpRequest request) {
@@ -415,10 +458,13 @@
Throwable cause = retryCause(t);
if (!(t instanceof ConnectException)) {
+ // we may need to start a new connection, and if so
+ // we want to start with a fresh connect timeout again.
+ if (connectTimeout != null) connectTimeout.reset();
if (!canRetryRequest(currentreq)) {
return failedFuture(cause); // fails with original cause
}
- }
+ } // ConnectException: retry, but don't reset the connectTimeout.
// allow the retry mechanism to do its work
retryCause = cause;
--- a/src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -65,7 +65,7 @@
*/
private ConnectTimerEvent newConnectTimer(Exchange<?> exchange,
CompletableFuture<Void> cf) {
- Duration duration = client().connectTimeout().orElse(null);
+ Duration duration = exchange.remainingConnectTimeout().orElse(null);
if (duration != null) {
ConnectTimerEvent cte = new ConnectTimerEvent(duration, exchange, cf);
return cte;
--- a/src/java.net.http/share/classes/jdk/internal/net/http/common/SSLFlowDelegate.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/common/SSLFlowDelegate.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -32,6 +32,7 @@
import javax.net.ssl.SSLEngineResult.HandshakeStatus;
import javax.net.ssl.SSLEngineResult.Status;
import javax.net.ssl.SSLException;
+import javax.net.ssl.SSLHandshakeException;
import java.io.IOException;
import java.lang.ref.Reference;
import java.lang.ref.ReferenceQueue;
@@ -109,6 +110,7 @@
volatile boolean close_notify_received;
final CompletableFuture<Void> readerCF;
final CompletableFuture<Void> writerCF;
+ final CompletableFuture<Void> stopCF;
final Consumer<ByteBuffer> recycler;
static AtomicInteger scount = new AtomicInteger(1);
final int id;
@@ -149,8 +151,7 @@
this.writerCF = reader.completion();
readerCF.exceptionally(this::stopOnError);
writerCF.exceptionally(this::stopOnError);
-
- CompletableFuture.allOf(reader.completion(), writer.completion())
+ this.stopCF = CompletableFuture.allOf(reader.completion(), writer.completion())
.thenRun(this::normalStop);
this.alpnCF = new MinimalFuture<>();
@@ -302,7 +303,9 @@
return "READER: " + super.toString() + ", readBuf: " + readBuf.toString()
+ ", count: " + count.toString() + ", scheduler: "
+ (scheduler.isStopped() ? "stopped" : "running")
- + ", status: " + lastUnwrapStatus;
+ + ", status: " + lastUnwrapStatus
+ + ", handshakeState: " + handshakeState.get()
+ + ", engine: " + engine.getHandshakeStatus();
}
private void reallocReadBuf() {
@@ -429,6 +432,8 @@
if (complete && result.status() == Status.CLOSED) {
if (debugr.on()) debugr.log("Closed: completing");
outgoing(Utils.EMPTY_BB_LIST, true);
+ // complete ALPN if not yet completed
+ setALPN();
return;
}
if (result.handshaking()) {
@@ -437,11 +442,7 @@
if (doHandshake(result, READER)) continue; // need unwrap
else break; // doHandshake will have triggered the write scheduler if necessary
} else {
- if ((handshakeState.getAndSet(NOT_HANDSHAKING) & ~DOING_TASKS) == HANDSHAKING) {
- handshaking = false;
- applicationBufferSize = engine.getSession().getApplicationBufferSize();
- packetBufferSize = engine.getSession().getPacketBufferSize();
- setALPN();
+ if (trySetALPN()) {
resumeActivity();
}
}
@@ -741,6 +742,8 @@
if (!upstreamCompleted) {
upstreamCompleted = true;
upstreamSubscription.cancel();
+ // complete ALPN if not yet completed
+ setALPN();
}
if (result.bytesProduced() <= 0)
return;
@@ -758,10 +761,7 @@
doHandshake(result, WRITER); // ok to ignore return
handshaking = true;
} else {
- if ((handshakeState.getAndSet(NOT_HANDSHAKING) & ~DOING_TASKS) == HANDSHAKING) {
- applicationBufferSize = engine.getSession().getApplicationBufferSize();
- packetBufferSize = engine.getSession().getPacketBufferSize();
- setALPN();
+ if (trySetALPN()) {
resumeActivity();
}
}
@@ -914,11 +914,25 @@
stopped = true;
reader.stop();
writer.stop();
+ // make sure the alpnCF is completed.
+ if (!alpnCF.isDone()) {
+ Throwable alpn = new SSLHandshakeException(
+ "Connection closed before successful ALPN negotiation");
+ alpnCF.completeExceptionally(alpn);
+ }
if (isMonitored) Monitor.remove(monitor);
}
- private Void stopOnError(Throwable currentlyUnused) {
+ private Void stopOnError(Throwable error) {
// maybe log, etc
+ // ensure the ALPN is completed
+ // We could also do this in SSLTube.SSLSubscriberWrapper
+ // onError/onComplete - with the caveat that the ALP CF
+ // would get completed externally. Doing it here keeps
+ // it all inside SSLFlowDelegate.
+ if (!alpnCF.isDone()) {
+ alpnCF.completeExceptionally(error);
+ }
normalStop();
return null;
}
@@ -1070,6 +1084,11 @@
}
} while (true);
if (debug.on()) debug.log("finished task execution");
+ HandshakeStatus hs = engine.getHandshakeStatus();
+ if (hs == HandshakeStatus.FINISHED || hs == HandshakeStatus.NOT_HANDSHAKING) {
+ // We're no longer handshaking, try setting ALPN
+ trySetALPN();
+ }
resumeActivity();
} catch (Throwable t) {
handleError(t);
@@ -1077,6 +1096,17 @@
});
}
+ boolean trySetALPN() {
+ // complete ALPN CF if needed.
+ if ((handshakeState.getAndSet(NOT_HANDSHAKING) & ~DOING_TASKS) == HANDSHAKING) {
+ applicationBufferSize = engine.getSession().getApplicationBufferSize();
+ packetBufferSize = engine.getSession().getPacketBufferSize();
+ setALPN();
+ return true;
+ }
+ return false;
+ }
+
// FIXME: acknowledge a received CLOSE request from peer
EngineResult doClosure(EngineResult r) throws IOException {
if (debug.on())
--- a/src/java.net.http/share/classes/jdk/internal/net/http/common/SSLTube.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/common/SSLTube.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -274,7 +274,11 @@
@Override
public String toString() {
- return "DelegateWrapper:" + delegate.toString();
+ return "DelegateWrapper[subscribedCalled: " + subscribedCalled
+ +", subscribedDone: " + subscribedDone
+ +", completed: " + completed
+ +", error: " + error
+ +"]: " + delegate;
}
}
@@ -288,6 +292,20 @@
private final AtomicReference<Throwable> errorRef
= new AtomicReference<>();
+ @Override
+ public String toString() {
+ DelegateWrapper sub = subscribed;
+ DelegateWrapper pend = pendingDelegate.get();
+ // Though final sslFD may be null if called from within
+ // SSLFD::connect() as SSLTube is not fully constructed yet.
+ SSLFlowDelegate sslFD = sslDelegate;
+ return "SSLSubscriberWrapper[" + SSLTube.this
+ + ", delegate: " + (sub == null ? pend :sub)
+ + ", getALPN: " + (sslFD == null ? null : sslFD.alpn())
+ + ", onCompleteReceived: " + onCompleteReceived
+ + ", onError: " + errorRef.get() + "]";
+ }
+
// setDelegate can be called asynchronously when the SSLTube flow
// is connected. At this time the permanent subscriber (this class)
// may already be subscribed (readSubscription != null) or not.
@@ -319,6 +337,9 @@
debug.log("SSLSubscriberWrapper (reader) no subscription yet");
return;
}
+ // sslDelegate field should have been initialized by the
+ // the time we reach here, as there can be no subscriber
+ // until SSLTube is fully constructed.
if (handleNow || !sslDelegate.resumeReader()) {
processPendingSubscriber();
}
@@ -429,7 +450,8 @@
Throwable failed;
boolean completed;
// reset any demand that may have been made by the previous
- // subscriber
+ // subscriber. sslDelegate field should have been initialized,
+ // since we only reach here when there is a subscriber.
sslDelegate.resetReaderDemand();
// send the subscription to the subscriber.
subscriberImpl.onSubscribe(subscription);
--- a/src/java.net.http/share/classes/jdk/internal/net/http/common/SubscriberWrapper.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/common/SubscriberWrapper.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -468,7 +468,8 @@
.append(" outputQ size: ").append(Integer.toString(outputQ.size()))
//.append(" outputQ: ").append(outputQ.toString())
.append(" cf: ").append(cf.toString())
- .append(" downstreamSubscription: ").append(downstreamSubscription.toString());
+ .append(" downstreamSubscription: ").append(downstreamSubscription)
+ .append(" downstreamSubscriber: ").append(downstreamSubscriber);
return sb.toString();
}
--- a/src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -31,11 +31,11 @@
import javax.net.ssl.ExtendedSSLSession;
import javax.net.ssl.SSLException;
+import javax.net.ssl.SSLHandshakeException;
import javax.net.ssl.SSLParameters;
import javax.net.ssl.SSLSession;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
-import java.io.EOFException;
import java.io.IOException;
import java.io.PrintStream;
import java.io.UncheckedIOException;
@@ -74,7 +74,6 @@
import java.util.stream.Stream;
import static java.lang.String.format;
-import static java.util.Objects.requireNonNull;
import static java.util.stream.Collectors.joining;
import jdk.internal.net.http.HttpRequestImpl;
@@ -307,11 +306,16 @@
if (!(t instanceof IOException))
return t;
+ if (t instanceof SSLHandshakeException)
+ return t; // no need to decorate
+
String msg = messageSupplier.get();
if (msg == null)
return t;
if (t instanceof ConnectionExpiredException) {
+ if (t.getCause() instanceof SSLHandshakeException)
+ return t; // no need to decorate
IOException ioe = new IOException(msg, t.getCause());
t = new ConnectionExpiredException(ioe);
} else {
--- a/src/java.security.jgss/windows/native/libw2k_lsa_auth/NativeCreds.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/java.security.jgss/windows/native/libw2k_lsa_auth/NativeCreds.c Tue Jan 22 09:43:38 2019 -0500
@@ -78,7 +78,8 @@
BOOL PackageConnectLookup(PHANDLE,PULONG);
-NTSTATUS ConstructTicketRequest(UNICODE_STRING DomainName,
+NTSTATUS ConstructTicketRequest(JNIEnv *env,
+ UNICODE_STRING DomainName,
PKERB_RETRIEVE_TKT_REQUEST *outRequest,
ULONG *outSize);
@@ -104,6 +105,8 @@
jobject BuildTicketFlags(JNIEnv *env, PULONG flags);
jobject BuildKerberosTime(JNIEnv *env, PLARGE_INTEGER kerbtime);
+void ThrowOOME(JNIEnv *env, const char *szMessage);
+
/*
* Class: sun_security_krb5_KrbCreds
* Method: JNI_OnLoad
@@ -497,7 +500,7 @@
}
// use domain to request Ticket
- Status = ConstructTicketRequest(msticket->TargetDomainName,
+ Status = ConstructTicketRequest(env, msticket->TargetDomainName,
&pTicketRequest, &requestSize);
if (!LSA_SUCCESS(Status)) {
ShowNTError("ConstructTicketRequest status", Status);
@@ -691,7 +694,7 @@
}
static NTSTATUS
-ConstructTicketRequest(UNICODE_STRING DomainName,
+ConstructTicketRequest(JNIEnv *env, UNICODE_STRING DomainName,
PKERB_RETRIEVE_TKT_REQUEST *outRequest, ULONG *outSize)
{
NTSTATUS Status;
@@ -738,8 +741,10 @@
pTicketRequest = (PKERB_RETRIEVE_TKT_REQUEST)
LocalAlloc(LMEM_ZEROINIT, RequestSize);
- if (!pTicketRequest)
+ if (!pTicketRequest) {
+ ThrowOOME(env, "Can't allocate memory for ticket");
return GetLastError();
+ }
//
// Concatenate the target prefix with the previous response's
@@ -896,7 +901,7 @@
jbyteArray ary;
ary = (*env)->NewByteArray(env,encodedTicketSize);
- if ((*env)->ExceptionOccurred(env)) {
+ if (ary == NULL) {
return (jobject) NULL;
}
@@ -942,6 +947,10 @@
realm = (WCHAR *) LocalAlloc(LMEM_ZEROINIT,
((domainName.Length)*sizeof(WCHAR) + sizeof(UNICODE_NULL)));
+ if (realm == NULL) {
+ ThrowOOME(env, "Can't allocate memory for realm");
+ return NULL;
+ }
wcsncpy(realm, domainName.Buffer, domainName.Length/sizeof(WCHAR));
if (native_debug) {
@@ -1016,6 +1025,9 @@
}
ary = (*env)->NewByteArray(env,cryptoKey->Length);
+ if (ary == NULL) {
+ return (jobject) NULL;
+ }
(*env)->SetByteArrayRegion(env, ary, (jsize) 0, cryptoKey->Length,
(jbyte *)cryptoKey->Value);
if ((*env)->ExceptionOccurred(env)) {
@@ -1038,6 +1050,9 @@
ULONG nlflags = htonl(*flags);
ary = (*env)->NewByteArray(env, sizeof(*flags));
+ if (ary == NULL) {
+ return (jobject) NULL;
+ }
(*env)->SetByteArrayRegion(env, ary, (jsize) 0, sizeof(*flags),
(jbyte *)&nlflags);
if ((*env)->ExceptionOccurred(env)) {
@@ -1090,3 +1105,10 @@
}
return kerberosTime;
}
+
+void ThrowOOME(JNIEnv *env, const char *szMessage) {
+ jclass exceptionClazz = (*env)->FindClass(env, "java/lang/OutOfMemoryError");
+ if (exceptionClazz != NULL) {
+ (*env)->ThrowNew(env, exceptionClazz, szMessage);
+ }
+}
--- a/src/jdk.accessibility/windows/native/libwindowsaccessbridge/AccessBridgeMessageQueue.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.accessibility/windows/native/libwindowsaccessbridge/AccessBridgeMessageQueue.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. 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
@@ -32,6 +32,7 @@
#include "AccessBridgePackages.h" // for debugging only
#include <windows.h>
#include <malloc.h>
+#include <new>
DEBUG_CODE(extern HWND theDialogWindow);
extern "C" {
@@ -46,6 +47,9 @@
next = (AccessBridgeQueueElement *) 0;
previous = (AccessBridgeQueueElement *) 0;
buffer = (char *) malloc(bufsize);
+ if (buffer == NULL) {
+ throw std::bad_alloc();
+ }
memcpy(buffer, buf, bufsize);
}
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -794,7 +794,7 @@
* @param typarams the type variables to enter
* @param env the current environment
*/
- void attribTypeVariables(List<JCTypeParameter> typarams, Env<AttrContext> env) {
+ void attribTypeVariables(List<JCTypeParameter> typarams, Env<AttrContext> env, boolean checkCyclic) {
for (JCTypeParameter tvar : typarams) {
TypeVar a = (TypeVar)tvar.type;
a.tsym.flags_field |= UNATTRIBUTED;
@@ -811,8 +811,10 @@
}
a.tsym.flags_field &= ~UNATTRIBUTED;
}
- for (JCTypeParameter tvar : typarams) {
- chk.checkNonCyclic(tvar.pos(), (TypeVar)tvar.type);
+ if (checkCyclic) {
+ for (JCTypeParameter tvar : typarams) {
+ chk.checkNonCyclic(tvar.pos(), (TypeVar)tvar.type);
+ }
}
}
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -2712,6 +2712,8 @@
if (type.isErroneous()) return;
for (List<Type> l = types.interfaces(type); l.nonEmpty(); l = l.tail) {
Type it = l.head;
+ if (type.hasTag(CLASS) && !it.hasTag(CLASS)) continue; // JLS 8.1.5
+
Type oldit = seensofar.put(it.tsym, it);
if (oldit != null) {
List<Type> oldparams = oldit.allparams();
@@ -2725,6 +2727,7 @@
checkClassBounds(pos, seensofar, it);
}
Type st = types.supertype(type);
+ if (type.hasTag(CLASS) && !st.hasTag(CLASS)) return; // JLS 8.1.4
if (st != Type.noType) checkClassBounds(pos, seensofar, st);
}
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -103,7 +103,7 @@
// Enter and attribute type parameters.
List<Type> tvars = enter.classEnter(typarams, env);
- attr.attribTypeVariables(typarams, env);
+ attr.attribTypeVariables(typarams, env, true);
// Enter and attribute value parameters.
ListBuffer<Type> argbuf = new ListBuffer<>();
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -831,8 +831,8 @@
annotate.annotateLater(tree.mods.annotations, baseEnv,
sym, tree.pos());
+ attr.attribTypeVariables(tree.typarams, baseEnv, false);
- attr.attribTypeVariables(tree.typarams, baseEnv);
for (JCTypeParameter tp : tree.typarams)
annotate.queueScanTreeAndTypeAnnotate(tp, baseEnv, sym, tree.pos());
@@ -939,6 +939,12 @@
env.info.scope.enter(superSym);
}
+ if (!tree.typarams.isEmpty()) {
+ for (JCTypeParameter tvar : tree.typarams) {
+ chk.checkNonCyclic(tvar, (TypeVar)tvar.type);
+ }
+ }
+
finishClass(tree, env);
if (allowTypeAnnos) {
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -29,12 +29,18 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
+import java.io.Writer;
import java.net.URL;
+import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.security.CodeSource;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -307,6 +313,7 @@
comp.closeables = comp.closeables.prepend(log.getWriter(WriterKind.NOTICE));
}
+ boolean printArgsToFile = options.isSet("printArgsToFile");
try {
comp.compile(args.getFileObjects(), args.getClassNames(), null, List.nil());
@@ -338,6 +345,7 @@
if (twoClassLoadersInUse(iae)) {
bugMessage(iae);
}
+ printArgsToFile = true;
return Result.ABNORMAL;
} catch (Throwable ex) {
// Nasty. If we've already reported an error, compensate
@@ -345,8 +353,12 @@
// exceptions.
if (comp == null || comp.errorCount() == 0 || options.isSet("dev"))
bugMessage(ex);
+ printArgsToFile = true;
return Result.ABNORMAL;
} finally {
+ if (printArgsToFile) {
+ printArgumentsToFile(argv);
+ }
if (comp != null) {
try {
comp.close();
@@ -357,6 +369,29 @@
}
}
+ void printArgumentsToFile(String... params) {
+ Path out = Paths.get(String.format("javac.%s.args",
+ new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime())));
+ String strOut = "";
+ try {
+ try (Writer w = Files.newBufferedWriter(out)) {
+ for (String param : params) {
+ param = param.replaceAll("\\\\", "\\\\\\\\");
+ if (param.matches(".*\\s+.*")) {
+ param = "\"" + param + "\"";
+ }
+ strOut += param + '\n';
+ }
+ w.write(strOut);
+ }
+ log.printLines(PrefixKind.JAVAC, "msg.parameters.output", out.toAbsolutePath());
+ } catch (IOException ioe) {
+ log.printLines(PrefixKind.JAVAC, "msg.parameters.output.error", out.toAbsolutePath());
+ System.err.println(strOut);
+ System.err.println();
+ }
+ }
+
private boolean twoClassLoadersInUse(IllegalAccessError iae) {
String msg = iae.getMessage();
Pattern pattern = Pattern.compile("(?i)(?<=tried to access class )([a-z_$][a-z\\d_$]*\\.)*[a-z_$][a-z\\d_$]*");
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2019, Oracle and/or its affiliates. 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
@@ -44,7 +44,7 @@
javac.opt.sourcepath=\
Specify where to find input source files
javac.opt.m=\
- Compile only the specified module, check timestamps
+ Compile only the specified module(s), check timestamps
javac.opt.modulesourcepath=\
Specify where to find input source files for multiple modules
javac.opt.bootclasspath=\
@@ -108,7 +108,7 @@
javac.opt.arg.mspath=\
<module-source-path>
javac.opt.arg.m=\
- <module-name>
+ <module>(,<module>)*
javac.opt.arg.jdk=\
<jdk>|none
javac.opt.arg.dirs=\
@@ -352,7 +352,7 @@
An exception has occurred in the compiler ({0}). \
Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) \
after checking the Bug Database (http://bugs.java.com) for duplicates. \
-Include your program and the following diagnostic in your report. Thank you.
+Include your program, the following diagnostic, and the parameters passed to the Java compiler in your report. Thank you.
javac.msg.io=\
\n\nAn input/output error occurred.\n\
@@ -372,3 +372,9 @@
javac.version={0} {1}
javac.fullVersion={0} full version "{1}"
+
+javac.msg.parameters.output=\
+printing javac parameters to: {0}
+
+javac.msg.parameters.output.error=\
+error while trying to print javac parameters to: {0}, parameters will follow:
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. 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
@@ -400,19 +400,35 @@
}
}
- private void cancelOperation() {
- if (initialized == false) {
+ // reset the states to the pre-initialized values
+ // need to be called after doFinal or prior to re-init
+ private void reset(boolean doCancel) {
+ if (!initialized) {
return;
}
-
- if ((session == null) || (token.explicitCancel == false)) {
- return;
- }
+ initialized = false;
try {
- if (session.hasObjects() == false) {
- session = token.killSession(session);
+ if (session == null) {
return;
- } else {
+ }
+ if (doCancel && token.explicitCancel) {
+ cancelOperation();
+ }
+ } finally {
+ p11Key.releaseKeyID();
+ session = token.releaseSession(session);
+ bytesBuffered = 0;
+ padBufferLen = 0;
+ }
+ }
+
+ private void cancelOperation() {
+ token.ensureValid();
+ if (session.hasObjects() == false) {
+ session = token.killSession(session);
+ return;
+ } else {
+ try {
// cancel operation by finishing it
int bufLen = doFinalLength(0);
byte[] buffer = new byte[bufLen];
@@ -421,40 +437,46 @@
} else {
token.p11.C_DecryptFinal(session.id(), 0, buffer, 0, bufLen);
}
+ } catch (PKCS11Exception e) {
+ throw new ProviderException("Cancel failed", e);
}
- } catch (PKCS11Exception e) {
- throw new ProviderException("Cancel failed", e);
}
}
private void ensureInitialized() throws PKCS11Exception {
- if (initialized == false) {
+ if (!initialized) {
initialize();
}
}
private void initialize() throws PKCS11Exception {
- if (session == null) {
- session = token.getOpSession();
+ if (p11Key == null) {
+ throw new ProviderException(
+ "Operation cannot be performed without"
+ + " calling engineInit first");
}
- CK_MECHANISM mechParams = (blockMode == MODE_CTR?
- new CK_MECHANISM(mechanism, new CK_AES_CTR_PARAMS(iv)) :
- new CK_MECHANISM(mechanism, iv));
-
+ token.ensureValid();
+ long p11KeyID = p11Key.getKeyID();
try {
+ if (session == null) {
+ session = token.getOpSession();
+ }
+ CK_MECHANISM mechParams = (blockMode == MODE_CTR?
+ new CK_MECHANISM(mechanism, new CK_AES_CTR_PARAMS(iv)) :
+ new CK_MECHANISM(mechanism, iv));
if (encrypt) {
- token.p11.C_EncryptInit(session.id(), mechParams, p11Key.keyID);
+ token.p11.C_EncryptInit(session.id(), mechParams, p11KeyID);
} else {
- token.p11.C_DecryptInit(session.id(), mechParams, p11Key.keyID);
+ token.p11.C_DecryptInit(session.id(), mechParams, p11KeyID);
}
- } catch (PKCS11Exception ex) {
- // release session when initialization failed
+ } catch (PKCS11Exception e) {
+ p11Key.releaseKeyID();
session = token.releaseSession(session);
- throw ex;
+ throw e;
}
+ initialized = true;
bytesBuffered = 0;
padBufferLen = 0;
- initialized = true;
}
// if update(inLen) is called, how big does the output buffer have to be?
@@ -485,18 +507,6 @@
return result;
}
- // reset the states to the pre-initialized values
- private void reset(boolean doCancel) {
- if (doCancel) cancelOperation();
-
- initialized = false;
- bytesBuffered = 0;
- padBufferLen = 0;
- if (session != null) {
- session = token.releaseSession(session);
- }
- }
-
// see JCE spec
protected byte[] engineUpdate(byte[] in, int inOfs, int inLen) {
try {
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11DHKeyFactory.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11DHKeyFactory.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. 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
@@ -221,7 +221,12 @@
new CK_ATTRIBUTE(CKA_PRIME),
new CK_ATTRIBUTE(CKA_BASE),
};
- token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes);
+ long keyID = key.getKeyID();
+ try {
+ token.p11.C_GetAttributeValue(session[0].id(), keyID, attributes);
+ } finally {
+ key.releaseKeyID();
+ }
KeySpec spec = new DHPublicKeySpec(
attributes[0].getBigInteger(),
attributes[1].getBigInteger(),
@@ -243,7 +248,12 @@
new CK_ATTRIBUTE(CKA_PRIME),
new CK_ATTRIBUTE(CKA_BASE),
};
- token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes);
+ long keyID = key.getKeyID();
+ try {
+ token.p11.C_GetAttributeValue(session[0].id(), keyID, attributes);
+ } finally {
+ key.releaseKeyID();
+ }
KeySpec spec = new DHPrivateKeySpec(
attributes[0].getBigInteger(),
attributes[1].getBigInteger(),
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11DSAKeyFactory.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11DSAKeyFactory.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. 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
@@ -218,7 +218,12 @@
new CK_ATTRIBUTE(CKA_SUBPRIME),
new CK_ATTRIBUTE(CKA_BASE),
};
- token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes);
+ long keyID = key.getKeyID();
+ try {
+ token.p11.C_GetAttributeValue(session[0].id(), keyID, attributes);
+ } finally {
+ key.releaseKeyID();
+ }
KeySpec spec = new DSAPublicKeySpec(
attributes[0].getBigInteger(),
attributes[1].getBigInteger(),
@@ -242,7 +247,12 @@
new CK_ATTRIBUTE(CKA_SUBPRIME),
new CK_ATTRIBUTE(CKA_BASE),
};
- token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes);
+ long keyID = key.getKeyID();
+ try {
+ token.p11.C_GetAttributeValue(session[0].id(), keyID, attributes);
+ } finally {
+ key.releaseKeyID();
+ }
KeySpec spec = new DSAPrivateKeySpec(
attributes[0].getBigInteger(),
attributes[1].getBigInteger(),
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Digest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Digest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. 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
@@ -143,7 +143,8 @@
token.ensureValid();
if (session != null) {
- if (state == S_INIT && token.explicitCancel == true) {
+ if (state == S_INIT && token.explicitCancel == true
+ && session.hasObjects() == false) {
session = token.killSession(session);
} else {
session = token.releaseSession(session);
@@ -254,6 +255,7 @@
}
fetchSession();
+ long p11KeyID = p11Key.getKeyID();
try {
if (state == S_BUFFERED) {
token.p11.C_DigestInit(session.id(), mechanism);
@@ -264,10 +266,12 @@
token.p11.C_DigestUpdate(session.id(), 0, buffer, 0, bufOfs);
bufOfs = 0;
}
- token.p11.C_DigestKey(session.id(), p11Key.keyID);
+ token.p11.C_DigestKey(session.id(), p11KeyID);
} catch (PKCS11Exception e) {
engineReset();
throw new ProviderException("update(SecretKey) failed", e);
+ } finally {
+ p11Key.releaseKeyID();
}
}
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11ECDHKeyAgreement.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11ECDHKeyAgreement.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. 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
@@ -120,6 +120,7 @@
throw new IllegalStateException("Not initialized correctly");
}
Session session = null;
+ long privKeyID = privateKey.getKeyID();
try {
session = token.getOpSession();
CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] {
@@ -131,8 +132,8 @@
attributes = token.getAttributes
(O_GENERATE, CKO_SECRET_KEY, CKK_GENERIC_SECRET, attributes);
long keyID = token.p11.C_DeriveKey(session.id(),
- new CK_MECHANISM(mechanism, ckParams), privateKey.keyID,
- attributes);
+ new CK_MECHANISM(mechanism, ckParams), privKeyID,
+ attributes);
attributes = new CK_ATTRIBUTE[] {
new CK_ATTRIBUTE(CKA_VALUE)
};
@@ -143,6 +144,7 @@
} catch (PKCS11Exception e) {
throw new ProviderException("Could not derive key", e);
} finally {
+ privateKey.releaseKeyID();
publicValue = null;
token.releaseSession(session);
}
@@ -182,6 +184,7 @@
}
long keyType = CKK_GENERIC_SECRET;
Session session = null;
+ long privKeyID = privateKey.getKeyID();
try {
session = token.getObjSession();
CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] {
@@ -193,8 +196,8 @@
attributes = token.getAttributes
(O_GENERATE, CKO_SECRET_KEY, keyType, attributes);
long keyID = token.p11.C_DeriveKey(session.id(),
- new CK_MECHANISM(mechanism, ckParams), privateKey.keyID,
- attributes);
+ new CK_MECHANISM(mechanism, ckParams), privKeyID,
+ attributes);
CK_ATTRIBUTE[] lenAttributes = new CK_ATTRIBUTE[] {
new CK_ATTRIBUTE(CKA_VALUE_LEN),
};
@@ -206,6 +209,7 @@
} catch (PKCS11Exception e) {
throw new InvalidKeyException("Could not derive key", e);
} finally {
+ privateKey.releaseKeyID();
publicValue = null;
token.releaseSession(session);
}
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11ECKeyFactory.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11ECKeyFactory.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. 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
@@ -290,13 +290,16 @@
new CK_ATTRIBUTE(CKA_EC_POINT),
new CK_ATTRIBUTE(CKA_EC_PARAMS),
};
- token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes);
+ long keyID = key.getKeyID();
try {
+ token.p11.C_GetAttributeValue(session[0].id(), keyID, attributes);
ECParameterSpec params = decodeParameters(attributes[1].getByteArray());
ECPoint point = decodePoint(attributes[0].getByteArray(), params.getCurve());
return keySpec.cast(new ECPublicKeySpec(point, params));
} catch (IOException e) {
throw new InvalidKeySpecException("Could not parse key", e);
+ } finally {
+ key.releaseKeyID();
}
} else { // X.509 handled in superclass
throw new InvalidKeySpecException("Only ECPublicKeySpec and "
@@ -312,13 +315,16 @@
new CK_ATTRIBUTE(CKA_VALUE),
new CK_ATTRIBUTE(CKA_EC_PARAMS),
};
- token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes);
+ long keyID = key.getKeyID();
try {
+ token.p11.C_GetAttributeValue(session[0].id(), keyID, attributes);
ECParameterSpec params = decodeParameters(attributes[1].getByteArray());
return keySpec.cast(
new ECPrivateKeySpec(attributes[0].getBigInteger(), params));
} catch (IOException e) {
throw new InvalidKeySpecException("Could not parse key", e);
+ } finally {
+ key.releaseKeyID();
}
} else { // PKCS#8 handled in superclass
throw new InvalidKeySpecException("Only ECPrivateKeySpec "
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java Tue Jan 22 09:43:38 2019 -0500
@@ -29,7 +29,6 @@
import java.lang.ref.*;
import java.math.BigInteger;
import java.util.*;
-
import java.security.*;
import java.security.interfaces.*;
import java.security.spec.*;
@@ -45,12 +44,15 @@
import sun.security.internal.interfaces.TlsMasterSecret;
import sun.security.pkcs11.wrapper.*;
+
+import static sun.security.pkcs11.TemplateManager.O_GENERATE;
import static sun.security.pkcs11.wrapper.PKCS11Constants.*;
import sun.security.util.Debug;
import sun.security.util.DerValue;
import sun.security.util.Length;
import sun.security.util.ECUtil;
+import sun.security.jca.JCAUtil;
/**
* Key implementation classes.
@@ -83,23 +85,38 @@
// algorithm name, returned by getAlgorithm(), etc.
final String algorithm;
- // key id
- final long keyID;
-
// effective key length of the key, e.g. 56 for a DES key
final int keyLength;
// flags indicating whether the key is a token object, sensitive, extractable
final boolean tokenObject, sensitive, extractable;
- // phantom reference notification clean up for session keys
- private final SessionKeyRef sessionKeyRef;
+ private final NativeKeyHolder keyIDHolder;
+
+ private static final boolean DISABLE_NATIVE_KEYS_EXTRACTION;
+
+ /**
+ * {@systemProperty sun.security.pkcs11.disableKeyExtraction} property
+ * indicating whether or not cryptographic keys within tokens are
+ * extracted to a Java byte array for memory management purposes.
+ *
+ * Key extraction affects NSS PKCS11 library only.
+ *
+ */
+ static {
+ PrivilegedAction<String> getKeyExtractionProp =
+ () -> System.getProperty(
+ "sun.security.pkcs11.disableKeyExtraction", "true");
+ String disableKeyExtraction =
+ AccessController.doPrivileged(getKeyExtractionProp);
+ DISABLE_NATIVE_KEYS_EXTRACTION =
+ "true".equalsIgnoreCase(disableKeyExtraction);
+ }
P11Key(String type, Session session, long keyID, String algorithm,
int keyLength, CK_ATTRIBUTE[] attributes) {
this.type = type;
this.token = session.token;
- this.keyID = keyID;
this.algorithm = algorithm;
this.keyLength = keyLength;
boolean tokenObject = false;
@@ -119,11 +136,21 @@
this.tokenObject = tokenObject;
this.sensitive = sensitive;
this.extractable = extractable;
- if (tokenObject == false) {
- sessionKeyRef = new SessionKeyRef(this, keyID, session);
- } else {
- sessionKeyRef = null;
- }
+ char[] tokenLabel = this.token.tokenInfo.label;
+ boolean isNSS = (tokenLabel[0] == 'N' && tokenLabel[1] == 'S'
+ && tokenLabel[2] == 'S');
+ boolean extractKeyInfo = (!DISABLE_NATIVE_KEYS_EXTRACTION && isNSS &&
+ extractable && !tokenObject);
+ this.keyIDHolder = new NativeKeyHolder(this, keyID, session, extractKeyInfo,
+ tokenObject);
+ }
+
+ public long getKeyID() {
+ return keyIDHolder.getKeyID();
+ }
+
+ public void releaseKeyID() {
+ keyIDHolder.releaseKeyID();
}
// see JCA spec
@@ -208,8 +235,7 @@
token.ensureValid();
String s1 = token.provider.getName() + " " + algorithm + " " + type
+ " key, " + keyLength + " bits";
- s1 += " (id " + keyID + ", "
- + (tokenObject ? "token" : "session") + " object";
+ s1 += (tokenObject ? "token" : "session") + " object";
if (isPublic()) {
s1 += ")";
} else {
@@ -241,12 +267,15 @@
void fetchAttributes(CK_ATTRIBUTE[] attributes) {
Session tempSession = null;
+ long keyID = this.getKeyID();
try {
tempSession = token.getOpSession();
- token.p11.C_GetAttributeValue(tempSession.id(), keyID, attributes);
+ token.p11.C_GetAttributeValue(tempSession.id(), keyID,
+ attributes);
} catch (PKCS11Exception e) {
throw new ProviderException(e);
} finally {
+ this.releaseKeyID();
token.releaseSession(tempSession);
}
}
@@ -293,7 +322,8 @@
new CK_ATTRIBUTE(CKA_SENSITIVE),
new CK_ATTRIBUTE(CKA_EXTRACTABLE),
});
- return new P11SecretKey(session, keyID, algorithm, keyLength, attributes);
+ return new P11SecretKey(session, keyID, algorithm, keyLength,
+ attributes);
}
static SecretKey masterSecretKey(Session session, long keyID, String algorithm,
@@ -303,8 +333,9 @@
new CK_ATTRIBUTE(CKA_SENSITIVE),
new CK_ATTRIBUTE(CKA_EXTRACTABLE),
});
- return new P11TlsMasterSecretKey
- (session, keyID, algorithm, keyLength, attributes, major, minor);
+ return new P11TlsMasterSecretKey(
+ session, keyID, algorithm, keyLength, attributes, major,
+ minor);
}
// we assume that all components of public keys are always accessible
@@ -312,17 +343,17 @@
int keyLength, CK_ATTRIBUTE[] attributes) {
switch (algorithm) {
case "RSA":
- return new P11RSAPublicKey
- (session, keyID, algorithm, keyLength, attributes);
+ return new P11RSAPublicKey(session, keyID, algorithm,
+ keyLength, attributes);
case "DSA":
- return new P11DSAPublicKey
- (session, keyID, algorithm, keyLength, attributes);
+ return new P11DSAPublicKey(session, keyID, algorithm,
+ keyLength, attributes);
case "DH":
- return new P11DHPublicKey
- (session, keyID, algorithm, keyLength, attributes);
+ return new P11DHPublicKey(session, keyID, algorithm,
+ keyLength, attributes);
case "EC":
- return new P11ECPublicKey
- (session, keyID, algorithm, keyLength, attributes);
+ return new P11ECPublicKey(session, keyID, algorithm,
+ keyLength, attributes);
default:
throw new ProviderException
("Unknown public key algorithm " + algorithm);
@@ -367,21 +398,21 @@
crtKey = false;
}
if (crtKey) {
- return new P11RSAPrivateKey
- (session, keyID, algorithm, keyLength, attributes, attrs2);
+ return new P11RSAPrivateKey(session, keyID, algorithm,
+ keyLength, attributes, attrs2);
} else {
- return new P11RSAPrivateNonCRTKey
- (session, keyID, algorithm, keyLength, attributes);
+ return new P11RSAPrivateNonCRTKey(session, keyID,
+ algorithm, keyLength, attributes);
}
case "DSA":
- return new P11DSAPrivateKey
- (session, keyID, algorithm, keyLength, attributes);
+ return new P11DSAPrivateKey(session, keyID, algorithm,
+ keyLength, attributes);
case "DH":
- return new P11DHPrivateKey
- (session, keyID, algorithm, keyLength, attributes);
+ return new P11DHPrivateKey(session, keyID, algorithm,
+ keyLength, attributes);
case "EC":
- return new P11ECPrivateKey
- (session, keyID, algorithm, keyLength, attributes);
+ return new P11ECPrivateKey(session, keyID, algorithm,
+ keyLength, attributes);
default:
throw new ProviderException
("Unknown private key algorithm " + algorithm);
@@ -435,17 +466,19 @@
b = encoded;
if (b == null) {
Session tempSession = null;
+ long keyID = this.getKeyID();
try {
tempSession = token.getOpSession();
CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] {
new CK_ATTRIBUTE(CKA_VALUE),
};
token.p11.C_GetAttributeValue
- (tempSession.id(), keyID, attributes);
+ (tempSession.id(), keyID, attributes);
b = attributes[0].getByteArray();
} catch (PKCS11Exception e) {
throw new ProviderException(e);
} finally {
+ this.releaseKeyID();
token.releaseSession(tempSession);
}
encoded = b;
@@ -1100,6 +1133,153 @@
}
}
+final class NativeKeyHolder {
+
+ private static long nativeKeyWrapperKeyID = 0;
+ private static CK_MECHANISM nativeKeyWrapperMechanism = null;
+
+ private final P11Key p11Key;
+ private final byte[] nativeKeyInfo;
+
+ // destroyed and recreated when refCount toggles to 1
+ private long keyID;
+
+ private boolean isTokenObject;
+
+ // phantom reference notification clean up for session keys
+ private SessionKeyRef ref;
+
+ private int refCount;
+
+ NativeKeyHolder(P11Key p11Key, long keyID, Session keySession,
+ boolean extractKeyInfo, boolean isTokenObject) {
+ this.p11Key = p11Key;
+ this.keyID = keyID;
+ this.refCount = -1;
+ byte[] ki = null;
+ if (isTokenObject) {
+ this.ref = null;
+ } else {
+ this.ref = new SessionKeyRef(p11Key, keyID, keySession);
+
+ // Try extracting key info, if any error, disable it
+ Token token = p11Key.token;
+ if (extractKeyInfo) {
+ try {
+ if (p11Key.sensitive && nativeKeyWrapperKeyID == 0) {
+ synchronized(NativeKeyHolder.class) {
+ // Create a global wrapping/unwrapping key
+ CK_ATTRIBUTE[] wrappingAttributes = token.getAttributes
+ (O_GENERATE, CKO_SECRET_KEY, CKK_AES, new CK_ATTRIBUTE[] {
+ new CK_ATTRIBUTE(CKA_CLASS, CKO_SECRET_KEY),
+ new CK_ATTRIBUTE(CKA_VALUE_LEN, 256 >> 3),
+ });
+ Session wrappingSession = null;
+ try {
+ wrappingSession = token.getObjSession();
+ nativeKeyWrapperKeyID = token.p11.C_GenerateKey
+ (wrappingSession.id(),
+ new CK_MECHANISM(CKM_AES_KEY_GEN),
+ wrappingAttributes);
+ byte[] iv = new byte[16];
+ JCAUtil.getSecureRandom().nextBytes(iv);
+ nativeKeyWrapperMechanism = new CK_MECHANISM
+ (CKM_AES_CBC_PAD, iv);
+ } catch (PKCS11Exception e) {
+ // best effort
+ } finally {
+ token.releaseSession(wrappingSession);
+ }
+ }
+ }
+ Session opSession = null;
+ try {
+ opSession = token.getOpSession();
+ ki = p11Key.token.p11.getNativeKeyInfo(opSession.id(),
+ keyID, nativeKeyWrapperKeyID, nativeKeyWrapperMechanism);
+ } catch (PKCS11Exception e) {
+ // best effort
+ } finally {
+ token.releaseSession(opSession);
+ }
+ } catch (PKCS11Exception e) {
+ // best effort
+ }
+ }
+ }
+ this.nativeKeyInfo = ((ki == null || ki.length == 0)? null : ki);
+ }
+
+ long getKeyID() throws ProviderException {
+ if (this.nativeKeyInfo != null) {
+ synchronized(this.nativeKeyInfo) {
+ if (this.refCount == -1) {
+ this.refCount = 0;
+ }
+ int cnt = (this.refCount)++;
+ if (keyID == 0) {
+ if (cnt != 0) {
+ throw new RuntimeException(
+ "Error: null keyID with non-zero refCount " + cnt);
+ }
+ if (this.ref != null) {
+ throw new RuntimeException(
+ "Error: null keyID with non-null session ref");
+ }
+ Token token = p11Key.token;
+ // Create keyID using nativeKeyInfo
+ Session session = null;
+ try {
+ session = token.getObjSession();
+ this.keyID = token.p11.createNativeKey(session.id(),
+ nativeKeyInfo, nativeKeyWrapperKeyID, nativeKeyWrapperMechanism);
+ this.ref = new SessionKeyRef(p11Key, this.keyID, session);
+ } catch (PKCS11Exception e) {
+ this.refCount--;
+ throw new ProviderException("Error recreating native key", e);
+ } finally {
+ token.releaseSession(session);
+ }
+ } else {
+ if (cnt < 0) {
+ throw new RuntimeException("ERROR: negative refCount");
+ }
+ }
+ }
+ }
+ return keyID;
+ }
+
+ void releaseKeyID() {
+ if (this.nativeKeyInfo != null) {
+ synchronized(this.nativeKeyInfo) {
+ if (this.refCount == -1) {
+ throw new RuntimeException("Error: miss match getKeyID call");
+ }
+ int cnt = --(this.refCount);
+ if (cnt == 0) {
+ // destroy
+ if (this.keyID == 0) {
+ throw new RuntimeException("ERROR: null keyID can't be destroyed");
+ }
+
+ if (this.ref == null) {
+ throw new RuntimeException("ERROR: null session ref can't be disposed");
+ }
+ // destroy
+ this.keyID = 0;
+ this.ref = this.ref.dispose();
+ } else {
+ if (cnt < 0) {
+ // should never happen as we start count at 1 and pair get/release calls
+ throw new RuntimeException("wrong refCount value: " + cnt);
+ }
+ }
+ }
+ }
+ }
+}
+
/*
* NOTE: Must use PhantomReference here and not WeakReference
* otherwise the key maybe cleared before other objects which
@@ -1117,64 +1297,50 @@
}
private static void drainRefQueueBounded() {
- Session sess = null;
- Token tkn = null;
while (true) {
SessionKeyRef next = (SessionKeyRef) refQueue.poll();
if (next == null) {
break;
}
-
- // If the token is still valid, try to remove the object
- if (next.session.token.isValid()) {
- // If this key's token is the same as the previous key, the
- // same session can be used for C_DestroyObject.
- try {
- if (next.session.token != tkn || sess == null) {
- // Release session if not using previous token
- if (tkn != null && sess != null) {
- tkn.releaseSession(sess);
- sess = null;
- }
-
- tkn = next.session.token;
- sess = tkn.getOpSession();
- }
- next.disposeNative(sess);
- } catch (PKCS11Exception e) {
- // ignore
- }
- }
- // Regardless of native results, dispose of java references
next.dispose();
}
-
- if (tkn != null && sess != null) {
- tkn.releaseSession(sess);
- }
}
- // handle to the native key
- private long keyID;
- private Session session;
+ // handle to the native key and the session it is generated under
+ private final long keyID;
+ private final Session session;
- SessionKeyRef(P11Key key , long keyID, Session session) {
- super(key, refQueue);
+ SessionKeyRef(P11Key p11Key, long keyID, Session session) {
+ super(p11Key, refQueue);
+ if (session == null) {
+ throw new ProviderException("key must be associated with a session");
+ }
this.keyID = keyID;
this.session = session;
this.session.addObject();
+
refList.add(this);
drainRefQueueBounded();
}
- private void disposeNative(Session s) throws PKCS11Exception {
- session.token.p11.C_DestroyObject(s.id(), keyID);
- }
-
- private void dispose() {
+ SessionKeyRef dispose() {
+ Token token = session.token;
+ // If the token is still valid, try to remove the key object
+ if (token.isValid()) {
+ Session s = null;
+ try {
+ s = token.getOpSession();
+ token.p11.C_DestroyObject(s.id(), keyID);
+ } catch (PKCS11Exception e) {
+ // best effort
+ } finally {
+ token.releaseSession(s);
+ }
+ }
refList.remove(this);
this.clear();
session.removeObject();
+ return null;
}
public int compareTo(SessionKeyRef other) {
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyAgreement.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyAgreement.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. 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
@@ -201,6 +201,7 @@
throw new IllegalStateException("Not initialized correctly");
}
Session session = null;
+ long privKeyID = privateKey.getKeyID();
try {
session = token.getOpSession();
CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] {
@@ -210,8 +211,9 @@
attributes = token.getAttributes
(O_GENERATE, CKO_SECRET_KEY, CKK_GENERIC_SECRET, attributes);
long keyID = token.p11.C_DeriveKey(session.id(),
- new CK_MECHANISM(mechanism, publicValue), privateKey.keyID,
- attributes);
+ new CK_MECHANISM(mechanism, publicValue), privKeyID,
+ attributes);
+
attributes = new CK_ATTRIBUTE[] {
new CK_ATTRIBUTE(CKA_VALUE)
};
@@ -237,6 +239,7 @@
} catch (PKCS11Exception e) {
throw new ProviderException("Could not derive key", e);
} finally {
+ privateKey.releaseKeyID();
publicValue = null;
token.releaseSession(session);
}
@@ -325,6 +328,7 @@
}
long keyType = CKK_GENERIC_SECRET;
Session session = null;
+ long privKeyID = privateKey.getKeyID();
try {
session = token.getObjSession();
CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] {
@@ -334,8 +338,8 @@
attributes = token.getAttributes
(O_GENERATE, CKO_SECRET_KEY, keyType, attributes);
long keyID = token.p11.C_DeriveKey(session.id(),
- new CK_MECHANISM(mechanism, publicValue), privateKey.keyID,
- attributes);
+ new CK_MECHANISM(mechanism, publicValue), privKeyID,
+ attributes);
CK_ATTRIBUTE[] lenAttributes = new CK_ATTRIBUTE[] {
new CK_ATTRIBUTE(CKA_VALUE_LEN),
};
@@ -359,6 +363,7 @@
} catch (PKCS11Exception e) {
throw new InvalidKeyException("Could not derive key", e);
} finally {
+ privateKey.releaseKeyID();
publicValue = null;
token.releaseSession(session);
}
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. 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
@@ -1485,6 +1485,7 @@
}
}
+ // retrieves the native key handle and either update it directly or make a copy
private void updateP11Pkey(String alias, CK_ATTRIBUTE attribute, P11Key key)
throws PKCS11Exception {
@@ -1492,23 +1493,22 @@
// if session key, convert to token key.
Session session = null;
+ long keyID = key.getKeyID();
try {
session = token.getOpSession();
if (key.tokenObject == true) {
-
// token key - set new CKA_ID
CK_ATTRIBUTE[] attrs = new CK_ATTRIBUTE[] {
new CK_ATTRIBUTE(CKA_ID, alias) };
token.p11.C_SetAttributeValue
- (session.id(), key.keyID, attrs);
+ (session.id(), keyID, attrs);
if (debug != null) {
debug.println("updateP11Pkey set new alias [" +
alias +
"] for key entry");
}
} else {
-
// session key - convert to token key and set CKA_ID
CK_ATTRIBUTE[] attrs = new CK_ATTRIBUTE[] {
@@ -1518,7 +1518,8 @@
if (attribute != null) {
attrs = addAttribute(attrs, attribute);
}
- token.p11.C_CopyObject(session.id(), key.keyID, attrs);
+ // creates a new token key with the desired CKA_ID
+ token.p11.C_CopyObject(session.id(), keyID, attrs);
if (debug != null) {
debug.println("updateP11Pkey copied private session key " +
"for [" +
@@ -1528,6 +1529,7 @@
}
} finally {
token.releaseSession(session);
+ key.releaseKeyID();
}
}
@@ -1894,10 +1896,12 @@
return attrs;
}
String alg = privateKey.getAlgorithm();
- if (id && alg.equals("RSA") && (publicKey instanceof RSAPublicKey)) {
+ if (alg.equals("RSA") && (publicKey instanceof RSAPublicKey)) {
+ if (id) {
+ BigInteger n = ((RSAPublicKey)publicKey).getModulus();
+ attrs[0] = new CK_ATTRIBUTE(CKA_ID, sha1(getMagnitude(n)));
+ }
// CKA_NETSCAPE_DB not needed for RSA public keys
- BigInteger n = ((RSAPublicKey)publicKey).getModulus();
- attrs[0] = new CK_ATTRIBUTE(CKA_ID, sha1(getMagnitude(n)));
} else if (alg.equals("DSA") && (publicKey instanceof DSAPublicKey)) {
BigInteger y = ((DSAPublicKey)publicKey).getY();
if (id) {
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. 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
@@ -25,7 +25,6 @@
package sun.security.pkcs11;
-import java.util.*;
import java.nio.ByteBuffer;
import java.security.*;
@@ -54,27 +53,12 @@
*/
final class P11Mac extends MacSpi {
- /* unitialized, all fields except session have arbitrary values */
- private final static int S_UNINIT = 1;
-
- /* session initialized, no data processed yet */
- private final static int S_RESET = 2;
-
- /* session initialized, data processed */
- private final static int S_UPDATE = 3;
-
- /* transitional state after doFinal() before we go to S_UNINIT */
- private final static int S_DOFINAL = 4;
-
// token instance
private final Token token;
// algorithm name
private final String algorithm;
- // mechanism id
- private final long mechanism;
-
// mechanism object
private final CK_MECHANISM ckMechanism;
@@ -87,8 +71,8 @@
// associated session, if any
private Session session;
- // state, one of S_* above
- private int state;
+ // initialization status
+ private boolean initialized;
// one byte buffer for the update(byte) method, initialized on demand
private byte[] oneByte;
@@ -98,7 +82,6 @@
super();
this.token = token;
this.algorithm = algorithm;
- this.mechanism = mechanism;
Long params = null;
switch ((int)mechanism) {
case (int)CKM_MD5_HMAC:
@@ -131,47 +114,65 @@
throw new ProviderException("Unknown mechanism: " + mechanism);
}
ckMechanism = new CK_MECHANISM(mechanism, params);
- state = S_UNINIT;
- initialize();
}
- private void ensureInitialized() throws PKCS11Exception {
- token.ensureValid();
- if (state == S_UNINIT) {
- initialize();
+ // reset the states to the pre-initialized values
+ private void reset(boolean doCancel) {
+ if (!initialized) {
+ return;
+ }
+ initialized = false;
+ try {
+ if (session == null) {
+ return;
+ }
+ if (doCancel && token.explicitCancel) {
+ cancelOperation();
+ }
+ } finally {
+ p11Key.releaseKeyID();
+ session = token.releaseSession(session);
}
}
private void cancelOperation() {
token.ensureValid();
- if (state == S_UNINIT) {
- return;
- }
- state = S_UNINIT;
- if ((session == null) || (token.explicitCancel == false)) {
+ if (session.hasObjects() == false) {
+ session = token.killSession(session);
return;
+ } else {
+ try {
+ token.p11.C_SignFinal(session.id(), 0);
+ } catch (PKCS11Exception e) {
+ throw new ProviderException("Cancel failed", e);
+ }
}
- try {
- token.p11.C_SignFinal(session.id(), 0);
- } catch (PKCS11Exception e) {
- throw new ProviderException("Cancel failed", e);
+ }
+
+ private void ensureInitialized() throws PKCS11Exception {
+ if (!initialized) {
+ initialize();
}
}
private void initialize() throws PKCS11Exception {
- if (state == S_RESET) {
- return;
- }
- if (session == null) {
- session = token.getOpSession();
+ if (p11Key == null) {
+ throw new ProviderException(
+ "Operation cannot be performed without calling engineInit first");
}
- if (p11Key != null) {
- token.p11.C_SignInit
- (session.id(), ckMechanism, p11Key.keyID);
- state = S_RESET;
- } else {
- state = S_UNINIT;
+ token.ensureValid();
+ long p11KeyID = p11Key.getKeyID();
+ try {
+ if (session == null) {
+ session = token.getOpSession();
+ }
+ token.p11.C_SignInit(session.id(), ckMechanism, p11KeyID);
+ } catch (PKCS11Exception e) {
+ p11Key.releaseKeyID();
+ session = token.releaseSession(session);
+ throw e;
}
+ initialized = true;
}
// see JCE spec
@@ -181,18 +182,7 @@
// see JCE spec
protected void engineReset() {
- // the framework insists on calling reset() after doFinal(),
- // but we prefer to take care of reinitialization ourselves
- if (state == S_DOFINAL) {
- state = S_UNINIT;
- return;
- }
- cancelOperation();
- try {
- initialize();
- } catch (PKCS11Exception e) {
- throw new ProviderException("reset() failed, ", e);
- }
+ reset(true);
}
// see JCE spec
@@ -202,7 +192,7 @@
throw new InvalidAlgorithmParameterException
("Parameters not supported");
}
- cancelOperation();
+ reset(true);
p11Key = P11SecretKeyFactory.convertKey(token, key, algorithm);
try {
initialize();
@@ -215,13 +205,12 @@
protected byte[] engineDoFinal() {
try {
ensureInitialized();
- byte[] mac = token.p11.C_SignFinal(session.id(), 0);
- state = S_DOFINAL;
- return mac;
+ return token.p11.C_SignFinal(session.id(), 0);
} catch (PKCS11Exception e) {
+ reset(true);
throw new ProviderException("doFinal() failed", e);
} finally {
- session = token.releaseSession(session);
+ reset(false);
}
}
@@ -239,7 +228,6 @@
try {
ensureInitialized();
token.p11.C_SignUpdate(session.id(), 0, b, ofs, len);
- state = S_UPDATE;
} catch (PKCS11Exception e) {
throw new ProviderException("update() failed", e);
}
@@ -261,7 +249,6 @@
int ofs = byteBuffer.position();
token.p11.C_SignUpdate(session.id(), addr + ofs, null, 0, len);
byteBuffer.position(ofs + len);
- state = S_UPDATE;
} catch (PKCS11Exception e) {
throw new ProviderException("update() failed", e);
}
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. 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
@@ -196,7 +196,7 @@
}
private void implInit(int opmode, Key key) throws InvalidKeyException {
- cancelOperation();
+ reset(true);
p11Key = P11KeyFactory.convertKey(token, key, algorithm);
boolean encrypt;
if (opmode == Cipher.ENCRYPT_MODE) {
@@ -241,80 +241,105 @@
}
}
- private void cancelOperation() {
- token.ensureValid();
- if (initialized == false) {
+ // reset the states to the pre-initialized values
+ private void reset(boolean doCancel) {
+ if (!initialized) {
return;
}
initialized = false;
- if ((session == null) || (token.explicitCancel == false)) {
- return;
+ try {
+ if (session == null) {
+ return;
+ }
+ if (doCancel && token.explicitCancel) {
+ cancelOperation();
+ }
+ } finally {
+ p11Key.releaseKeyID();
+ session = token.releaseSession(session);
}
+ }
+
+ // should only called by reset as this method does not update other
+ // state variables such as "initialized"
+ private void cancelOperation() {
+ token.ensureValid();
if (session.hasObjects() == false) {
session = token.killSession(session);
return;
- }
- try {
- PKCS11 p11 = token.p11;
- int inLen = maxInputSize;
- int outLen = buffer.length;
- switch (mode) {
- case MODE_ENCRYPT:
- p11.C_Encrypt
- (session.id(), buffer, 0, inLen, buffer, 0, outLen);
- break;
- case MODE_DECRYPT:
- p11.C_Decrypt
- (session.id(), buffer, 0, inLen, buffer, 0, outLen);
- break;
- case MODE_SIGN:
- byte[] tmpBuffer = new byte[maxInputSize];
- p11.C_Sign
- (session.id(), tmpBuffer);
- break;
- case MODE_VERIFY:
- p11.C_VerifyRecover
- (session.id(), buffer, 0, inLen, buffer, 0, outLen);
- break;
- default:
- throw new ProviderException("internal error");
+ } else {
+ try {
+ PKCS11 p11 = token.p11;
+ int inLen = maxInputSize;
+ int outLen = buffer.length;
+ long sessId = session.id();
+ switch (mode) {
+ case MODE_ENCRYPT:
+ p11.C_Encrypt(sessId, buffer, 0, inLen, buffer, 0, outLen);
+ break;
+ case MODE_DECRYPT:
+ p11.C_Decrypt(sessId, buffer, 0, inLen, buffer, 0, outLen);
+ break;
+ case MODE_SIGN:
+ byte[] tmpBuffer = new byte[maxInputSize];
+ p11.C_Sign(sessId, tmpBuffer);
+ break;
+ case MODE_VERIFY:
+ p11.C_VerifyRecover(sessId, buffer, 0, inLen, buffer,
+ 0, outLen);
+ break;
+ default:
+ throw new ProviderException("internal error");
+ }
+ } catch (PKCS11Exception e) {
+ // XXX ensure this always works, ignore error
}
- } catch (PKCS11Exception e) {
- // XXX ensure this always works, ignore error
}
}
private void ensureInitialized() throws PKCS11Exception {
token.ensureValid();
- if (initialized == false) {
+ if (!initialized) {
initialize();
}
}
private void initialize() throws PKCS11Exception {
- if (session == null) {
- session = token.getOpSession();
+ if (p11Key == null) {
+ throw new ProviderException(
+ "Operation cannot be performed without " +
+ "calling engineInit first");
}
- PKCS11 p11 = token.p11;
- CK_MECHANISM ckMechanism = new CK_MECHANISM(mechanism);
- switch (mode) {
- case MODE_ENCRYPT:
- p11.C_EncryptInit(session.id(), ckMechanism, p11Key.keyID);
- break;
- case MODE_DECRYPT:
- p11.C_DecryptInit(session.id(), ckMechanism, p11Key.keyID);
- break;
- case MODE_SIGN:
- p11.C_SignInit(session.id(), ckMechanism, p11Key.keyID);
- break;
- case MODE_VERIFY:
- p11.C_VerifyRecoverInit(session.id(), ckMechanism, p11Key.keyID);
- break;
- default:
- throw new AssertionError("internal error");
+ long keyID = p11Key.getKeyID();
+ try {
+ if (session == null) {
+ session = token.getOpSession();
+ }
+ PKCS11 p11 = token.p11;
+ CK_MECHANISM ckMechanism = new CK_MECHANISM(mechanism);
+ switch (mode) {
+ case MODE_ENCRYPT:
+ p11.C_EncryptInit(session.id(), ckMechanism, keyID);
+ break;
+ case MODE_DECRYPT:
+ p11.C_DecryptInit(session.id(), ckMechanism, keyID);
+ break;
+ case MODE_SIGN:
+ p11.C_SignInit(session.id(), ckMechanism, keyID);
+ break;
+ case MODE_VERIFY:
+ p11.C_VerifyRecoverInit(session.id(), ckMechanism, keyID);
+ break;
+ default:
+ throw new AssertionError("internal error");
+ }
+ bufOfs = 0;
+ initialized = true;
+ } catch (PKCS11Exception e) {
+ p11Key.releaseKeyID();
+ session = token.releaseSession(session);
+ throw e;
}
- bufOfs = 0;
- initialized = true;
}
private void implUpdate(byte[] in, int inOfs, int inLen) {
@@ -377,8 +402,7 @@
throw (BadPaddingException)new BadPaddingException
("doFinal() failed").initCause(e);
} finally {
- initialized = false;
- session = token.releaseSession(session);
+ reset(false);
}
}
@@ -452,13 +476,17 @@
}
}
Session s = null;
+ long p11KeyID = p11Key.getKeyID();
+ long sKeyID = sKey.getKeyID();
try {
s = token.getOpSession();
return token.p11.C_WrapKey(s.id(), new CK_MECHANISM(mechanism),
- p11Key.keyID, sKey.keyID);
+ p11KeyID, sKeyID);
} catch (PKCS11Exception e) {
throw new InvalidKeyException("wrap() failed", e);
} finally {
+ p11Key.releaseKeyID();
+ sKey.releaseKeyID();
token.releaseSession(s);
}
}
@@ -518,6 +546,7 @@
} else {
Session s = null;
SecretKey secretKey = null;
+ long p11KeyID = p11Key.getKeyID();
try {
try {
s = token.getObjSession();
@@ -528,9 +557,10 @@
};
attributes = token.getAttributes(
O_IMPORT, CKO_SECRET_KEY, keyType, attributes);
+
long keyID = token.p11.C_UnwrapKey(s.id(),
- new CK_MECHANISM(mechanism), p11Key.keyID,
- wrappedKey, attributes);
+ new CK_MECHANISM(mechanism), p11KeyID,
+ wrappedKey, attributes);
secretKey = P11Key.secretKey(s, keyID,
algorithm, 48 << 3, attributes);
} catch (PKCS11Exception e) {
@@ -554,6 +584,7 @@
return secretKey;
} finally {
+ p11Key.releaseKeyID();
token.releaseSession(s);
}
}
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java Tue Jan 22 09:43:38 2019 -0500
@@ -263,7 +263,12 @@
new CK_ATTRIBUTE(CKA_MODULUS),
new CK_ATTRIBUTE(CKA_PUBLIC_EXPONENT),
};
- token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes);
+ long keyID = key.getKeyID();
+ try {
+ token.p11.C_GetAttributeValue(session[0].id(), keyID, attributes);
+ } finally {
+ key.releaseKeyID();
+ }
KeySpec spec = new RSAPublicKeySpec(
attributes[0].getBigInteger(),
attributes[1].getBigInteger()
@@ -289,7 +294,13 @@
new CK_ATTRIBUTE(CKA_EXPONENT_2),
new CK_ATTRIBUTE(CKA_COEFFICIENT),
};
- token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes);
+ long keyID = key.getKeyID();
+ try {
+ token.p11.C_GetAttributeValue(session[0].id(), keyID, attributes);
+ } finally {
+ key.releaseKeyID();
+ }
+
KeySpec spec = new RSAPrivateCrtKeySpec(
attributes[0].getBigInteger(),
attributes[1].getBigInteger(),
@@ -307,7 +318,13 @@
new CK_ATTRIBUTE(CKA_MODULUS),
new CK_ATTRIBUTE(CKA_PRIVATE_EXPONENT),
};
- token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes);
+ long keyID = key.getKeyID();
+ try {
+ token.p11.C_GetAttributeValue(session[0].id(), keyID, attributes);
+ } finally {
+ key.releaseKeyID();
+ }
+
KeySpec spec = new RSAPrivateKeySpec(
attributes[0].getBigInteger(),
attributes[1].getBigInteger()
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11SecretKeyFactory.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11SecretKeyFactory.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. 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
@@ -146,20 +146,24 @@
P11Key p11Key = (P11Key)key;
if (p11Key.token == token) {
if (extraAttrs != null) {
+ P11Key newP11Key = null;
Session session = null;
+ long p11KeyID = p11Key.getKeyID();
try {
session = token.getObjSession();
long newKeyID = token.p11.C_CopyObject(session.id(),
- p11Key.keyID, extraAttrs);
- p11Key = (P11Key) (P11Key.secretKey(session,
+ p11KeyID, extraAttrs);
+ newP11Key = (P11Key) (P11Key.secretKey(session,
newKeyID, p11Key.algorithm, p11Key.keyLength,
extraAttrs));
} catch (PKCS11Exception p11e) {
throw new InvalidKeyException
("Cannot duplicate the PKCS11 key", p11e);
} finally {
+ p11Key.releaseKeyID();
token.releaseSession(session);
}
+ p11Key = newP11Key;
}
return p11Key;
}
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java Tue Jan 22 09:43:38 2019 -0500
@@ -263,27 +263,33 @@
}
}
- private void ensureInitialized() {
- token.ensureValid();
- if (initialized == false) {
- initialize();
+ // reset the states to the pre-initialized values
+ private void reset(boolean doCancel) {
+
+ if (!initialized) {
+ return;
+ }
+ initialized = false;
+ try {
+ if (session == null) {
+ return;
+ }
+ if (doCancel && token.explicitCancel) {
+ cancelOperation();
+ }
+ } finally {
+ p11Key.releaseKeyID();
+ session = token.releaseSession(session);
}
}
private void cancelOperation() {
+
token.ensureValid();
- if (initialized == false) {
- return;
- }
- initialized = false;
- if ((session == null) || (token.explicitCancel == false)) {
- return;
- }
if (session.hasObjects() == false) {
session = token.killSession(session);
return;
- }
- try {
+ } else {
// "cancel" operation by finishing it
// XXX make sure all this always works correctly
if (mode == M_SIGN) {
@@ -303,8 +309,8 @@
throw new ProviderException("cancel failed", e);
}
} else { // M_VERIFY
+ byte[] signature;
try {
- byte[] signature;
if (keyAlgorithm.equals("DSA")) {
signature = new byte[40];
} else {
@@ -322,31 +328,48 @@
token.p11.C_Verify(session.id(), digest, signature);
}
} catch (PKCS11Exception e) {
- // will fail since the signature is incorrect
- // XXX check error code
+ long errorCode = e.getErrorCode();
+ if ((errorCode == CKR_SIGNATURE_INVALID) ||
+ (errorCode == CKR_SIGNATURE_LEN_RANGE)) {
+ // expected since signature is incorrect
+ return;
+ }
+ throw new ProviderException("cancel failed", e);
}
}
- } finally {
- session = token.releaseSession(session);
+ }
+ }
+
+ private void ensureInitialized() {
+
+ if (!initialized) {
+ initialize();
}
}
// assumes current state is initialized == false
private void initialize() {
+
+ if (p11Key == null) {
+ throw new ProviderException(
+ "Operation cannot be performed without " +
+ "calling engineInit first");
+ }
+ long keyID = p11Key.getKeyID();
try {
+ token.ensureValid();
if (session == null) {
session = token.getOpSession();
}
if (mode == M_SIGN) {
token.p11.C_SignInit(session.id(),
- new CK_MECHANISM(mechanism), p11Key.keyID);
+ new CK_MECHANISM(mechanism), keyID);
} else {
token.p11.C_VerifyInit(session.id(),
- new CK_MECHANISM(mechanism), p11Key.keyID);
+ new CK_MECHANISM(mechanism), keyID);
}
- initialized = true;
} catch (PKCS11Exception e) {
- // release session when initialization failed
+ p11Key.releaseKeyID();
session = token.releaseSession(session);
throw new ProviderException("Initialization failed", e);
}
@@ -356,6 +379,7 @@
md.reset();
}
}
+ initialized = true;
}
private void checkKeySize(String keyAlgo, Key key)
@@ -444,6 +468,7 @@
@Override
protected void engineInitVerify(PublicKey publicKey)
throws InvalidKeyException {
+
if (publicKey == null) {
throw new InvalidKeyException("Key must not be null");
}
@@ -451,7 +476,7 @@
if (publicKey != p11Key) {
checkKeySize(keyAlgorithm, publicKey);
}
- cancelOperation();
+ reset(true);
mode = M_VERIFY;
p11Key = P11KeyFactory.convertKey(token, publicKey, keyAlgorithm);
initialize();
@@ -461,6 +486,7 @@
@Override
protected void engineInitSign(PrivateKey privateKey)
throws InvalidKeyException {
+
if (privateKey == null) {
throw new InvalidKeyException("Key must not be null");
}
@@ -468,7 +494,7 @@
if (privateKey != p11Key) {
checkKeySize(keyAlgorithm, privateKey);
}
- cancelOperation();
+ reset(true);
mode = M_SIGN;
p11Key = P11KeyFactory.convertKey(token, privateKey, keyAlgorithm);
initialize();
@@ -503,6 +529,7 @@
@Override
protected void engineUpdate(byte[] b, int ofs, int len)
throws SignatureException {
+
ensureInitialized();
if (len == 0) {
return;
@@ -521,8 +548,7 @@
}
bytesProcessed += len;
} catch (PKCS11Exception e) {
- initialized = false;
- session = token.releaseSession(session);
+ reset(false);
throw new ProviderException(e);
}
break;
@@ -546,6 +572,7 @@
// see JCA spec
@Override
protected void engineUpdate(ByteBuffer byteBuffer) {
+
ensureInitialized();
int len = byteBuffer.remaining();
if (len <= 0) {
@@ -571,8 +598,7 @@
bytesProcessed += len;
byteBuffer.position(ofs + len);
} catch (PKCS11Exception e) {
- initialized = false;
- session = token.releaseSession(session);
+ reset(false);
throw new ProviderException("Update failed", e);
}
break;
@@ -589,6 +615,7 @@
bytesProcessed += len;
break;
default:
+ reset(false);
throw new ProviderException("Internal error");
}
}
@@ -596,7 +623,9 @@
// see JCA spec
@Override
protected byte[] engineSign() throws SignatureException {
+
ensureInitialized();
+ boolean doCancel = true;
try {
byte[] signature;
if (type == T_UPDATE) {
@@ -633,6 +662,8 @@
signature = token.p11.C_Sign(session.id(), data);
}
}
+ doCancel = false;
+
if (keyAlgorithm.equals("RSA")) {
return signature;
} else {
@@ -643,20 +674,21 @@
}
}
} catch (PKCS11Exception pe) {
+ doCancel = false;
throw new ProviderException(pe);
} catch (SignatureException | ProviderException e) {
- cancelOperation();
throw e;
} finally {
- initialized = false;
- session = token.releaseSession(session);
+ reset(doCancel);
}
}
// see JCA spec
@Override
protected boolean engineVerify(byte[] signature) throws SignatureException {
+
ensureInitialized();
+ boolean doCancel = true;
try {
if (!p1363Format) {
if (keyAlgorithm.equals("DSA")) {
@@ -698,8 +730,10 @@
token.p11.C_Verify(session.id(), data, signature);
}
}
+ doCancel = false;
return true;
} catch (PKCS11Exception pe) {
+ doCancel = false;
long errorCode = pe.getErrorCode();
if (errorCode == CKR_SIGNATURE_INVALID) {
return false;
@@ -714,11 +748,9 @@
}
throw new ProviderException(pe);
} catch (SignatureException | ProviderException e) {
- cancelOperation();
throw e;
} finally {
- initialized = false;
- session = token.releaseSession(session);
+ reset(doCancel);
}
}
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java Tue Jan 22 09:43:38 2019 -0500
@@ -189,8 +189,13 @@
attributes = token.getAttributes
(O_GENERATE, CKO_SECRET_KEY, keyType, attributes);
// the returned keyID is a dummy, ignore
- token.p11.C_DeriveKey(session.id(),
- ckMechanism, p11Key.keyID, attributes);
+ long p11KeyID = p11Key.getKeyID();
+ try {
+ token.p11.C_DeriveKey(session.id(),
+ ckMechanism, p11KeyID, attributes);
+ } finally {
+ p11Key.releaseKeyID();
+ }
CK_SSL3_KEY_MAT_OUT out = null;
if (params instanceof CK_SSL3_KEY_MAT_PARAMS) {
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsMasterSecretGenerator.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsMasterSecretGenerator.java Tue Jan 22 09:43:38 2019 -0500
@@ -160,12 +160,13 @@
ckMechanism = new CK_MECHANISM(mechanism, params);
}
Session session = null;
+ long p11KeyID = p11Key.getKeyID();
try {
session = token.getObjSession();
CK_ATTRIBUTE[] attributes = token.getAttributes(O_GENERATE,
CKO_SECRET_KEY, CKK_GENERIC_SECRET, new CK_ATTRIBUTE[0]);
long keyID = token.p11.C_DeriveKey(session.id(),
- ckMechanism, p11Key.keyID, attributes);
+ ckMechanism, p11KeyID, attributes);
int major, minor;
if (ckVersion == null) {
major = -1;
@@ -174,12 +175,12 @@
major = ckVersion.major;
minor = ckVersion.minor;
}
- SecretKey key = P11Key.masterSecretKey(session, keyID,
+ return P11Key.masterSecretKey(session, keyID,
"TlsMasterSecret", 48 << 3, attributes, major, minor);
- return key;
} catch (Exception e) {
throw new ProviderException("Could not generate key", e);
} finally {
+ p11Key.releaseKeyID();
token.releaseSession(session);
}
}
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsPrfGenerator.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsPrfGenerator.java Tue Jan 22 09:43:38 2019 -0500
@@ -146,34 +146,36 @@
Functions.getHashMechId(spec.getPRFHashAlg()),
spec.getOutputLength(), ulServerOrClient);
Session session = null;
+ long keyID = p11Key.getKeyID();
try {
session = token.getOpSession();
token.p11.C_SignInit(session.id(),
- new CK_MECHANISM(mechanism, params), p11Key.keyID);
+ new CK_MECHANISM(mechanism, params), keyID);
token.p11.C_SignUpdate(session.id(), 0, seed, 0, seed.length);
byte[] out = token.p11.C_SignFinal
(session.id(), spec.getOutputLength());
- k = new SecretKeySpec(out, "TlsPrf");
+ return new SecretKeySpec(out, "TlsPrf");
} catch (PKCS11Exception e) {
throw new ProviderException("Could not calculate PRF", e);
} finally {
+ p11Key.releaseKeyID();
token.releaseSession(session);
}
} else {
throw new ProviderException("Only Finished message authentication code"+
" generation supported for TLS 1.2.");
}
- return k;
}
byte[] label = P11Util.getBytesUTF8(spec.getLabel());
if (mechanism == CKM_NSS_TLS_PRF_GENERAL) {
Session session = null;
+ long keyID = p11Key.getKeyID();
try {
session = token.getOpSession();
token.p11.C_SignInit
- (session.id(), new CK_MECHANISM(mechanism), p11Key.keyID);
+ (session.id(), new CK_MECHANISM(mechanism), keyID);
token.p11.C_SignUpdate(session.id(), 0, label, 0, label.length);
token.p11.C_SignUpdate(session.id(), 0, seed, 0, seed.length);
byte[] out = token.p11.C_SignFinal
@@ -182,6 +184,7 @@
} catch (PKCS11Exception e) {
throw new ProviderException("Could not calculate PRF", e);
} finally {
+ p11Key.releaseKeyID();
token.releaseSession(session);
}
}
@@ -192,15 +195,16 @@
CK_TLS_PRF_PARAMS params = new CK_TLS_PRF_PARAMS(seed, label, out);
Session session = null;
+ long keyID = p11Key.getKeyID();
try {
session = token.getOpSession();
- long keyID = token.p11.C_DeriveKey(session.id(),
- new CK_MECHANISM(mechanism, params), p11Key.keyID, null);
- // ignore keyID, returned PRF bytes are in 'out'
+ token.p11.C_DeriveKey(session.id(),
+ new CK_MECHANISM(mechanism, params), keyID, null);
return new SecretKeySpec(out, "TlsPrf");
} catch (PKCS11Exception e) {
throw new ProviderException("Could not calculate PRF", e);
} finally {
+ p11Key.releaseKeyID();
token.releaseSession(session);
}
}
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
@@ -1291,6 +1291,46 @@
******************************************************************************/
/**
+ * getNativeKeyInfo gets the key object attributes and values as an opaque
+ * byte array to be used in createNativeKey method.
+ * (Key management)
+ *
+ * @param hSession the session's handle
+ * @param hKey key's handle
+ * @param hWrappingKey key handle for wrapping the extracted sensitive keys.
+ * -1 if not used.
+ * @param pWrappingMech mechanism for wrapping the extracted sensitive keys
+ * @return an opaque byte array containing the key object attributes
+ * and values
+ * @exception PKCS11Exception If an internal PKCS#11 function returns other
+ * value than CKR_OK.
+ * @preconditions
+ * @postconditions
+ */
+ public native byte[] getNativeKeyInfo(long hSession, long hKey,
+ long hWrappingKey, CK_MECHANISM pWrappingMech) throws PKCS11Exception;
+
+ /**
+ * createNativeKey creates a key object with attributes and values
+ * specified by parameter as an opaque byte array.
+ * (Key management)
+ *
+ * @param hSession the session's handle
+ * @param keyInfo opaque byte array containing key object attributes
+ * and values
+ * @param hWrappingKey key handle for unwrapping the extracted sensitive keys.
+ * -1 if not used.
+ * @param pWrappingMech mechanism for unwrapping the extracted sensitive keys
+ * @return key object handle
+ * @exception PKCS11Exception If an internal PKCS#11 function returns other
+ * value than CKR_OK.
+ * @preconditions
+ * @postconditions
+ */
+ public native long createNativeKey(long hSession, byte[] keyInfo,
+ long hWrappingKey, CK_MECHANISM pWrappingMech) throws PKCS11Exception;
+
+ /**
* C_GenerateKey generates a secret key, creating a new key
* object.
* (Key management)
--- a/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_keymgmt.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_keymgmt.c Tue Jan 22 09:43:38 2019 -0500
@@ -54,6 +54,444 @@
#include "sun_security_pkcs11_wrapper_PKCS11.h"
+#ifdef P11_ENABLE_GETNATIVEKEYINFO
+
+#define CK_ATTRIBUTES_TEMPLATE_LENGTH (CK_ULONG)61U
+
+static CK_ATTRIBUTE ckpAttributesTemplate[CK_ATTRIBUTES_TEMPLATE_LENGTH] = {
+ {CKA_CLASS, 0, 0},
+ {CKA_TOKEN, 0, 0},
+ {CKA_PRIVATE, 0, 0},
+ {CKA_LABEL, 0, 0},
+ {CKA_APPLICATION, 0, 0},
+ {CKA_VALUE, 0, 0},
+ {CKA_OBJECT_ID, 0, 0},
+ {CKA_CERTIFICATE_TYPE, 0, 0},
+ {CKA_ISSUER, 0, 0},
+ {CKA_SERIAL_NUMBER, 0, 0},
+ {CKA_AC_ISSUER, 0, 0},
+ {CKA_OWNER, 0, 0},
+ {CKA_ATTR_TYPES, 0, 0},
+ {CKA_TRUSTED, 0, 0},
+ {CKA_KEY_TYPE, 0, 0},
+ {CKA_SUBJECT, 0, 0},
+ {CKA_ID, 0, 0},
+ {CKA_SENSITIVE, 0, 0},
+ {CKA_ENCRYPT, 0, 0},
+ {CKA_DECRYPT, 0, 0},
+ {CKA_WRAP, 0, 0},
+ {CKA_UNWRAP, 0, 0},
+ {CKA_SIGN, 0, 0},
+ {CKA_SIGN_RECOVER, 0, 0},
+ {CKA_VERIFY, 0, 0},
+ {CKA_VERIFY_RECOVER, 0, 0},
+ {CKA_DERIVE, 0, 0},
+ {CKA_START_DATE, 0, 0},
+ {CKA_END_DATE, 0, 0},
+ {CKA_MODULUS, 0, 0},
+ {CKA_MODULUS_BITS, 0, 0},
+ {CKA_PUBLIC_EXPONENT, 0, 0},
+ {CKA_PRIVATE_EXPONENT, 0, 0},
+ {CKA_PRIME_1, 0, 0},
+ {CKA_PRIME_2, 0, 0},
+ {CKA_EXPONENT_1, 0, 0},
+ {CKA_EXPONENT_2, 0, 0},
+ {CKA_COEFFICIENT, 0, 0},
+ {CKA_PRIME, 0, 0},
+ {CKA_SUBPRIME, 0, 0},
+ {CKA_BASE, 0, 0},
+ {CKA_PRIME_BITS, 0, 0},
+ {CKA_SUB_PRIME_BITS, 0, 0},
+ {CKA_VALUE_BITS, 0, 0},
+ {CKA_VALUE_LEN, 0, 0},
+ {CKA_EXTRACTABLE, 0, 0},
+ {CKA_LOCAL, 0, 0},
+ {CKA_NEVER_EXTRACTABLE, 0, 0},
+ {CKA_ALWAYS_SENSITIVE, 0, 0},
+ {CKA_KEY_GEN_MECHANISM, 0, 0},
+ {CKA_MODIFIABLE, 0, 0},
+ {CKA_ECDSA_PARAMS, 0, 0},
+ {CKA_EC_PARAMS, 0, 0},
+ {CKA_EC_POINT, 0, 0},
+ {CKA_SECONDARY_AUTH, 0, 0},
+ {CKA_AUTH_PIN_FLAGS, 0, 0},
+ {CKA_HW_FEATURE_TYPE, 0, 0},
+ {CKA_RESET_ON_INIT, 0, 0},
+ {CKA_HAS_RESET, 0, 0},
+ {CKA_VENDOR_DEFINED, 0, 0},
+ {CKA_NETSCAPE_DB, 0, 0},
+};
+
+/*
+ * Class: sun_security_pkcs11_wrapper_PKCS11
+ * Method: getNativeKeyInfo
+ * Signature: (JJJLsun/security/pkcs11/wrapper/CK_MECHANISM;)[B
+ * Parametermapping: *PKCS11*
+ * @param jlong jSessionHandle CK_SESSION_HANDLE hSession
+ * @param jlong jKeyHandle CK_OBJECT_HANDLE hObject
+ * @param jlong jWrappingKeyHandle CK_OBJECT_HANDLE hObject
+ * @param jobject jWrappingMech CK_MECHANISM_PTR pMechanism
+ * @return jbyteArray jNativeKeyInfo -
+ */
+JNIEXPORT jbyteArray JNICALL
+Java_sun_security_pkcs11_wrapper_PKCS11_getNativeKeyInfo
+ (JNIEnv *env, jobject obj, jlong jSessionHandle, jlong jKeyHandle,
+ jlong jWrappingKeyHandle, jobject jWrappingMech)
+{
+ jbyteArray returnValue = NULL;
+ CK_SESSION_HANDLE ckSessionHandle = jLongToCKULong(jSessionHandle);
+ CK_OBJECT_HANDLE ckObjectHandle = jLongToCKULong(jKeyHandle);
+ CK_ATTRIBUTE_PTR ckpAttributes = NULL;
+ CK_RV rv;
+ jbyteArray nativeKeyInfoArray = NULL;
+ jbyteArray nativeKeyInfoWrappedKeyArray = NULL;
+ jbyte* nativeKeyInfoArrayRaw = NULL;
+ jbyte* nativeKeyInfoWrappedKeyArrayRaw = NULL;
+ unsigned int sensitiveAttributePosition = (unsigned int)-1;
+ unsigned int i = 0U;
+ unsigned long totalDataSize = 0UL, attributesCount = 0UL;
+ unsigned long totalCkAttributesSize = 0UL, totalNativeKeyInfoArraySize = 0UL;
+ unsigned long* wrappedKeySizePtr = NULL;
+ jbyte* nativeKeyInfoArrayRawCkAttributes = NULL;
+ jbyte* nativeKeyInfoArrayRawCkAttributesPtr = NULL;
+ jbyte* nativeKeyInfoArrayRawDataPtr = NULL;
+ CK_MECHANISM ckMechanism;
+ char iv[16] = {0x0};
+ CK_ULONG ckWrappedKeyLength = 0U;
+ unsigned long* wrappedKeySizeWrappedKeyArrayPtr = NULL;
+ CK_BYTE_PTR wrappedKeyBufferPtr = NULL;
+ CK_FUNCTION_LIST_PTR ckpFunctions = getFunctionList(env, obj);
+ CK_OBJECT_CLASS class;
+ CK_KEY_TYPE keyType;
+ CK_BBOOL sensitive;
+ CK_BBOOL netscapeAttributeValueNeeded = CK_FALSE;
+ CK_ATTRIBUTE ckNetscapeAttributesTemplate[4];
+ ckNetscapeAttributesTemplate[0].type = CKA_CLASS;
+ ckNetscapeAttributesTemplate[1].type = CKA_KEY_TYPE;
+ ckNetscapeAttributesTemplate[2].type = CKA_SENSITIVE;
+ ckNetscapeAttributesTemplate[3].type = CKA_NETSCAPE_DB;
+ ckNetscapeAttributesTemplate[0].pValue = &class;
+ ckNetscapeAttributesTemplate[1].pValue = &keyType;
+ ckNetscapeAttributesTemplate[2].pValue = &sensitive;
+ ckNetscapeAttributesTemplate[3].pValue = 0;
+ ckNetscapeAttributesTemplate[0].ulValueLen = sizeof(class);
+ ckNetscapeAttributesTemplate[1].ulValueLen = sizeof(keyType);
+ ckNetscapeAttributesTemplate[2].ulValueLen = sizeof(sensitive);
+ ckNetscapeAttributesTemplate[3].ulValueLen = 0;
+
+ if (ckpFunctions == NULL) { goto cleanup; }
+
+ // If key is private and of DSA or EC type, NSS may require CKA_NETSCAPE_DB
+ // attribute to unwrap it.
+ rv = (*ckpFunctions->C_GetAttributeValue)(ckSessionHandle, ckObjectHandle,
+ ckNetscapeAttributesTemplate,
+ sizeof(ckNetscapeAttributesTemplate)/sizeof(CK_ATTRIBUTE));
+
+ if (rv == CKR_OK && class == CKO_PRIVATE_KEY &&
+ (keyType == CKK_EC || keyType == CKK_DSA) &&
+ sensitive == CK_TRUE &&
+ ckNetscapeAttributesTemplate[3].ulValueLen == CK_UNAVAILABLE_INFORMATION) {
+ // We cannot set the attribute through C_SetAttributeValue here
+ // because it might be read-only. However, we can add it to
+ // the extracted buffer.
+ netscapeAttributeValueNeeded = CK_TRUE;
+ TRACE0("DEBUG: override CKA_NETSCAPE_DB attr value to TRUE\n");
+ }
+
+ ckpAttributes = (CK_ATTRIBUTE_PTR)malloc(
+ CK_ATTRIBUTES_TEMPLATE_LENGTH * sizeof(CK_ATTRIBUTE));
+ if (ckpAttributes == NULL) {
+ throwOutOfMemoryError(env, 0);
+ goto cleanup;
+ }
+ memcpy(ckpAttributes, ckpAttributesTemplate,
+ CK_ATTRIBUTES_TEMPLATE_LENGTH * sizeof(CK_ATTRIBUTE));
+
+ // Get sizes for value buffers
+ // NOTE: may return an error code but length values are filled anyways
+ (*ckpFunctions->C_GetAttributeValue)(ckSessionHandle, ckObjectHandle,
+ ckpAttributes, CK_ATTRIBUTES_TEMPLATE_LENGTH);
+
+ for (i = 0; i < CK_ATTRIBUTES_TEMPLATE_LENGTH; i++) {
+ if ((ckpAttributes+i)->ulValueLen != CK_UNAVAILABLE_INFORMATION) {
+ totalDataSize += (ckpAttributes+i)->ulValueLen;
+ if ((ckpAttributes+i)->type == CKA_SENSITIVE) {
+ sensitiveAttributePosition = attributesCount;
+ TRACE0("DEBUG: GetNativeKeyInfo key is sensitive");
+ }
+ attributesCount++;
+ }
+ }
+
+ if (netscapeAttributeValueNeeded) {
+ attributesCount++;
+ }
+
+ // Allocate a single buffer to hold valid attributes and attribute's values
+ // Buffer structure: [ attributes-size, [ ... attributes ... ],
+ // values-size, [ ... values ... ], wrapped-key-size,
+ // [ ... wrapped-key ... ] ]
+ // * sizes are expressed in bytes and data type is unsigned long
+ totalCkAttributesSize = attributesCount * sizeof(CK_ATTRIBUTE);
+ TRACE1("DEBUG: GetNativeKeyInfo attributesCount = %lu\n", attributesCount);
+ TRACE1("DEBUG: GetNativeKeyInfo sizeof CK_ATTRIBUTE = %lu\n", sizeof(CK_ATTRIBUTE));
+ TRACE1("DEBUG: GetNativeKeyInfo totalCkAttributesSize = %lu\n", totalCkAttributesSize);
+ TRACE1("DEBUG: GetNativeKeyInfo totalDataSize = %lu\n", totalDataSize);
+
+ totalNativeKeyInfoArraySize =
+ totalCkAttributesSize + sizeof(unsigned long) * 3 + totalDataSize;
+
+ TRACE1("DEBUG: GetNativeKeyInfo totalNativeKeyInfoArraySize = %lu\n", totalNativeKeyInfoArraySize);
+
+ nativeKeyInfoArray = (*env)->NewByteArray(env, totalNativeKeyInfoArraySize);
+ if (nativeKeyInfoArray == NULL) {
+ goto cleanup;
+ }
+
+ nativeKeyInfoArrayRaw = (*env)->GetByteArrayElements(env, nativeKeyInfoArray,
+ NULL);
+ if (nativeKeyInfoArrayRaw == NULL) {
+ goto cleanup;
+ }
+
+ wrappedKeySizePtr = (unsigned long*)(nativeKeyInfoArrayRaw +
+ sizeof(unsigned long)*2 + totalCkAttributesSize + totalDataSize);
+ memcpy(nativeKeyInfoArrayRaw, &totalCkAttributesSize, sizeof(unsigned long));
+
+ memcpy(nativeKeyInfoArrayRaw + sizeof(unsigned long) + totalCkAttributesSize,
+ &totalDataSize, sizeof(unsigned long));
+
+ memset(wrappedKeySizePtr, 0, sizeof(unsigned long));
+
+ nativeKeyInfoArrayRawCkAttributes = nativeKeyInfoArrayRaw +
+ sizeof(unsigned long);
+ nativeKeyInfoArrayRawCkAttributesPtr = nativeKeyInfoArrayRawCkAttributes;
+ nativeKeyInfoArrayRawDataPtr = nativeKeyInfoArrayRaw +
+ totalCkAttributesSize + sizeof(unsigned long) * 2;
+
+ for (i = 0; i < CK_ATTRIBUTES_TEMPLATE_LENGTH; i++) {
+ if ((ckpAttributes+i)->ulValueLen != CK_UNAVAILABLE_INFORMATION) {
+ (*(CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributesPtr).type =
+ (ckpAttributes+i)->type;
+ (*(CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributesPtr).ulValueLen =
+ (ckpAttributes+i)->ulValueLen;
+ if ((ckpAttributes+i)->ulValueLen != 0) {
+ (*(CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributesPtr).pValue =
+ nativeKeyInfoArrayRawDataPtr;
+ } else {
+ (*(CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributesPtr).pValue = 0;
+ }
+ nativeKeyInfoArrayRawDataPtr +=
+ (*(CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributesPtr).ulValueLen;
+ nativeKeyInfoArrayRawCkAttributesPtr += sizeof(CK_ATTRIBUTE);
+ }
+ }
+
+ TRACE0("DEBUG: GetNativeKeyInfo finished prepping nativeKeyInfoArray\n");
+
+ // Get attribute's values
+ rv = (*ckpFunctions->C_GetAttributeValue)(ckSessionHandle, ckObjectHandle,
+ (CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributes,
+ attributesCount);
+ if (ckAssertReturnValueOK(env, rv) != CK_ASSERT_OK) {
+ goto cleanup;
+ }
+
+ TRACE0("DEBUG: GetNativeKeyInfo 1st C_GetAttributeValue call passed\n");
+
+ if (netscapeAttributeValueNeeded) {
+ (*(CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributesPtr).type = CKA_NETSCAPE_DB;
+ // Value is not needed, public key is not used
+ }
+
+ if ((sensitiveAttributePosition != (unsigned int)-1) &&
+ *(CK_BBOOL*)(((CK_ATTRIBUTE_PTR)(((CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributes)
+ +sensitiveAttributePosition))->pValue) == CK_TRUE) {
+ // Key is sensitive. Need to extract it wrapped.
+ if (jWrappingKeyHandle != -1) {
+
+ jMechanismToCKMechanism(env, jWrappingMech, &ckMechanism);
+ rv = (*ckpFunctions->C_WrapKey)(ckSessionHandle, &ckMechanism,
+ jLongToCKULong(jWrappingKeyHandle), ckObjectHandle,
+ NULL_PTR, &ckWrappedKeyLength);
+ if (ckWrappedKeyLength != 0) {
+ // Allocate space for getting the wrapped key
+ nativeKeyInfoWrappedKeyArray = (*env)->NewByteArray(env,
+ totalNativeKeyInfoArraySize + ckWrappedKeyLength);
+ if (nativeKeyInfoWrappedKeyArray == NULL) {
+ goto cleanup;
+ }
+ nativeKeyInfoWrappedKeyArrayRaw =
+ (*env)->GetByteArrayElements(env,
+ nativeKeyInfoWrappedKeyArray, NULL);
+ if (nativeKeyInfoWrappedKeyArrayRaw == NULL) {
+ goto cleanup;
+ }
+ memcpy(nativeKeyInfoWrappedKeyArrayRaw, nativeKeyInfoArrayRaw,
+ totalNativeKeyInfoArraySize);
+ wrappedKeySizeWrappedKeyArrayPtr =
+ (unsigned long*)(nativeKeyInfoWrappedKeyArrayRaw +
+ sizeof(unsigned long)*2 + totalCkAttributesSize +
+ totalDataSize);
+ memcpy(wrappedKeySizeWrappedKeyArrayPtr, &ckWrappedKeyLength, sizeof(unsigned long));
+ TRACE1("DEBUG: GetNativeKeyInfo 1st C_WrapKey wrappedKeyLength = %lu\n", ckWrappedKeyLength);
+
+ wrappedKeyBufferPtr =
+ (unsigned char*)wrappedKeySizeWrappedKeyArrayPtr +
+ sizeof(unsigned long);
+ rv = (*ckpFunctions->C_WrapKey)(ckSessionHandle, &ckMechanism,
+ jLongToCKULong(jWrappingKeyHandle),ckObjectHandle,
+ wrappedKeyBufferPtr, &ckWrappedKeyLength);
+ if (ckAssertReturnValueOK(env, rv) != CK_ASSERT_OK) {
+ goto cleanup;
+ }
+ memcpy(wrappedKeySizeWrappedKeyArrayPtr, &ckWrappedKeyLength, sizeof(unsigned long));
+ TRACE1("DEBUG: GetNativeKeyInfo 2nd C_WrapKey wrappedKeyLength = %lu\n", ckWrappedKeyLength);
+ } else {
+ goto cleanup;
+ }
+ } else {
+ goto cleanup;
+ }
+ returnValue = nativeKeyInfoWrappedKeyArray;
+ } else {
+ returnValue = nativeKeyInfoArray;
+ }
+
+cleanup:
+ if (ckpAttributes != NULL) {
+ free(ckpAttributes);
+ }
+
+ if (nativeKeyInfoArrayRaw != NULL) {
+ (*env)->ReleaseByteArrayElements(env, nativeKeyInfoArray,
+ nativeKeyInfoArrayRaw, 0);
+ }
+
+ if (nativeKeyInfoWrappedKeyArrayRaw != NULL) {
+ (*env)->ReleaseByteArrayElements(env, nativeKeyInfoWrappedKeyArray,
+ nativeKeyInfoWrappedKeyArrayRaw, 0);
+ }
+
+ if (nativeKeyInfoArray != NULL && returnValue != nativeKeyInfoArray) {
+ (*env)->DeleteLocalRef(env, nativeKeyInfoArray);
+ }
+
+ if (nativeKeyInfoWrappedKeyArray != NULL
+ && returnValue != nativeKeyInfoWrappedKeyArray) {
+ (*env)->DeleteLocalRef(env, nativeKeyInfoWrappedKeyArray);
+ }
+
+ return returnValue;
+}
+#endif
+
+#ifdef P11_ENABLE_CREATENATIVEKEY
+/*
+ * Class: sun_security_pkcs11_wrapper_PKCS11
+ * Method: createNativeKey
+ * Signature: (J[BJLsun/security/pkcs11/wrapper/CK_MECHANISM;)J
+ * Parametermapping: *PKCS11*
+ * @param jlong jSessionHandle CK_SESSION_HANDLE hSession
+ * @param jbyteArray jNativeKeyInfo -
+ * @param jlong jWrappingKeyHandle CK_OBJECT_HANDLE hObject
+ * @param jobject jWrappingMech CK_MECHANISM_PTR pMechanism
+ * @return jlong jKeyHandle CK_OBJECT_HANDLE hObject
+ */
+JNIEXPORT jlong JNICALL
+Java_sun_security_pkcs11_wrapper_PKCS11_createNativeKey
+ (JNIEnv *env, jobject obj, jlong jSessionHandle, jbyteArray jNativeKeyInfo,
+ jlong jWrappingKeyHandle, jobject jWrappingMech)
+{
+ CK_OBJECT_HANDLE ckObjectHandle;
+ CK_RV rv;
+ CK_SESSION_HANDLE ckSessionHandle = jLongToCKULong(jSessionHandle);
+ jbyte* nativeKeyInfoArrayRaw = NULL;
+ jlong jObjectHandle = 0L;
+ unsigned long totalCkAttributesSize = 0UL;
+ unsigned long nativeKeyInfoCkAttributesCount = 0UL;
+ jbyte* nativeKeyInfoArrayRawCkAttributes = NULL;
+ jbyte* nativeKeyInfoArrayRawCkAttributesPtr = NULL;
+ jbyte* nativeKeyInfoArrayRawDataPtr = NULL;
+ unsigned long totalDataSize = 0UL;
+ unsigned long* wrappedKeySizePtr = NULL;
+ unsigned int i = 0U;
+ CK_MECHANISM ckMechanism;
+ char iv[16] = {0x0};
+ CK_ULONG ckWrappedKeyLength = 0UL;
+ CK_FUNCTION_LIST_PTR ckpFunctions = getFunctionList(env, obj);
+
+ if (ckpFunctions == NULL) { goto cleanup; }
+
+ nativeKeyInfoArrayRaw =
+ (*env)->GetByteArrayElements(env, jNativeKeyInfo, NULL);
+ if (nativeKeyInfoArrayRaw == NULL) {
+ goto cleanup;
+ }
+
+ memcpy(&totalCkAttributesSize, nativeKeyInfoArrayRaw, sizeof(unsigned long));
+ TRACE1("DEBUG: createNativeKey totalCkAttributesSize = %lu\n", totalCkAttributesSize);
+ nativeKeyInfoCkAttributesCount = totalCkAttributesSize/sizeof(CK_ATTRIBUTE);
+ TRACE1("DEBUG: createNativeKey nativeKeyInfoCkAttributesCount = %lu\n", nativeKeyInfoCkAttributesCount);
+
+ nativeKeyInfoArrayRawCkAttributes = nativeKeyInfoArrayRaw +
+ sizeof(unsigned long);
+ nativeKeyInfoArrayRawCkAttributesPtr = nativeKeyInfoArrayRawCkAttributes;
+ nativeKeyInfoArrayRawDataPtr = nativeKeyInfoArrayRaw +
+ totalCkAttributesSize + sizeof(unsigned long) * 2;
+ memcpy(&totalDataSize, (nativeKeyInfoArrayRaw + totalCkAttributesSize + sizeof(unsigned long)),
+ sizeof(unsigned long));
+ TRACE1("DEBUG: createNativeKey totalDataSize = %lu\n", totalDataSize);
+
+ wrappedKeySizePtr = (unsigned long*)(nativeKeyInfoArrayRaw +
+ sizeof(unsigned long)*2 + totalCkAttributesSize + totalDataSize);
+
+ memcpy(&ckWrappedKeyLength, wrappedKeySizePtr, sizeof(unsigned long));
+ TRACE1("DEBUG: createNativeKey wrappedKeyLength = %lu\n", ckWrappedKeyLength);
+
+ for (i = 0; i < nativeKeyInfoCkAttributesCount; i++) {
+ if ((*(CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributesPtr).ulValueLen
+ > 0) {
+ (*(CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributesPtr).pValue =
+ nativeKeyInfoArrayRawDataPtr;
+ }
+ nativeKeyInfoArrayRawDataPtr +=
+ (*(CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributesPtr).ulValueLen;
+ nativeKeyInfoArrayRawCkAttributesPtr += sizeof(CK_ATTRIBUTE);
+ }
+
+ if (ckWrappedKeyLength == 0) {
+ // Not a wrapped key
+ rv = (*ckpFunctions->C_CreateObject)(ckSessionHandle,
+ (CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributes,
+ jLongToCKULong(nativeKeyInfoCkAttributesCount), &ckObjectHandle);
+ } else {
+ // Wrapped key
+ jMechanismToCKMechanism(env, jWrappingMech, &ckMechanism);
+ rv = (*ckpFunctions->C_UnwrapKey)(ckSessionHandle, &ckMechanism,
+ jLongToCKULong(jWrappingKeyHandle),
+ (CK_BYTE_PTR)(wrappedKeySizePtr + 1), ckWrappedKeyLength,
+ (CK_ATTRIBUTE_PTR)nativeKeyInfoArrayRawCkAttributes,
+ jLongToCKULong(nativeKeyInfoCkAttributesCount),
+ &ckObjectHandle);
+ }
+ if (ckAssertReturnValueOK(env, rv) != CK_ASSERT_OK) {
+ goto cleanup;
+ }
+
+ jObjectHandle = ckULongToJLong(ckObjectHandle);
+
+cleanup:
+
+ if (nativeKeyInfoArrayRaw != NULL) {
+ (*env)->ReleaseByteArrayElements(env, jNativeKeyInfo,
+ nativeKeyInfoArrayRaw, JNI_ABORT);
+ }
+
+ return jObjectHandle;
+}
+#endif
+
#ifdef P11_ENABLE_C_GENERATEKEY
/*
* Class: sun_security_pkcs11_wrapper_PKCS11
--- a/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11t.h Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11t.h Tue Jan 22 09:43:38 2019 -0500
@@ -548,6 +548,7 @@
#define CKA_ALLOWED_MECHANISMS (CKF_ARRAY_ATTRIBUTE|0x00000600)
#define CKA_VENDOR_DEFINED 0x80000000
+#define CKA_NETSCAPE_DB 0xD5A0DB00
/* CK_ATTRIBUTE is a structure that includes the type, length
--- a/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11wrapper.h Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11wrapper.h Tue Jan 22 09:43:38 2019 -0500
@@ -151,6 +151,8 @@
#undef P11_ENABLE_C_GETFUNCTIONSTATUS
#undef P11_ENABLE_C_CANCELFUNCTION
#undef P11_ENABLE_C_WAITFORSLOTEVENT
+#define P11_ENABLE_GETNATIVEKEYINFO
+#define P11_ENABLE_CREATENATIVEKEY
/* include the platform dependent part of the header */
#include "p11_md.h"
@@ -204,6 +206,8 @@
#define ckULongToJSize(x) ((jsize) x)
#define unsignedIntToCKULong(x) ((CK_ULONG) x)
+//#define P11_DEBUG
+
#ifdef P11_DEBUG
#define TRACE0(s) { printf(s); fflush(stdout); }
#define TRACE1(s, p1) { printf(s, p1); fflush(stdout); }
--- a/src/jdk.crypto.cryptoki/windows/native/libj2pkcs11/p11_md.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.cryptoki/windows/native/libj2pkcs11/p11_md.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
@@ -75,18 +75,20 @@
* Signature: (Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_sun_security_pkcs11_wrapper_PKCS11_connect
- (JNIEnv *env, jobject obj, jstring jPkcs11ModulePath, jstring jGetFunctionList)
+ (JNIEnv *env, jobject obj, jstring jPkcs11ModulePath,
+ jstring jGetFunctionList)
{
HINSTANCE hModule;
CK_C_GetFunctionList C_GetFunctionList;
- CK_RV rv;
+ CK_RV rv = CK_ASSERT_OK;
ModuleData *moduleData;
jobject globalPKCS11ImplementationReference;
- LPVOID lpMsgBuf;
- char *exceptionMessage;
+ LPVOID lpMsgBuf = NULL;
+ char *exceptionMessage = NULL;
const char *getFunctionListStr;
- const char *libraryNameStr = (*env)->GetStringUTFChars(env, jPkcs11ModulePath, 0);
+ const char *libraryNameStr = (*env)->GetStringUTFChars(env,
+ jPkcs11ModulePath, 0);
TRACE1("DEBUG: connect to PKCS#11 module: %s ... ", libraryNameStr);
@@ -106,21 +108,24 @@
0,
NULL
);
- exceptionMessage = (char *) malloc(sizeof(char) * (strlen((LPTSTR) lpMsgBuf) + strlen(libraryNameStr) + 1));
+ exceptionMessage = (char *) malloc(sizeof(char) *
+ (strlen((LPTSTR) lpMsgBuf) + strlen(libraryNameStr) + 1));
+ if (exceptionMessage == NULL) {
+ throwOutOfMemoryError(env, 0);
+ goto cleanup;
+ }
strcpy(exceptionMessage, (LPTSTR) lpMsgBuf);
strcat(exceptionMessage, libraryNameStr);
throwIOException(env, (LPTSTR) exceptionMessage);
- /* Free the buffer. */
- free(exceptionMessage);
- LocalFree(lpMsgBuf);
- return;
+ goto cleanup;
}
/*
* Get function pointer to C_GetFunctionList
*/
getFunctionListStr = (*env)->GetStringUTFChars(env, jGetFunctionList, 0);
- C_GetFunctionList = (CK_C_GetFunctionList) GetProcAddress(hModule, getFunctionListStr);
+ C_GetFunctionList = (CK_C_GetFunctionList) GetProcAddress(hModule,
+ getFunctionListStr);
(*env)->ReleaseStringUTFChars(env, jGetFunctionList, getFunctionListStr);
if (C_GetFunctionList == NULL) {
FormatMessage(
@@ -135,24 +140,37 @@
NULL
);
throwIOException(env, (LPTSTR) lpMsgBuf);
- /* Free the buffer. */
- LocalFree( lpMsgBuf );
- return;
+ goto cleanup;
}
/*
* Get function pointers to all PKCS #11 functions
*/
moduleData = (ModuleData *) malloc(sizeof(ModuleData));
+ if (moduleData == NULL) {
+ throwOutOfMemoryError(env, 0);
+ goto cleanup;
+ }
moduleData->hModule = hModule;
moduleData->applicationMutexHandler = NULL;
rv = (C_GetFunctionList)(&(moduleData->ckFunctionListPtr));
globalPKCS11ImplementationReference = (*env)->NewGlobalRef(env, obj);
putModuleEntry(env, globalPKCS11ImplementationReference, moduleData);
- (*env)->ReleaseStringUTFChars(env, jPkcs11ModulePath, libraryNameStr);
TRACE0("FINISHED\n");
+cleanup:
+ /* Free up allocated buffers we no longer need */
+ if (lpMsgBuf != NULL) {
+ LocalFree( lpMsgBuf );
+ }
+ if (libraryNameStr != NULL) {
+ (*env)->ReleaseStringUTFChars(env, jPkcs11ModulePath, libraryNameStr);
+ }
+ if (exceptionMessage != NULL) {
+ free(exceptionMessage);
+ }
+
if(ckAssertReturnValueOK(env, rv) != CK_ASSERT_OK) { return; }
}
--- a/src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -178,7 +178,7 @@
@Override
protected int engineGenerateSecret(byte[] sharedSecret, int
offset) throws IllegalStateException, ShortBufferException {
- if (offset + secretLen > sharedSecret.length) {
+ if (secretLen > sharedSecret.length - offset) {
throw new ShortBufferException("Need " + secretLen
+ " bytes, only " + (sharedSecret.length - offset)
+ " available");
--- a/src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -163,7 +163,7 @@
if (len <= 0) {
return;
}
- if (offset + len >= precomputedDigest.length) {
+ if (len >= precomputedDigest.length - offset) {
offset = RAW_ECDSA_MAX + 1;
return;
}
--- a/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CKeyStore.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CKeyStore.java Tue Jan 22 09:43:38 2019 -0500
@@ -754,7 +754,8 @@
new KeyEntry(alias, null, certChain));
} catch (Throwable e) {
// Ignore the exception and skip this entry
- // TODO - throw CertificateException?
+ // If e is thrown, remember to deal with it in
+ // native code.
}
}
@@ -781,7 +782,8 @@
certChain));
} catch (Throwable e) {
// Ignore the exception and skip this entry
- // TODO - throw CertificateException?
+ // If e is thrown, remember to deal with it in
+ // native code.
}
}
@@ -809,10 +811,14 @@
certCollection.addAll(c);
} catch (CertificateException e) {
// Ignore the exception and skip this certificate
- // TODO - throw CertificateException?
- } catch (Throwable te) {
+ // If e is thrown, remember to deal with it in
+ // native code.
+ }
+ catch (Throwable te)
+ {
// Ignore the exception and skip this certificate
- // TODO - throw CertificateException?
+ // If e is thrown, remember to deal with it in
+ // native code.
}
}
--- a/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -544,6 +544,15 @@
// Create ArrayList to store certs in each chain
jobject jArrayList =
env->NewObject(clazzArrayList, mNewArrayList);
+ if (jArrayList == NULL) {
+ __leave;
+ }
+
+ // Cleanup the previous allocated name
+ if (pszNameString) {
+ delete [] pszNameString;
+ pszNameString = NULL;
+ }
for (unsigned int j=0; j < rgpChain->cElement; j++)
{
@@ -582,6 +591,9 @@
// Allocate and populate byte array
jbyteArray byteArray = env->NewByteArray(cbCertEncoded);
+ if (byteArray == NULL) {
+ __leave;
+ }
env->SetByteArrayRegion(byteArray, 0, cbCertEncoded,
(jbyte*) pbCertEncoded);
@@ -590,49 +602,67 @@
env->CallVoidMethod(obj, mGenCert, byteArray, jArrayList);
}
- PP("%s: %s", pszNameString, pCertContext->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId);
- if (bHasNoPrivateKey)
- {
- // Generate certificate chain and store into cert chain
- // collection
- env->CallVoidMethod(obj, mGenCertChain,
- env->NewStringUTF(pszNameString),
- jArrayList);
- }
- else
+ // Usually pszNameString should be non-NULL. It's either
+ // the friendly name or an element from the subject name
+ // or SAN.
+ if (pszNameString)
{
- if (hUserKey) {
- // Only accept RSA for CAPI
- DWORD dwData = CALG_RSA_KEYX;
- DWORD dwSize = sizeof(DWORD);
- ::CryptGetKeyParam(hUserKey, KP_ALGID, (BYTE*)&dwData, //deprecated
- &dwSize, NULL);
- if ((dwData & ALG_TYPE_RSA) == ALG_TYPE_RSA)
- {
- // Generate RSA certificate chain and store into cert
- // chain collection
- env->CallVoidMethod(obj, mGenKeyAndCertChain,
- 1,
- env->NewStringUTF(pszNameString),
- (jlong) hCryptProv, (jlong) hUserKey,
- dwPublicKeyLength, jArrayList);
+ PP("%s: %s", pszNameString, pCertContext->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId);
+ if (bHasNoPrivateKey)
+ {
+ // Generate certificate chain and store into cert chain
+ // collection
+ jstring name = env->NewStringUTF(pszNameString);
+ if (name == NULL) {
+ __leave;
}
- } else {
- // Only accept EC for CNG
- BYTE buffer[32];
- DWORD len = 0;
- if (::NCryptGetProperty(
- hCryptProv, NCRYPT_ALGORITHM_PROPERTY,
- (PBYTE)buffer, 32, &len, NCRYPT_SILENT_FLAG) == ERROR_SUCCESS) {
- if (buffer[0] == 'E' && buffer[2] == 'C'
- && (dwPublicKeyLength == 256
- || dwPublicKeyLength == 384
- || dwPublicKeyLength == 521)) {
+ env->CallVoidMethod(obj, mGenCertChain,
+ name,
+ jArrayList);
+ }
+ else
+ {
+ if (hUserKey) {
+ // Only accept RSA for CAPI
+ DWORD dwData = CALG_RSA_KEYX;
+ DWORD dwSize = sizeof(DWORD);
+ ::CryptGetKeyParam(hUserKey, KP_ALGID, (BYTE*)&dwData, //deprecated
+ &dwSize, NULL);
+ if ((dwData & ALG_TYPE_RSA) == ALG_TYPE_RSA)
+ {
+ // Generate RSA certificate chain and store into cert
+ // chain collection
+ jstring name = env->NewStringUTF(pszNameString);
+ if (name == NULL) {
+ __leave;
+ }
env->CallVoidMethod(obj, mGenKeyAndCertChain,
- 0,
- env->NewStringUTF(pszNameString),
- (jlong) hCryptProv, 0,
- dwPublicKeyLength, jArrayList);
+ 1,
+ name,
+ (jlong) hCryptProv, (jlong) hUserKey,
+ dwPublicKeyLength, jArrayList);
+ }
+ } else {
+ // Only accept EC for CNG
+ BYTE buffer[32];
+ DWORD len = 0;
+ if (::NCryptGetProperty(
+ hCryptProv, NCRYPT_ALGORITHM_PROPERTY,
+ (PBYTE)buffer, 32, &len, NCRYPT_SILENT_FLAG) == ERROR_SUCCESS) {
+ if (buffer[0] == 'E' && buffer[2] == 'C'
+ && (dwPublicKeyLength == 256
+ || dwPublicKeyLength == 384
+ || dwPublicKeyLength == 521)) {
+ jstring name = env->NewStringUTF(pszNameString);
+ if (name == NULL) {
+ __leave;
+ }
+ env->CallVoidMethod(obj, mGenKeyAndCertChain,
+ 0,
+ name,
+ (jlong) hCryptProv, 0,
+ dwPublicKeyLength, jArrayList);
+ }
}
}
}
@@ -782,6 +812,9 @@
// Create new byte array
jbyteArray temp = env->NewByteArray(dwBufLen);
+ if (temp == NULL) {
+ __leave;
+ }
// Copy data from native buffer
env->SetByteArrayRegion(temp, 0, dwBufLen, pSignedHashBuffer);
@@ -900,6 +933,9 @@
// Create new byte array
jbyteArray temp = env->NewByteArray(jSignedHashSize);
+ if (temp == NULL) {
+ __leave;
+ }
// Copy data from native buffer
env->SetByteArrayRegion(temp, 0, jSignedHashSize, pSignedHashBuffer);
@@ -1417,6 +1453,9 @@
}
jCertAliasChars = env->GetStringChars(jCertAliasName, NULL);
+ if (jCertAliasChars == NULL) {
+ __leave;
+ }
memcpy(pszCertAliasName, jCertAliasChars, size * sizeof(WCHAR));
pszCertAliasName[size] = 0; // append the string terminator
@@ -1847,7 +1886,9 @@
}
// Create new byte array
- result = env->NewByteArray(dwBufLen);
+ if ((result = env->NewByteArray(dwBufLen)) == NULL) {
+ __leave;
+ }
// Copy data from native buffer to Java buffer
env->SetByteArrayRegion(result, 0, dwBufLen, (jbyte*) pData);
@@ -1910,7 +1951,9 @@
}
// Create new byte array
- blob = env->NewByteArray(dwBlobLen);
+ if ((blob = env->NewByteArray(dwBlobLen)) == NULL) {
+ __leave;
+ }
// Copy data from native buffer to Java buffer
env->SetByteArrayRegion(blob, 0, dwBlobLen, (jbyte*) pbKeyBlob);
@@ -1939,6 +1982,13 @@
__try {
jsize length = env->GetArrayLength(jKeyBlob);
+ jsize headerLength = sizeof(PUBLICKEYSTRUC) + sizeof(RSAPUBKEY);
+
+ if (length < headerLength) {
+ ThrowExceptionWithMessage(env, KEY_EXCEPTION, "Invalid BLOB");
+ __leave;
+ }
+
if ((keyBlob = env->GetByteArrayElements(jKeyBlob, 0)) == NULL) {
__leave;
}
@@ -1965,7 +2015,9 @@
exponentBytes[i] = ((BYTE*) &pRsaPubKey->pubexp)[j];
}
- exponent = env->NewByteArray(len);
+ if ((exponent = env->NewByteArray(len)) == NULL) {
+ __leave;
+ }
env->SetByteArrayRegion(exponent, 0, len, exponentBytes);
}
__finally
@@ -1995,6 +2047,13 @@
__try {
jsize length = env->GetArrayLength(jKeyBlob);
+ jsize headerLength = sizeof(PUBLICKEYSTRUC) + sizeof(RSAPUBKEY);
+
+ if (length < headerLength) {
+ ThrowExceptionWithMessage(env, KEY_EXCEPTION, "Invalid BLOB");
+ __leave;
+ }
+
if ((keyBlob = env->GetByteArrayElements(jKeyBlob, 0)) == NULL) {
__leave;
}
@@ -2011,19 +2070,25 @@
(RSAPUBKEY *) (keyBlob + sizeof(PUBLICKEYSTRUC));
int len = pRsaPubKey->bitlen / 8;
+ if (len < 0 || len > length - headerLength) {
+ ThrowExceptionWithMessage(env, KEY_EXCEPTION, "Invalid key length");
+ __leave;
+ }
+
modulusBytes = new (env) jbyte[len];
if (modulusBytes == NULL) {
__leave;
}
- BYTE * pbModulus =
- (BYTE *) (keyBlob + sizeof(PUBLICKEYSTRUC) + sizeof(RSAPUBKEY));
+ BYTE * pbModulus = (BYTE *) (keyBlob + headerLength);
// convert from little-endian while copying from blob
for (int i = 0, j = len - 1; i < len; i++, j--) {
modulusBytes[i] = pbModulus[j];
}
- modulus = env->NewByteArray(len);
+ if ((modulus = env->NewByteArray(len)) == NULL) {
+ __leave;
+ }
env->SetByteArrayRegion(modulus, 0, len, modulusBytes);
}
__finally
@@ -2240,7 +2305,9 @@
}
}
- jBlob = env->NewByteArray(jBlobLength);
+ if ((jBlob = env->NewByteArray(jBlobLength)) == NULL) {
+ __leave;
+ }
env->SetByteArrayRegion(jBlob, 0, jBlobLength, jBlobBytes);
}
--- a/src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -24,6 +24,7 @@
#include <jni.h>
#include "libproc.h"
+#include "proc_service.h"
#include <elf.h>
#include <sys/types.h>
@@ -241,10 +242,10 @@
/*
* Class: sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal
* Method: attach0
- * Signature: (IZ)V
+ * Signature: (I)V
*/
-JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_attach0__IZ
- (JNIEnv *env, jobject this_obj, jint jpid, jboolean is_in_container) {
+JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_attach0__I
+ (JNIEnv *env, jobject this_obj, jint jpid) {
// For bitness checking, locate binary at /proc/jpid/exe
char buf[PATH_MAX];
@@ -254,7 +255,7 @@
char err_buf[200];
struct ps_prochandle* ph;
- if ((ph = Pgrab(jpid, err_buf, sizeof(err_buf), is_in_container)) == NULL) {
+ if ((ph = Pgrab(jpid, err_buf, sizeof(err_buf))) == NULL) {
char msg[230];
snprintf(msg, sizeof(msg), "Can't attach to the process: %s", err_buf);
THROW_NEW_DEBUGGER_EXCEPTION(msg);
--- a/src/jdk.hotspot.agent/linux/native/libsaproc/libproc.h Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.hotspot.agent/linux/native/libsaproc/libproc.h Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -28,41 +28,10 @@
#include <jni.h>
#include <unistd.h>
#include <stdint.h>
-#include "proc_service.h"
+#include <sys/procfs.h>
#include <sys/ptrace.h>
-/************************************************************************************
-
-0. This is very minimal subset of Solaris libproc just enough for current application.
-Please note that the bulk of the functionality is from proc_service interface. This
-adds Pgrab__ and some missing stuff. We hide the difference b/w live process and core
-file by this interface.
-
-1. pthread_id unique in both NPTL & LinuxThreads. We store this in
-OSThread::_pthread_id in JVM code.
-
-2. All threads see the same pid when they call getpid() under NPTL.
-Threads receive different pid under LinuxThreads. We used to save the result of
-::getpid() call in OSThread::_thread_id. This way uniqueness of OSThread::_thread_id
-was lost under NPTL. Now, we store the result of ::gettid() call in
-OSThread::_thread_id. Because gettid returns actual pid of thread (lwp id), this is
-unique again. We therefore use OSThread::_thread_id as unique identifier.
-
-3. There is a unique LWP id under both thread libraries. libthread_db maps pthread_id
-to its underlying lwp_id under both the thread libraries. thread_info.lwp_id stores
-lwp_id of the thread. The lwp id is nothing but the actual pid of clone'd processes. But
-unfortunately libthread_db does not work very well for core dumps. So, we get pthread_id
-only for processes. For core dumps, we don't use libthread_db at all (like gdb).
-
-4. ptrace operates on this LWP id under both the thread libraries. When we say 'pid' for
-ptrace call, we refer to lwp_id of the thread.
-
-5. for core file, we parse ELF files and read data from them. For processes we use
-combination of ptrace and /proc calls.
-
-*************************************************************************************/
-
#if defined(sparc) || defined(sparcv9) || defined(ppc64) || defined(ppc64le)
#include <asm/ptrace.h>
@@ -87,7 +56,7 @@
// attach to a process
JNIEXPORT struct ps_prochandle* JNICALL
-Pgrab(pid_t pid, char* err_buf, size_t err_buf_len, bool is_in_container);
+Pgrab(pid_t pid, char* err_buf, size_t err_buf_len);
// attach to a core dump
JNIEXPORT struct ps_prochandle* JNICALL
--- a/src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -26,8 +26,9 @@
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
-#include <thread_db.h>
+#include <sys/procfs.h>
#include "libproc_impl.h"
+#include "proc_service.h"
#define SA_ALTROOT "SA_ALTROOT"
@@ -116,13 +117,6 @@
init_libproc(bool debug) {
// init debug mode
_libsaproc_debug = debug;
-
- // initialize the thread_db library
- if (td_init() != TD_OK) {
- print_debug("libthread_db's td_init failed\n");
- return false;
- }
-
return true;
}
@@ -256,7 +250,7 @@
}
// add a thread to ps_prochandle
-thread_info* add_thread_info(struct ps_prochandle* ph, pthread_t pthread_id, lwpid_t lwp_id) {
+thread_info* add_thread_info(struct ps_prochandle* ph, lwpid_t lwp_id) {
thread_info* newthr;
if ( (newthr = (thread_info*) calloc(1, sizeof(thread_info))) == NULL) {
print_debug("can't allocate memory for thread_info\n");
@@ -264,7 +258,6 @@
}
// initialize thread info
- newthr->pthread_id = pthread_id;
newthr->lwp_id = lwp_id;
// add new thread to the list
@@ -295,64 +288,6 @@
free(current_thr);
}
-// struct used for client data from thread_db callback
-struct thread_db_client_data {
- struct ps_prochandle* ph;
- thread_info_callback callback;
-};
-
-// callback function for libthread_db
-static int thread_db_callback(const td_thrhandle_t *th_p, void *data) {
- struct thread_db_client_data* ptr = (struct thread_db_client_data*) data;
- td_thrinfo_t ti;
- td_err_e err;
-
- memset(&ti, 0, sizeof(ti));
- err = td_thr_get_info(th_p, &ti);
- if (err != TD_OK) {
- print_debug("libthread_db : td_thr_get_info failed, can't get thread info\n");
- return err;
- }
-
- print_debug("thread_db : pthread %d (lwp %d)\n", ti.ti_tid, ti.ti_lid);
-
- if (ti.ti_state == TD_THR_UNKNOWN || ti.ti_state == TD_THR_ZOMBIE) {
- print_debug("Skipping pthread %d (lwp %d)\n", ti.ti_tid, ti.ti_lid);
- return TD_OK;
- }
-
- if (ptr->callback(ptr->ph, ti.ti_tid, ti.ti_lid) != true)
- return TD_ERR;
-
- return TD_OK;
-}
-
-// read thread_info using libthread_db
-bool read_thread_info(struct ps_prochandle* ph, thread_info_callback cb) {
- struct thread_db_client_data mydata;
- td_thragent_t* thread_agent = NULL;
- if (td_ta_new(ph, &thread_agent) != TD_OK) {
- print_debug("can't create libthread_db agent\n");
- return false;
- }
-
- mydata.ph = ph;
- mydata.callback = cb;
-
- // we use libthread_db iterator to iterate thru list of threads.
- if (td_ta_thr_iter(thread_agent, thread_db_callback, &mydata,
- TD_THR_ANY_STATE, TD_THR_LOWEST_PRIORITY,
- TD_SIGNO_MASK, TD_THR_ANY_USER_FLAGS) != TD_OK) {
- td_ta_delete(thread_agent);
- return false;
- }
-
- // delete thread agent
- td_ta_delete(thread_agent);
- return true;
-}
-
-
// get number of threads
int get_num_threads(struct ps_prochandle* ph) {
return ph->num_threads;
@@ -484,9 +419,3 @@
return PS_OK;
}
-// new libthread_db of NPTL seem to require this symbol
-JNIEXPORT ps_err_e JNICALL
-ps_get_thread_area() {
- print_debug("ps_get_thread_area not implemented\n");
- return PS_OK;
-}
--- a/src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -46,7 +46,6 @@
// list of threads
typedef struct thread_info {
lwpid_t lwp_id;
- pthread_t pthread_id; // not used cores, always -1
struct user_regs_struct regs; // not for process, core uses for caching regset
struct thread_info* next;
} thread_info;
@@ -108,11 +107,6 @@
void print_error(const char* format,...);
bool is_debug();
-typedef bool (*thread_info_callback)(struct ps_prochandle* ph, pthread_t pid, lwpid_t lwpid);
-
-// reads thread info using libthread_db and calls above callback for each thread
-bool read_thread_info(struct ps_prochandle* ph, thread_info_callback cb);
-
// deletes a thread from the thread list
void delete_thread_info(struct ps_prochandle* ph, thread_info* thr);
@@ -124,7 +118,7 @@
uintptr_t base);
// adds a new thread to threads list, returns NULL on failure
-thread_info* add_thread_info(struct ps_prochandle* ph, pthread_t pthread_id, lwpid_t lwp_id);
+thread_info* add_thread_info(struct ps_prochandle* ph, lwpid_t lwp_id);
// a test for ELF signature without using libelf
bool is_elf_file(int fd);
--- a/src/jdk.hotspot.agent/linux/native/libsaproc/proc_service.h Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.hotspot.agent/linux/native/libsaproc/proc_service.h Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -26,12 +26,10 @@
#define _PROC_SERVICE_H_
#include <stdio.h>
-#include <thread_db.h>
+#include <sys/procfs.h>
#include "jni.h"
+#include "libproc.h"
-// Linux does not have the proc service library, though it does provide the
-// thread_db library which can be used to manipulate threads without having
-// to know the details of NPTL
// copied from Solaris "proc_service.h"
typedef enum {
@@ -79,8 +77,4 @@
JNIEXPORT ps_err_e JNICALL
ps_lgetregs(struct ps_prochandle *ph, lwpid_t lid, prgregset_t gregset);
-// new libthread_db of NPTL seem to require this symbol
-JNIEXPORT ps_err_e JNICALL
-ps_get_thread_area();
-
#endif /* _PROC_SERVICE_H_ */
--- a/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -31,6 +31,7 @@
#include <elf.h>
#include <link.h>
#include "libproc_impl.h"
+#include "proc_service.h"
#include "salibelf.h"
#include "cds.h"
@@ -510,8 +511,7 @@
prstatus_t* prstat = (prstatus_t*) buf;
thread_info* newthr;
print_debug("got integer regset for lwp %d\n", prstat->pr_pid);
- // we set pthread_t to -1 for core dump
- if((newthr = add_thread_info(ph, (pthread_t) -1, prstat->pr_pid)) == NULL)
+ if((newthr = add_thread_info(ph, prstat->pr_pid)) == NULL)
return false;
// copy regs
--- a/src/jdk.hotspot.agent/linux/native/libsaproc/ps_proc.c Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.hotspot.agent/linux/native/libsaproc/ps_proc.c Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -339,11 +339,6 @@
return rslt;
}
-// callback for read_thread_info
-static bool add_new_thread(struct ps_prochandle* ph, pthread_t pthread_id, lwpid_t lwp_id) {
- return add_thread_info(ph, pthread_id, lwp_id) != NULL;
-}
-
static bool read_lib_info(struct ps_prochandle* ph) {
char fname[32];
char buf[PATH_MAX];
@@ -443,7 +438,7 @@
// attach to the process. One and only one exposed stuff
JNIEXPORT struct ps_prochandle* JNICALL
-Pgrab(pid_t pid, char* err_buf, size_t err_buf_len, bool is_in_container) {
+Pgrab(pid_t pid, char* err_buf, size_t err_buf_len) {
struct ps_prochandle* ph = NULL;
thread_info* thr = NULL;
attach_state_t attach_status = ATTACH_SUCCESS;
@@ -464,6 +459,7 @@
// initialize ps_prochandle
ph->pid = pid;
+ add_thread_info(ph, ph->pid);
// initialize vtable
ph->ops = &process_ops;
@@ -473,33 +469,30 @@
// the list of threads within the same process.
read_lib_info(ph);
- // read thread info
- if (is_in_container) {
- /*
- * If the process is running in the container, SA scans all tasks in
- * /proc/<PID>/task to read all threads info.
- */
- char taskpath[PATH_MAX];
- DIR *dirp;
- struct dirent *entry;
+ /*
+ * Read thread info.
+ * SA scans all tasks in /proc/<PID>/task to read all threads info.
+ */
+ char taskpath[PATH_MAX];
+ DIR *dirp;
+ struct dirent *entry;
- snprintf(taskpath, PATH_MAX, "/proc/%d/task", ph->pid);
- dirp = opendir(taskpath);
- int lwp_id;
- while ((entry = readdir(dirp)) != NULL) {
- if (*entry->d_name == '.') {
- continue;
- }
- lwp_id = atoi(entry->d_name);
- if (lwp_id == ph->pid) {
- continue;
- }
- add_new_thread(ph, -1, lwp_id);
+ snprintf(taskpath, PATH_MAX, "/proc/%d/task", ph->pid);
+ dirp = opendir(taskpath);
+ int lwp_id;
+ while ((entry = readdir(dirp)) != NULL) {
+ if (*entry->d_name == '.') {
+ continue;
}
- closedir(dirp);
- } else {
- read_thread_info(ph, add_new_thread);
+ lwp_id = atoi(entry->d_name);
+ if (lwp_id == ph->pid) {
+ continue;
+ }
+ if (!process_doesnt_exist(lwp_id)) {
+ add_thread_info(ph, lwp_id);
+ }
}
+ closedir(dirp);
// attach to the threads
thr = ph->threads;
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -102,7 +102,7 @@
private native static void init0()
throws DebuggerException;
private native void setSAAltRoot0(String altroot);
- private native void attach0(int pid, boolean isInContainer)
+ private native void attach0(int pid)
throws DebuggerException;
private native void attach0(String execName, String coreName)
throws DebuggerException;
@@ -321,9 +321,8 @@
class AttachTask implements WorkerThreadTask {
int pid;
- boolean isInContainer;
public void doit(LinuxDebuggerLocal debugger) {
- debugger.attach0(pid, isInContainer);
+ debugger.attach0(pid);
debugger.attached = true;
debugger.isCore = false;
findABIVersion();
@@ -332,7 +331,6 @@
AttachTask task = new AttachTask();
task.pid = processID;
- task.isInContainer = (processID != NSpid);
workerThread.execute(task);
}
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64Assembler.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64Assembler.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -1759,6 +1759,14 @@
emitOperandHelper(dst, src, 0);
}
+ public final void cmpb(Register dst, Register src) {
+ CMP.byteRmOp.emit(this, BYTE, dst, src);
+ }
+
+ public final void cmpw(Register dst, Register src) {
+ CMP.rmOp.emit(this, WORD, dst, src);
+ }
+
public final void cmpl(Register dst, int imm32) {
CMP.getMIOpcode(DWORD, isByte(imm32)).emit(this, DWORD, dst, imm32);
}
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019 Oracle and/or its affiliates. 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
@@ -125,6 +125,14 @@
return kind == JavaKind.Char;
}
+ private JavaKind getComparisonKind() {
+ return findTwoConsecutive ? (byteMode(kind) ? JavaKind.Char : JavaKind.Int) : kind;
+ }
+
+ private AVXKind.AVXSize getVectorSize() {
+ return AVXKind.getDataSize(vectorKind);
+ }
+
@Override
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler asm) {
Register arrayPtr = asRegister(arrayPtrValue);
@@ -159,9 +167,6 @@
Label retNotFound = new Label();
Label end = new Label();
- AVXKind.AVXSize vectorSize = AVXKind.getDataSize(vectorKind);
- int nVectors = nValues == 1 ? 4 : nValues == 2 ? 2 : 1;
-
// load array length
// important: this must be the first register manipulation, since arrayLengthValue is
// annotated with @Use
@@ -178,10 +183,10 @@
}
// fill comparison vector with copies of the search value
for (int i = 0; i < nValues; i++) {
- emitBroadcast(asm, findTwoConsecutive ? (byteMode(kind) ? JavaKind.Char : JavaKind.Int) : kind, vecCmp[i], vecArray[0], vectorSize);
+ emitBroadcast(asm, getComparisonKind(), vecCmp[i], vecArray[0], getVectorSize());
}
- emitArrayIndexOfChars(crb, asm, kind, vectorSize, result, slotsRemaining, searchValue, vecCmp, vecArray, cmpResult, retFound, retNotFound, vmPageSize, nValues, nVectors, findTwoConsecutive);
+ emitArrayIndexOfChars(crb, asm, result, slotsRemaining, searchValue, vecCmp, vecArray, cmpResult, retFound, retNotFound);
// return -1 (no match)
asm.bind(retNotFound);
@@ -197,7 +202,7 @@
asm.bind(end);
}
- private static void emitArrayIndexOfChars(CompilationResultBuilder crb, AMD64MacroAssembler asm, JavaKind kind, AVXKind.AVXSize vectorSize,
+ private void emitArrayIndexOfChars(CompilationResultBuilder crb, AMD64MacroAssembler asm,
Register arrayPtr,
Register slotsRemaining,
Register[] searchValue,
@@ -205,11 +210,10 @@
Register[] vecArray,
Register[] cmpResult,
Label retFound,
- Label retNotFound,
- int vmPageSize,
- int nValues,
- int nVectors,
- boolean findTwoCharPrefix) {
+ Label retNotFound) {
+ int nVectors = nValues == 1 ? 4 : nValues == 2 ? 2 : 1;
+ AVXKind.AVXSize vectorSize = getVectorSize();
+
Label bulkVectorLoop = new Label();
Label singleVectorLoop = new Label();
Label[] vectorFound = {
@@ -229,7 +233,7 @@
int bulkLoopCondition = bulkSize;
int[] vectorOffsets;
JavaKind vectorCompareKind = kind;
- if (findTwoCharPrefix) {
+ if (findTwoConsecutive) {
singleVectorLoopCondition++;
bulkLoopCondition++;
bulkSize /= 2;
@@ -274,7 +278,7 @@
emitAlign(crb, asm);
asm.bind(bulkVectorLoop);
// memory-aligned bulk comparison
- emitVectorCompare(asm, vectorCompareKind, vectorSize, nValues, nVectors, vectorOffsets, arrayPtr, vecCmp, vecArray, cmpResult, vectorFound, !findTwoCharPrefix);
+ emitVectorCompare(asm, vectorCompareKind, vectorSize, nValues, nVectors, vectorOffsets, arrayPtr, vecCmp, vecArray, cmpResult, vectorFound, !findTwoConsecutive);
// adjust number of array slots remaining
asm.subl(slotsRemaining, bulkSize);
// adjust array pointer
@@ -293,7 +297,7 @@
asm.cmpl(slotsRemaining, singleVectorLoopCondition);
asm.jcc(AMD64Assembler.ConditionFlag.Below, lessThanVectorSizeRemaining);
// compare
- emitVectorCompare(asm, vectorCompareKind, vectorSize, nValues, findTwoCharPrefix ? 2 : 1, vectorOffsets, arrayPtr, vecCmp, vecArray, cmpResult, vectorFound, false);
+ emitVectorCompare(asm, vectorCompareKind, vectorSize, nValues, findTwoConsecutive ? 2 : 1, vectorOffsets, arrayPtr, vecCmp, vecArray, cmpResult, vectorFound, false);
// adjust number of array slots remaining
asm.subl(slotsRemaining, arraySlotsPerVector);
// adjust array pointer
@@ -313,16 +317,16 @@
asm.movl(tmpArrayPtrLow, arrayPtr);
// check if pointer + vector size would cross the page boundary
asm.andl(tmpArrayPtrLow, (vmPageSize - 1));
- asm.cmpl(tmpArrayPtrLow, (vmPageSize - (findTwoCharPrefix ? bytesPerVector + kind.getByteCount() : bytesPerVector)));
+ asm.cmpl(tmpArrayPtrLow, (vmPageSize - (findTwoConsecutive ? bytesPerVector + kind.getByteCount() : bytesPerVector)));
// if the page boundary would be crossed, do byte/character-wise comparison instead.
asm.jccb(AMD64Assembler.ConditionFlag.Above, lessThanVectorSizeRemainingLoop);
Label[] overBoundsMatch = {new Label(), new Label()};
// otherwise, do a vector compare that reads beyond array bounds
- emitVectorCompare(asm, vectorCompareKind, vectorSize, nValues, findTwoCharPrefix ? 2 : 1, vectorOffsets, arrayPtr, vecCmp, vecArray, cmpResult, overBoundsMatch, false);
+ emitVectorCompare(asm, vectorCompareKind, vectorSize, nValues, findTwoConsecutive ? 2 : 1, vectorOffsets, arrayPtr, vecCmp, vecArray, cmpResult, overBoundsMatch, false);
// no match
asm.jmp(retNotFound);
- if (findTwoCharPrefix) {
+ if (findTwoConsecutive) {
Label overBoundsFinish = new Label();
asm.bind(overBoundsMatch[1]);
// get match offset of second result
@@ -348,14 +352,14 @@
}
// check if offset of matched value is greater than number of bytes remaining / out of array
// bounds
- if (findTwoCharPrefix) {
+ if (findTwoConsecutive) {
asm.decrementl(slotsRemaining);
}
asm.cmpl(cmpResult[0], slotsRemaining);
// match is out of bounds, return no match
asm.jcc(AMD64Assembler.ConditionFlag.GreaterEqual, retNotFound);
// adjust number of array slots remaining
- if (findTwoCharPrefix) {
+ if (findTwoConsecutive) {
asm.incrementl(slotsRemaining, 1);
}
asm.subl(slotsRemaining, cmpResult[0]);
@@ -365,17 +369,17 @@
// compare remaining slots in the array one-by-one
asm.bind(lessThanVectorSizeRemainingLoop);
// check if enough array slots remain
- asm.cmpl(slotsRemaining, findTwoCharPrefix ? 1 : 0);
+ asm.cmpl(slotsRemaining, findTwoConsecutive ? 1 : 0);
asm.jcc(AMD64Assembler.ConditionFlag.LessEqual, retNotFound);
// load char / byte
if (byteMode(kind)) {
- if (findTwoCharPrefix) {
+ if (findTwoConsecutive) {
asm.movzwl(cmpResult[0], new AMD64Address(arrayPtr));
} else {
asm.movzbl(cmpResult[0], new AMD64Address(arrayPtr));
}
} else {
- if (findTwoCharPrefix) {
+ if (findTwoConsecutive) {
asm.movl(cmpResult[0], new AMD64Address(arrayPtr));
} else {
asm.movzwl(cmpResult[0], new AMD64Address(arrayPtr));
@@ -383,7 +387,7 @@
}
// check for match
for (int i = 0; i < nValues; i++) {
- asm.cmpl(cmpResult[0], searchValue[i]);
+ emitCompareInst(asm, getComparisonKind(), cmpResult[0], searchValue[i]);
asm.jcc(AMD64Assembler.ConditionFlag.Equal, retFound);
}
// adjust number of array slots remaining
@@ -393,11 +397,11 @@
// continue loop
asm.jmpb(lessThanVectorSizeRemainingLoop);
- for (int i = 1; i < nVectors; i += (findTwoCharPrefix ? 2 : 1)) {
+ for (int i = 1; i < nVectors; i += (findTwoConsecutive ? 2 : 1)) {
emitVectorFoundWithOffset(asm, kind, vectorOffsets[i], arrayPtr, cmpResult[i], slotsRemaining, vectorFound[i], retFound);
}
- if (findTwoCharPrefix) {
+ if (findTwoConsecutive) {
asm.bind(vectorFound[2]);
asm.addq(arrayPtr, vectorOffsets[2]);
// adjust number of array slots remaining
@@ -626,6 +630,23 @@
}
}
+ private static void emitCompareInst(AMD64MacroAssembler asm, JavaKind kind, Register dst, Register src) {
+ switch (kind) {
+ case Byte:
+ asm.cmpb(dst, src);
+ break;
+ case Short:
+ case Char:
+ asm.cmpw(dst, src);
+ break;
+ case Int:
+ asm.cmpl(dst, src);
+ break;
+ default:
+ asm.cmpq(dst, src);
+ }
+ }
+
private static boolean supportsAVX2(LIRGeneratorTool tool) {
return supports(tool, CPUFeature.AVX2);
}
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/IntegerExactExceptionTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/IntegerExactExceptionTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -86,6 +86,46 @@
}
}
+ public void testIntegerExactOverflowWithoutUse1(int input) {
+ Math.addExact(intCounter, input);
+ }
+
+ public void testIntegerExactOverflowWithoutUse2(int input, boolean cond) {
+ if (cond) {
+ Math.addExact(intCounter, input);
+ } else {
+ intCounter = Math.addExact(intCounter, input);
+ }
+ }
+
+ @Test
+ public void testIntegerExactWithoutUse1() throws InvalidInstalledCodeException {
+ ResolvedJavaMethod method = getResolvedJavaMethod("testIntegerExactOverflowWithoutUse1");
+ InstalledCode code = getCode(method);
+
+ boolean gotException = false;
+ try {
+ code.executeVarargs(this, Integer.MAX_VALUE);
+ } catch (ArithmeticException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
+ @Test
+ public void testIntegerExactWithoutUse2() throws InvalidInstalledCodeException {
+ ResolvedJavaMethod method = getResolvedJavaMethod("testIntegerExactOverflowWithoutUse2");
+ InstalledCode code = getCode(method);
+
+ boolean gotException = false;
+ try {
+ code.executeVarargs(this, Integer.MAX_VALUE, true);
+ } catch (ArithmeticException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
static long longCounter = 10;
public void testLongExactOverflowSnippet(long input) {
@@ -138,4 +178,44 @@
assertTrue(code.isValid());
}
}
+
+ public void testLongExactOverflowWithoutUse1(long input) {
+ Math.addExact(longCounter, input);
+ }
+
+ public void testLongExactOverflowWithoutUse2(long input, boolean cond) {
+ if (cond) {
+ Math.addExact(longCounter, input);
+ } else {
+ longCounter = Math.addExact(longCounter, input);
+ }
+ }
+
+ @Test
+ public void testLongExactWithoutUse1() throws InvalidInstalledCodeException {
+ ResolvedJavaMethod method = getResolvedJavaMethod("testLongExactOverflowWithoutUse1");
+ InstalledCode code = getCode(method);
+
+ boolean gotException = false;
+ try {
+ code.executeVarargs(this, Long.MAX_VALUE);
+ } catch (ArithmeticException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
+ @Test
+ public void testLongExactWithoutUse2() throws InvalidInstalledCodeException {
+ ResolvedJavaMethod method = getResolvedJavaMethod("testLongExactOverflowWithoutUse2");
+ InstalledCode code = getCode(method);
+
+ boolean gotException = false;
+ try {
+ code.executeVarargs(this, Long.MAX_VALUE, true);
+ } catch (ArithmeticException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
}
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/IntegerExactFoldTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/IntegerExactFoldTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -50,11 +50,13 @@
import org.graalvm.compiler.replacements.nodes.arithmetic.IntegerExactArithmeticNode;
import org.graalvm.compiler.replacements.nodes.arithmetic.IntegerExactArithmeticSplitNode;
import org.junit.Assert;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
+@Ignore
@RunWith(Parameterized.class)
public class IntegerExactFoldTest extends GraalCompilerTest {
private final long lowerBoundA;
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java Tue Jan 22 09:43:38 2019 -0500
@@ -559,26 +559,19 @@
}
}
- private static void createIntegerExactOperation(GraphBuilderContext b, JavaKind kind, ValueNode x, ValueNode y, IntegerExactOp op) {
- if (b.needsExplicitException()) {
+ private static boolean createIntegerExactOperation(GraphBuilderContext b, JavaKind kind, ValueNode x, ValueNode y, IntegerExactOp op) {
+ if (x.isConstant() && y.isConstant()) {
+ b.addPush(kind, createIntegerExactArithmeticNode(x, y, null, op));
+ return true;
+ } else {
BytecodeExceptionKind exceptionKind = kind == JavaKind.Int ? BytecodeExceptionKind.INTEGER_EXACT_OVERFLOW : BytecodeExceptionKind.LONG_EXACT_OVERFLOW;
AbstractBeginNode exceptionEdge = b.genExplicitExceptionEdge(exceptionKind);
- IntegerExactArithmeticSplitNode split = b.addPush(kind, createIntegerExactSplit(x, y, exceptionEdge, op));
- split.setNext(b.add(new BeginNode()));
- } else {
- SpeculationLog log = b.getGraph().getSpeculationLog();
- if (log == null || (x.isConstant() && y.isConstant())) {
- b.addPush(kind, createIntegerExactArithmeticNode(x, y, null, op));
- } else {
- SpeculationReason speculation = new IntegerExactOpSpeculation(b.getMethod(), op);
- if (log.maySpeculate(speculation)) {
- b.addPush(kind, createIntegerExactArithmeticNode(x, y, speculation, op));
- } else {
- BeginNode begin = b.add(new BeginNode());
- IntegerExactArithmeticNode node = (IntegerExactArithmeticNode) b.addPush(kind, createIntegerExactArithmeticNode(x, y, null, op));
- node.setAnchor(begin);
- }
+ if (exceptionEdge != null) {
+ IntegerExactArithmeticSplitNode split = b.addPush(kind, createIntegerExactSplit(x, y, exceptionEdge, op));
+ split.setNext(b.add(new BeginNode()));
+ return true;
}
+ return false;
}
}
@@ -592,8 +585,7 @@
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x) {
ConstantNode y = b.add(ConstantNode.forIntegerKind(kind, 1));
- createIntegerExactOperation(b, kind, x, y, IntegerExactOp.INTEGER_DECREMENT_EXACT);
- return true;
+ return createIntegerExactOperation(b, kind, x, y, IntegerExactOp.INTEGER_DECREMENT_EXACT);
}
});
@@ -601,33 +593,29 @@
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x) {
ConstantNode y = b.add(ConstantNode.forIntegerKind(kind, 1));
- createIntegerExactOperation(b, kind, x, y, IntegerExactOp.INTEGER_INCREMENT_EXACT);
- return true;
+ return createIntegerExactOperation(b, kind, x, y, IntegerExactOp.INTEGER_INCREMENT_EXACT);
}
});
r.register2("addExact", type, type, new InvocationPlugin() {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x, ValueNode y) {
- createIntegerExactOperation(b, kind, x, y, IntegerExactOp.INTEGER_ADD_EXACT);
- return true;
+ return createIntegerExactOperation(b, kind, x, y, IntegerExactOp.INTEGER_ADD_EXACT);
}
});
r.register2("subtractExact", type, type, new InvocationPlugin() {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x, ValueNode y) {
- createIntegerExactOperation(b, kind, x, y, IntegerExactOp.INTEGER_SUBTRACT_EXACT);
- return true;
+ return createIntegerExactOperation(b, kind, x, y, IntegerExactOp.INTEGER_SUBTRACT_EXACT);
}
});
r.register2("multiplyExact", type, type, new InvocationPlugin() {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x, ValueNode y) {
- createIntegerExactOperation(b, kind, x, y, IntegerExactOp.INTEGER_MULTIPLY_EXACT);
- return true;
- }
+ return createIntegerExactOperation(b, kind, x, y, IntegerExactOp.INTEGER_MULTIPLY_EXACT);
+ }
});
}
}
--- a/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java Tue Jan 22 09:43:38 2019 -0500
@@ -1030,31 +1030,31 @@
(hasExpiredTsaCert && !signerNotExpired)) {
if (strict) {
- result = rb.getString(isSigning
- ? "jar.signed.with.signer.errors."
- : "jar.verified.with.signer.errors.");
+ result = isSigning
+ ? rb.getString("jar.signed.with.signer.errors.")
+ : rb.getString("jar.verified.with.signer.errors.");
} else {
- result = rb.getString(isSigning
- ? "jar.signed."
- : "jar.verified.");
+ result = isSigning
+ ? rb.getString("jar.signed.")
+ : rb.getString("jar.verified.");
}
if (badKeyUsage) {
- errors.add(rb.getString(isSigning
- ? "The.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing."
- : "This.jar.contains.entries.whose.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing."));
+ errors.add(isSigning
+ ? rb.getString("The.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.")
+ : rb.getString("This.jar.contains.entries.whose.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing."));
}
if (badExtendedKeyUsage) {
- errors.add(rb.getString(isSigning
- ? "The.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing."
- : "This.jar.contains.entries.whose.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing."));
+ errors.add(isSigning
+ ? rb.getString("The.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.")
+ : rb.getString("This.jar.contains.entries.whose.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing."));
}
if (badNetscapeCertType) {
- errors.add(rb.getString(isSigning
- ? "The.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing."
- : "This.jar.contains.entries.whose.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing."));
+ errors.add(isSigning
+ ? rb.getString("The.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.")
+ : rb.getString("This.jar.contains.entries.whose.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing."));
}
// only in verifying
@@ -1063,20 +1063,20 @@
"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked."));
}
if (hasExpiredCert) {
- errors.add(rb.getString(isSigning
- ? "The.signer.certificate.has.expired."
- : "This.jar.contains.entries.whose.signer.certificate.has.expired."));
+ errors.add(isSigning
+ ? rb.getString("The.signer.certificate.has.expired.")
+ : rb.getString("This.jar.contains.entries.whose.signer.certificate.has.expired."));
}
if (notYetValidCert) {
- errors.add(rb.getString(isSigning
- ? "The.signer.certificate.is.not.yet.valid."
- : "This.jar.contains.entries.whose.signer.certificate.is.not.yet.valid."));
+ errors.add(isSigning
+ ? rb.getString("The.signer.certificate.is.not.yet.valid.")
+ : rb.getString("This.jar.contains.entries.whose.signer.certificate.is.not.yet.valid."));
}
if (chainNotValidated) {
- errors.add(String.format(rb.getString(isSigning
- ? "The.signer.s.certificate.chain.is.invalid.reason.1"
- : "This.jar.contains.entries.whose.certificate.chain.is.invalid.reason.1"),
+ errors.add(String.format(isSigning
+ ? rb.getString("The.signer.s.certificate.chain.is.invalid.reason.1")
+ : rb.getString("This.jar.contains.entries.whose.certificate.chain.is.invalid.reason.1"),
chainNotValidatedReason.getLocalizedMessage()));
}
@@ -1084,9 +1084,9 @@
errors.add(rb.getString("The.timestamp.has.expired."));
}
if (tsaChainNotValidated) {
- errors.add(String.format(rb.getString(isSigning
- ? "The.tsa.certificate.chain.is.invalid.reason.1"
- : "This.jar.contains.entries.whose.tsa.certificate.chain.is.invalid.reason.1"),
+ errors.add(String.format(isSigning
+ ? rb.getString("The.tsa.certificate.chain.is.invalid.reason.1")
+ : rb.getString("This.jar.contains.entries.whose.tsa.certificate.chain.is.invalid.reason.1"),
tsaChainNotValidatedReason.getLocalizedMessage()));
}
@@ -1102,9 +1102,9 @@
}
if (signerSelfSigned) {
- errors.add(rb.getString(isSigning
- ? "The.signer.s.certificate.is.self.signed."
- : "This.jar.contains.entries.whose.signer.certificate.is.self.signed."));
+ errors.add(isSigning
+ ? rb.getString("The.signer.s.certificate.is.self.signed.")
+ : rb.getString("This.jar.contains.entries.whose.signer.certificate.is.self.signed."));
}
// weakAlg only detected in signing. The jar file is
@@ -1131,7 +1131,7 @@
privateKey.getAlgorithm(), KeyUtil.getKeySize(privateKey)));
}
} else {
- result = rb.getString(isSigning ? "jar.signed." : "jar.verified.");
+ result = isSigning ? rb.getString("jar.signed.") : rb.getString("jar.verified.");
}
if (hasExpiredTsaCert) {
@@ -1155,9 +1155,9 @@
hasExpiredTsaCert = false;
}
if (hasExpiringCert) {
- warnings.add(rb.getString(isSigning
- ? "The.signer.certificate.will.expire.within.six.months."
- : "This.jar.contains.entries.whose.signer.certificate.will.expire.within.six.months."));
+ warnings.add(isSigning
+ ? rb.getString("The.signer.certificate.will.expire.within.six.months.")
+ : rb.getString("This.jar.contains.entries.whose.signer.certificate.will.expire.within.six.months."));
}
if (hasExpiringTsaCert && expireDate != null) {
if (expireDate.after(tsaExpireDate)) {
@@ -1170,13 +1170,13 @@
}
if (noTimestamp && expireDate != null) {
if (hasTimestampBlock) {
- warnings.add(String.format(rb.getString(isSigning
- ? "invalid.timestamp.signing"
- : "bad.timestamp.verifying"), expireDate));
+ warnings.add(String.format(isSigning
+ ? rb.getString("invalid.timestamp.signing")
+ : rb.getString("bad.timestamp.verifying"), expireDate));
} else {
- warnings.add(String.format(rb.getString(isSigning
- ? "no.timestamp.signing"
- : "no.timestamp.verifying"), expireDate));
+ warnings.add(String.format(isSigning
+ ? rb.getString("no.timestamp.signing")
+ : rb.getString("no.timestamp.verifying"), expireDate));
}
}
}
@@ -1551,7 +1551,20 @@
if (verbose != null) {
builder.eventHandler((action, file) -> {
- System.out.println(rb.getString("." + action + ".") + file);
+ switch (action) {
+ case "signing":
+ System.out.println(rb.getString(".signing.") + file);
+ break;
+ case "adding":
+ System.out.println(rb.getString(".adding.") + file);
+ break;
+ case "updating":
+ System.out.println(rb.getString(".updating.") + file);
+ break;
+ default:
+ throw new IllegalArgumentException("unknown action: "
+ + action);
+ }
});
}
--- a/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java Tue Jan 22 09:43:38 2019 -0500
@@ -36,7 +36,6 @@
// shared (from jarsigner)
{"SPACE", " "},
- {"2SPACE", " "},
{"6SPACE", " "},
{"COMMA", ", "},
@@ -196,7 +195,6 @@
"Certificate chain not found in the file specified."},
{"found.non.X.509.certificate.in.signer.s.chain",
"found non-X.509 certificate in signer's chain"},
- {"incomplete.certificate.chain", "incomplete certificate chain"},
{"Enter.key.password.for.alias.", "Enter key password for {0}: "},
{"unable.to.recover.key.from.keystore",
"unable to recover key from keystore"},
@@ -240,8 +238,6 @@
"This jar contains entries whose signer certificate is not yet valid. "},
{"This.jar.contains.entries.whose.signer.certificate.is.self.signed.",
"This jar contains entries whose signer certificate is self-signed."},
- {"Re.run.with.the.verbose.option.for.more.details.",
- "Re-run with the -verbose option for more details."},
{"Re.run.with.the.verbose.and.certs.options.for.more.details.",
"Re-run with the -verbose and -certs options for more details."},
{"The.signer.certificate.has.expired.",
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java Tue Jan 22 09:43:38 2019 -0500
@@ -25,16 +25,13 @@
package jdk.javadoc.internal.doclets.formats.html;
-import com.sun.source.doctree.AttributeTree;
-import com.sun.source.doctree.AttributeTree.ValueKind;
import com.sun.source.doctree.DocTree;
import com.sun.source.doctree.EndElementTree;
import com.sun.source.doctree.StartElementTree;
import com.sun.source.doctree.TextTree;
import com.sun.source.util.DocTreeFactory;
-import com.sun.source.util.SimpleDocTreeVisitor;
import com.sun.tools.doclint.HtmlTag;
-import com.sun.tools.doclint.HtmlTag.Attr;
+import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
import jdk.javadoc.internal.doclets.toolkit.Content;
@@ -184,16 +181,28 @@
Content pkgLinkContent = docletWriter.getPackageLink(pkg, docletWriter.contents.packageLabel);
navBar.setNavLinkPackage(pkgLinkContent);
navBar.setUserHeader(docletWriter.getUserHeaderFooter(true));
- htmlContent.addContent(navBar.getContent(true));
+ Content header = docletWriter.createTagIfAllowed(
+ jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag.HEADER, HtmlTree::HEADER,
+ ContentBuilder::new);
+ header.addContent(navBar.getContent(true));
+ htmlContent.addContent(header);
+
List<? extends DocTree> fullBody = utils.getFullBody(dfElement);
Content bodyContent = docletWriter.commentTagsToContent(null, dfElement, fullBody, false);
-
docletWriter.addTagsInfo(dfElement, bodyContent);
- htmlContent.addContent(bodyContent);
+ Content main = docletWriter.createTagIfAllowed(
+ jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag.MAIN, HtmlTree::MAIN,
+ ContentBuilder::new);
+ main.addContent(bodyContent);
+ htmlContent.addContent(main);
navBar.setUserFooter(docletWriter.getUserHeaderFooter(false));
- htmlContent.addContent(navBar.getContent(false));
- docletWriter.addBottom(htmlContent);
+ Content footer = docletWriter.createTagIfAllowed(
+ jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag.FOOTER, HtmlTree::FOOTER,
+ ContentBuilder::new);
+ footer.addContent(navBar.getContent(false));
+ docletWriter.addBottom(footer);
+ htmlContent.addContent(footer);
docletWriter.printHtmlDocument(Collections.emptyList(), false, localTagsContent, htmlContent);
}
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -25,6 +25,8 @@
package jdk.javadoc.internal.doclets.formats.html;
+import java.util.Collections;
+
import jdk.javadoc.internal.doclets.formats.html.markup.Head;
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
import jdk.javadoc.internal.doclets.formats.html.markup.DocType;
@@ -40,6 +42,8 @@
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
+import java.util.Collections;
+
/**
* Writes a file that tries to redirect to an alternate page.
* The redirect uses JavaScript, if enabled, falling back on
@@ -76,6 +80,7 @@
Content htmlComment = contents.newPage;
Head head = new Head(path, configuration.htmlVersion, configuration.docletVersion)
.setTimestamp(true)
+ .setStylesheets(configuration.getMainStylesheet(), Collections.emptyList()) // avoid reference to default stylesheet
.addDefaultScript(false);
String title = (configuration.windowtitle.length() > 0)
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.java Tue Jan 22 09:43:38 2019 -0500
@@ -183,7 +183,7 @@
.setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colLast);
for (String pkgname: usingPackageToUsedClasses.keySet()) {
PackageElement pkg = utils.elementUtils.getPackageElement(pkgname);
- Content packageLink = links.createLink(utils.getPackageName(pkg),
+ Content packageLink = links.createLink(getPackageAnchorName(pkg),
new StringContent(utils.getPackageName(pkg)));
Content summary = new ContentBuilder();
if (pkg != null && !pkg.isUnnamed()) {
@@ -209,9 +209,7 @@
PackageElement usingPackage = utils.elementUtils.getPackageElement(packageName);
HtmlTree li = new HtmlTree(HtmlTag.LI);
li.setStyle(HtmlStyle.blockList);
- if (usingPackage != null) {
- li.addContent(links.createAnchor(utils.getPackageName(usingPackage)));
- }
+ li.addContent(links.createAnchor(getPackageAnchorName(usingPackage)));
String tableSummary = resources.getText("doclet.Use_Table_Summary",
resources.getText("doclet.classes"));
Content caption = contents.getContent(
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. 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
@@ -45,6 +45,8 @@
import javax.tools.Diagnostic.Kind;
import javax.tools.DocumentationTool;
+import com.sun.tools.javac.code.Flags;
+import com.sun.tools.javac.code.Symbol.ModuleSymbol;
import jdk.javadoc.doclet.Reporter;
import jdk.javadoc.internal.doclets.toolkit.BaseConfiguration;
import jdk.javadoc.internal.doclets.toolkit.Resources;
@@ -276,6 +278,12 @@
ModuleElement moduleElement = utils.containingModule(packageElement);
Map<String, Item> pkgMap = packageItems.get(utils.getModuleName(moduleElement));
item = (pkgMap != null) ? pkgMap.get(utils.getPackageName(packageElement)) : null;
+ if (item == null && isAutomaticModule(moduleElement)) {
+ pkgMap = packageItems.get(utils.getModuleName(null));
+ if (pkgMap != null) {
+ item = pkgMap.get(utils.getPackageName(packageElement));
+ }
+ }
}
return item;
}
@@ -420,12 +428,25 @@
path), null);
}
} else if (moduleName == null) {
- throw new Fault(resources.getText("doclet.linkMismatch_ModuleLinkedtoPackage",
- path), null);
+ // suppress the error message in the case of automatic modules
+ if (!isAutomaticModule(me)) {
+ throw new Fault(resources.getText("doclet.linkMismatch_ModuleLinkedtoPackage",
+ path), null);
+ }
}
}
}
+ // The following should be replaced by a new method such as Elements.isAutomaticModule
+ private boolean isAutomaticModule(ModuleElement me) {
+ if (me == null) {
+ return false;
+ } else {
+ ModuleSymbol msym = (ModuleSymbol) me;
+ return (msym.flags() & Flags.AUTOMATIC_MODULE) != 0;
+ }
+ }
+
public boolean isUrl (String urlCandidate) {
try {
new URL(urlCandidate);
--- a/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/ConsoleIOContext.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/ConsoleIOContext.java Tue Jan 22 09:43:38 2019 -0500
@@ -185,7 +185,7 @@
it.set(current);
}
- historyLoad = Instant.now();
+ historyLoad = Instant.MIN;
loadHistory.forEach(line -> reader.getHistory().add(historyLoad, line));
in = reader;
--- a/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipDirectoryStream.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipDirectoryStream.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -27,6 +27,7 @@
import java.io.IOException;
import java.nio.file.ClosedDirectoryStreamException;
+import java.nio.file.DirectoryIteratorException;
import java.nio.file.DirectoryStream;
import java.nio.file.NotDirectoryException;
import java.nio.file.Path;
@@ -67,7 +68,7 @@
try {
itr = zipfs.iteratorOf(dir, filter);
} catch (IOException e) {
- throw new IllegalStateException(e);
+ throw new DirectoryIteratorException(e);
}
return new Iterator<Path>() {
--- a/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -423,16 +423,15 @@
List<Path> list = new ArrayList<>();
IndexNode child = inode.child;
while (child != null) {
- // (1) assume all path from zip file itself is "normalized"
+ // (1) Assume each path from the zip file itself is "normalized"
// (2) IndexNode.name is absolute. see IndexNode(byte[],int,int)
- // (3) if parent "dir" is relative when ZipDirectoryStream
+ // (3) If parent "dir" is relative when ZipDirectoryStream
// is created, the returned child path needs to be relative
// as well.
byte[] cname = child.name;
- if (!dir.isAbsolute()) {
- cname = Arrays.copyOfRange(cname, 1, cname.length);
- }
- ZipPath zpath = new ZipPath(this, cname, true);
+ ZipPath childPath = new ZipPath(this, cname, true);
+ ZipPath childFileName = childPath.getFileName();
+ ZipPath zpath = dir.resolve(childFileName);
if (filter == null || filter.accept(zpath))
list.add(zpath);
child = child.sibling;
--- a/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipPath.java Tue Jan 22 09:24:58 2019 -0500
+++ b/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipPath.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -92,8 +92,8 @@
return null;
}
- @Override
- public Path getFileName() {
+ @Override
+ public ZipPath getFileName() {
int off = path.length;
if (off == 0 || off == 1 && path[0] == '/')
return null;
--- a/test/hotspot/gtest/gc/shared/test_ptrQueueBufferAllocator.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/gtest/gc/shared/test_ptrQueueBufferAllocator.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -24,14 +24,37 @@
#include "precompiled.hpp"
#include "gc/shared/ptrQueue.hpp"
-#include "runtime/mutex.hpp"
+#include "memory/allocation.hpp"
+#include "runtime/interfaceSupport.inline.hpp"
+#include "runtime/orderAccess.hpp"
+#include "runtime/semaphore.inline.hpp"
+#include "runtime/thread.hpp"
+#include "utilities/globalCounter.inline.hpp"
+#include "utilities/globalDefinitions.hpp"
+#include "utilities/ostream.hpp"
+#include "threadHelper.inline.hpp"
#include "unittest.hpp"
+class BufferNode::TestSupport : AllStatic {
+public:
+ static bool try_transfer_pending(Allocator* allocator) {
+ return allocator->try_transfer_pending();
+ }
+
+ class CompletedList;
+ class AllocatorThread;
+ class ProcessorThread;
+};
+
+typedef BufferNode::TestSupport::CompletedList CompletedList;
+typedef BufferNode::TestSupport::AllocatorThread AllocatorThread;
+typedef BufferNode::TestSupport::ProcessorThread ProcessorThread;
+
// Some basic testing of BufferNode::Allocator.
TEST_VM(PtrQueueBufferAllocatorTest, test) {
- Mutex m(Mutex::leaf, "PtrQueueBufferAllocatorTest",
- false, Mutex::_safepoint_check_never);
- BufferNode::Allocator allocator(256, &m);
+ const size_t buffer_size = 256;
+ BufferNode::Allocator allocator("Test Buffer Allocator", buffer_size);
+ ASSERT_EQ(buffer_size, allocator.buffer_size());
// Allocate some new nodes for use in testing.
BufferNode* nodes[10] = {};
@@ -44,8 +67,11 @@
// Release the nodes, adding them to the allocator's free list.
for (size_t i = 0; i < node_count; ++i) {
- ASSERT_EQ(i, allocator.free_count());
allocator.release(nodes[i]);
+ }
+ ASSERT_TRUE(BufferNode::TestSupport::try_transfer_pending(&allocator));
+ ASSERT_EQ(node_count, allocator.free_count());
+ for (size_t i = 0; i < node_count; ++i) {
if (i == 0) {
ASSERT_EQ((BufferNode*)NULL, nodes[i]->next());
} else {
@@ -56,7 +82,6 @@
// Allocate nodes from the free list.
for (size_t i = 0; i < node_count; ++i) {
size_t j = node_count - i;
- ASSERT_EQ(j, allocator.free_count());
ASSERT_EQ(nodes[j - 1], allocator.allocate());
}
ASSERT_EQ(0u, allocator.free_count());
@@ -65,11 +90,161 @@
for (size_t i = 0; i < node_count; ++i) {
allocator.release(nodes[i]);
}
+ ASSERT_TRUE(BufferNode::TestSupport::try_transfer_pending(&allocator));
ASSERT_EQ(node_count, allocator.free_count());
// Destroy some nodes in the free list.
// We don't have a way to verify destruction, but we can at
- // leat verify we don't crash along the way.
- allocator.reduce_free_list();
+ // least verify we don't crash along the way.
+ size_t count = allocator.free_count();
+ ASSERT_EQ(count, allocator.reduce_free_list(count));
// destroy allocator.
}
+
+// Stress test with lock-free allocator and completed buffer list.
+// Completed buffer list pop avoids ABA by also being in a critical
+// section that is synchronized by the allocator's release.
+
+class BufferNode::TestSupport::CompletedList {
+ BufferNode::Stack _completed_list;
+
+public:
+ CompletedList() : _completed_list() {}
+
+ ~CompletedList() {
+ assert(_completed_list.empty(), "completed list not empty");
+ }
+
+ void push(BufferNode* node) {
+ assert(node != NULL, "precondition");
+ _completed_list.push(*node);
+ }
+
+ BufferNode* pop() {
+ GlobalCounter::CriticalSection cs(Thread::current());
+ return _completed_list.pop();
+ }
+};
+
+// Simulate a mutator thread, allocating buffers and adding them to
+// the completed buffer list.
+class BufferNode::TestSupport::AllocatorThread : public JavaTestThread {
+ BufferNode::Allocator* _allocator;
+ CompletedList* _cbl;
+ volatile size_t* _total_allocations;
+ volatile bool* _continue_running;
+ size_t _allocations;
+
+public:
+ AllocatorThread(Semaphore* post,
+ BufferNode::Allocator* allocator,
+ CompletedList* cbl,
+ volatile size_t* total_allocations,
+ volatile bool* continue_running) :
+ JavaTestThread(post),
+ _allocator(allocator),
+ _cbl(cbl),
+ _total_allocations(total_allocations),
+ _continue_running(continue_running),
+ _allocations(0)
+ {}
+
+ virtual void main_run() {
+ while (OrderAccess::load_acquire(_continue_running)) {
+ BufferNode* node = _allocator->allocate();
+ _cbl->push(node);
+ ++_allocations;
+ ThreadBlockInVM tbiv(this); // Safepoint check.
+ }
+ tty->print_cr("allocations: " SIZE_FORMAT, _allocations);
+ Atomic::add(_allocations, _total_allocations);
+ }
+};
+
+// Simulate a GC thread, taking buffers from the completed buffer list
+// and returning them to the allocator.
+class BufferNode::TestSupport::ProcessorThread : public JavaTestThread {
+ BufferNode::Allocator* _allocator;
+ CompletedList* _cbl;
+ volatile bool* _continue_running;
+
+public:
+ ProcessorThread(Semaphore* post,
+ BufferNode::Allocator* allocator,
+ CompletedList* cbl,
+ volatile bool* continue_running) :
+ JavaTestThread(post),
+ _allocator(allocator),
+ _cbl(cbl),
+ _continue_running(continue_running)
+ {}
+
+ virtual void main_run() {
+ while (true) {
+ BufferNode* node = _cbl->pop();
+ if (node != NULL) {
+ _allocator->release(node);
+ } else if (!OrderAccess::load_acquire(_continue_running)) {
+ return;
+ }
+ ThreadBlockInVM tbiv(this); // Safepoint check.
+ }
+ }
+};
+
+static void run_test(BufferNode::Allocator* allocator, CompletedList* cbl) {
+ const uint nthreads = 4;
+ const uint milliseconds_to_run = 1000;
+
+ Semaphore post;
+ volatile size_t total_allocations = 0;
+ volatile bool allocator_running = true;
+ volatile bool processor_running = true;
+
+ ProcessorThread* proc_threads[nthreads] = {};
+ for (uint i = 0; i < nthreads; ++i) {
+ proc_threads[i] = new ProcessorThread(&post,
+ allocator,
+ cbl,
+ &processor_running);
+ proc_threads[i]->doit();
+ }
+
+ AllocatorThread* alloc_threads[nthreads] = {};
+ for (uint i = 0; i < nthreads; ++i) {
+ alloc_threads[i] = new AllocatorThread(&post,
+ allocator,
+ cbl,
+ &total_allocations,
+ &allocator_running);
+ alloc_threads[i]->doit();
+ }
+
+ JavaThread* this_thread = JavaThread::current();
+ tty->print_cr("Stressing allocator for %u ms", milliseconds_to_run);
+ {
+ ThreadInVMfromNative invm(this_thread);
+ os::sleep(this_thread, milliseconds_to_run, true);
+ }
+ OrderAccess::release_store(&allocator_running, false);
+ for (uint i = 0; i < nthreads; ++i) {
+ ThreadInVMfromNative invm(this_thread);
+ post.wait_with_safepoint_check(this_thread);
+ }
+ OrderAccess::release_store(&processor_running, false);
+ for (uint i = 0; i < nthreads; ++i) {
+ ThreadInVMfromNative invm(this_thread);
+ post.wait_with_safepoint_check(this_thread);
+ }
+ ASSERT_TRUE(BufferNode::TestSupport::try_transfer_pending(allocator));
+ tty->print_cr("total allocations: " SIZE_FORMAT, total_allocations);
+ tty->print_cr("allocator free count: " SIZE_FORMAT, allocator->free_count());
+}
+
+const size_t buffer_size = 1024;
+
+TEST_VM(PtrQueueBufferAllocatorTest, stress_free_list_allocator) {
+ BufferNode::Allocator allocator("Test Allocator", buffer_size);
+ CompletedList completed;
+ run_test(&allocator, &completed);
+}
--- a/test/hotspot/gtest/threadHelper.inline.hpp Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/gtest/threadHelper.inline.hpp Tue Jan 22 09:43:38 2019 -0500
@@ -26,7 +26,7 @@
#include "runtime/mutex.hpp"
#include "runtime/semaphore.hpp"
-#include "runtime/thread.hpp"
+#include "runtime/thread.inline.hpp"
#include "runtime/vmThread.hpp"
#include "runtime/vmOperations.hpp"
#include "unittest.hpp"
--- a/test/hotspot/gtest/utilities/test_globalDefinitions.cpp Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/gtest/utilities/test_globalDefinitions.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -93,6 +93,61 @@
}
}
+TEST(globalDefinitions, proper_unit) {
+ EXPECT_EQ(0u, byte_size_in_proper_unit(0u));
+ EXPECT_STREQ("B", proper_unit_for_byte_size(0u));
+
+ EXPECT_EQ(1u, byte_size_in_proper_unit(1u));
+ EXPECT_STREQ("B", proper_unit_for_byte_size(1u));
+
+ EXPECT_EQ(1023u, byte_size_in_proper_unit(K - 1));
+ EXPECT_STREQ("B", proper_unit_for_byte_size(K - 1));
+
+ EXPECT_EQ(1024u, byte_size_in_proper_unit(K));
+ EXPECT_STREQ("B", proper_unit_for_byte_size(K));
+
+ EXPECT_EQ(1025u, byte_size_in_proper_unit(K + 1));
+ EXPECT_STREQ("B", proper_unit_for_byte_size(K + 1));
+
+ EXPECT_EQ(51200u, byte_size_in_proper_unit(50*K));
+ EXPECT_STREQ("B", proper_unit_for_byte_size(50*K));
+
+ EXPECT_EQ(1023u, byte_size_in_proper_unit(M - 1));
+ EXPECT_STREQ("K", proper_unit_for_byte_size(M - 1));
+
+ EXPECT_EQ(1024u, byte_size_in_proper_unit(M));
+ EXPECT_STREQ("K", proper_unit_for_byte_size(M));
+
+ EXPECT_EQ(1024u, byte_size_in_proper_unit(M + 1));
+ EXPECT_STREQ("K", proper_unit_for_byte_size(M + 1));
+
+ EXPECT_EQ(1025u, byte_size_in_proper_unit(M + K));
+ EXPECT_STREQ("K", proper_unit_for_byte_size(M + K));
+
+ EXPECT_EQ(51200u, byte_size_in_proper_unit(50*M));
+ EXPECT_STREQ("K", proper_unit_for_byte_size(50*M));
+
+#ifdef _LP64
+ EXPECT_EQ(1023u, byte_size_in_proper_unit(G - 1));
+ EXPECT_STREQ("M", proper_unit_for_byte_size(G - 1));
+
+ EXPECT_EQ(1024u, byte_size_in_proper_unit(G));
+ EXPECT_STREQ("M", proper_unit_for_byte_size(G));
+
+ EXPECT_EQ(1024u, byte_size_in_proper_unit(G + 1));
+ EXPECT_STREQ("M", proper_unit_for_byte_size(G + 1));
+
+ EXPECT_EQ(1024u, byte_size_in_proper_unit(G + K));
+ EXPECT_STREQ("M", proper_unit_for_byte_size(G + K));
+
+ EXPECT_EQ(1025u, byte_size_in_proper_unit(G + M));
+ EXPECT_STREQ("M", proper_unit_for_byte_size(G + M));
+
+ EXPECT_EQ(51200u, byte_size_in_proper_unit(50*G));
+ EXPECT_STREQ("M", proper_unit_for_byte_size(50*G));
+#endif
+}
+
TEST(globalDefinitions, exact_unit_for_byte_size) {
EXPECT_STREQ("B", exact_unit_for_byte_size(0));
EXPECT_STREQ("B", exact_unit_for_byte_size(1));
@@ -103,7 +158,7 @@
EXPECT_STREQ("M", exact_unit_for_byte_size(M));
EXPECT_STREQ("B", exact_unit_for_byte_size(M + 1));
EXPECT_STREQ("K", exact_unit_for_byte_size(M + K));
-#ifdef LP64
+#ifdef _LP64
EXPECT_STREQ("B", exact_unit_for_byte_size(G - 1));
EXPECT_STREQ("G", exact_unit_for_byte_size(G));
EXPECT_STREQ("B", exact_unit_for_byte_size(G + 1));
@@ -123,7 +178,7 @@
EXPECT_EQ(1u, byte_size_in_exact_unit(M));
EXPECT_EQ(M + 1, byte_size_in_exact_unit(M + 1));
EXPECT_EQ(K + 1, byte_size_in_exact_unit(M + K));
-#ifdef LP64
+#ifdef _LP64
EXPECT_EQ(G - 1, byte_size_in_exact_unit(G - 1));
EXPECT_EQ(1u, byte_size_in_exact_unit(G));
EXPECT_EQ(G + 1, byte_size_in_exact_unit(G + 1));
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/gtest/utilities/test_lockFreeStack.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,306 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+#include "precompiled.hpp"
+#include "memory/allocation.inline.hpp"
+#include "runtime/atomic.hpp"
+#include "runtime/orderAccess.hpp"
+#include "utilities/globalDefinitions.hpp"
+#include "utilities/lockFreeStack.hpp"
+#include "threadHelper.inline.hpp"
+#include "unittest.hpp"
+#include <new>
+
+class LockFreeStackTestElement {
+ typedef LockFreeStackTestElement Element;
+
+ Element* volatile _entry;
+ Element* volatile _entry1;
+ size_t _id;
+
+ static Element* volatile* entry_ptr(Element& e) { return &e._entry; }
+ static Element* volatile* entry1_ptr(Element& e) { return &e._entry1; }
+
+public:
+ LockFreeStackTestElement(size_t id = 0) : _entry(), _entry1(), _id(id) {}
+ size_t id() const { return _id; }
+ void set_id(size_t value) { _id = value; }
+
+ typedef LockFreeStack<Element, &entry_ptr> TestStack;
+ typedef LockFreeStack<Element, &entry1_ptr> TestStack1;
+};
+
+typedef LockFreeStackTestElement Element;
+typedef Element::TestStack TestStack;
+typedef Element::TestStack1 TestStack1;
+
+static void initialize_ids(Element* elements, size_t size) {
+ for (size_t i = 0; i < size; ++i) {
+ elements[i].set_id(i);
+ }
+}
+
+class LockFreeStackTestBasics : public ::testing::Test {
+public:
+ LockFreeStackTestBasics();
+
+ static const size_t nelements = 10;
+ Element elements[nelements];
+ TestStack stack;
+
+private:
+ void initialize();
+};
+
+const size_t LockFreeStackTestBasics::nelements;
+
+LockFreeStackTestBasics::LockFreeStackTestBasics() : stack() {
+ initialize_ids(elements, nelements);
+ initialize();
+}
+
+void LockFreeStackTestBasics::initialize() {
+ ASSERT_TRUE(stack.empty());
+ ASSERT_EQ(0u, stack.length());
+ ASSERT_TRUE(stack.pop() == NULL);
+ ASSERT_TRUE(stack.top() == NULL);
+
+ for (size_t id = 0; id < nelements; ++id) {
+ ASSERT_EQ(id, stack.length());
+ Element* e = &elements[id];
+ ASSERT_EQ(id, e->id());
+ stack.push(*e);
+ ASSERT_FALSE(stack.empty());
+ ASSERT_EQ(e, stack.top());
+ }
+}
+
+TEST_F(LockFreeStackTestBasics, push_pop) {
+ for (size_t i = nelements; i > 0; ) {
+ ASSERT_FALSE(stack.empty());
+ ASSERT_EQ(i, stack.length());
+ --i;
+ Element* e = stack.pop();
+ ASSERT_TRUE(e != NULL);
+ ASSERT_EQ(&elements[i], e);
+ ASSERT_EQ(i, e->id());
+ }
+ ASSERT_TRUE(stack.empty());
+ ASSERT_EQ(0u, stack.length());
+ ASSERT_TRUE(stack.pop() == NULL);
+}
+
+TEST_F(LockFreeStackTestBasics, prepend_one) {
+ TestStack other_stack;
+ ASSERT_TRUE(other_stack.empty());
+ ASSERT_TRUE(other_stack.pop() == NULL);
+ ASSERT_EQ(0u, other_stack.length());
+ ASSERT_TRUE(other_stack.top() == NULL);
+ ASSERT_TRUE(other_stack.pop() == NULL);
+
+ other_stack.prepend(*stack.pop_all());
+ ASSERT_EQ(nelements, other_stack.length());
+ ASSERT_TRUE(stack.empty());
+ ASSERT_EQ(0u, stack.length());
+ ASSERT_TRUE(stack.pop() == NULL);
+ ASSERT_TRUE(stack.top() == NULL);
+
+ for (size_t i = nelements; i > 0; ) {
+ ASSERT_EQ(i, other_stack.length());
+ --i;
+ Element* e = other_stack.pop();
+ ASSERT_TRUE(e != NULL);
+ ASSERT_EQ(&elements[i], e);
+ ASSERT_EQ(i, e->id());
+ }
+ ASSERT_EQ(0u, other_stack.length());
+ ASSERT_TRUE(other_stack.pop() == NULL);
+}
+
+TEST_F(LockFreeStackTestBasics, prepend_two) {
+ TestStack other_stack;
+ ASSERT_TRUE(other_stack.empty());
+ ASSERT_EQ(0u, other_stack.length());
+ ASSERT_TRUE(other_stack.top() == NULL);
+ ASSERT_TRUE(other_stack.pop() == NULL);
+
+ Element* top = stack.pop_all();
+ ASSERT_EQ(top, &elements[nelements - 1]);
+ other_stack.prepend(*top, elements[0]);
+
+ for (size_t i = nelements; i > 0; ) {
+ ASSERT_EQ(i, other_stack.length());
+ --i;
+ Element* e = other_stack.pop();
+ ASSERT_TRUE(e != NULL);
+ ASSERT_EQ(&elements[i], e);
+ ASSERT_EQ(i, e->id());
+ }
+ ASSERT_EQ(0u, other_stack.length());
+ ASSERT_TRUE(other_stack.pop() == NULL);
+}
+
+TEST_F(LockFreeStackTestBasics, two_stacks) {
+ TestStack1 stack1;
+ ASSERT_TRUE(stack1.pop() == NULL);
+
+ for (size_t id = 0; id < nelements; ++id) {
+ stack1.push(elements[id]);
+ }
+ ASSERT_EQ(nelements, stack1.length());
+ Element* e0 = stack.top();
+ Element* e1 = stack1.top();
+ while (true) {
+ ASSERT_EQ(e0, e1);
+ if (e0 == NULL) break;
+ e0 = stack.next(*e0);
+ e1 = stack1.next(*e1);
+ }
+
+ for (size_t i = nelements; i > 0; ) {
+ ASSERT_EQ(i, stack.length());
+ ASSERT_EQ(i, stack1.length());
+ --i;
+ Element* e = stack.pop();
+ ASSERT_TRUE(e != NULL);
+ ASSERT_EQ(&elements[i], e);
+ ASSERT_EQ(i, e->id());
+
+ Element* e1 = stack1.pop();
+ ASSERT_TRUE(e1 != NULL);
+ ASSERT_EQ(&elements[i], e1);
+ ASSERT_EQ(i, e1->id());
+
+ ASSERT_EQ(e, e1);
+ }
+ ASSERT_EQ(0u, stack.length());
+ ASSERT_EQ(0u, stack1.length());
+ ASSERT_TRUE(stack.pop() == NULL);
+ ASSERT_TRUE(stack1.pop() == NULL);
+}
+
+class LockFreeStackTestThread : public JavaTestThread {
+ uint _id;
+ TestStack* _from;
+ TestStack* _to;
+ volatile size_t* _processed;
+ size_t _process_limit;
+ size_t _local_processed;
+ volatile bool _ready;
+
+public:
+ LockFreeStackTestThread(Semaphore* post,
+ uint id,
+ TestStack* from,
+ TestStack* to,
+ volatile size_t* processed,
+ size_t process_limit) :
+ JavaTestThread(post),
+ _id(id),
+ _from(from),
+ _to(to),
+ _processed(processed),
+ _process_limit(process_limit),
+ _local_processed(0),
+ _ready(false)
+ {}
+
+ virtual void main_run() {
+ OrderAccess::release_store_fence(&_ready, true);
+ while (true) {
+ Element* e = _from->pop();
+ if (e != NULL) {
+ _to->push(*e);
+ Atomic::inc(_processed);
+ ++_local_processed;
+ } else if (OrderAccess::load_acquire(_processed) == _process_limit) {
+ tty->print_cr("thread %u processed " SIZE_FORMAT, _id, _local_processed);
+ return;
+ }
+ }
+ }
+
+ bool ready() const { return OrderAccess::load_acquire(&_ready); }
+};
+
+TEST_VM(LockFreeStackTest, stress) {
+ Semaphore post;
+ TestStack initial_stack;
+ TestStack start_stack;
+ TestStack middle_stack;
+ TestStack final_stack;
+ volatile size_t stage1_processed = 0;
+ volatile size_t stage2_processed = 0;
+
+ const size_t nelements = 10000;
+ Element* elements = NEW_C_HEAP_ARRAY(Element, nelements, mtOther);
+ for (size_t id = 0; id < nelements; ++id) {
+ ::new (&elements[id]) Element(id);
+ initial_stack.push(elements[id]);
+ }
+ ASSERT_EQ(nelements, initial_stack.length());
+
+ // - stage1 threads pop from start_stack and push to middle_stack.
+ // - stage2 threads pop from middle_stack and push to final_stack.
+ // - all threads in a stage count the number of elements processed in
+ // their corresponding stageN_processed counter.
+
+ const uint stage1_threads = 2;
+ const uint stage2_threads = 2;
+ const uint nthreads = stage1_threads + stage2_threads;
+ LockFreeStackTestThread* threads[nthreads] = {};
+
+ for (uint i = 0; i < ARRAY_SIZE(threads); ++i) {
+ TestStack* from = &start_stack;
+ TestStack* to = &middle_stack;
+ volatile size_t* processed = &stage1_processed;
+ if (i >= stage1_threads) {
+ from = &middle_stack;
+ to = &final_stack;
+ processed = &stage2_processed;
+ }
+ threads[i] =
+ new LockFreeStackTestThread(&post, i, from, to, processed, nelements);
+ threads[i]->doit();
+ while (!threads[i]->ready()) {} // Wait until ready to start test.
+ }
+
+ // Transfer elements to start_stack to start test.
+ start_stack.prepend(*initial_stack.pop_all());
+
+ // Wait for all threads to complete.
+ for (uint i = 0; i < nthreads; ++i) {
+ post.wait();
+ }
+
+ // Verify expected state.
+ ASSERT_EQ(nelements, stage1_processed);
+ ASSERT_EQ(nelements, stage2_processed);
+ ASSERT_EQ(0u, initial_stack.length());
+ ASSERT_EQ(0u, start_stack.length());
+ ASSERT_EQ(0u, middle_stack.length());
+ ASSERT_EQ(nelements, final_stack.length());
+ while (final_stack.pop() != NULL) {}
+
+ FREE_C_HEAP_ARRAY(Element, elements);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/gtest/utilities/test_waitBarrier.cpp Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+#include "precompiled.hpp"
+#include "runtime/atomic.hpp"
+#include "runtime/orderAccess.hpp"
+#include "runtime/os.hpp"
+#include "utilities/spinYield.hpp"
+#include "utilities/waitBarrier.hpp"
+#include "threadHelper.inline.hpp"
+
+static volatile int wait_tag = 0;
+static volatile int valid_value = 0;
+
+template <typename WaitBarrierImpl>
+class WBThread : public JavaTestThread {
+public:
+ static volatile bool _exit;
+ WaitBarrierType<WaitBarrierImpl>* _wait_barrier;
+ Semaphore* _wrt_start;
+ volatile int _on_barrier;
+
+ WBThread(Semaphore* post, WaitBarrierType<WaitBarrierImpl>* wb, Semaphore* wrt_start)
+ : JavaTestThread(post), _wait_barrier(wb), _wrt_start(wrt_start) {};
+ virtual ~WBThread(){}
+ void main_run() {
+ _wrt_start->signal();
+ int vv, tag;
+ // Similar to how a JavaThread would stop in a safepoint.
+ while (!_exit) {
+ // Load the published tag.
+ tag = OrderAccess::load_acquire(&wait_tag);
+ // Publish the tag this thread is going to wait for.
+ OrderAccess::release_store(&_on_barrier, tag);
+ if (_on_barrier == 0) {
+ SpinPause();
+ continue;
+ }
+ OrderAccess::storeload(); // Loads in WB must not float up.
+ // Wait until we are woken.
+ _wait_barrier->wait(tag);
+ // Verify that we do not see an invalid value.
+ vv = OrderAccess::load_acquire(&valid_value);
+ ASSERT_EQ((vv & 0x1), 0);
+ OrderAccess::release_store(&_on_barrier, 0);
+ }
+ }
+};
+
+template <typename WaitBarrierImpl>
+volatile bool WBThread<WaitBarrierImpl>::_exit = false;
+
+template <typename WaitBarrierImpl>
+class WBArmerThread : public JavaTestThread {
+public:
+ WBArmerThread(Semaphore* post) : JavaTestThread(post) {
+ };
+ virtual ~WBArmerThread(){}
+ void main_run() {
+ static const int NUMBER_OF_READERS = 4;
+ Semaphore post;
+ Semaphore wrt_start;
+ WaitBarrierType<WaitBarrierImpl> wb(this);
+
+ WBThread<WaitBarrierImpl>* reader1 = new WBThread<WaitBarrierImpl>(&post, &wb, &wrt_start);
+ WBThread<WaitBarrierImpl>* reader2 = new WBThread<WaitBarrierImpl>(&post, &wb, &wrt_start);
+ WBThread<WaitBarrierImpl>* reader3 = new WBThread<WaitBarrierImpl>(&post, &wb, &wrt_start);
+ WBThread<WaitBarrierImpl>* reader4 = new WBThread<WaitBarrierImpl>(&post, &wb, &wrt_start);
+
+ reader1->doit();
+ reader2->doit();
+ reader3->doit();
+ reader4->doit();
+
+ int nw = NUMBER_OF_READERS;
+ while (nw > 0) {
+ wrt_start.wait();
+ --nw;
+ }
+ jlong stop_ms = os::javaTimeMillis() + 1000; // 1 seconds max test time
+ int next_tag = 1;
+ // Similar to how the VM thread would use a WaitBarrier in a safepoint.
+ while (stop_ms > os::javaTimeMillis()) {
+ // Arm next tag.
+ wb.arm(next_tag);
+ // Publish tag.
+ OrderAccess::release_store_fence(&wait_tag, next_tag);
+
+ // Wait until threads picked up new tag.
+ while (reader1->_on_barrier != wait_tag ||
+ reader2->_on_barrier != wait_tag ||
+ reader3->_on_barrier != wait_tag ||
+ reader4->_on_barrier != wait_tag) {
+ SpinPause();
+ }
+
+ // Set an invalid value.
+ OrderAccess::release_store(&valid_value, valid_value + 1); // odd
+ os::naked_yield();
+ // Set a valid value.
+ OrderAccess::release_store(&valid_value, valid_value + 1); // even
+ // Publish inactive tag.
+ OrderAccess::release_store_fence(&wait_tag, 0); // Stores in WB must not float up.
+ wb.disarm();
+
+ // Wait until threads done valid_value verification.
+ while (reader1->_on_barrier != 0 ||
+ reader2->_on_barrier != 0 ||
+ reader3->_on_barrier != 0 ||
+ reader4->_on_barrier != 0) {
+ SpinPause();
+ }
+ ++next_tag;
+ }
+ WBThread<WaitBarrierImpl>::_exit = true;
+ for (int i = 0; i < NUMBER_OF_READERS; i++) {
+ post.wait();
+ }
+ }
+};
+
+TEST_VM(WaitBarrier, default_wb) {
+ WBThread<WaitBarrierDefault>::_exit = false;
+ mt_test_doer<WBArmerThread<WaitBarrierDefault> >();
+}
+
+#if defined(LINUX)
+TEST_VM(WaitBarrier, generic_wb) {
+ WBThread<GenericWaitBarrier>::_exit = false;
+ mt_test_doer<WBArmerThread<GenericWaitBarrier> >();
+}
+#endif
--- a/test/hotspot/jtreg/ProblemList-graal.txt Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/ProblemList-graal.txt Tue Jan 22 09:43:38 2019 -0500
@@ -167,5 +167,3 @@
org.graalvm.compiler.replacements.test.StringCompressInflateTest 8213556
org.graalvm.compiler.debug.test.TimerKeyTest 8213598
-
-org.graalvm.compiler.hotspot.test.ExplicitExceptionTest 8213249
--- a/test/hotspot/jtreg/ProblemList.txt Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/ProblemList.txt Tue Jan 22 09:43:38 2019 -0500
@@ -61,8 +61,6 @@
compiler/runtime/Test8168712.java 8211769,8211771 generic-ppc64,generic-ppc64le,linux-s390x
-compiler/loopopts/PeelingZeroTripCount.java 8216135 generic-all
-
#############################################################################
# :hotspot_gc
@@ -85,7 +83,6 @@
runtime/appcds/javaldr/GCSharedStringsDuringDump.java 8208778 macosx-x64
runtime/appcds/javaldr/GCDuringDump.java 8208778 macosx-x64
-runtime/appcds/jigsaw/classpathtests/EmptyClassInBootClassPath.java 8213299 generic-all
runtime/CompressedOops/UseCompressedOops.java 8079353 generic-all
runtime/handshake/HandshakeWalkSuspendExitTest.java 8214174 generic-all
runtime/RedefineTests/RedefineRunningMethods.java 8208778 macosx-x64
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/arguments/TestTraceICs.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @bug 8217447
+ * @summary Test running TraceICs enabled.
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+TraceICs
+ * compiler.arguments.TestTraceICs
+ */
+
+package compiler.arguments;
+
+public class TestTraceICs {
+
+ static public void main(String[] args) {
+ System.out.println("Passed");
+ }
+}
+
--- a/test/hotspot/jtreg/compiler/graalunit/README.md Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/compiler/graalunit/README.md Tue Jan 22 09:43:38 2019 -0500
@@ -28,7 +28,7 @@
by using "-e:TEST_IMAGE_GRAAL_DIR=..."
Example:
-> jtreg -vt -jdk:<TESTED_JDK> -vmoptions:"-vmoptions:-Dgraalunit.libs=build/<platform>/images/test/hotspot/jtreg/graal"
+> jtreg -vt -jdk:<TESTED_JDK> -vmoptions:"-Dgraalunit.libs=build/<platform>/images/test/hotspot/jtreg/graal"
compiler/graalunit/UtilTest.java
To run Graal unit tests in Graal as JIT mode pass additional -vmoptions to jtreg:
--- a/test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java Tue Jan 22 09:43:38 2019 -0500
@@ -239,6 +239,8 @@
javaFlags.add("-Djava.awt.headless=true");
javaFlags.add("-esa");
javaFlags.add("-ea");
+ // Make sure exception message is never null
+ javaFlags.add("-XX:-OmitStackTraceInFastThrow");
// generate class path
--- a/test/hotspot/jtreg/compiler/interpreter/TestVerifyStackAfterDeopt.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/compiler/interpreter/TestVerifyStackAfterDeopt.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -28,6 +28,7 @@
* @bug 8209825
* @summary Checks VerifyStack after deoptimization of array allocation slow call
* @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:TieredStopAtLevel=1
+ * -XX:AllocatePrefetchLines=1 -XX:AllocateInstancePrefetchLines=1 -XX:AllocatePrefetchStepSize=16 -XX:AllocatePrefetchDistance=1
* -XX:MinTLABSize=1k -XX:TLABSize=1k
* -XX:+DeoptimizeALot -XX:+VerifyStack
* compiler.interpreter.TestVerifyStackAfterDeopt
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveMethodTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveMethodTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -168,6 +168,26 @@
}
+ static class ClassType {
+ }
+
+ interface InterfaceType {
+ }
+
+ @Test
+ public void testCloneAccessibility() {
+ /*
+ * The resolution machinery for clone on arrays has some hacks in that show up in odd places
+ * so make sure that resolveMethod works as expected.
+ */
+ ResolvedJavaType interfaceType = getType(InterfaceType.class);
+ ResolvedJavaType classType = getType(ClassType.class);
+ ResolvedJavaType arrayType = getType(double[].class);
+ ResolvedJavaMethod cloneMethod = getMethod(getType(Object.class), "clone");
+ assertEquals("Can't resolve clone for class", cloneMethod, arrayType.resolveMethod(cloneMethod, classType));
+ assertEquals("Can't resolve clone for interface", cloneMethod, arrayType.resolveMethod(cloneMethod, interfaceType));
+ }
+
static ResolvedJavaMethod getMethod(ResolvedJavaType type, String methodName) {
for (ResolvedJavaMethod method : type.getDeclaredMethods()) {
if (method.getName().equals(methodName)) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/loopopts/Test8210392.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/**
+ * @test
+ * @bug 8210392
+ * @summary C2 Assert failure: Live node limit exceeded
+ *
+ * @run main/othervm compiler.loopopts.Test8210392
+ */
+
+package compiler.loopopts;
+
+public class Test8210392 {
+ public static int ival = 17;
+
+ public static int intFn() {
+ int v = 0, k = 0;
+ for (int i = 17; i < 311; i += 3) {
+ v = Test8210392.ival;
+ int j = 1;
+ do {
+ v *= i;
+ v += j * v;
+ while (++k < 1)
+ ;
+ } while (++j < 13);
+ }
+ return v;
+ }
+
+ public void mainTest() {
+ for (int i = 0; i < 30000; i++) {
+ Test8210392.ival = intFn();
+ }
+ }
+
+ public static void main(String[] _args) {
+ Test8210392 tc = new Test8210392();
+ for (int i = 0; i < 10; i++) {
+ tc.mainTest();
+ }
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/unsafe/MismatchedUnsafeLoadFromNewObject.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2019, Red Hat, 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.
+ */
+
+/*
+ * @test
+ * @bug 8216549
+ * @summary Mismatched unsafe access to non escaping object fails
+ *
+ * @modules java.base/jdk.internal.misc
+ * @run main/othervm -XX:-UseOnStackReplacement -XX:-BackgroundCompilation MismatchedUnsafeLoadFromNewObject
+ */
+
+import java.lang.reflect.Field;
+import jdk.internal.misc.Unsafe;
+
+public class MismatchedUnsafeLoadFromNewObject {
+ public volatile int f_int = -1;
+ public volatile int f_int2 = -1;
+
+ public static Unsafe unsafe = Unsafe.getUnsafe();
+ public static final long f_int_off;
+ public static final long f_int2_off;
+
+ static {
+ Field f_int_field = null;
+ Field f_int2_field = null;
+ try {
+ f_int_field = MismatchedUnsafeLoadFromNewObject.class.getField("f_int");
+ f_int2_field = MismatchedUnsafeLoadFromNewObject.class.getField("f_int2");
+ } catch (Exception e) {
+ System.out.println("reflection failed " + e);
+ e.printStackTrace();
+ }
+ f_int_off = unsafe.objectFieldOffset(f_int_field);
+ f_int2_off = unsafe.objectFieldOffset(f_int2_field);
+ }
+
+ static public void main(String[] args) {
+ for (int i = 0; i < 20_000; i++) {
+ byte res = test1();
+ if (res != -1) {
+ throw new RuntimeException("Incorrect result: " + res);
+ }
+ res = test2();
+ if (res != -1) {
+ throw new RuntimeException("Incorrect result: " + res);
+ }
+ int res2 = test3();
+ if (res2 != -1) {
+ throw new RuntimeException("Incorrect result: " + res2);
+ }
+ }
+ }
+
+ static byte test1() {
+ MismatchedUnsafeLoadFromNewObject t = new MismatchedUnsafeLoadFromNewObject();
+ return unsafe.getByte(t, f_int_off);
+ }
+
+ static byte test2() {
+ MismatchedUnsafeLoadFromNewObject t = new MismatchedUnsafeLoadFromNewObject();
+ return unsafe.getByte(t, f_int_off+1);
+ }
+
+ static int test3() {
+ MismatchedUnsafeLoadFromNewObject t = new MismatchedUnsafeLoadFromNewObject();
+ if (f_int_off < f_int2_off) {
+ return unsafe.getIntUnaligned(t, f_int_off+1);
+ } else {
+ return unsafe.getIntUnaligned(t, f_int2_off+1);
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/gc/cms/TestCriticalPriority.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2019, Red Hat, 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.
+ */
+
+/*
+ * @test TestCriticalPriority
+ * @key gc
+ * @bug 8217378
+ * @requires vm.gc.ConcMarkSweep & !vm.graal.enabled
+ * @summary Test critical priority is accepted
+ * @run main/othervm -XX:+UseConcMarkSweepGC -XX:+UnlockExperimentalVMOptions -XX:+UseCriticalCMSThreadPriority TestCriticalPriority
+ */
+
+public class TestCriticalPriority {
+ public static void main(String args[]) throws Exception {
+ // The failure would be detected before entering main().
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/gc/epsilon/TestClasses.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2019, Red Hat, 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.
+ */
+
+/**
+ * @test TestClasses
+ * @key gc
+ * @requires vm.gc.Epsilon & !vm.graal.enabled
+ * @summary Epsilon is able to allocate a lot of classes
+ *
+ * @modules java.base/jdk.internal.org.objectweb.asm
+ * java.base/jdk.internal.misc
+ *
+ * @run main/othervm -Xmx128m -XX:MetaspaceSize=1m -XX:MaxMetaspaceSize=32m -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -Xlog:gc -Xlog:gc+metaspace TestClasses
+ */
+
+import jdk.internal.org.objectweb.asm.ClassWriter;
+import jdk.internal.org.objectweb.asm.Opcodes;
+
+import java.util.*;
+import java.io.*;
+import java.nio.*;
+import java.nio.file.*;
+
+public class TestClasses {
+
+ static final int COUNT = 32*1024;
+
+ static volatile Object sink;
+
+ static class MyClassLoader extends ClassLoader {
+ public byte[] createClass(String name) {
+ ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES);
+ cw.visit(Opcodes.V1_8, Opcodes.ACC_PUBLIC | Opcodes.ACC_SUPER, name, null, "java/lang/Object", null);
+ return cw.toByteArray();
+ }
+
+ public Class<?> loadClass(String name) throws ClassNotFoundException {
+ if (!name.startsWith("Dummy")) {
+ return super.loadClass(name);
+ }
+ byte[] cls = createClass(name);
+ return defineClass(name, cls, 0, cls.length, null);
+ }
+ }
+
+ public static void main(String[] args) throws Exception {
+ ClassLoader cl = new MyClassLoader();
+ for (int c = 0; c < COUNT; c++) {
+ Class<?> clazz = Class.forName("Dummy" + c, true, cl);
+ if (clazz.getClassLoader() != cl) {
+ throw new IllegalStateException("Should have loaded by target loader");
+ }
+ sink = c;
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/gc/g1/TestPeriodicLogMessages.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/**
+ * @test TestPeriodicLogMessages
+ * @bug 8216490
+ * @requires vm.gc.G1
+ * @summary Verify that log messages are printed as expected
+ * @library /test/lib /
+ * @modules java.base/jdk.internal.misc
+ * @modules java.management/sun.management
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import jdk.test.lib.process.ProcessTools;
+import jdk.test.lib.Platform;
+
+public class TestPeriodicLogMessages {
+
+ public static void main(String[] args) throws Exception {
+ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
+ "-XX:G1PeriodicGCInterval=0",
+ "-Xlog:gc,gc+periodic=debug",
+ "-Xmx10M",
+ GCTest.class.getName());
+
+ OutputAnalyzer output = new OutputAnalyzer(pb.start());
+ output.shouldContain("Periodic GC disabled");
+ output.shouldNotContain("Checking for periodic GC");
+ output.shouldHaveExitValue(0);
+
+ pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
+ "-XX:G1PeriodicGCInterval=100",
+ "-Xlog:gc,gc+periodic=debug",
+ "-Xmx10M",
+ GCTest.class.getName());
+
+ output = new OutputAnalyzer(pb.start());
+ output.shouldContain("Periodic GC enabled with interval 100ms");
+ output.shouldContain("Checking for periodic GC");
+ output.shouldHaveExitValue(0);
+ }
+
+ static class GCTest {
+ public static void main(String [] args) throws Exception {
+ System.out.println("Waiting for messages...");
+ Thread.sleep(1000);
+ System.out.println("Done");
+ }
+ }
+}
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/gc/shenandoah/options/TestCriticalControlThreadPriority.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2019, Red Hat, Inc. All rights reserved.
+ *
+ * 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.
+ *
+ */
+
+/*
+ * @test TestCriticalControlThreadPriority
+ * @summary Check that ShenandoahCriticalControlThreadPriority works
+ * @bug 8217343
+ * @key gc
+ * @requires vm.gc.Shenandoah
+ *
+ * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:-ShenandoahCriticalControlThreadPriority -Xmx1g TestCriticalControlThreadPriority
+ * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ShenandoahCriticalControlThreadPriority -Xmx1g TestCriticalControlThreadPriority
+ */
+
+public class TestCriticalControlThreadPriority {
+
+ public static void main(String[] args) throws Exception {
+ // checking the initialization before entering main()
+ }
+
+}
--- a/test/hotspot/jtreg/gtest/GTestWrapper.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/gtest/GTestWrapper.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -34,6 +34,7 @@
import java.util.stream.Stream;
import java.util.stream.Collectors;
+import java.io.File;
import java.nio.file.Paths;
import java.nio.file.Path;
@@ -69,14 +70,10 @@
// may have set LD_LIBRARY_PATH or LIBPATH to point to the jdk libjvm. In
// that case, prepend the path with the location of the gtest library."
- String ldLibraryPath = System.getenv("LD_LIBRARY_PATH");
+ String pathVar = Platform.sharedLibraryPathVariableName();
+ String ldLibraryPath = System.getenv(pathVar);
if (ldLibraryPath != null) {
- env.put("LD_LIBRARY_PATH", path + ":" + ldLibraryPath);
- }
-
- String libPath = System.getenv("LIBPATH");
- if (libPath != null) {
- env.put("LIBPATH", path + ":" + libPath);
+ env.put(pathVar, path + File.pathSeparator + ldLibraryPath);
}
pb.command(new String[] {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/ClassUnload/ConstantPoolDependsTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test ConstantPoolDependsTest
+ * @bug 8210094
+ * @summary Create ClassLoader dependency from initiating loader to class loader through constant pool reference
+ * @requires vm.opt.final.ClassUnloading
+ * @modules java.base/jdk.internal.misc
+ * java.compiler
+ * @library /runtime/testlibrary /test/lib
+ * @build sun.hotspot.WhiteBox
+ * @compile p2/c2.java MyDiffClassLoader.java
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * sun.hotspot.WhiteBox$WhiteBoxPermission
+ * @run main/othervm -Xbootclasspath/a:. -Xmn8m -XX:+UnlockDiagnosticVMOptions -Xlog:class+unload -XX:+WhiteBoxAPI ConstantPoolDependsTest
+ */
+
+import sun.hotspot.WhiteBox;
+
+
+public class ConstantPoolDependsTest {
+ public static WhiteBox wb = WhiteBox.getWhiteBox();
+ public static final String MY_TEST = "ConstantPoolDependsTest$c1c";
+
+ public static class c1c {
+ private void test() throws Exception {
+ // ConstantPool.klass_at_impl loads through constant pool and creates dependency
+ p2.c2 c2_obj = new p2.c2();
+ c2_obj.method2();
+ }
+
+ public c1c () throws Exception {
+ test();
+ ClassUnloadCommon.triggerUnloading(); // should not unload anything
+ test();
+ ClassUnloadCommon.triggerUnloading(); // should not unload anything
+ }
+ }
+
+ static void test() throws Throwable {
+
+ // now use the same loader to load class MyTest
+ Class MyTest_class = new MyDiffClassLoader(MY_TEST).loadClass(MY_TEST);
+
+ try {
+ // Call MyTest to load p2.c2 twice and call p2.c2.method2
+ MyTest_class.newInstance();
+ } catch (Exception e) {
+ throw new RuntimeException("Test FAILED if NoSuchMethodException is thrown");
+ }
+ ClassUnloadCommon.triggerUnloading(); // should not unload anything
+ ClassUnloadCommon.failIf(!wb.isClassAlive(MY_TEST), "should not be unloaded");
+ ClassUnloadCommon.failIf(!wb.isClassAlive("p2.c2"), "should not be unloaded");
+ // Unless MyTest_class is referenced here, the compiler can unload it.
+ System.out.println("Should not unload anything before here because " + MyTest_class + " is still alive.");
+ }
+
+ public static void main(String args[]) throws Throwable {
+ test();
+ ClassUnloadCommon.triggerUnloading(); // should unload
+ System.gc();
+ System.out.println("Should unload p2.c2 just now");
+ ClassUnloadCommon.failIf(wb.isClassAlive(MY_TEST), "should be unloaded");
+ ClassUnloadCommon.failIf(wb.isClassAlive("p2.c2"), "should be unloaded");
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/ClassUnload/DictionaryDependsTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test DictionaryDependsTest
+ * @bug 8210094
+ * @summary Create ClassLoader dependency from initiating loader to class loader through reflection
+ * @requires vm.opt.final.ClassUnloading
+ * @modules java.base/jdk.internal.misc
+ * java.compiler
+ * @library /runtime/testlibrary /test/lib
+ * @build sun.hotspot.WhiteBox
+ * @compile p2/c2.java MyDiffClassLoader.java
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * sun.hotspot.WhiteBox$WhiteBoxPermission
+ * @run main/othervm -Xbootclasspath/a:. -Xmn8m -XX:+UnlockDiagnosticVMOptions -Xlog:class+unload -XX:+WhiteBoxAPI DictionaryDependsTest
+ */
+import sun.hotspot.WhiteBox;
+import java.lang.reflect.Method;
+
+public class DictionaryDependsTest {
+ public static WhiteBox wb = WhiteBox.getWhiteBox();
+ public static final String MY_TEST = "DictionaryDependsTest$c1r";
+
+ static public class c1r {
+
+ private void test() throws Exception {
+ // forName loads through reflection and doesn't create dependency
+ Class<?> x = Class.forName("p2.c2", true, c1r.class.getClassLoader());
+ Method m = x.getMethod("method2");
+ java.lang.Object t = x.newInstance();
+ m.invoke(t);
+ }
+
+ public c1r () throws Exception {
+ test();
+ ClassUnloadCommon.triggerUnloading(); // should unload p2.c2
+ test();
+ ClassUnloadCommon.triggerUnloading(); // should unload p2.c2
+ }
+ }
+
+ public void test() throws Throwable {
+
+ // now use the same loader to load class MyTest
+ Class MyTest_class = new MyDiffClassLoader(MY_TEST).loadClass(MY_TEST);
+
+ try {
+ // Call MyTest to load p2.c2 twice and call p2.c2.method2
+ MyTest_class.newInstance();
+ } catch (Exception e) {
+ System.out.println("Not expected NSME");
+ throw new RuntimeException("Not expecting NSME");
+ }
+ ClassUnloadCommon.triggerUnloading(); // should not unload anything
+ ClassUnloadCommon.failIf(!wb.isClassAlive(MY_TEST), "should not be unloaded");
+ ClassUnloadCommon.failIf(!wb.isClassAlive("p2.c2"), "should not be unloaded");
+ // Unless MyTest_class is referenced here, the compiler can unload it.
+ System.out.println("Should not unload anything before here because " + MyTest_class + " is still alive.");
+ }
+
+ public static void main(String args[]) throws Throwable {
+ DictionaryDependsTest d = new DictionaryDependsTest();
+ d.test();
+ ClassUnloadCommon.triggerUnloading(); // should not unload anything
+ System.out.println("Should unload MyTest and p2.c2 just now");
+ ClassUnloadCommon.failIf(wb.isClassAlive(MY_TEST), "should be unloaded");
+ ClassUnloadCommon.failIf(wb.isClassAlive("p2.c2"), "should be unloaded");
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/ClassUnload/MyDiffClassLoader.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. 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.
+ */
+
+import java.io.*;
+import jdk.test.lib.compiler.InMemoryJavaCompiler;
+
+public class MyDiffClassLoader extends ClassLoader {
+
+ public String loaderName;
+ public static boolean switchClassData = false;
+
+ MyDiffClassLoader(String name) {
+ this.loaderName = name;
+ }
+
+ public Class loadClass(String name) throws ClassNotFoundException {
+ if (!name.contains("c1r") &&
+ !name.contains("c1c") &&
+ !name.contains("c1s") &&
+ !name.equals("p2.c2")) {
+ return super.loadClass(name);
+ }
+
+ // new loader loads p2.c2
+ if (name.equals("p2.c2") && !loaderName.equals("C2Loader")) {
+ Class<?> c = new MyDiffClassLoader("C2Loader").loadClass(name);
+ switchClassData = true;
+ return c;
+ }
+
+ byte[] data = switchClassData ? getNewClassData(name) : getClassData(name);
+ System.out.println("name is " + name);
+ return defineClass(name, data, 0, data.length);
+ }
+ byte[] getClassData(String name) {
+ try {
+ String TempName = name.replaceAll("\\.", "/");
+ String currentDir = System.getProperty("test.classes");
+ String filename = currentDir + File.separator + TempName + ".class";
+ FileInputStream fis = new FileInputStream(filename);
+ byte[] b = new byte[5000];
+ int cnt = fis.read(b, 0, 5000);
+ byte[] c = new byte[cnt];
+ for (int i=0; i<cnt; i++) c[i] = b[i];
+ return c;
+ } catch (IOException e) {
+ return null;
+ }
+ }
+
+ // Return p2.c2 with everything removed
+ byte[] getNewClassData(String name) {
+ return InMemoryJavaCompiler.compile("p2.c2", "package p2; public class c2 { }");
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/ClassUnload/SuperDependsTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test SuperDependsTest
+ * @bug 8210094
+ * @summary Create ClassLoader dependency from initiating loader to class loader through subclassing
+ * @requires vm.opt.final.ClassUnloading
+ * @modules java.base/jdk.internal.misc
+ * java.compiler
+ * @library /runtime/testlibrary /test/lib
+ * @build sun.hotspot.WhiteBox
+ * @compile p2/c2.java MyDiffClassLoader.java
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * sun.hotspot.WhiteBox$WhiteBoxPermission
+ * @run main/othervm -Xbootclasspath/a:. -Xmn8m -XX:+UnlockDiagnosticVMOptions -Xlog:class+unload -XX:+WhiteBoxAPI SuperDependsTest
+ */
+import sun.hotspot.WhiteBox;
+import p2.*;
+
+public class SuperDependsTest {
+ public static WhiteBox wb = WhiteBox.getWhiteBox();
+ public static final String MY_TEST = "SuperDependsTest$c1s";
+
+
+ // p2.c2 loads through super class and creates dependency
+ public static class c1s extends p2.c2 {
+
+ private void test() throws Exception {
+ method2();
+ }
+
+ public c1s () throws Exception {
+ test();
+ ClassUnloadCommon.triggerUnloading(); // should not unload anything
+ test();
+ }
+ }
+
+ public void test() throws Throwable {
+
+ // now use the same loader to load class MyTest
+ Class MyTest_class = new MyDiffClassLoader(MY_TEST).loadClass(MY_TEST);
+
+ // Call MyTest to load p2.c2 twice and call p2.c2.method2
+ MyTest_class.newInstance();
+ ClassUnloadCommon.triggerUnloading(); // should not unload anything
+ ClassUnloadCommon.failIf(!wb.isClassAlive(MY_TEST), "should not be unloaded");
+ ClassUnloadCommon.failIf(!wb.isClassAlive("p2.c2"), "should not be unloaded");
+ // Unless MyTest_class is referenced here, the compiler can unload it.
+ System.out.println("Should not unload anything before here because " + MyTest_class + " is still alive.");
+ }
+
+ public static void main(String args[]) throws Throwable {
+ SuperDependsTest d = new SuperDependsTest();
+ d.test();
+ ClassUnloadCommon.triggerUnloading(); // should not unload anything
+ System.out.println("Should unload MyTest and p2.c2 just now");
+ ClassUnloadCommon.failIf(wb.isClassAlive(MY_TEST), "should be unloaded");
+ ClassUnloadCommon.failIf(wb.isClassAlive("p2.c2"), "should be unloaded");
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/ClassUnload/p2/c2.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. 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.
+ */
+package p2;
+
+public class c2 {
+ int i;
+ public void method2() { i = 5; System.out.println("c2 method2 called"); }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/Thread/TestThreadDumpClassInitMonitor.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,202 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @bug 8213397 8217337
+ * @summary Check that the thread dump shows when a thread is blocked
+ * on a class initialization monitor
+ *
+ * @library /test/lib
+ * @run main/othervm TestThreadDumpClassInitMonitor
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import jdk.test.lib.JDKToolFinder;
+import jdk.test.lib.Platform;
+
+import java.io.IOException;
+import java.util.List;
+
+public class TestThreadDumpClassInitMonitor {
+ // jstack tends to be closely bound to the VM that we are running
+ // so use getTestJDKTool() instead of getCompileJDKTool() or even
+ // getJDKTool() which can fall back to "compile.jdk".
+ final static String JSTACK = JDKToolFinder.getTestJDKTool("jstack");
+ final static String PID = "" + ProcessHandle.current().pid();
+
+ final static Thread current = Thread.currentThread();
+
+ /*
+ * This is the output we're looking for:
+ *
+ * "TestThread" #22 prio=5 os_prio=0 cpu=1.19ms elapsed=0.80s tid=0x00007f8f9405d800 nid=0x568b in Object.wait() [0x00007f8fd94d0000]
+ * java.lang.Thread.State: RUNNABLE
+ * Thread: 0x00007f8f9405d800 [0x568b] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0 // DEBUG ONLY
+ * JavaThread state: _thread_blocked // DEBUG ONLY
+ * at TestThreadDumpClassInitMonitor$Target$1.run(TestThreadDumpClassInitMonitor.java:69)
+ * - waiting on the Class initialization monitor for TestThreadDumpClassInitMonitor$Target
+ *
+ */
+ final static String TEST_THREAD = "TestThread";
+ final static String TEST_THREAD_ENTRY = "\"" + TEST_THREAD;
+ final static String IN_OBJECT_WAIT = "in Object.wait()";
+ final static String THREAD_STATE = "java.lang.Thread.State: RUNNABLE";
+ final static String THREAD_INFO = "Thread:"; // the details are not important
+ final static String JAVATHREAD_STATE = "JavaThread state: _thread_blocked";
+ final static String CURRENT_METHOD = "at TestThreadDumpClassInitMonitor$Target$1.run";
+ final static String WAIT_INFO = "- waiting on the Class initialization monitor for TestThreadDumpClassInitMonitor$Target";
+
+ volatile static boolean ready = false;
+
+ static List<String> stackDump; // jstack output as lines
+
+ static class Target {
+
+ static int field;
+
+ // The main thread will initialize this class and so
+ // execute the actual test logic here.
+ static {
+ if (Thread.currentThread() != current) {
+ throw new Error("Initialization logic error");
+ }
+ System.out.println("Initializing Target class in main thread");
+
+ Thread t = new Thread() {
+ public void run() {
+ System.out.println("Test thread about to access Target");
+ ready = true; // tell main thread we're close
+ // This will block until the main thread completes
+ // static initialization of target
+ Target.field = 42;
+ System.out.println("Test thread done");
+ }
+ };
+ t.setName(TEST_THREAD);
+ t.start();
+
+ // We want to run jstack once the test thread is blocked but
+ // there's no programmatic way to detect that. So we check the flag
+ // that will be set just before it should block, then by the time
+ // we can exec jstack it should be ready.
+ try {
+ while (!ready) {
+ Thread.sleep(200);
+ }
+ }
+ catch (InterruptedException ie) {
+ throw new Error("Shouldn't happen");
+ }
+
+ // Now run jstack
+ try {
+ ProcessBuilder pb = new ProcessBuilder(JSTACK, PID);
+ OutputAnalyzer output = new OutputAnalyzer(pb.start());
+ output.shouldHaveExitValue(0);
+ stackDump = output.asLines();
+ }
+ catch (IOException ioe) {
+ throw new Error("Launching jstack failed", ioe);
+ }
+ }
+ }
+
+
+ public static void main(String[] args) throws Throwable {
+ // Implicitly run the main test logic
+ Target.field = 21;
+
+ // Now check the output of jstack
+ try {
+ // product builds miss 2 lines of information in the stack
+ boolean isProduct = !Platform.isDebugBuild();
+ int foundLines = 0;
+ parseStack: for (String line : stackDump) {
+ switch(foundLines) {
+ case 0: {
+ if (!line.startsWith(TEST_THREAD_ENTRY)) {
+ continue;
+ }
+ foundLines++;
+ if (!line.contains(IN_OBJECT_WAIT)) {
+ throw new Error("Unexpected initial stack line: " + line);
+ }
+ continue;
+ }
+ case 1: {
+ if (!line.trim().equals(THREAD_STATE)) {
+ throw new Error("Unexpected thread state line: " + line);
+ }
+ if (isProduct) {
+ foundLines += 3;
+ } else {
+ foundLines++;
+ }
+ continue;
+ }
+ case 2: { // Debug build
+ if (!line.startsWith(THREAD_INFO)) {
+ throw new Error("Unexpected thread info line: " + line);
+ }
+ foundLines++;
+ continue;
+ }
+ case 3: { // Debug build
+ if (!line.trim().equals(JAVATHREAD_STATE)) {
+ throw new Error("Unexpected JavaThread state line: " + line);
+ }
+ foundLines++;
+ continue;
+ }
+ case 4: {
+ if (!line.trim().startsWith(CURRENT_METHOD)) {
+ throw new Error("Unexpected current method line: " + line);
+ }
+ foundLines++;
+ continue;
+ }
+ case 5: {
+ if (!line.trim().equals(WAIT_INFO)) {
+ throw new Error("Unexpected monitor information line: " + line);
+ }
+ break parseStack;
+ }
+ default: throw new Error("Logic error in case statement");
+ }
+ }
+
+ if (foundLines == 0) {
+ throw new Error("Unexpected stack content - did not find line starting with "
+ + TEST_THREAD_ENTRY);
+ }
+ }
+ catch (Error e) {
+ // Dump the full stack trace on error so we can check the content
+ for (String line : stackDump) {
+ System.out.println(line);
+ }
+ throw e;
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/appcds/LongClassListPath.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ *
+ */
+
+/*
+ * @test
+ * @summary Test the handling of long path to the classlist file.
+ * @requires vm.cds
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * jdk.jartool/sun.tools.jar
+ * @compile test-classes/Hello.java
+ * @run driver LongClassListPath
+ */
+
+import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+import java.util.Arrays;
+import jdk.test.lib.cds.CDSOptions;
+import jdk.test.lib.cds.CDSTestUtils;
+import jdk.test.lib.process.OutputAnalyzer;
+
+public class LongClassListPath {
+ private static final int MAX_PATH = 260;
+ public static void main(String[] args) throws Exception {
+ String[] classes = {"hello"};
+ String classList =
+ CDSTestUtils.makeClassList(classes).getPath();
+ String archiveName = "LongClassListPath.jsa";
+
+ // Create a directory with long path and copy the classlist file to
+ // the directory.
+ Path classDir = Paths.get(System.getProperty("test.classes"));
+ Path destDir = classDir;
+ int subDirLen = MAX_PATH - classDir.toString().length() - 2;
+ if (subDirLen > 0) {
+ char[] chars = new char[subDirLen];
+ Arrays.fill(chars, 'x');
+ String subPath = new String(chars);
+ destDir = Paths.get(System.getProperty("test.classes"), subPath);
+ }
+ File longDir = destDir.toFile();
+ longDir.mkdir();
+ String destClassList = longDir.getPath() + File.separator + "LongClassListPath.classlist";
+ Files.copy(Paths.get(classList), Paths.get(destClassList), StandardCopyOption.REPLACE_EXISTING);
+
+ CDSOptions opts = (new CDSOptions())
+ .addPrefix("-XX:ExtraSharedClassListFile=" + destClassList, "-cp", JarBuilder.getOrCreateHelloJar())
+ .setArchiveName(archiveName);
+ CDSTestUtils.createArchiveAndCheck(opts);
+ }
+}
--- a/test/hotspot/jtreg/runtime/appcds/ProtectionDomain.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/runtime/appcds/ProtectionDomain.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -48,25 +48,24 @@
TestCommon.list("ProtDomain",
"ProtDomainBOther",
"java/util/Dictionary",
- "sun/tools/javac/Main",
+ "com/sun/tools/javac/Main",
"jdk/nio/zipfs/ZipInfo",
"java/net/URL",
"sun/rmi/rmic/Main",
"com/sun/jndi/dns/DnsName"));
- OutputAnalyzer output;
-
// First class is loaded from CDS, second class is loaded from JAR
- output = TestCommon.exec(appJar, "ProtDomain");
- TestCommon.checkExec(output, "Protection Domains match");
+ TestCommon.run("-cp", appJar, "ProtDomain")
+ .assertNormalExit("Protection Domains match");
// First class is loaded from JAR, second class is loaded from CDS
- output = TestCommon.exec(appJar, "ProtDomainB");
- TestCommon.checkExec(output, "Protection Domains match");
+ TestCommon.run("-cp", appJar, "ProtDomainB")
+ .assertNormalExit("Protection Domains match");
// Test ProtectionDomain for application and extension module classes from the
// "modules" jimage
- output = TestCommon.exec(appJar, "JimageClassProtDomain");
- output.shouldNotContain("Failed: Protection Domains do not match");
+ TestCommon.run("-cp", appJar, "JimageClassProtDomain")
+ .assertNormalExit(output -> output.shouldNotContain(
+ "Failed: Protection Domains do not match"));
}
}
--- a/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/DummyClassesInBootClassPath.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/DummyClassesInBootClassPath.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -63,6 +63,8 @@
String appJar = TestCommon.getTestJar("dummyClasses.jar");
OutputAnalyzer dumpOutput = TestCommon.dump(
appJar, classNames, "-Xbootclasspath/a:" + appJar);
+ TestCommon.checkDump(dumpOutput);
+
List<String> argsList = new ArrayList<String>();
for (int i = 0; i < classNames.length; i++) {
argsList.add(classNames[i].replace('/', '.'));
--- a/test/hotspot/jtreg/runtime/appcds/test-classes/JimageClassProtDomain.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/runtime/appcds/test-classes/JimageClassProtDomain.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. 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
@@ -37,7 +37,7 @@
"java.util.Dictionary", "java.util.ServiceConfigurationError"},
{"Loading shared app module class first",
- "sun.tools.javac.Main", "sun.tools.javac.BatchParser"},
+ "com.sun.tools.javac.Main", "com.sun.tools.javac.code.Symbol"},
{"Loading shared ext module class first",
"jdk.nio.zipfs.ZipInfo", "jdk.nio.zipfs.ZipPath"},
@@ -46,7 +46,7 @@
"java.net.HttpCookie", "java.net.URL"},
{"Loading non-shared app module class first",
- "sun.rmi.rmic.RMIGenerator", "sun.rmi.rmic.Main"},
+ "com.sun.tools.sjavac.Util", "com.sun.tools.sjavac.Main"},
{"Loading non-shared ext module class first",
"com.sun.jndi.dns.Resolver", "com.sun.jndi.dns.DnsName"}};
@@ -61,13 +61,16 @@
Class c1 = Class.forName(shared);
Class c2 = Class.forName(nonShared);
if (c1.getProtectionDomain() != c2.getProtectionDomain()) {
- System.out.println("Failed: Protection Domains do not match!");
System.out.println(c1.getProtectionDomain());
System.out.println(c1.getProtectionDomain().getCodeSource());
System.out.println(c2.getProtectionDomain());
System.out.println(c2.getProtectionDomain().getCodeSource());
- System.exit(1);
+ throw new RuntimeException("Failed: Protection Domains do not match!");
} else {
+ System.out.println(c1.getProtectionDomain());
+ System.out.println(c1.getProtectionDomain().getCodeSource());
+ System.out.println(c2.getProtectionDomain());
+ System.out.println(c2.getProtectionDomain().getCodeSource());
System.out.println("Passed: Protection Domains match.");
}
}
--- a/test/hotspot/jtreg/runtime/appcds/test-classes/ProtDomain.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/runtime/appcds/test-classes/ProtDomain.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, Oracle and/or its affiliates. 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
@@ -42,8 +42,7 @@
if (mine == his) {
System.out.println("Protection Domains match");
} else {
- System.out.println("Protection Domains do not match!");
- System.exit(1);
+ throw new RuntimeException("Protection Domains do not match!");
}
}
}
--- a/test/hotspot/jtreg/runtime/appcds/test-classes/ProtDomainB.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/runtime/appcds/test-classes/ProtDomainB.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, Oracle and/or its affiliates. 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
@@ -42,8 +42,7 @@
if (mine == his) {
System.out.println("Protection Domains match");
} else {
- System.out.println("Protection Domains do not match!");
- System.exit(1);
+ throw new RuntimeException("Protection Domains do not match!");
}
}
}
--- a/test/hotspot/jtreg/runtime/signal/SigTestDriver.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/runtime/signal/SigTestDriver.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -68,8 +68,7 @@
Path test = Paths.get(System.getProperty("test.nativepath"))
.resolve("sigtest")
.toAbsolutePath();
- String envVar = Platform.isWindows() ? "PATH" :
- (Platform.isOSX() ? "DYLD_LIBRARY_PATH" : "LD_LIBRARY_PATH");
+ String envVar = Platform.sharedLibraryPathVariableName();
List<String> cmd = new ArrayList<>();
Collections.addAll(cmd,
--- a/test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -34,7 +34,7 @@
* @requires vm.hasSA
* @requires vm.compiler1.enabled
* @library /test/lib
- * @run main/othervm ClhsdbFindPC
+ * @run main/othervm/timeout=480 ClhsdbFindPC
*/
public class ClhsdbFindPC {
--- a/test/hotspot/jtreg/serviceability/sa/ClhsdbJstack.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/serviceability/sa/ClhsdbJstack.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -34,7 +34,7 @@
* @summary Test clhsdb Jstack command
* @requires vm.hasSA
* @library /test/lib
- * @run main/othervm ClhsdbJstack
+ * @run main/othervm/timeout=480 ClhsdbJstack
*/
public class ClhsdbJstack {
--- a/test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -25,12 +25,15 @@
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
+import java.util.Arrays;
import jdk.test.lib.apps.LingeredApp;
import jdk.test.lib.Platform;
import jdk.test.lib.JDKToolLauncher;
import jdk.test.lib.JDKToolFinder;
import jdk.test.lib.process.OutputAnalyzer;
+import jdk.test.lib.SA.SATestUtils;
+
/**
* This is a framework to run 'jhsdb clhsdb' commands.
@@ -41,9 +44,11 @@
public class ClhsdbLauncher {
private Process toolProcess;
+ private boolean needPrivileges;
public ClhsdbLauncher() {
toolProcess = null;
+ needPrivileges = false;
}
/**
@@ -53,7 +58,6 @@
*/
private void attach(long lingeredAppPid)
throws IOException {
-
JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jhsdb");
launcher.addToolArg("clhsdb");
if (lingeredAppPid != -1) {
@@ -61,9 +65,12 @@
System.out.println("Starting clhsdb against " + lingeredAppPid);
}
- ProcessBuilder processBuilder = new ProcessBuilder(launcher.getCommand());
+ List<String> cmdStringList = Arrays.asList(launcher.getCommand());
+ if (needPrivileges) {
+ cmdStringList = SATestUtils.addPrivileges(cmdStringList);
+ }
+ ProcessBuilder processBuilder = new ProcessBuilder(cmdStringList);
processBuilder.redirectError(ProcessBuilder.Redirect.INHERIT);
-
toolProcess = processBuilder.start();
}
@@ -173,9 +180,19 @@
throws IOException, InterruptedException {
if (!Platform.shouldSAAttach()) {
- // Silently skip the test if we don't have enough permissions to attach
- System.out.println("SA attach not expected to work - test skipped.");
- return null;
+ if (Platform.isOSX()) {
+ if (!SATestUtils.canAddPrivileges()) {
+ // Skip the test if we don't have enough permissions to attach
+ // and cannot add privileges.
+ System.out.println("SA attach not expected to work - test skipped.");
+ return null;
+ } else {
+ needPrivileges = true;
+ }
+ } else {
+ System.out.println("SA attach not expected to work. Insufficient privileges.");
+ throw new Error("Cannot attach.");
+ }
}
attach(lingeredAppPid);
@@ -200,12 +217,6 @@
Map<String, List<String>> unExpectedStrMap)
throws IOException, InterruptedException {
- if (!Platform.shouldSAAttach()) {
- // Silently skip the test if we don't have enough permissions to attach
- System.out.println("SA attach not expected to work - test skipped.");
- return null;
- }
-
loadCore(coreFileName);
return runCmd(commands, expectedStrMap, unExpectedStrMap);
}
--- a/test/hotspot/jtreg/vmTestbase/ExecDriver.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/vmTestbase/ExecDriver.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -103,7 +103,7 @@
if (launcher) {
Path dir = Paths.get(Utils.TEST_JDK);
String value;
- String name;
+ String name = Platform.sharedLibraryPathVariableName();
if (Platform.isWindows()) {
value = dir.resolve("bin")
.resolve(variant())
@@ -113,13 +113,11 @@
value += dir.resolve("bin")
.toAbsolutePath()
.toString();
- name = "PATH";
} else {
value = dir.resolve("lib")
.resolve(variant())
.toAbsolutePath()
.toString();
- name = Platform.isOSX() ? "DYLD_LIBRARY_PATH" : "LD_LIBRARY_PATH";
}
System.out.println(" with " + name + " = " +
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform003/TestDriver.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform003/TestDriver.java Tue Jan 22 09:43:38 2019 -0500
@@ -77,17 +77,7 @@
nsk.jvmti.RetransformClasses.retransform003.class.getName()
);
- String envName;
- if (Platform.isWindows()) {
- envName = "PATH";
- } else if (Platform.isOSX()) {
- envName = "DYLD_LIBRARY_PATH";
- } else if (Platform.isAix()) {
- envName = "LIBPATH";
- } else {
- envName = "LD_LIBRARY_PATH";
- }
-
+ String envName = Platform.sharedLibraryPathVariableName();
pb.environment()
.merge(envName, ".", (x, y) -> y + File.pathSeparator + x);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetNativeMethodPrefix/SetNativeMethodPrefix002/TestDriver.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetNativeMethodPrefix/SetNativeMethodPrefix002/TestDriver.java Tue Jan 22 09:43:38 2019 -0500
@@ -67,17 +67,7 @@
nsk.jvmti.SetNativeMethodPrefix.SetNativeMethodPrefix002.class.getName()
);
- String envName;
- if (Platform.isWindows()) {
- envName = "PATH";
- } else if (Platform.isOSX()) {
- envName = "DYLD_LIBRARY_PATH";
- } else if (Platform.isAix()) {
- envName = "LIBPATH";
- } else {
- envName = "LD_LIBRARY_PATH";
- }
-
+ String envName = Platform.sharedLibraryPathVariableName();
pb.environment()
.merge(envName, ".", (x, y) -> y + File.pathSeparator + x);
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/sde/InstallSDE.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/sde/InstallSDE.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -58,12 +58,18 @@
}
public static void install(File inOutClassFile, File attrFile, boolean verbose) throws IOException {
- File tmpFile = new File(inOutClassFile.getPath() + "tmp");
+ File tmpFile = new File(inOutClassFile.getPath() + "tmp-out");
+ File tmpInOutClassFile = new File(inOutClassFile.getPath() + "tmp-in");
- new InstallSDE(inOutClassFile, attrFile, tmpFile, verbose);
+ // Workaround delayed file deletes on Windows using a tmp file name
+ if (!inOutClassFile.renameTo(tmpInOutClassFile)) {
+ throw new IOException("inOutClassFile.renameTo(tmpInOutClassFile) failed");
+ }
- if (!inOutClassFile.delete()) {
- throw new IOException("inOutClassFile.delete() failed");
+ new InstallSDE(tmpInOutClassFile, attrFile, tmpFile, verbose);
+
+ if (!tmpInOutClassFile.delete()) {
+ throw new IOException("tmpInOutClassFile.delete() failed");
}
if (!tmpFile.renameTo(inOutClassFile)) {
throw new IOException("tmpFile.renameTo(inOutClassFile) failed");
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/test/StressOptions.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/test/StressOptions.java Tue Jan 22 09:43:38 2019 -0500
@@ -79,7 +79,7 @@
* Create StressOptions with default settings.
*/
public StressOptions() {
- time = 60;
+ time = 30;
iterationsFactor = 1;
threadsFactor = 1;
runsFactor = 1;
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/README Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/README Tue Jan 22 09:43:38 2019 -0500
@@ -1,4 +1,4 @@
-Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -210,7 +210,7 @@
StressTest has some specific options:
-stressTime <long>
- Stress execution time in seconds (default: 60)
+ Stress execution time in seconds (default: 30)
-stressThreadsFactor <int>
Stress threads factor (default: 1)
--- a/test/hotspot/jtreg/vmTestbase/vm/share/options/package-info.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/hotspot/jtreg/vmTestbase/vm/share/options/package-info.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -98,7 +98,7 @@
public class StressOptions {
// [2]
@Option(name="stressTime",
- default_value="60",
+ default_value="30",
description="Stress time")
private long stressTime;
@@ -227,7 +227,7 @@
-iterations <number>
Number of iterations (mandatory)
-stressTime <number>
- Stress time (default 60)
+ Stress time (default 30)
-garbageProducer <garbage producer>
Garbage producer (default byteArr). Supported keys:
byteArr byte array producer
--- a/test/jdk/ProblemList.txt Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/ProblemList.txt Tue Jan 22 09:43:38 2019 -0500
@@ -1,6 +1,6 @@
###########################################################################
#
-# Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -516,6 +516,7 @@
java/lang/StringCoding/CheckEncodings.sh 7008363 generic-all
java/lang/ProcessHandle/InfoTest.java 8211847 aix-ppc64
+java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java 8151492 generic-all
############################################################################
@@ -583,7 +584,6 @@
java/nio/file/WatchService/LotsOfCancels.java 8188039 solaris-all Solaris 11
java/nio/file/WatchService/LotsOfEvents.java 7158947 solaris-all Solaris 11
-sun/nio/cs/OLD/TestIBMDB.java 8211841 aix-ppc64
############################################################################
@@ -838,8 +838,6 @@
com/sun/jdi/RepStep.java 8043571 generic-all
-com/sun/jdi/sde/SourceDebugExtensionTest.java 8158066 windows-all
-
com/sun/jdi/NashornPopFrameTest.java 8187143 generic-all
############################################################################
@@ -880,3 +878,4 @@
# jdk_jfr
jdk/jfr/event/io/TestInstrumentation.java 8202142 generic-all
+jdk/jfr/event/runtime/TestShutdownEvent.java 8217345 generic-all
--- a/test/jdk/com/sun/jdi/PrivateTransportTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/com/sun/jdi/PrivateTransportTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. 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
@@ -33,10 +33,12 @@
* @run main/othervm PrivateTransportTest
*/
+import jdk.test.lib.Platform;
import jdk.test.lib.Utils;
import jdk.test.lib.process.ProcessTools;
import java.io.IOException;
+import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -71,17 +73,8 @@
}
transportLib = foundLib.get();
}
- if (System.getProperty("os.name").startsWith("Windows")) {
- pathSep = ";";
- pathEnvVar = "PATH";
- } else {
- pathSep = ":";
- if (System.getProperty("os.name").equals("AIX")) {
- pathEnvVar = "LIBPATH";
- } else {
- pathEnvVar = "LD_LIBRARY_PATH";
- }
- }
+ pathEnvVar = Platform.sharedLibraryPathVariableName();
+ pathSep = File.pathSeparator;
}
private void test() throws Throwable {
--- a/test/jdk/com/sun/jdi/sde/InstallSDE.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/com/sun/jdi/sde/InstallSDE.java Tue Jan 22 09:43:38 2019 -0500
@@ -31,10 +31,18 @@
}
static void install(File inOutClassFile, File attrFile) throws IOException {
- File tmpFile = new File(inOutClassFile.getPath() + "tmp");
- new InstallSDE(inOutClassFile, attrFile, tmpFile);
- if (!inOutClassFile.delete()) {
- throw new IOException("inOutClassFile.delete() failed");
+ File tmpFile = new File(inOutClassFile.getPath() + "tmp-out");
+ File tmpInOutClassFile = new File(inOutClassFile.getPath() + "tmp-in");
+
+ // Workaround delayed file deletes on Windows using a tmp file name
+ if (!inOutClassFile.renameTo(tmpInOutClassFile)) {
+ throw new IOException("tmp copy of inOutClassFile failed");
+ }
+
+ new InstallSDE(tmpInOutClassFile, attrFile, tmpFile);
+
+ if (!tmpInOutClassFile.delete()) {
+ throw new IOException("tmpInOutClassFile.delete() failed");
}
if (!tmpFile.renameTo(inOutClassFile)) {
throw new IOException("tmpFile.renameTo(inOutClassFile) failed");
--- a/test/jdk/java/awt/Frame/UnfocusableMaximizedFrameResizablity/UnfocusableMaximizedFrameResizablity.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/awt/Frame/UnfocusableMaximizedFrameResizablity/UnfocusableMaximizedFrameResizablity.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -24,7 +24,7 @@
/*
@test
@key headful
- @bug 4980161 7158623 8204860 8208125
+ @bug 4980161 7158623 8204860 8208125 8215280
@summary Setting focusable window state to false makes the maximized frame resizable
@compile UnfocusableMaximizedFrameResizablity.java
@run main UnfocusableMaximizedFrameResizablity
@@ -47,8 +47,15 @@
private static void createAndShowFrame() throws Exception {
+ //MAXIMIZED_BOTH frame is resizable on Mac OS by default. Nothing to test.
+ if (System.getProperty("os.name").toLowerCase().startsWith("mac")) {
+ cleanup();
+ return;
+ }
+
//The MAXIMIZED_BOTH state is not supported by the toolkit. Nothing to test.
if (!Toolkit.getDefaultToolkit().isFrameStateSupported(Frame.MAXIMIZED_BOTH)) {
+ cleanup();
return;
}
@@ -93,7 +100,9 @@
}
private static void cleanup() {
- frame.dispose();
+ if (frame != null) {
+ frame.dispose();
+ }
isProgInterruption = true;
mainThread.interrupt();
}
--- a/test/jdk/java/lang/ProcessBuilder/DestroyTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/ProcessBuilder/DestroyTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. 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
@@ -28,27 +28,17 @@
* destroyForcibly.
*/
-import java.io.*;
-import java.util.ArrayList;
-import java.util.concurrent.TimeUnit;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStreamReader;
abstract class ProcessTest implements Runnable {
ProcessBuilder bldr;
Process p;
- public Process killProc(boolean force) throws Exception {
- if (force) {
- p.destroyForcibly();
- } else {
- p.destroy();
- }
- return p;
- }
-
- public boolean isAlive() {
- return p.isAlive();
- }
-
public void run() {
try {
String line;
@@ -63,7 +53,17 @@
}
}
- public abstract void runTest() throws Exception;
+ public void runTest() throws Exception {
+ // The destroy() method is not tested because
+ // the process streams are closed by the destroy() call.
+ // After a destroy() call, the process terminates with a
+ // SIGPIPE even if it was trapping SIGTERM.
+ // So skip the trap test and go straight to destroyForcibly().
+ p.destroyForcibly();
+ p.waitFor();
+ if (p.isAlive())
+ throw new RuntimeException("Problem terminating the process.");
+ }
}
class UnixTest extends ProcessTest {
@@ -78,16 +78,10 @@
void createScript(File processTrapScript) throws IOException {
processTrapScript.deleteOnExit();
- FileWriter fstream = new FileWriter(processTrapScript);
- try (BufferedWriter out = new BufferedWriter(fstream)) {
+ try (FileWriter fstream = new FileWriter(processTrapScript);
+ BufferedWriter out = new BufferedWriter(fstream)) {
out.write("#!/bin/bash\n" +
- "echo \\\"ProcessTrap.sh started: trapping SIGTERM/SIGINT\\\"\n" +
- "trap bashtrap SIGTERM SIGINT\n" +
- "bashtrap()\n" +
- "{\n" +
- " echo \\\"SIGTERM/SIGINT detected!\\\"\n" +
- "}\n" +
- "\n" +
+ "echo \\\"ProcessTrap.sh started\\\"\n" +
"while :\n" +
"do\n" +
" sleep 1;\n" +
@@ -96,33 +90,6 @@
processTrapScript.setExecutable(true, true);
}
- @Override
- public void runTest() throws Exception {
- killProc(false);
- Thread.sleep(1000);
- if (!p.isAlive())
- throw new RuntimeException("Process terminated prematurely.");
- killProc(true).waitFor();
- if (p.isAlive())
- throw new RuntimeException("Problem terminating the process.");
- }
-}
-
-class MacTest extends UnixTest {
- public MacTest(File script) throws IOException {
- super(script);
- }
-
- @Override
- public void runTest() throws Exception {
- // On Mac, it appears that when we close the processes streams
- // after a destroy() call, the process terminates with a
- // SIGPIPE even if it was trapping the SIGTERM, so as with
- // windows, we skip the trap test and go straight to destroyForcibly().
- killProc(true).waitFor();
- if (p.isAlive())
- throw new RuntimeException("Problem terminating the process.");
- }
}
class WindowsTest extends ProcessTest {
@@ -133,10 +100,6 @@
p = bldr.start();
}
- @Override
- public void runTest() throws Exception {
- killProc(true).waitFor();
- }
}
public class DestroyTest {
@@ -148,12 +111,11 @@
} else {
File userDir = new File(System.getProperty("user.dir", "."));
File tempFile = File.createTempFile("ProcessTrap-", ".sh", userDir);
- if (osName.startsWith("Linux") == true
+ if (osName.startsWith("Linux")
+ || osName.startsWith("Mac OS")
|| osName.equals("SunOS")
|| osName.equals("AIX")) {
return new UnixTest(tempFile);
- } else if (osName.startsWith("Mac OS")) {
- return new MacTest(tempFile);
}
}
return null;
--- a/test/jdk/java/lang/String/Indent.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/String/Indent.java Tue Jan 22 09:43:38 2019 -0500
@@ -67,7 +67,7 @@
Stream<String> stream = input.lines();
if (adjust > 0) {
final String spaces = " ".repeat(adjust);
- stream = stream.map(s -> s.isBlank() ? s : spaces + s);
+ stream = stream.map(s -> spaces + s);
} else if (adjust < 0) {
stream = stream.map(s -> s.substring(Math.min(-adjust, indexOfNonWhitespace(s))));
}
--- a/test/jdk/java/lang/constant/CondyDescTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/constant/CondyDescTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -67,7 +67,6 @@
private void testVarHandleDesc(DynamicConstantDesc<VarHandle> r, VarHandle vh) throws ReflectiveOperationException {
testSymbolicDesc(r);
- assertEquals(r.resolveConstantDesc(LOOKUP), vh);
assertEquals(vh.describeConstable().orElseThrow(), r);
}
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessBoolean.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -141,8 +141,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessByte.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -141,8 +141,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessChar.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -141,8 +141,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessDouble.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -141,8 +141,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessFloat.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -141,8 +141,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessInt.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -141,8 +141,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessLong.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -141,8 +141,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessShort.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -141,8 +141,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessString.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestAccessString.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -143,8 +143,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsChar.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsChar.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -93,8 +93,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -93,8 +93,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsFloat.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsFloat.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -93,8 +93,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -93,8 +93,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsLong.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsLong.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -93,8 +93,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsShort.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsShort.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -93,8 +93,6 @@
for (int j = 0; j < vhs1.length; j++) {
if (i == j) {
assertEquals(vhs1[i], vhs1[i]);
- assertEquals(vhs1[i], vhs2[i]);
- assertEquals(vhs1[i].hashCode(), vhs2[i].hashCode());
}
else {
assertNotEquals(vhs1[i], vhs1[j]);
--- a/test/jdk/java/math/BigDecimal/AddTests.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/math/BigDecimal/AddTests.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. 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
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 6362557
+ * @bug 6362557 8200698
* @summary Some tests of add(BigDecimal, mc)
* @author Joseph D. Darcy
*/
@@ -290,12 +290,35 @@
return failures;
}
+ private static int arithmeticExceptionTest() {
+ int failures = 0;
+ BigDecimal x;
+ try {
+ //
+ // The string representation "1e2147483647", which is equivalent
+ // to 10^Integer.MAX_VALUE, is used to create an augend with an
+ // unscaled value of 1 and a scale of -Integer.MAX_VALUE. The
+ // addend "1" has an unscaled value of 1 with a scale of 0. The
+ // addition is performed exactly and is specified to have a
+ // preferred scale of max(-Integer.MAX_VALUE, 0). As the scale
+ // of the result is 0, a value with Integer.MAX_VALUE + 1 digits
+ // would need to be created. Therefore the next statement is
+ // expected to overflow with an ArithmeticException.
+ //
+ x = new BigDecimal("1e2147483647").add(new BigDecimal(1));
+ failures++;
+ } catch (ArithmeticException ae) {
+ }
+ return failures;
+ }
+
public static void main(String argv[]) {
int failures = 0;
failures += extremaTests();
failures += roundingGradationTests();
failures += precisionConsistencyTest();
+ failures += arithmeticExceptionTest();
if (failures > 0) {
throw new RuntimeException("Incurred " + failures +
--- a/test/jdk/java/math/BigDecimal/Constructor.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/math/BigDecimal/Constructor.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. 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
@@ -23,20 +23,48 @@
/*
* @test
- * @bug 4259453
- * @summary Test string constructor of BigDecimal
+ * @bug 4259453 8200698
+ * @summary Test constructors of BigDecimal
+ * @library ..
+ * @run testng Constructor
*/
+
import java.math.BigDecimal;
+import org.testng.annotations.Test;
public class Constructor {
- public static void main(String[] args) throws Exception {
- boolean nfe = false;
+ @Test(expectedExceptions=NumberFormatException.class)
+ public void stringConstructor() {
+ BigDecimal bd = new BigDecimal("1.2e");
+ }
+
+ @Test(expectedExceptions=NumberFormatException.class)
+ public void charArrayConstructorNegativeOffset() {
+ BigDecimal bd = new BigDecimal(new char[5], -1, 4, null);
+ }
+
+ @Test(expectedExceptions=NumberFormatException.class)
+ public void charArrayConstructorNegativeLength() {
+ BigDecimal bd = new BigDecimal(new char[5], 0, -1, null);
+ }
+
+ @Test(expectedExceptions=NumberFormatException.class)
+ public void charArrayConstructorIntegerOverflow() {
try {
- BigDecimal bd = new BigDecimal("1.2e");
- } catch (NumberFormatException e) {
- nfe = true;
+ BigDecimal bd = new BigDecimal(new char[5], Integer.MAX_VALUE - 5,
+ 6, null);
+ } catch (NumberFormatException nfe) {
+ if (nfe.getCause() instanceof IndexOutOfBoundsException) {
+ throw new RuntimeException
+ ("NumberFormatException should not have a cause");
+ } else {
+ throw nfe;
+ }
}
- if (!nfe)
- throw new Exception("Didn't throw NumberFormatException");
+ }
+
+ @Test(expectedExceptions=NumberFormatException.class)
+ public void charArrayConstructorIndexOutOfBounds() {
+ BigDecimal bd = new BigDecimal(new char[5], 1, 5, null);
}
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/math/BigInteger/LargeValueExceptions.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,192 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @bug 8200698
+ * @summary Tests that exceptions are thrown for ops which would overflow
+ * @requires os.maxMemory >= 4g
+ * @run testng/othervm -Xmx4g LargeValueExceptions
+ */
+import java.math.BigInteger;
+import static java.math.BigInteger.ONE;
+import org.testng.annotations.Test;
+
+//
+// The intent of this test is to probe the boundaries between overflow and
+// non-overflow, principally for multiplication and squaring, specifically
+// the largest values which should not overflow and the smallest values which
+// should. The transition values used are not necessarily at the exact
+// boundaries but should be "close." Quite a few different values were used
+// experimentally before settling on the ones in this test. For multiplication
+// and squaring all cases are exercised: definite overflow and non-overflow
+// which can be detected "up front," and "indefinite" overflow, i.e., overflow
+// which cannot be detected up front so further calculations are required.
+//
+// Testing negative values is unnecessary. For both multiplication and squaring
+// the paths lead to the Toom-Cook algorithm where the signum is used only to
+// determine the sign of the result and not in the intermediate calculations.
+// This is also true for exponentiation.
+//
+// @Test annotations with optional element "enabled" set to "false" should
+// succeed when "enabled" is set to "true" but they take too to run in the
+// course of the typical regression test execution scenario.
+//
+public class LargeValueExceptions {
+ // BigInteger.MAX_MAG_LENGTH
+ private static final int MAX_INTS = 1 << 26;
+
+ // Number of bits corresponding to MAX_INTS
+ private static final long MAX_BITS = (0xffffffffL & MAX_INTS) << 5L;
+
+ // Half BigInteger.MAX_MAG_LENGTH
+ private static final int MAX_INTS_HALF = MAX_INTS / 2;
+
+ // --- squaring ---
+
+ // Largest no overflow determined by examining data lengths alone.
+ @Test(enabled=false)
+ public void squareNoOverflow() {
+ BigInteger x = ONE.shiftLeft(16*MAX_INTS - 1).subtract(ONE);
+ BigInteger y = x.multiply(x);
+ }
+
+ // Smallest no overflow determined by extra calculations.
+ @Test(enabled=false)
+ public void squareIndefiniteOverflowSuccess() {
+ BigInteger x = ONE.shiftLeft(16*MAX_INTS - 1);
+ BigInteger y = x.multiply(x);
+ }
+
+ // Largest overflow detected by extra calculations.
+ @Test(expectedExceptions=ArithmeticException.class,enabled=false)
+ public void squareIndefiniteOverflowFailure() {
+ BigInteger x = ONE.shiftLeft(16*MAX_INTS).subtract(ONE);
+ BigInteger y = x.multiply(x);
+ }
+
+ // Smallest overflow detected by examining data lengths alone.
+ @Test(expectedExceptions=ArithmeticException.class)
+ public void squareDefiniteOverflow() {
+ BigInteger x = ONE.shiftLeft(16*MAX_INTS);
+ BigInteger y = x.multiply(x);
+ }
+
+ // --- multiplication ---
+
+ // Largest no overflow determined by examining data lengths alone.
+ @Test(enabled=false)
+ public void multiplyNoOverflow() {
+ final int halfMaxBits = MAX_INTS_HALF << 5;
+
+ BigInteger x = ONE.shiftLeft(halfMaxBits).subtract(ONE);
+ BigInteger y = ONE.shiftLeft(halfMaxBits - 1).subtract(ONE);
+ BigInteger z = x.multiply(y);
+ }
+
+ // Smallest no overflow determined by extra calculations.
+ @Test(enabled=false)
+ public void multiplyIndefiniteOverflowSuccess() {
+ BigInteger x = ONE.shiftLeft((int)(MAX_BITS/2) - 1);
+ long m = MAX_BITS - x.bitLength();
+
+ BigInteger y = ONE.shiftLeft((int)(MAX_BITS/2) - 1);
+ long n = MAX_BITS - y.bitLength();
+
+ if (m + n != MAX_BITS) {
+ throw new RuntimeException("Unexpected leading zero sum");
+ }
+
+ BigInteger z = x.multiply(y);
+ }
+
+ // Largest overflow detected by extra calculations.
+ @Test(expectedExceptions=ArithmeticException.class,enabled=false)
+ public void multiplyIndefiniteOverflowFailure() {
+ BigInteger x = ONE.shiftLeft((int)(MAX_BITS/2)).subtract(ONE);
+ long m = MAX_BITS - x.bitLength();
+
+ BigInteger y = ONE.shiftLeft((int)(MAX_BITS/2)).subtract(ONE);
+ long n = MAX_BITS - y.bitLength();
+
+ if (m + n != MAX_BITS) {
+ throw new RuntimeException("Unexpected leading zero sum");
+ }
+
+ BigInteger z = x.multiply(y);
+ }
+
+ // Smallest overflow detected by examining data lengths alone.
+ @Test(expectedExceptions=ArithmeticException.class)
+ public void multiplyDefiniteOverflow() {
+ // multiply by 4 as MAX_INTS_HALF refers to ints
+ byte[] xmag = new byte[4*MAX_INTS_HALF];
+ xmag[0] = (byte)0xff;
+ BigInteger x = new BigInteger(1, xmag);
+
+ byte[] ymag = new byte[4*MAX_INTS_HALF + 1];
+ ymag[0] = (byte)0xff;
+ BigInteger y = new BigInteger(1, ymag);
+
+ BigInteger z = x.multiply(y);
+ }
+
+ // --- exponentiation ---
+
+ @Test(expectedExceptions=ArithmeticException.class)
+ public void powOverflow() {
+ BigInteger.TEN.pow(Integer.MAX_VALUE);
+ }
+
+ @Test(expectedExceptions=ArithmeticException.class)
+ public void powOverflow1() {
+ int shift = 20;
+ int exponent = 1 << shift;
+ BigInteger x = ONE.shiftLeft((int)(MAX_BITS / exponent));
+ BigInteger y = x.pow(exponent);
+ }
+
+ @Test(expectedExceptions=ArithmeticException.class)
+ public void powOverflow2() {
+ int shift = 20;
+ int exponent = 1 << shift;
+ BigInteger x = ONE.shiftLeft((int)(MAX_BITS / exponent)).add(ONE);
+ BigInteger y = x.pow(exponent);
+ }
+
+ @Test(expectedExceptions=ArithmeticException.class,enabled=false)
+ public void powOverflow3() {
+ int shift = 20;
+ int exponent = 1 << shift;
+ BigInteger x = ONE.shiftLeft((int)(MAX_BITS / exponent)).subtract(ONE);
+ BigInteger y = x.pow(exponent);
+ }
+
+ @Test(enabled=false)
+ public void powOverflow4() {
+ int shift = 20;
+ int exponent = 1 << shift;
+ BigInteger x = ONE.shiftLeft((int)(MAX_BITS / exponent - 1)).add(ONE);
+ BigInteger y = x.pow(exponent);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/ALPNFailureTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,197 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @summary This test will timeout if the ALPN CF is not completed
+ * when a 'Connection reset by peer' exception is raised
+ * during the handshake.
+ * @bug 8217094
+ * @modules java.net.http
+ * java.logging
+ * @build ALPNFailureTest
+ * @run main/othervm -Djdk.internal.httpclient.debug=true ALPNFailureTest HTTP_1_1
+ * @run main/othervm ALPNFailureTest HTTP_2
+ */
+import javax.net.ServerSocketFactory;
+import javax.net.ssl.SSLContext;
+import java.io.Closeable;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetAddress;
+import java.net.ProxySelector;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.net.SocketTimeoutException;
+import java.net.StandardSocketOptions;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+import java.net.http.HttpTimeoutException;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
+
+public class ALPNFailureTest {
+
+
+ public static void main(String[] args) throws Exception{
+ if (args == null || args.length == 0) {
+ args = new String[] {HttpClient.Version.HTTP_1_1.name()};
+ }
+ ServerSocket socket = ServerSocketFactory.getDefault()
+ .createServerSocket(0, 10, InetAddress.getLoopbackAddress());
+
+ test(socket, null, null, args);
+ }
+
+ public static void test(ServerSocket socket, SSLContext context,
+ ProxySelector ps, String... args)
+ throws Exception
+ {
+ System.out.println("Tests a race condition in SSLTube/SSLFlowDelegate");
+ System.out.println("This test will timeout if the ALPN CF is not completed" +
+ " when a 'Connection reset by peer' exception is raised" +
+ " during the handshake - see 8217094.");
+
+ URI uri = new URI("https", null,
+ socket.getInetAddress().getHostAddress(), socket.getLocalPort(),
+ "/ReadOnlyServer/https_1_1/", null, null);
+ HttpRequest request1 = HttpRequest.newBuilder(uri)
+ .GET().build();
+ HttpRequest request2 = HttpRequest.newBuilder(uri)
+ .POST(HttpRequest.BodyPublishers.ofString("foo")).build();
+
+ ReadOnlyServer server = new ReadOnlyServer(socket);
+ Thread serverThread = new Thread(server, "ServerThread");
+ serverThread.start();
+ try {
+ for (var arg : args) {
+ var version = HttpClient.Version.valueOf(arg);
+ HttpClient.Builder builder = HttpClient.newBuilder()
+ .version(version);
+ if (ps != null) builder.proxy(ps);
+ if (context != null) builder.sslContext(context);
+
+ HttpClient client = builder.build();
+ for (var request : List.of(request1, request2)) {
+ System.out.println("Server is " + socket.getLocalSocketAddress()
+ + ", Version is " + version + ", Method is " + request.method()
+ + (ps == null ? ", no proxy"
+ : (", Proxy is " + ps.select(request.uri()))));
+ try {
+ HttpResponse<String> resp =
+ client.send(request, HttpResponse.BodyHandlers.ofString());
+ throw new AssertionError(
+ "Client should not have received any response: " + resp);
+ } catch (HttpTimeoutException x) {
+ System.out.println("Unexpected " + x);
+ x.printStackTrace();
+ throw new AssertionError("Unexpected exception " + x, x);
+ } catch (Exception x) {
+ // We expect IOException("Connection reset by peer"), but
+ // any exception would do: we just don't want to linger
+ // forever.
+ System.err.println("Client got expected exception: " + x);
+ x.printStackTrace(System.out);
+ }
+ }
+ }
+ } finally {
+ server.close();
+ }
+ }
+
+ public static class ReadOnlyServer implements Runnable, Closeable {
+ final ServerSocket socket;
+ final AtomicReference<Throwable> errorRef = new AtomicReference<>();
+ final AtomicBoolean closing = new AtomicBoolean();
+ ReadOnlyServer(ServerSocket socket) {
+ this.socket = socket;
+ }
+
+ @Override
+ public void run() {
+ int count = 0;
+ int all = 0;
+ try {
+ System.out.println("Server starting");
+ while (!closing.get()) {
+ all += count;
+ count = 0;
+ try (Socket client = socket.accept()) {
+ client.setSoTimeout(1000);
+ client.setOption(StandardSocketOptions.SO_LINGER, 0);
+ InputStream is = client.getInputStream();
+ OutputStream os = client.getOutputStream();
+ boolean drain = true;
+ int timeouts = 0;
+ // now read some byte from the ClientHello
+ // and abruptly close the socket.
+ while (drain) {
+ try {
+ is.read();
+ count++;
+ if (count >= 50) {
+ drain = false;
+ }
+ } catch (SocketTimeoutException so) {
+ // make sure we read something
+ if (count > 0) timeouts++;
+ if (timeouts == 5) {
+ // presumably the client is
+ // waiting for us to answer...
+ // but we should not reach here.
+ drain = false;
+ }
+ }
+ }
+ System.out.println("Got " + count + " bytes");
+ }
+ }
+ } catch (Throwable t) {
+ if (!closing.get()) {
+ errorRef.set(t);
+ t.printStackTrace();
+ }
+ } finally {
+ System.out.println("Server existing after reading " + (all + count) + " bytes");
+ close();
+ }
+
+ }
+
+ @Override
+ public void close() {
+ if (closing.getAndSet(true))
+ return; // already closed
+ try {
+ socket.close();
+ } catch (IOException x) {
+ System.out.println("Exception while closing: " + x);
+ }
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/ALPNProxyFailureTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @summary This test will timeout if the ALPN CF is not completed
+ * when a 'Connection reset by peer' exception is raised
+ * during the handshake.
+ * @bug 8217094
+ * @library /test/lib http2/server
+ * @build jdk.test.lib.net.SimpleSSLContext HttpServerAdapters DigestEchoServer
+ * ALPNFailureTest ALPNProxyFailureTest
+ * @modules java.net.http/jdk.internal.net.http.common
+ * java.net.http/jdk.internal.net.http.frame
+ * java.net.http/jdk.internal.net.http.hpack
+ * java.logging
+ * java.base/sun.net.www.http
+ * java.base/sun.net.www
+ * java.base/sun.net
+ * @build ALPNFailureTest
+ * @run main/othervm -Djdk.internal.httpclient.debug=true -Dtest.nolinger=true ALPNProxyFailureTest HTTP_1_1
+ * @run main/othervm -Dtest.nolinger=true ALPNProxyFailureTest HTTP_2
+ */
+import javax.net.ServerSocketFactory;
+import javax.net.ssl.SSLContext;
+import jdk.test.lib.net.SimpleSSLContext;
+import java.net.InetAddress;
+import java.net.ProxySelector;
+import java.net.ServerSocket;
+import java.net.http.HttpClient;
+
+public class ALPNProxyFailureTest extends ALPNFailureTest {
+
+ static final SSLContext context;
+ static {
+ try {
+ context = new SimpleSSLContext().get();
+ SSLContext.setDefault(context);
+ } catch (Exception x) {
+ throw new ExceptionInInitializerError(x);
+ }
+ }
+
+ public static void main(String[] args) throws Exception{
+ if (args == null || args.length == 0) {
+ args = new String[] {HttpClient.Version.HTTP_1_1.name()};
+ }
+ ServerSocket socket = ServerSocketFactory.getDefault()
+ .createServerSocket(0, 10, InetAddress.getLoopbackAddress());
+
+ DigestEchoServer.TunnelingProxy proxy = DigestEchoServer.createHttpsProxyTunnel(
+ DigestEchoServer.HttpAuthSchemeType.NONE);
+ ProxySelector ps = ProxySelector.of(proxy.getProxyAddress());
+
+ try {
+ test(socket, context, ps, args);
+ } finally {
+ proxy.stop();
+ }
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/AuthSchemesTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,159 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/**
+ * @test
+ * @bug 8217237
+ * @modules java.net.http
+ * @run main/othervm AuthSchemesTest
+ * @summary HttpClient does not deal well with multi-valued WWW-Authenticate challenge headers
+ */
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.*;
+import java.net.Authenticator;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+
+public class AuthSchemesTest {
+ static class BasicServer extends Thread {
+
+ ServerSocket server;
+
+ Socket s;
+ InputStream is;
+ OutputStream os;
+ static final String RESPONSE = "Hello world";
+ static final String respLength = Integer.toString(RESPONSE.length());
+ static final String realm = "wally world";
+
+ String reply1 = "HTTP/1.1 401 Unauthorized\r\n"+
+ "WWW-Authenticate: BarScheme\r\n" +
+ "WWW-Authenticate: FooScheme realm=\""+realm+"\"\r\n" +
+ "WWW-Authenticate: Basic realm=\""+realm+"\"\r\n" +
+ "WWW-Authenticate: WoofScheme\r\n\r\n";
+
+ String reply2 = "HTTP/1.1 200 OK\r\n"+
+ "Date: Mon, 15 Jan 2001 12:18:21 GMT\r\n" +
+ "Server: Apache/1.3.14 (Unix)\r\n" +
+ "Connection: close\r\n" +
+ "Content-Type: text/html; charset=iso-8859-1\r\n" +
+ "Content-Length: " + respLength + "\r\n\r\n";
+
+ BasicServer(ServerSocket s) {
+ server = s;
+ }
+
+ String response() {
+ return RESPONSE;
+ }
+
+ void readAll(Socket s) throws IOException {
+ byte[] buf = new byte [128];
+ InputStream is = s.getInputStream();
+ s.setSoTimeout(1000);
+ try {
+ while (is.read(buf) > 0) ;
+ } catch (SocketTimeoutException x) { }
+ }
+
+ public void run() {
+ try {
+ System.out.println("Server 1: accept");
+ s = server.accept();
+ System.out.println("accepted");
+ os = s.getOutputStream();
+ os.write(reply1.getBytes());
+ readAll(s);
+ s.close();
+
+ System.out.println("Server 2: accept");
+ s = server.accept();
+ System.out.println("accepted");
+ os = s.getOutputStream();
+ os.write((reply2+RESPONSE).getBytes());
+ readAll(s);
+ s.close();
+
+ }
+ catch (Exception e) {
+ System.out.println(e);
+ }
+ finished();
+ }
+
+ boolean isfinished = false;
+
+ public synchronized void finished() {
+ isfinished = true;
+ notifyAll();
+ }
+
+ public synchronized void waitforfinish() {
+ while (!isfinished) {
+ try {
+ wait();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ static class Auth extends Authenticator {
+ protected PasswordAuthentication getPasswordAuthentication() {
+ return new PasswordAuthentication("user", new char[] {'a','b','c'});
+ }
+ }
+
+ public static void main(String[] args) throws Exception {
+ ServerSocket serversocket = null;
+ BasicServer server = null;
+ Auth authenticator = new Auth();
+
+ serversocket = new ServerSocket(0, 10, InetAddress.getLoopbackAddress());
+ int port = serversocket.getLocalPort();
+ server = new BasicServer(serversocket);
+
+ HttpClient client = HttpClient.newBuilder()
+ .authenticator(authenticator)
+ .build();
+ server.start();
+ URI uri = URI.create("http://127.0.0.1:" + port + "/foo");
+ HttpRequest request = HttpRequest.newBuilder(uri)
+ .GET()
+ .build();
+ HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
+ if (response.statusCode() != 200 || !response.body().equals(server.response())) {
+ System.out.println("Status code = " + response.statusCode());
+ serversocket.close();
+ throw new RuntimeException("Test failed");
+ }
+ serversocket.close();
+ server.waitforfinish();
+ System.out.println("OK");
+ }
+}
--- a/test/jdk/java/net/httpclient/DigestEchoServer.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/net/httpclient/DigestEchoServer.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -41,6 +41,7 @@
import java.net.PasswordAuthentication;
import java.net.ServerSocket;
import java.net.Socket;
+import java.net.StandardSocketOptions;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
@@ -77,6 +78,8 @@
public static final boolean DEBUG =
Boolean.parseBoolean(System.getProperty("test.debug", "false"));
+ public static final boolean NO_LINGER =
+ Boolean.parseBoolean(System.getProperty("test.nolinger", "false"));
public enum HttpAuthType {
SERVER, PROXY, SERVER307, PROXY305
/* add PROXY_AND_SERVER and SERVER_PROXY_NONE */
@@ -1603,6 +1606,11 @@
Socket toClose;
try {
toClose = clientConnection = ss.accept();
+ if (NO_LINGER) {
+ // can be useful to trigger "Connection reset by peer"
+ // errors on the client side.
+ clientConnection.setOption(StandardSocketOptions.SO_LINGER, 0);
+ }
} catch (IOException io) {
if (DEBUG || !stopped) io.printStackTrace(System.out);
break;
--- a/test/jdk/java/net/httpclient/Response204.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/net/httpclient/Response204.java Tue Jan 22 09:43:38 2019 -0500
@@ -23,7 +23,7 @@
/**
* @test
- * @bug 8211437
+ * @bug 8211437 8216974
* @run main/othervm -Djdk.httpclient.HttpClient.log=headers,requests Response204
* @summary
*/
@@ -35,6 +35,7 @@
import java.net.http.HttpResponse;
import java.util.*;
import java.util.concurrent.*;
+import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.*;
import java.io.*;
import java.net.*;
@@ -44,6 +45,9 @@
*/
public class Response204 {
+ // check for 8216974
+ static final AtomicReference<Exception> serverError = new AtomicReference<>();
+
public static void main (String[] args) throws Exception {
Logger logger = Logger.getLogger ("com.sun.net.httpserver");
ConsoleHandler c = new ConsoleHandler();
@@ -80,6 +84,10 @@
} catch (IOException ioe) {
System.out.println("OK 2");
}
+
+ // check for 8216974
+ Exception error = serverError.get();
+ if (error != null) throw error;
} finally {
server.stop(2);
executor.shutdown();
@@ -90,17 +98,33 @@
static class Handler implements HttpHandler {
volatile int counter = 0;
+ volatile InetSocketAddress remote;
public void handle(HttpExchange t)
throws IOException {
InputStream is = t.getRequestBody();
Headers map = t.getRequestHeaders();
Headers rmap = t.getResponseHeaders();
+ if (counter % 2 == 0) {
+ // store the client's address
+ remote = t.getRemoteAddress();
+ System.out.println("Server received request from: " + remote);
+ }
while (is.read() != -1) ;
is.close();
- if (counter++ == 1) {
+ if ((++counter) % 2 == 0) {
// pretend there is a body
rmap.set("Content-length", "10");
+ // 8216974: the client should have returned the connection
+ // to the pool and should therefore have the same
+ // remote address.
+ if (!t.getRemoteAddress().equals(remote)) {
+ String msg = "Unexpected remote address: "
+ + t.getRemoteAddress()
+ + " - should have been " + remote;
+ System.out.println(msg);
+ serverError.set(new Exception(msg));
+ }
}
t.sendResponseHeaders(204, -1);
t.close();
--- a/test/jdk/java/net/httpclient/ShortResponseBody.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/net/httpclient/ShortResponseBody.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -23,6 +23,7 @@
/*
* @test
+ * @bug 8216498
* @summary Tests Exception detail message when too few response bytes are
* received before a socket exception or eof.
* @library /test/lib
@@ -61,6 +62,7 @@
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLHandshakeException;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLParameters;
import javax.net.ssl.SSLSocket;
@@ -224,8 +226,7 @@
fail("UNEXPECTED RESPONSE: " + response);
} catch (IOException ioe) {
out.println("Caught expected exception:" + ioe);
- String msg = ioe.getMessage();
- assertTrue(msg.contains(expectedMsg), "exception msg:[" + msg + "]");
+ assertExpectedMessage(request, ioe, expectedMsg);
// synchronous API must have the send method on the stack
assertSendMethodOnStack(ioe);
assertNoConnectionExpiredException(ioe);
@@ -252,8 +253,7 @@
if (ee.getCause() instanceof IOException) {
IOException ioe = (IOException) ee.getCause();
out.println("Caught expected exception:" + ioe);
- String msg = ioe.getMessage();
- assertTrue(msg.contains(expectedMsg), "exception msg:[" + msg + "]");
+ assertExpectedMessage(request, ioe, expectedMsg);
assertNoConnectionExpiredException(ioe);
} else {
throw ee;
@@ -335,15 +335,13 @@
fail("UNEXPECTED RESPONSE: " + response);
} catch (IOException ioe) {
out.println("Caught expected exception:" + ioe);
- String msg = ioe.getMessage();
List<String> expectedMessages = new ArrayList<>();
expectedMessages.add(expectedMsg);
MSGS_ORDER.stream().takeWhile(s -> !s.equals(expectedMsg))
.forEach(expectedMessages::add);
- assertTrue(expectedMessages.stream().anyMatch(s -> msg.indexOf(s) != -1),
- "exception msg:[" + msg + "], not in [" + expectedMessages);
+ assertExpectedMessage(request, ioe, expectedMessages);
// synchronous API must have the send method on the stack
assertSendMethodOnStack(ioe);
assertNoConnectionExpiredException(ioe);
@@ -379,8 +377,7 @@
MSGS_ORDER.stream().takeWhile(s -> !s.equals(expectedMsg))
.forEach(expectedMessages::add);
- assertTrue(expectedMessages.stream().anyMatch(s -> msg.indexOf(s) != -1),
- "exception msg:[" + msg + "], not in [" + expectedMessages);
+ assertExpectedMessage(request, ioe, expectedMessages);
assertNoConnectionExpiredException(ioe);
} else {
throw ee;
@@ -389,6 +386,31 @@
}
}
+
+ void assertExpectedMessage(HttpRequest request, Throwable t, String expected) {
+ if (request.uri().getScheme().equalsIgnoreCase("https")
+ && (t instanceof SSLHandshakeException)) {
+ // OK
+ out.println("Skipping expected " + t);
+ } else {
+ String msg = t.getMessage();
+ assertTrue(msg.contains(expected),
+ "exception msg:[" + msg + "]");
+ }
+ }
+
+ void assertExpectedMessage(HttpRequest request, Throwable t, List<String> expected) {
+ if (request.uri().getScheme().equalsIgnoreCase("https")
+ && (t instanceof SSLHandshakeException)) {
+ // OK
+ out.println("Skipping expected " + t);
+ } else {
+ String msg = t.getMessage();
+ assertTrue(expected.stream().anyMatch(msg::contains),
+ "exception msg:[" + msg + "] not in " + Arrays.asList(expected));
+ }
+ }
+
// Asserts that the "send" method appears in the stack of the given
// exception. The synchronous API must contain the send method on the stack.
static void assertSendMethodOnStack(IOException ioe) {
--- a/test/jdk/java/nio/channels/SocketChannel/SocketOptionTests.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/nio/channels/SocketChannel/SocketOptionTests.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. 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
@@ -32,14 +32,15 @@
* @run main/othervm --limit-modules=java.base SocketOptionTests
*/
-import java.nio.channels.*;
-import java.net.*;
import java.io.IOException;
-import java.util.*;
+import java.net.InetSocketAddress;
+import java.net.SocketOption;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.SocketChannel;
+import java.util.Set;
+import sun.net.ext.ExtendedSocketOptions;
import static java.net.StandardSocketOptions.*;
import static jdk.net.ExtendedSocketOptions.*;
-import static sun.net.ext.ExtendedSocketOptions.SOCK_STREAM;
-import sun.net.ext.ExtendedSocketOptions;
public class SocketOptionTests {
@@ -52,26 +53,26 @@
}
public static void main(String[] args) throws IOException {
- SocketChannel sc = SocketChannel.open();
-
- // check supported options
- Set<SocketOption<?>> options = sc.supportedOptions();
+ try (var channel = SocketChannel.open()) {
+ test(channel);
+ }
+ }
- List<? extends SocketOption> extOptions = List.of(TCP_KEEPCOUNT,
- TCP_KEEPIDLE, TCP_KEEPINTERVAL);
- List<? extends SocketOption> expected;
- boolean keepAliveOptsupported;
- if (keepAliveOptsupported=ExtendedSocketOptions.options(SOCK_STREAM)
- .containsAll(extOptions)) {
- expected = Arrays.asList(SO_SNDBUF, SO_RCVBUF, SO_KEEPALIVE,
+ static void test(SocketChannel sc) throws IOException {
+ Set<SocketOption<?>> extendedOptions = ExtendedSocketOptions.clientSocketOptions();
+ Set<SocketOption<?>> keepAliveOptions = Set.of(TCP_KEEPCOUNT, TCP_KEEPIDLE, TCP_KEEPINTERVAL);
+ boolean keepAliveOptionsSupported = extendedOptions.containsAll(keepAliveOptions);
+ Set<SocketOption<?>> expected;
+ if (keepAliveOptionsSupported) {
+ expected = Set.of(SO_SNDBUF, SO_RCVBUF, SO_KEEPALIVE,
SO_REUSEADDR, SO_LINGER, TCP_NODELAY, TCP_KEEPCOUNT,
TCP_KEEPIDLE, TCP_KEEPINTERVAL);
} else {
- expected = Arrays.asList(SO_SNDBUF, SO_RCVBUF, SO_KEEPALIVE,
+ expected = Set.of(SO_SNDBUF, SO_RCVBUF, SO_KEEPALIVE,
SO_REUSEADDR, SO_LINGER, TCP_NODELAY);
}
for (SocketOption opt: expected) {
- if (!options.contains(opt))
+ if (!sc.supportedOptions().contains(opt))
throw new RuntimeException(opt.name() + " should be supported");
}
@@ -133,7 +134,7 @@
throw new RuntimeException("expected linger to be disabled");
sc.setOption(TCP_NODELAY, true); // can't check
sc.setOption(TCP_NODELAY, false); // can't check
- if (keepAliveOptsupported) {
+ if (keepAliveOptionsSupported) {
sc.setOption(TCP_KEEPIDLE, 1234);
checkOption(sc, TCP_KEEPIDLE, 1234);
sc.setOption(TCP_KEEPINTERVAL, 123);
@@ -161,4 +162,4 @@
} catch (ClosedChannelException x) {
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -48,6 +48,7 @@
import jdk.test.lib.JDKToolFinder;
import jdk.test.lib.Utils;
import jdk.test.lib.process.ProcessTools;
+import jdk.test.lib.Platform;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
@@ -67,7 +68,7 @@
private static final String ARCH = System.getProperty("os.arch");
private static final String OS_ARCH = ARCH.equals("i386") ? "i586" : ARCH;
- private static final Path LD_LIBRARY_PATH
+ private static final Path libraryPath
= Paths.get(System.getProperty("java.library.path"));
@DataProvider
@@ -98,7 +99,8 @@
@Test(dataProvider = "testCases")
public void test(String desc, List<String> opts) throws Throwable {
- System.out.println("LD_LIBRARY_PATH=" + LD_LIBRARY_PATH);
+ String pathVar = Platform.sharedLibraryPathVariableName();
+ System.out.println(pathVar + "=" + libraryPath);
List<String> args = new ArrayList<>();
args.add(JDKToolFinder.getJDKTool("java"));
@@ -111,9 +113,8 @@
Map<String, String> env = pb.environment();
env.put("CLASSPATH", TEST_CLASSES);
- env.put("LD_LIBRARY_PATH", LD_LIBRARY_PATH.toString());
+ env.put(pathVar, libraryPath.toString());
- ProcessTools.executeCommand(pb)
- .shouldHaveExitValue(0);
+ ProcessTools.executeCommand(pb).shouldHaveExitValue(0);
}
}
--- a/test/jdk/java/nio/file/Files/Misc.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/java/nio/file/Files/Misc.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -22,7 +22,7 @@
*/
/* @test
- * @bug 4313887 6838333 8005566 8032220
+ * @bug 4313887 6838333 8005566 8032220 8215467
* @summary Unit test for miscellenous methods in java.nio.file.Files
* @library ..
*/
@@ -102,6 +102,18 @@
} finally {
delete(file);
}
+ Path dir = tmpdir.resolve("hidden");
+ createDirectory(dir);
+ try {
+ setAttribute(dir, "dos:hidden", true);
+ try {
+ assertTrue(isHidden(dir));
+ } finally {
+ setAttribute(dir, "dos:hidden", false);
+ }
+ } finally {
+ delete(dir);
+ }
} else {
assertTrue(isHidden(file));
}
--- a/test/jdk/javax/net/ssl/DTLS/DTLSBufferOverflowUnderflowTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLS/DTLSBufferOverflowUnderflowTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS buffer overflow and underflow status when dealing with
* application data.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.base/sun.security.util
--- a/test/jdk/javax/net/ssl/DTLS/DTLSDataExchangeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLS/DTLSDataExchangeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS application data exchange using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLS/DTLSEnginesClosureTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLS/DTLSEnginesClosureTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS engines closing using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLS/DTLSHandshakeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLS/DTLSHandshakeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS engines handshake using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLS/DTLSHandshakeWithReplicatedPacketsTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLS/DTLSHandshakeWithReplicatedPacketsTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS engines handshake using each of the supported
* cipher suites with replicated packets check.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLS/DTLSMFLNTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLS/DTLSMFLNTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing DTLS engines handshake using each of the supported
* cipher suites with different maximum fragment length. Testing of
* MFLN extension.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLS/DTLSNotEnabledRC4Test.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLS/DTLSNotEnabledRC4Test.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -25,7 +25,7 @@
* @test
* @bug 8043758
* @summary Testing DTLS engines do not enable RC4 ciphers by default.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* java.security.jgss/sun.security.jgss.krb5
* java.security.jgss/sun.security.krb5:+open
--- a/test/jdk/javax/net/ssl/DTLS/DTLSRehandshakeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLS/DTLSRehandshakeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS engines re-handshaking using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLS/DTLSRehandshakeWithDataExTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLS/DTLSRehandshakeWithDataExTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing DTLS engines re-handshaking using each of the supported
* cipher suites with application data exchange before and after
* re-handshake and closing of the engines.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLS/DTLSUnsupportedCiphersTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLS/DTLSUnsupportedCiphersTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing that try to enable unsupported ciphers
* causes IllegalArgumentException.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* java.security.jgss/sun.security.jgss.krb5
* java.security.jgss/sun.security.krb5:+open
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10BufferOverflowUnderflowTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10BufferOverflowUnderflowTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS buffer overflow and underflow status when dealing with
* application data.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10DataExchangeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10DataExchangeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS application data exchange using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10EnginesClosureTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10EnginesClosureTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS engines closing using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10HandshakeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10HandshakeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS engines handshake using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10HandshakeWithReplicatedPacketsTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10HandshakeWithReplicatedPacketsTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS engines handshake using each of the supported
* cipher suites with replicated packets check.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /javax/net/ssl/DTLS
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /javax/net/ssl/DTLS /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10MFLNTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10MFLNTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing DTLS engines handshake using each of the supported
* cipher suites with different maximum fragment length. Testing of
* MFLN extension.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10NotEnabledRC4Test.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10NotEnabledRC4Test.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -25,7 +25,7 @@
* @test
* @bug 8043758
* @summary Testing DTLS engines do not enable RC4 ciphers by default.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* java.security.jgss/sun.security.jgss.krb5
* java.security.jgss/sun.security.krb5:+open
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10RehandshakeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10RehandshakeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing DTLS engines re-handshaking using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10RehandshakeWithDataExTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10RehandshakeWithDataExTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing DTLS engines re-handshaking using each of the supported
* cipher suites with application data exchange before and after
* re-handshake and closing of the engines.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10SequenceNumberTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10SequenceNumberTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing DTLS records sequence number property support in application
* data exchange.
* @key randomness
- * @library /sun/security/krb5/auto /lib/testlibrary /javax/net/ssl/TLSCommon /javax/net/ssl/DTLS
+ * @library /sun/security/krb5/auto /lib/testlibrary /javax/net/ssl/TLSCommon /javax/net/ssl/DTLS /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/DTLSv10/DTLSv10UnsupportedCiphersTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/DTLSv10/DTLSv10UnsupportedCiphersTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8043758
* @summary Testing that try to enable unsupported ciphers
* causes IllegalArgumentException.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* java.security.jgss/sun.security.jgss.krb5
* java.security.jgss/sun.security.krb5:+open
--- a/test/jdk/javax/net/ssl/TLS/TLSDataExchangeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLS/TLSDataExchangeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS application data exchange using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLS/TLSEnginesClosureTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLS/TLSEnginesClosureTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS engines closing using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLS/TLSHandshakeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLS/TLSHandshakeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS engines handshake using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLS/TLSMFLNTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLS/TLSMFLNTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing TLS engines handshake using each of the supported
* cipher suites with different maximum fragment length. Testing of
* MFLN extension.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLS/TLSNotEnabledRC4Test.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLS/TLSNotEnabledRC4Test.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -25,7 +25,7 @@
* @test
* @bug 8085979
* @summary Testing TLS engines do not enable RC4 ciphers by default.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* java.security.jgss/sun.security.jgss.krb5
* java.security.jgss/sun.security.krb5:+open
--- a/test/jdk/javax/net/ssl/TLS/TLSRehandshakeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLS/TLSRehandshakeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS engines re-handshaking using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLS/TLSRehandshakeWithDataExTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLS/TLSRehandshakeWithDataExTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing TLS engines re-handshaking using each of the supported
* cipher suites with application data exchange before and after
* re-handshake and closing of the engines.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLS/TLSUnsupportedCiphersTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLS/TLSUnsupportedCiphersTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing that try to enable unsupported ciphers
* causes IllegalArgumentException.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* java.security.jgss/sun.security.jgss.krb5
* java.security.jgss/sun.security.krb5:+open
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/javax/net/ssl/TLSCommon/KeyAlgorithm.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * Key algorithms.
+ */
+public enum KeyAlgorithm {
+
+ DSA("DSA"),
+ RSA("RSA"),
+ EC("EC"),
+ RSASSAPSS("RSASSA-PSS");
+
+ public final String name;
+
+ private KeyAlgorithm(String name) {
+ this.name = name;
+ }
+}
--- a/test/jdk/javax/net/ssl/TLSv1/TLSDataExchangeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv1/TLSDataExchangeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS application data exchange using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv1/TLSEnginesClosureTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv1/TLSEnginesClosureTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS engines closing using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv1/TLSHandshakeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv1/TLSHandshakeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS engines handshake using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv1/TLSMFLNTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv1/TLSMFLNTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing TLS engines handshake using each of the supported
* cipher suites with different maximum fragment length. Testing of
* MFLN extension.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv1/TLSNotEnabledRC4Test.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv1/TLSNotEnabledRC4Test.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -25,7 +25,7 @@
* @test
* @bug 8085979
* @summary Testing TLS engines do not enable RC4 ciphers by default.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* java.security.jgss/sun.security.jgss.krb5
* java.security.jgss/sun.security.krb5:+open
--- a/test/jdk/javax/net/ssl/TLSv1/TLSRehandshakeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv1/TLSRehandshakeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS engines re-handshaking using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv1/TLSRehandshakeWithDataExTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv1/TLSRehandshakeWithDataExTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing TLS engines re-handshaking using each of the supported
* cipher suites with application data exchange before and after
* re-handshake and closing of the engines.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv1/TLSUnsupportedCiphersTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv1/TLSUnsupportedCiphersTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing that try to enable unsupported ciphers
* causes IllegalArgumentException.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* java.security.jgss/sun.security.jgss.krb5
* java.security.jgss/sun.security.krb5:+open
--- a/test/jdk/javax/net/ssl/TLSv11/TLSDataExchangeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv11/TLSDataExchangeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS application data exchange using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv11/TLSEnginesClosureTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv11/TLSEnginesClosureTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS engines closing using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv11/TLSHandshakeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv11/TLSHandshakeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS engines handshake using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv11/TLSMFLNTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv11/TLSMFLNTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing TLS engines handshake using each of the supported
* cipher suites with different maximum fragment length. Testing of
* MFLN extension.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv11/TLSNotEnabledRC4Test.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv11/TLSNotEnabledRC4Test.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -25,7 +25,7 @@
* @test
* @bug 8085979
* @summary Testing TLS engines do not enable RC4 ciphers by default.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* java.security.jgss/sun.security.jgss.krb5
* java.security.jgss/sun.security.krb5:+open
--- a/test/jdk/javax/net/ssl/TLSv11/TLSRehandshakeTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv11/TLSRehandshakeTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing TLS engines re-handshaking using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv11/TLSRehandshakeWithDataExTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv11/TLSRehandshakeWithDataExTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -27,7 +27,7 @@
* @summary Testing TLS engines re-handshaking using each of the supported
* cipher suites with application data exchange before and after
* re-handshake and closing of the engines.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/TLSv11/TLSUnsupportedCiphersTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv11/TLSUnsupportedCiphersTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8085979
* @summary Testing that try to enable unsupported ciphers
* causes IllegalArgumentException.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* java.security.jgss/sun.security.jgss.krb5
* java.security.jgss/sun.security.krb5:+open
--- a/test/jdk/javax/net/ssl/TLSv12/TLSEnginesClosureTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/TLSv12/TLSEnginesClosureTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -26,7 +26,7 @@
* @bug 8207009
* @summary Testing TLS engines closing using each of the supported
* cipher suites.
- * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon
+ * @library /sun/security/krb5/auto /javax/net/ssl/TLSCommon /test/lib
* @modules java.security.jgss
* jdk.security.auth
* java.security.jgss/sun.security.jgss.krb5
--- a/test/jdk/javax/net/ssl/compatibility/Cert.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/compatibility/Cert.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -31,235 +31,383 @@
public enum Cert {
// This certificate is generated by the below command:
- // openssl req -x509 -newkey rsa:1024 -days 7300 \
- // -subj "/CN=RSA_SHA1_1024" -sha1 \
- // -keyout key.pem -out cert.pem
- RSA_SHA1_1024(
- SignatureAlgorithm.RSA,
+ // openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:2048 \
+ // -pkeyopt rsa_keygen_pubexp:65537 -out key.pem
+ // openssl req -x509 -new -key key.pem \
+ // -subj "/CN=RSA-2048-SHA256" -sha256 -out cer.pem
+ RSA_2048_SHA256(
+ KeyAlgorithm.RSA,
"-----BEGIN CERTIFICATE-----\n" +
- "MIIB/jCCAWegAwIBAgIJANPuKkD7/jxkMA0GCSqGSIb3DQEBBQUAMBgxFjAUBgNV\n" +
- "BAMMDVJTQV9TSEExXzEwMjQwHhcNMTcwOTA3MDIwNTM0WhcNMzcwOTAyMDIwNTM0\n" +
- "WjAYMRYwFAYDVQQDDA1SU0FfU0hBMV8xMDI0MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n" +
- "ADCBiQKBgQC3v7UeIxD5bdv4mqwcpah7sNxpI3IxUFzI2ao1g1jVzDPZt9Zawa3K\n" +
- "H+m9al1Fg2X1dyNeRlbiXavcIZOQwZqNj08zJEwAdICP8iOnXQ2HUv5cpzArOPTu\n" +
- "GY3flhf39xgiWsSdfb+cP0QsWNagNU8EtebbHndv8W+2K5JEdlpwQQIDAQABo1Aw\n" +
- "TjAdBgNVHQ4EFgQU32KqdiGyzg39chNt/OwQzGOlUyAwHwYDVR0jBBgwFoAU32Kq\n" +
- "diGyzg39chNt/OwQzGOlUyAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOB\n" +
- "gQAWx8y45IIWWhy44cuQs0qcSDQihIvhXB3pvlpCNdfsSrVoaaH8lrOVjTC718ip\n" +
- "fE1sF8I9niLHUg8WrAzdQRDsKyUhDUhEEJ7w1ffxwf8bcI9+NgWwEix0Dazzkub8\n" +
- "2IRXuZ3dGwzoI54XtxvKMFH86nJEj4M/XQGrc9bnlhcn4g==\n" +
+ "MIIDFTCCAf2gAwIBAgIUcCwtPduMIU144++G82mUEVNNK9kwDQYJKoZIhvcNAQEL\n" +
+ "BQAwGjEYMBYGA1UEAwwPUlNBLTIwNDgtU0hBMjU2MB4XDTE5MDExNjA2MDgzNVoX\n" +
+ "DTE5MDIxNTA2MDgzNVowGjEYMBYGA1UEAwwPUlNBLTIwNDgtU0hBMjU2MIIBIjAN\n" +
+ "BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAycT4Kd742lTlULVh5BcsZIG/AvVl\n" +
+ "4IVnCoKoE8EyAf+YB2f+pYTDtyPzxnIUUqJ1/1dRY1EyHKQWRv1/J6H9qrKl48Sx\n" +
+ "zgctOMN6zrCjPGx85MWRW7jOTi9/FNjCfmmGDzo7jjfhEeSzU56zyOMMka2UvKYa\n" +
+ "P7YSTfC6nT79uaQNj/fqSK98FDLypDcrMiwzJZ7UX4M4Yo33EtqT0wFJfHl/LHJT\n" +
+ "lmpQdn7dDCqZGviP59tfuGPO7/la18OiN8hU8cttEkAcW3k19kYNhhtfxqs1MtAZ\n" +
+ "xGlN3eeW4IfjitMerEUd5wHrACyC4TKuj5NO6Wk1vl8pINsdkUttv5pHbQIDAQAB\n" +
+ "o1MwUTAdBgNVHQ4EFgQUT6UTyQ2i4qOkx3AAPwWS6wdmgncwHwYDVR0jBBgwFoAU\n" +
+ "T6UTyQ2i4qOkx3AAPwWS6wdmgncwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\n" +
+ "AQsFAAOCAQEAPa4ib8oo7vgOh1c/HBvynkzoZ/ci3hqQCArqHkTKQEFSpHeUz46j\n" +
+ "u+GBRV/bFvZWc+GR9BPedKZUyRzCy3lmWclsxXEnv1uz/PTGBRMtZpjaaveTHzXm\n" +
+ "VVIkMH+wTZsZ/EQiz2pHgPuAJdPTHlwIYOYo5jk/eZoTKGupBuce+gsn0ctSZQc/\n" +
+ "TyayRCvnbQQ9Q6VbcfbrWGAmnCa4VANGuk3uZFj2Hc87udJ+2R8WkyfgXtwypNtb\n" +
+ "1SrRuCqthfCFa4s+P0LlddVqp18gSvsiB+yA1RVZSlSD4GfJfrgtSsJu/ovqThr7\n" +
+ "+YTfrHCVl4gliXaVujl6tQHaFk23WbAMwg==\n" +
"-----END CERTIFICATE-----",
- "30820278020100300d06092a864886f70d0101010500048202623082025e0201" +
- "0002818100b7bfb51e2310f96ddbf89aac1ca5a87bb0dc69237231505cc8d9aa" +
- "358358d5cc33d9b7d65ac1adca1fe9bd6a5d458365f577235e4656e25dabdc21" +
- "9390c19a8d8f4f33244c0074808ff223a75d0d8752fe5ca7302b38f4ee198ddf" +
- "9617f7f718225ac49d7dbf9c3f442c58d6a0354f04b5e6db1e776ff16fb62b92" +
- "44765a7041020301000102818100b2c5afdf5c5a9d72c73b7eb0c9465b3fcc79" +
- "0549d946255bc0861555ef2eb503f1c67757f400cfa7019996123020fb906d5b" +
- "b66b789ffba90b16270cbd1fbfcf285a821dcdc78fd8f17f399eb231ce9724db" +
- "af60f9dd20f3e57bb4c0f9fdc9069589b82d442dd868d48c031eb782e27f9e70" +
- "8469f9b3d5b1b23cee5bf1b41781024100dec184ea77c2126c6bc0c01ba727b4" +
- "642587d63811240932334dc80c7976e0f715f156e52b352a25e5c52542af2b5f" +
- "68a29a9b68858f313c4375cc78ec03d859024100d32be8375f52cbe904002321" +
- "6977aee83fa88bf536d4052d2ed578727d7b7e5aeef91fc52b34c1b6638c00f0" +
- "4c6985fdaaa2d6e72adbcc7d10ed8bafff69da29024100ae8210acd6f13519b7" +
- "38a3c7862636ce1610daa3c5d9e3526e9acad3eafc54b57d7d3a44029b7dcf7e" +
- "b7f9beca1842806892929949b8aa2bb9f5b9202a55c0d1024100887dc0c2c9a2" +
- "429a823374818c2207b3a631d304d443867505e884c9bbc1ae9228146e2c8b18" +
- "b67ca52b411010d3c3ff89e366f454076dcd08bc01a5e8790ac102402321988a" +
- "2003e19c878791d402a7c0acdd1b6dd27203ed88f86a0e3a390ee57c0cd277f3" +
- "ea5df6440dbc8bdb4c8b3c28fc77e6991bc4ed3f4dc0619a5b953e8e"),
+ "308204be020100300d06092a864886f70d0101010500048204a8308204a40201" +
+ "000282010100c9c4f829def8da54e550b561e4172c6481bf02f565e085670a82" +
+ "a813c13201ff980767fea584c3b723f3c6721452a275ff57516351321ca41646" +
+ "fd7f27a1fdaab2a5e3c4b1ce072d38c37aceb0a33c6c7ce4c5915bb8ce4e2f7f" +
+ "14d8c27e69860f3a3b8e37e111e4b3539eb3c8e30c91ad94bca61a3fb6124df0" +
+ "ba9d3efdb9a40d8ff7ea48af7c1432f2a4372b322c33259ed45f8338628df712" +
+ "da93d301497c797f2c7253966a50767edd0c2a991af88fe7db5fb863ceeff95a" +
+ "d7c3a237c854f1cb6d12401c5b7935f6460d861b5fc6ab3532d019c4694ddde7" +
+ "96e087e38ad31eac451de701eb002c82e132ae8f934ee96935be5f2920db1d91" +
+ "4b6dbf9a476d0203010001028201006dba71df8b8438707cf9647b2529391a3b" +
+ "b95e69888b0ee197c4b09575b6b58183f35b2a1067e06c23e03a26e6487e53bf" +
+ "96840b8827c18db713ca5eb176165713aac5f0bd65b75f6f8457b03a3dbbe9a0" +
+ "0e662784034027230b7091e54c0c253cf8c554b5acf02739231ba6d87429ecbb" +
+ "c2acc98472eb988ecc81206d165d33147e03279e60f7fbf73d8f199895f627a3" +
+ "3cf0c2ef2bcbd096f2e08b2684ea675956da0d95e941afe081e8c79ddb003b50" +
+ "0f3b340978bce6821438ef25ddbf4fc9dba3f421dbf576f3099dbd4463dbcd2f" +
+ "da5a987067d00c5af85faa7aea6427f12a1c03c9b5155fc5b5d4da51b4e9f5bf" +
+ "34087e582728bcaf40b39b0938163d02818100e379b3e110ca339eb1491b95ca" +
+ "0e73359a167722250f161ff78fef35e22282af28e02da454d0dca6af65b9118b" +
+ "6e3efe9cabae5d85746b0c336e3d9002c0575afe370ae7a0294c01988d6fa098" +
+ "9c4a6fc0816addcef3e891f2e56289da5b1b7a1c743664bb8b30ed6028942f72" +
+ "74f25c075b0646b47fae6c3fc31b4bfd05b02302818100e31210ff848f5a73c6" +
+ "1a508be415845bb18dcf09688ad543e8b040d9399850801a322e631dc605ec3e" +
+ "d25695b4f66cb6a728a4e11ff211122c7d0de7de356337b344fca03176c2c370" +
+ "7fbcdec2433a6c75d7a7d57b761ad6a8c1c8faaf316e0f410643f667958fcfac" +
+ "c9960d860c73cec45d118517fe72c5939730d8482bdb2f0281807e1a5ab0bb29" +
+ "0ce2bd6f44de8debe2cc65466cf6bdca963e5474336d10968711e93c15b152df" +
+ "9262c93b40144cd26a13a5f0bab1d7a8c92b335bbabf19f75cb5f1d5bbb2da23" +
+ "eaa1bbdb3475b80474736d29917fb3199de542dd0cfa54d54aef2fd4f0ce78f5" +
+ "59c34e1a50c3d8d4a20288855a7e59d3aa731209ec18fd04693702818100c384" +
+ "54da8edb9878c384f901db1ca3e1081b20bfeb224fcbaf59c41cc6b8dde7cfa6" +
+ "91c68a666dc723b89d113ec6488965995b8ef4a0cc0e27fc6db2cee48d4ff2ae" +
+ "5e0fd94777202d87efaaa6fe9819b7c63f1f54b5371aca2841d3887239602d0f" +
+ "2609cedb3aff08ba72d7a62aa6b4cce38e2859a6a0507b6add85fd6eb5c50281" +
+ "8100c07809a53e9ec6769bf2d31ed767766078ff7020199869473c26a211a4b2" +
+ "9828618b69e6e29ed0f1d8d8cac2c61490c3f20d19c1ff067c5d291080c8e15b" +
+ "2ce267cd37f8b0c1afe9c070418b310b5641640805d3a75890ccf6d2bf0bea11" +
+ "d327323db5452cadc1a3bd17c20ab92b6f09d4216a03c7a03c6ffc72e51f51eb" +
+ "dfa4"),
// This certificate is generated by the below command:
- // openssl req -x509 -newkey rsa:1024 -days 7300 \
- // -subj "/CN=www.example.com" -sha1 \
- // -keyout key.pem -out cert.pem
- RSA_EXAMPLE_SHA1_1024(
- SignatureAlgorithm.RSA,
+ // openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:2048 \
+ // -pkeyopt rsa_keygen_pubexp:65537 -out key.pem
+ // openssl req -x509 -new -key key.pem \
+ // -subj "/CN=EXAMPLE" -sha256 -out cer.pem
+ EXAMPLE_RSA_2048_SHA256(
+ KeyAlgorithm.RSA,
"-----BEGIN CERTIFICATE-----\n" +
- "MIICAjCCAWugAwIBAgIJAK6TC9eDtZg4MA0GCSqGSIb3DQEBBQUAMBoxGDAWBgNV\n" +
- "BAMMD3d3dy5leGFtcGxlLmNvbTAeFw0xNzExMDIwNTA5NDRaFw0zNzEwMjgwNTA5\n" +
- "NDRaMBoxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTCBnzANBgkqhkiG9w0BAQEF\n" +
- "AAOBjQAwgYkCgYEAtt5kxFTzJuoxJR2UgeXUxCw7TfL3FeK3lCrU3vruBe3XKKvF\n" +
- "oyCxf/B5ucm22gzMfOvJBWRg6KrNTrXGI1LtlmAYNDM5J0lK2N/neKOm3Qxe0d1W\n" +
- "AZ1lwgrMNirsWu+r4UPNMq5UohL5nqVU9WwVa12t0GF3er3k32tMTBqSclcCAwEA\n" +
- "AaNQME4wHQYDVR0OBBYEFNc8tKGfZdFyaY0ZslwGLt1kpRYAMB8GA1UdIwQYMBaA\n" +
- "FNc8tKGfZdFyaY0ZslwGLt1kpRYAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEF\n" +
- "BQADgYEAc71ZO83YEw9WvhxDEng9tMYUhJnNZJss6+gfWjZ487aiEGnS+VgKsHWz\n" +
- "DBLBrYe9Ag5L9f1HtPNheUbnhhBbQ607jOG/wfmpi4VoU3myB5uxOfeAZdXDOB5x\n" +
- "bv3t7KcEhgmPjB/e123jrBK8qnAYmDlQVlkZScctB3I1OuA2Po4=\n" +
+ "MIIDBTCCAe2gAwIBAgIUfmLJ5eIbVUGXAzlZXtw08GQ6ppMwDQYJKoZIhvcNAQEL\n" +
+ "BQAwEjEQMA4GA1UEAwwHRVhBTVBMRTAeFw0xOTAxMTYwNjA4MzVaFw0xOTAyMTUw\n" +
+ "NjA4MzVaMBIxEDAOBgNVBAMMB0VYQU1QTEUwggEiMA0GCSqGSIb3DQEBAQUAA4IB\n" +
+ "DwAwggEKAoIBAQCp7IDXT8J9iDMVAuLMTZS9oDD83BDkL5INGdXk1esTzyqXFmV2\n" +
+ "d5zNTr4A8w+YstkR081zL4MyEvHyQF1IlWoniRMXTZNMYYtU8dI8h2Fl5etSIEsc\n" +
+ "ArsAp3QMcoqEu4F4T68KPU7z1M5kYKevGqPsO4GJwjoydSZMLZMrq09yEyXlnE9l\n" +
+ "pNhyfFbQIp86mtXkY9nP3hn7JX6KMZSwAHbp7FtFkGfMx+usMnsMan+Z7UyWJE3o\n" +
+ "2cf29Fr9lBdV24gWAymyJA3BAW60wEI2JPYzIZVNn4zxmlkWk5sr+m5rUCXMzsyp\n" +
+ "G+rPk7YSpPutmczPe1BEiFwkgk+E5gZsNESbAgMBAAGjUzBRMB0GA1UdDgQWBBRm\n" +
+ "mZ3V6rNvJyG5DdYt1yo/Eiz+AjAfBgNVHSMEGDAWgBRmmZ3V6rNvJyG5DdYt1yo/\n" +
+ "Eiz+AjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBNHOWMa7f8\n" +
+ "iXwhET/6Rpu0JILusRrJVGXl3JOHxDsibUPAeZ4KI7VEEBw6ln0bKAFaYg+Nh9Xh\n" +
+ "dMuPC6e5wrX2Z912ncexa7BXDQDS4VyuvEGpp7rWFNtKRfc75hKmcRz+blgdhw9m\n" +
+ "gF1VcW3vBIjAUjMllRuyPlyXThgOPwcBXGEIewvyLXWbkNDFIeqycwsQsw5JJcbA\n" +
+ "Fh4alzjapSvSM84VS79u/MxaNZAtKpaymMaM05A8vIp8iHDm4N4AhIwHLT1mrtFt\n" +
+ "8y+3p4W6vtA+SlFGz8fQw5ppoxvPeJyHZmSmGeorcBv9XXWHhJ0rGz8UbE76xE0B\n" +
+ "EwC7yAE/SiA7\n" +
"-----END CERTIFICATE-----",
- "30820277020100300d06092a864886f70d0101010500048202613082025d0201" +
- "0002818100b6de64c454f326ea31251d9481e5d4c42c3b4df2f715e2b7942ad4" +
- "defaee05edd728abc5a320b17ff079b9c9b6da0ccc7cebc9056460e8aacd4eb5" +
- "c62352ed96601834333927494ad8dfe778a3a6dd0c5ed1dd56019d65c20acc36" +
- "2aec5aefabe143cd32ae54a212f99ea554f56c156b5dadd061777abde4df6b4c" +
- "4c1a927257020301000102818048af52bc1acbdededd13d4930fa28b9441c47c" +
- "b222f5c6fc92df07676db3a815a61c9b51de0a03a347b10a609bd6459a0dd926" +
- "38877261686a5c6bb1ca9e8ea2373870af7685e7d6cebd66faba65af2ef04bd9" +
- "1244ae56900fcd6ce11207d8c4040176e4ba9fef3d563741a1027b229134cfe1" +
- "c0a90d9c8eba9ce6349835e769024100e82494b6f777c784ffc29298d033e11d" +
- "af46f0d464c4dbd950d46bcd697d0f0b49a77699f0111d408e8748f2b461ab8f" +
- "210071c9c20d8ecee3ae229cb9c3954b024100c9a976f0011fcdc0ca7fb2f679" +
- "974fa85d420c604ca7ff64fe4667a44f73088eef290d22195474039760e99325" +
- "3ca45ee444588b150467d14451d3c45dab0ba5024019df39d3ca70c703c39d63" +
- "c9342b1403c2ed1d1a0ec101df8e6a9e391e7099a4a068d187068261c8381a4b" +
- "bf00eb81bb49ea4ac439a4592e25a1daa9acea67510241008c4640007497bdd4" +
- "94473da26b33d06a29ecae9531dd4e2edf1cf42cfc42e53a1fac2b8183a3164c" +
- "053999600c6fe15a4c682a3b1cb482ceb33a4416fc9ce52d024100e4f08cd10a" +
- "5c8face0b20db86443d0a42e34dfdde236dae4f042a06dd3aff7ca159f8aa3b7" +
- "854df41d510148096155204f2bf46c4a96e271747a4126a66ade6c"),
+ "308204be020100300d06092a864886f70d0101010500048204a8308204a40201" +
+ "000282010100a9ec80d74fc27d88331502e2cc4d94bda030fcdc10e42f920d19" +
+ "d5e4d5eb13cf2a97166576779ccd4ebe00f30f98b2d911d3cd732f833212f1f2" +
+ "405d48956a278913174d934c618b54f1d23c876165e5eb52204b1c02bb00a774" +
+ "0c728a84bb81784faf0a3d4ef3d4ce6460a7af1aa3ec3b8189c23a3275264c2d" +
+ "932bab4f721325e59c4f65a4d8727c56d0229f3a9ad5e463d9cfde19fb257e8a" +
+ "3194b00076e9ec5b459067ccc7ebac327b0c6a7f99ed4c96244de8d9c7f6f45a" +
+ "fd941755db88160329b2240dc1016eb4c0423624f63321954d9f8cf19a591693" +
+ "9b2bfa6e6b5025cccecca91beacf93b612a4fbad99cccf7b5044885c24824f84" +
+ "e6066c34449b0203010001028201005842e1357557678eec4198ab274590e1e2" +
+ "282fdf3ae2db96b8395831b1af962d8048d438458da1a3bea7d0a46fd077ed6a" +
+ "66228c16fcc570b3bd8a132a1579fb2927026ea7f8ff9db8b496e81bc5ca80df" +
+ "775c10c76edfa55a555bf5cedf5ce9c60d55b532dd24a7bfc0c1b7b7ab55c3e9" +
+ "b0c25661963de573a22494853a11dce95ea31417d3c87c806ef74cb6c8b7190c" +
+ "cfcdc2d21e8a756061c9e6cf40bca95d5aa43fb990b9492250ec9a752151320c" +
+ "b30a64beb0e17d83ad9ea702afcd5d8d6b7bfe11031aa27d83652e8db864bdbc" +
+ "447aee6e973018f77155aa24e05d3b7f9e232096ff93e8e2b1361b6cdbd4edf8" +
+ "dd88b46b178b38c34fe0ea5fc40f9102818100db14d91a4e8a89cc95a7cc687f" +
+ "2f2f295bc8a945826b3da840f871161ce2062f980d45b50172e744a308c0972e" +
+ "6f3f028465e6a59b75c0687bc3db4b69f5a931b73e9dedc6b05d41f4c1dd0575" +
+ "8e0460efba9bbb98f1c6ae3f018e2fb967a085dc5290ba8487703e1aee05fd90" +
+ "3c17867130c5676b7b9567a6fd61e9be6d660902818100c68f0053c621d52d65" +
+ "4ec381775e1b8fbf15ad391a0ad478d5b46374ad3f7c417a2f425f285999b4e6" +
+ "1672614ec6b4bad54400ecbc9e92f35cdab590a8cff4c029146a9b101d53950f" +
+ "7dddaa45946bfcf2a4e86bcddfc141a2cc49969519a326c7e5b001912e151d86" +
+ "b17f5789f39513c3f660c3e41f169a7668b22c17241e8302818100b86d0a7e4c" +
+ "d3ef40dc530f8e8052b63ef8d729382c9c1ea17f6025c2d9b9a43f789ee3a986" +
+ "78b61b5fabc485004002291a4fb6247f8456df1e21388079c8a61006149e5a46" +
+ "42bd9f026e18a3b9dc3def64a010ed91c926da148c38a8104a1e25d1dd679cbc" +
+ "684fa2d884bb62438372c2689307fb11ce4d6d9e73fb730c2d8811028181008d" +
+ "fda14c4739d68a9a11d3397835321c7f976ec290df01c64f7caa4abbc1d487b6" +
+ "6aa95a072edbfe4333f623a403f1265270490102799bb8b0c42e66fe7188230a" +
+ "bd70e6e685324a3c43d40a79ab83f5e5470c765b49119870650a92c69908d528" +
+ "ca162d68b6bd9ed9bd80c506ffcbb1d0c715b7c02083377e49ac705f34132502" +
+ "8180100e20febd1a5af92fdfc36aaf47d1a771cb1484d79e2389d5e6f47dc773" +
+ "512edef82676f9f9d5a77aac2f01d66fe864d85abcce47e3d22491421f959c1e" +
+ "5545c16fc5c5f5550ced81485dc237d9df8753cd6031e431bd34425e81b1e193" +
+ "c51a6d2c8a7cc01028f47b7fb7d79b481facb76c4775ff997f2e63acb3ff429c" +
+ "47b3"),
// This certificate is generated by the below commands:
- // openssl dsaparam -genkey 1024 -out key.pem
+ // openssl genpkey -genparam -algorithm dsa -pkeyopt dsa_paramgen_bits:2048 \
+ // -pkeyopt dsa_paramgen_q_bits:256 -out param.pem
+ // openssl genpkey -paramfile param.pem -out key.pem
// openssl req -x509 -new -key key.pem -days 7300 \
- // -subj "/CN=DSA_SHA1_1024" -sha1 -out cert.pem
- DSA_SHA1_1024(
- SignatureAlgorithm.DSA,
+ // -subj "/CN=DSA-2048-SHA256" -sha256 -out cer.pem
+ DSA_2048_SHA256(
+ KeyAlgorithm.DSA,
"-----BEGIN CERTIFICATE-----\n" +
- "MIICuzCCAnugAwIBAgIJAMAMLRrhQWQFMAkGByqGSM44BAMwGDEWMBQGA1UEAwwN\n" +
- "RFNBX1NIQTFfMTAyNDAeFw0xNzExMDIwNjA4MDRaFw0zNzEwMjgwNjA4MDRaMBgx\n" +
- "FjAUBgNVBAMMDURTQV9TSEExXzEwMjQwggG2MIIBKwYHKoZIzjgEATCCAR4CgYEA\n" +
- "8CspE1sE84pJ4YxzVHFEDNJvBaIxsbax03pDwNHr/ogP9PVwF9z1jT6hpC5WluHG\n" +
- "g5n5gqpF2XpBhX2fKm1qqZWRxNvHKo0+zzAhUqMrvRJqcjlL4ijXndHldt67/VKS\n" +
- "0eTKi9m64c+yJx80YYphCO5b93d2sTM29z8QZOlrbD8CFQCmttKnPAOk4uz8Z8cV\n" +
- "uPGeGOMB9wKBgCItgPpAjW0srIwCaDysDNpydX6hB+1NTy1gFYl24n8edLGbR0mZ\n" +
- "isteBd6LjMtgicRmtKZzKxW7igxoVvR3WHpTucFjms5NRNjPaj5wt3DxoXn4hyWk\n" +
- "LzMvDeBvi+jKJiO0jnQ3+1NDOlAQy6ukeH59/gxZ3UmcNxDlAQ/IYHcpA4GEAAKB\n" +
- "gEgvi72gL+zax7Y2hg4PL1PqZx2jFp0XlTIugiTrcsGytrAnn+/s2+3xVyVyvVMn\n" +
- "0z5yL5eP9cdGA7qV1+7n6KJ8jNAhLCBSiC6x5ekd88aTlqnmt5lstk4w0Q0zSa58\n" +
- "Hp6dCFg2Irk6Z9ERKaXJJBBS6reaFeATVROhN/LEEzzvo1AwTjAdBgNVHQ4EFgQU\n" +
- "jb+HHABclGNR4lpf19nHFZpfwPQwHwYDVR0jBBgwFoAUjb+HHABclGNR4lpf19nH\n" +
- "FZpfwPQwDAYDVR0TBAUwAwEB/zAJBgcqhkjOOAQDAy8AMCwCFDB3F/m6jsZdHaoy\n" +
- "1xTp2U8uHBO+AhQYzeJuJd8/qRSDVLs8mesE8TQg2g==\n" +
+ "MIIEezCCBCCgAwIBAgIUYbBHFrJkO9EokOROEScK0dr3aVowCwYJYIZIAWUDBAMC\n" +
+ "MBoxGDAWBgNVBAMMD0RTQS0yMDQ4LVNIQTI1NjAeFw0xOTAxMTYwNjA4NTJaFw0z\n" +
+ "OTAxMTEwNjA4NTJaMBoxGDAWBgNVBAMMD0RTQS0yMDQ4LVNIQTI1NjCCA0cwggI5\n" +
+ "BgcqhkjOOAQBMIICLAKCAQEAnGTeaC+MitQykXl2UcGtJhkelRhBalZuzR9fh8Xf\n" +
+ "swSj2auVzhjkQfns6E14X72XLYDwHPQilh4ZSiC1cX7bpvohJ7CjbouGnT78Gwf0\n" +
+ "pfVMRBRfbNiwBQzFtzehAqlLPXyHWCPxAzW0EgzZh8asIofBEGmGh6sxlpXbEcCS\n" +
+ "Ra5Q2vdDRVksm4APHKwbS1F6L/0QDvjDAudWyLFdFMSBuoyeFwCf7Gr5lcVi538h\n" +
+ "MliXSAhJ7SXe4B9K/5/VicuzAffE+EZsZZuJKeQ4oHz8xtycdMcW86Iag1i/POzD\n" +
+ "0Z7c5p9j1zDgms1ZRSz4fd7YgNGjmmf6dYJlZmCX4w9YiwIhALnVATHxZmk7G1kf\n" +
+ "LGX7SMeflAhA/D3EPA5QWdgTc0orAoIBAGYTWMnKHBF4oMKUsx6lF6KvSrqFQ0+j\n" +
+ "mWN1RNAGiVYm/Js9sc7jolZCbVTWM7GblO2DxiKed3FtcL3xw4P6l3GU7kFthsjh\n" +
+ "bHbMG58s5JVboLX50wZo1uBOb0kRcZYjYTfUwbBYpGNnl7xfQsZ/Bxq/wzyn4gxb\n" +
+ "+C0pu/vzmko+opKfFr9a2EL+ADvQhPd6y/L0YcpiTihvfXDWu+n3bNlwhUZYevux\n" +
+ "SPVkQH3h5YEqXePF7UeY506/2sr41/xCbCkuH+Ob77Cy1IjMqr4OpXzj6wCSjlFy\n" +
+ "Re66yqsjGpuBeTtsn9lKmlFVl4QUdw7XYbRubafNFEdd5IazMflCcgMDggEGAAKC\n" +
+ "AQEAnF3/TT0nYzfwY6/+lmoqoBtGU4of7RK4U3Jdhf6dj755GwgsPGAz3Rzh/hq/\n" +
+ "B3fuyrtnE/aU0EK1dtRNqnKeFsMCURBi3sWYYe7vamw5TukFMSUOuH76v75b26c+\n" +
+ "nTfZF30iDz+66Z5gcOSwhz9aLCnF/wYwijnzagnCF4m0Nhwsjtz4qECMPfL/Rkx8\n" +
+ "s83tUF53mx5o8WCYMNr4yJGcHEkautvZN05zwoxZTPKZNngWeCUAY07XwOYHTUvx\n" +
+ "C9Sxiom9k1pZPbHZnGpUx96at2dMoeTeHR6xF/0QpiIb4wLpOg/CRxsopBmhEl0S\n" +
+ "BEXYNIcrXLwVBLvJD6H44DxRiqNTMFEwHQYDVR0OBBYEFCr6C8Bl7wjz5L3cYMG3\n" +
+ "/ZFe7Ee0MB8GA1UdIwQYMBaAFCr6C8Bl7wjz5L3cYMG3/ZFe7Ee0MA8GA1UdEwEB\n" +
+ "/wQFMAMBAf8wCwYJYIZIAWUDBAMCA0gAMEUCIArByiqjCG1ZuOVY91OPa9g8q60y\n" +
+ "/BSRWRgikEuq3AbgAiEAoZoKXW80FTMxv/9tFy0N7OrUV4rc9+AUBSTuRCuTAk4=\n" +
"-----END CERTIFICATE-----",
- "3082014a0201003082012b06072a8648ce3804013082011e02818100f02b2913" +
- "5b04f38a49e18c735471440cd26f05a231b1b6b1d37a43c0d1ebfe880ff4f570" +
- "17dcf58d3ea1a42e5696e1c68399f982aa45d97a41857d9f2a6d6aa99591c4db" +
- "c72a8d3ecf302152a32bbd126a72394be228d79dd1e576debbfd5292d1e4ca8b" +
- "d9bae1cfb2271f34618a6108ee5bf77776b13336f73f1064e96b6c3f021500a6" +
- "b6d2a73c03a4e2ecfc67c715b8f19e18e301f7028180222d80fa408d6d2cac8c" +
- "02683cac0cda72757ea107ed4d4f2d60158976e27f1e74b19b4749998acb5e05" +
- "de8b8ccb6089c466b4a6732b15bb8a0c6856f477587a53b9c1639ace4d44d8cf" +
- "6a3e70b770f1a179f88725a42f332f0de06f8be8ca2623b48e7437fb53433a50" +
- "10cbaba4787e7dfe0c59dd499c3710e5010fc8607729041602146ef9db36045f" +
- "bcd8c7fd82ba29c5c5057ed11c7f"),
+ "308202640201003082023906072a8648ce3804013082022c02820101009c64de" +
+ "682f8c8ad43291797651c1ad26191e9518416a566ecd1f5f87c5dfb304a3d9ab" +
+ "95ce18e441f9ece84d785fbd972d80f01cf422961e194a20b5717edba6fa2127" +
+ "b0a36e8b869d3efc1b07f4a5f54c44145f6cd8b0050cc5b737a102a94b3d7c87" +
+ "5823f10335b4120cd987c6ac2287c110698687ab319695db11c09245ae50daf7" +
+ "4345592c9b800f1cac1b4b517a2ffd100ef8c302e756c8b15d14c481ba8c9e17" +
+ "009fec6af995c562e77f21325897480849ed25dee01f4aff9fd589cbb301f7c4" +
+ "f8466c659b8929e438a07cfcc6dc9c74c716f3a21a8358bf3cecc3d19edce69f" +
+ "63d730e09acd59452cf87dded880d1a39a67fa758265666097e30f588b022100" +
+ "b9d50131f166693b1b591f2c65fb48c79f940840fc3dc43c0e5059d813734a2b" +
+ "02820100661358c9ca1c1178a0c294b31ea517a2af4aba85434fa399637544d0" +
+ "06895626fc9b3db1cee3a256426d54d633b19b94ed83c6229e77716d70bdf1c3" +
+ "83fa977194ee416d86c8e16c76cc1b9f2ce4955ba0b5f9d30668d6e04e6f4911" +
+ "7196236137d4c1b058a4636797bc5f42c67f071abfc33ca7e20c5bf82d29bbfb" +
+ "f39a4a3ea2929f16bf5ad842fe003bd084f77acbf2f461ca624e286f7d70d6bb" +
+ "e9f76cd9708546587afbb148f564407de1e5812a5de3c5ed4798e74ebfdacaf8" +
+ "d7fc426c292e1fe39befb0b2d488ccaabe0ea57ce3eb00928e517245eebacaab" +
+ "231a9b81793b6c9fd94a9a5155978414770ed761b46e6da7cd14475de486b331" +
+ "f942720304220220509dd213cc9769e93825063a4a60500f67c4b979f6504b2f" +
+ "ccdbefb3ab8fe6da"),
// This certificate is generated by the below commands:
- // openssl dsaparam -genkey 1024 -out key.pem
+ // openssl genpkey -genparam -algorithm dsa -pkeyopt dsa_paramgen_bits:2048 \
+ // -pkeyopt dsa_paramgen_q_bits:256 -out param.pem
+ // openssl genpkey -paramfile param.pem -out key.pem
// openssl req -x509 -new -key key.pem -days 7300 \
- // -subj "/CN=www.example.com" -sha1 -out cert.pem
- DSA_EXAMPLE_SHA1_1024(
- SignatureAlgorithm.DSA,
+ // -subj "/CN=EXAMPLE" -sha256 -out cer.pem
+ EXAMPLE_DSA_2048_SHA256(
+ KeyAlgorithm.DSA,
"-----BEGIN CERTIFICATE-----\n" +
- "MIICwDCCAoCgAwIBAgIJAI5mKbdK5ZqyMAkGByqGSM44BAMwGjEYMBYGA1UEAwwP\n" +
- "d3d3LmV4YW1wbGUuY29tMB4XDTE3MTEwMjA1NDczOVoXDTM3MTAyODA1NDczOVow\n" +
- "GjEYMBYGA1UEAwwPd3d3LmV4YW1wbGUuY29tMIIBtzCCASwGByqGSM44BAEwggEf\n" +
- "AoGBANVGWRSlxVZQKlVrTDcU/6Mr8QFlR3kGKmkvdbTHH1EhcP7YlZ7CJ30VBDbN\n" +
- "LS2HvN3HHNooJ7hHBheL5Yz8EZIUa95TzPukZ1TmCo9fufR5i9HWj9Z8jLhyqx3l\n" +
- "iUZOYN9H0MSn4ftK6dr5oTz2ZGYDblXDCq6R8qZfuw1URFqrAhUArx0nmGEI/1S/\n" +
- "qyxnV4I6ItOntxMCgYEAxZKIZ/7aOGfzaQG2wRFdD/viHBZkkcxCsgmPUroQVUIw\n" +
- "dqmUnfYk8cb02LCevhhSwcjfocQsA3y1jufIUdWaHuIB9W3EsFJQNd/Byh9j/pRD\n" +
- "7zH/8lnBzJh2S7y10Vg840STVo5+ekZb4E+W7KK5gUaEQ6kAtUIIB0xjNz7RWs4D\n" +
- "gYQAAoGAPVQKWqJSlMrbU4XEsx50Ur8P84CwMnS7WcQNLnih1ScaK2BijgVj5Fny\n" +
- "9JZxITwj7XD7FWriq3kTjbydi3iAvrgVWij79x5Z7fTRCuoBVmtnAFkVGalwbGr2\n" +
- "ghz70y6hep2Evb1pRCrHjRkMaJFE5Y2CA7VbpKoat+j47/LkXJ2jUDBOMB0GA1Ud\n" +
- "DgQWBBSVjWy3SpaDfnFo+37mZJqX2aybzTAfBgNVHSMEGDAWgBSVjWy3SpaDfnFo\n" +
- "+37mZJqX2aybzTAMBgNVHRMEBTADAQH/MAkGByqGSM44BAMDLwAwLAIUd5NOlcfX\n" +
- "5rakT9H8UzlFcFQLr0MCFGrEYvlFUf/HJOH4FwXS2jEholBB\n" +
+ "MIIEaTCCBA+gAwIBAgIUckU2myqkWak+Svv0FFJX91vv1jMwCwYJYIZIAWUDBAMC\n" +
+ "MBIxEDAOBgNVBAMMB0VYQU1QTEUwHhcNMTkwMTE2MDYwODUzWhcNMzkwMTExMDYw\n" +
+ "ODUzWjASMRAwDgYDVQQDDAdFWEFNUExFMIIDRjCCAjkGByqGSM44BAEwggIsAoIB\n" +
+ "AQDGmXUxMKzLIVUQUy4lu4fbnv8fRXtWIbv1jxWATCNFiFt4cUxrr7GVC16MGrgm\n" +
+ "FtMIHXWwFlq2wTL0RhVp2WPIPQzxCwQFivQjpdewVCB1BoJ1ozlvQjU4hri5Ymdt\n" +
+ "ebe90uT8NsvrQrSKYCl+/pPNiZKT8oX1aKzRYPQLn0bVXUicWlACoLfHGM4irjEC\n" +
+ "4JezC/tdLleeNYNpy2/dKYu/atyN/u0d+dPRLWBCw6/qCRn1yRAv04GC3WYBlSXz\n" +
+ "f9OKlCH5kfm9sLyatz/RWDqOb/YWW2Rk7UTKAnoTAyB+I9yUXg6Gad2csNkxXv55\n" +
+ "9oJAhdhsOS5cdBoqlZEahIFBAiEAjiMCVBGpnAxjb2dXM/Eec7EfThflQXbl33Zn\n" +
+ "Uq3AAsUCggEAaBNP9Uttfs1eV/38aurLd3T1OiM0CF7DPxE0qpSM9dQz9cKZajIE\n" +
+ "lsVTGOLBC5/+VSat9t1VG+JoyvSspkvk97/mxx0WCz/QAYTdwCXVuMuSv+EqeOMP\n" +
+ "lCxEdbOS8pfD8shOK+pnDSHMJvURYxB+fJkHHeXfwesH3632Vq0GlJ8PgXH5NLHM\n" +
+ "MWv7oZjyZMnGWDq2taJcZZG5ETNda2fATNCF9Al430MUxie2Sp50vA1KEtyUqMu+\n" +
+ "CLpyOynPHi96TWHNfD23TmKFVN9Uh2nUNIpUk8NMKBwg2O7FvvNnKfbl44ikuCnc\n" +
+ "06U7SdF3y8NRdwyayMI3BkOsV8mkoMwUgAOCAQUAAoIBADK2c1Gl3+6zrFU8Uhro\n" +
+ "5lFnDy3UYXINpdtWR/8T0FJ6YMax70VCkyxucq3AUnmq9AQtFijjmXDnxzD5g7IS\n" +
+ "zOU/28Kg1Mmw26uzrpUZPiixNU7v/xzE37M0Ig3VCEQ9mw57/yv8gwZurHtsokGt\n" +
+ "k0lzH/krhYPCOpskg6NulGq5lGsnNVdPkSkiAWZFHTysgKgxvMUxXj0bUm4ZyNw6\n" +
+ "Lp2bFHKbmSeTy3OLo/Kvd7BIjhV+Bi5LFh7h8spf6SC7qyEm0X7Keu+61xkFHU8a\n" +
+ "aghnGQYwuzpTp+hsbAJdHwVLw9ElqEoaVp3rAmxtsdzqhZSxcMZoypbjEJpiZ1/v\n" +
+ "fQCjUzBRMB0GA1UdDgQWBBRTPXqHl7VKr5U94p9c882ge9DOXzAfBgNVHSMEGDAW\n" +
+ "gBRTPXqHl7VKr5U94p9c882ge9DOXzAPBgNVHRMBAf8EBTADAQH/MAsGCWCGSAFl\n" +
+ "AwQDAgNHADBEAiAOQxtKiMImXKWQvUKZxoUc+chXRxAj3UD3Zj7RksPF2AIgf8HG\n" +
+ "hOnr3hzIej3Da2Ty9RTittcgZ14boraO/Vlx9Jo=\n" +
"-----END CERTIFICATE-----",
- "3082014c0201003082012c06072a8648ce3804013082011f02818100d5465914" +
- "a5c556502a556b4c3714ffa32bf101654779062a692f75b4c71f512170fed895" +
- "9ec2277d150436cd2d2d87bcddc71cda2827b84706178be58cfc1192146bde53" +
- "ccfba46754e60a8f5fb9f4798bd1d68fd67c8cb872ab1de589464e60df47d0c4" +
- "a7e1fb4ae9daf9a13cf66466036e55c30aae91f2a65fbb0d54445aab021500af" +
- "1d27986108ff54bfab2c6757823a22d3a7b71302818100c5928867feda3867f3" +
- "6901b6c1115d0ffbe21c166491cc42b2098f52ba1055423076a9949df624f1c6" +
- "f4d8b09ebe1852c1c8dfa1c42c037cb58ee7c851d59a1ee201f56dc4b0525035" +
- "dfc1ca1f63fe9443ef31fff259c1cc98764bbcb5d1583ce34493568e7e7a465b" +
- "e04f96eca2b981468443a900b54208074c63373ed15ace0417021500abf47692" +
- "88c6ac41e2802e7eb7addba367339318"),
+ "308202640201003082023906072a8648ce3804013082022c0282010100c69975" +
+ "3130accb215510532e25bb87db9eff1f457b5621bbf58f15804c2345885b7871" +
+ "4c6bafb1950b5e8c1ab82616d3081d75b0165ab6c132f4461569d963c83d0cf1" +
+ "0b04058af423a5d7b0542075068275a3396f42353886b8b962676d79b7bdd2e4" +
+ "fc36cbeb42b48a60297efe93cd899293f285f568acd160f40b9f46d55d489c5a" +
+ "5002a0b7c718ce22ae3102e097b30bfb5d2e579e358369cb6fdd298bbf6adc8d" +
+ "feed1df9d3d12d6042c3afea0919f5c9102fd38182dd66019525f37fd38a9421" +
+ "f991f9bdb0bc9ab73fd1583a8e6ff6165b6464ed44ca027a1303207e23dc945e" +
+ "0e8669dd9cb0d9315efe79f6824085d86c392e5c741a2a95911a848141022100" +
+ "8e23025411a99c0c636f675733f11e73b11f4e17e54176e5df766752adc002c5" +
+ "0282010068134ff54b6d7ecd5e57fdfc6aeacb7774f53a2334085ec33f1134aa" +
+ "948cf5d433f5c2996a320496c55318e2c10b9ffe5526adf6dd551be268caf4ac" +
+ "a64be4f7bfe6c71d160b3fd00184ddc025d5b8cb92bfe12a78e30f942c4475b3" +
+ "92f297c3f2c84e2bea670d21cc26f51163107e7c99071de5dfc1eb07dfadf656" +
+ "ad06949f0f8171f934b1cc316bfba198f264c9c6583ab6b5a25c6591b911335d" +
+ "6b67c04cd085f40978df4314c627b64a9e74bc0d4a12dc94a8cbbe08ba723b29" +
+ "cf1e2f7a4d61cd7c3db74e628554df548769d4348a5493c34c281c20d8eec5be" +
+ "f36729f6e5e388a4b829dcd3a53b49d177cbc351770c9ac8c2370643ac57c9a4" +
+ "a0cc1480042202201ba738489c54dddd5ffbf0009ef9d11851182235a251a410" +
+ "4a6354181ecd0348"),
+
+ // This certificate is generated by the below commands:
+ // openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 \
+ // -pkeyopt ec_param_enc:named_curve -out key.pem
+ // openssl req -x509 -new -key key.pem \
+ // -subj "/CN=ECDSA-SECP256-SHA256" -sha256 -out cer.pem
+ ECDSA_PRIME256V1_SHA256(
+ KeyAlgorithm.EC,
+ "-----BEGIN CERTIFICATE-----\n" +
+ "MIIBkzCCATmgAwIBAgIUXebzNfSMvdkNrc5175FM6dE/gxwwCgYIKoZIzj0EAwIw\n" +
+ "HzEdMBsGA1UEAwwURUNEU0EtU0VDUDI1Ni1TSEEyNTYwHhcNMTkwMTE2MDYwODQx\n" +
+ "WhcNMTkwMjE1MDYwODQxWjAfMR0wGwYDVQQDDBRFQ0RTQS1TRUNQMjU2LVNIQTI1\n" +
+ "NjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABOp7VcLfpVc5ghO0HlYjwH+YSAf7\n" +
+ "zTShLeoY35PwqcoUgg9DBR4g7rM3xovOKxGZ5uORD8vo5l9L0+53f2+7YH+jUzBR\n" +
+ "MB0GA1UdDgQWBBSmW8/6KP8EJKBVlfmFkBSbVWTEWzAfBgNVHSMEGDAWgBSmW8/6\n" +
+ "KP8EJKBVlfmFkBSbVWTEWzAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0gA\n" +
+ "MEUCIQCtGdW3Xl5OzX7QiwtiT6pbIrm6eCUwN/vVoMfs3Yn5rgIgCbLidpdMpFrd\n" +
+ "HWB2/mVxQegLBCOIGMVPXrTat4A76As=\n" +
+ "-----END CERTIFICATE-----",
+ "308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02" +
+ "01010420aa9602d20de7ebfc2787a6e5ae20166d1e8d8bd29b4e5f046414bae8" +
+ "9a8e7eb9a14403420004ea7b55c2dfa557398213b41e5623c07f984807fbcd34" +
+ "a12dea18df93f0a9ca14820f43051e20eeb337c68bce2b1199e6e3910fcbe8e6" +
+ "5f4bd3ee777f6fbb607f"),
// This certificate is generated by the below commands:
- // openssl ecparam -name prime256v1 -genkey -out key.pem
- // openssl req -new -key key.pem -x509 -nodes -days 7300 \
- // -subj "/CN=ECDSA_SHA1_prime256v1" -sha1 -out cert.pem
- ECDSA_SHA1_PRIME256V1(
- SignatureAlgorithm.ECDSA,
+ // openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 \
+ // -pkeyopt ec_param_enc:named_curve -out key.pem
+ // openssl req -x509 -new -key key.pem \
+ // -subj "/CN=EXAMPLE" -sha256 -out cer.pem
+ EXAMPLE_ECDSA_PRIME256V1_SHA256(
+ KeyAlgorithm.EC,
"-----BEGIN CERTIFICATE-----\n" +
- "MIIBhDCCASygAwIBAgIJAKW4wuujp9JbMAkGByqGSM49BAEwIDEeMBwGA1UEAwwV\n" +
- "RUNEU0FfU0hBMV9wcmltZTI1NnYxMB4XDTE3MDkwNzAyMTA0MVoXDTM3MDkwMjAy\n" +
- "MTA0MVowIDEeMBwGA1UEAwwVRUNEU0FfU0hBMV9wcmltZTI1NnYxMFkwEwYHKoZI\n" +
- "zj0CAQYIKoZIzj0DAQcDQgAEdbE+AMwsFBf73YXRVwsvsx2dMt1xgDxj/4pN+BfY\n" +
- "LWnO94beeZcrCJ1/N8CHmDOce7KRDR6/9kpi20wFAVXZ3KNQME4wHQYDVR0OBBYE\n" +
- "FA/hB2ODDNdz1JF08u2uhknhlsVoMB8GA1UdIwQYMBaAFA/hB2ODDNdz1JF08u2u\n" +
- "hknhlsVoMAwGA1UdEwQFMAMBAf8wCQYHKoZIzj0EAQNHADBEAiBNxv2L2FW+6+w/\n" +
- "QtDe+YSUNRj3F8QrpLkfGk7rVaOiHQIgVF2pWJ5ytg0pbCuO8Bh+UZ7zfZUD03s8\n" +
- "ZuIYW7RtMe0=\n" +
+ "MIIBeTCCAR+gAwIBAgIUWZkzN4WOoj7HUYLoWtgy+ad/zjswCgYIKoZIzj0EAwIw\n" +
+ "EjEQMA4GA1UEAwwHRVhBTVBMRTAeFw0xOTAxMTYwNjA4NDFaFw0xOTAyMTUwNjA4\n" +
+ "NDFaMBIxEDAOBgNVBAMMB0VYQU1QTEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC\n" +
+ "AAQMzWjRuN9r2/kcVYyHFpKduuYj2VFRXo81qd+EcyjnLZab5m9RqIYy6iDUvZk5\n" +
+ "w8wHeHGpMybPzNSEQ2mVY5Yvo1MwUTAdBgNVHQ4EFgQUUhVK37nQDP6OEW5w7XEb\n" +
+ "p8/sCxMwHwYDVR0jBBgwFoAUUhVK37nQDP6OEW5w7XEbp8/sCxMwDwYDVR0TAQH/\n" +
+ "BAUwAwEB/zAKBggqhkjOPQQDAgNIADBFAiEA9B2e4TWZKMxS8/uyVjl6D+cyqsPU\n" +
+ "7/qATL5cTK1AIUACID8BPfcPE46ARCretiGWywVuQzAVKz1fkjwEwLmAo+2x\n" +
"-----END CERTIFICATE-----",
"308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02" +
- "010104204d901d5efd0e3def78d5307788a4c760115effce4b9e2c31ae5860b6" +
- "c11915aca1440342000475b13e00cc2c1417fbdd85d1570b2fb31d9d32dd7180" +
- "3c63ff8a4df817d82d69cef786de79972b089d7f37c08798339c7bb2910d1ebf" +
- "f64a62db4c050155d9dc"),
+ "01010420ed3600c6b62b351b48b4c61f37c46c45460ff599aa7f9c2d79635d0e" +
+ "147c23a3a144034200040ccd68d1b8df6bdbf91c558c8716929dbae623d95151" +
+ "5e8f35a9df847328e72d969be66f51a88632ea20d4bd9939c3cc077871a93326" +
+ "cfccd48443699563962f"),
// This certificate is generated by the below commands:
- // openssl ecparam -name prime256v1 -genkey -out key.pem
- // openssl req -new -key key.pem -x509 -nodes -days 7300 \
- // -subj "/CN=www.example.com" -sha1 -out cert.pem
- ECDSA_EXAMPLE_SHA1_PRIME256V1(
- SignatureAlgorithm.ECDSA,
+ // openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 \
+ // -pkeyopt ec_param_enc:named_curve -out key.pem
+ // openssl req -new -key key.pem \
+ // -subj "/CN=EC-RSA-SECP256-SHA256" -sha256 -out csr.pem
+ // openssl x509 -req -CAcreateserial -in csr.pem -sha256 \
+ // -CA CA.cer -CAkey CA.key -out cer.pem
+ // Actually the CA is RSA_2048_SHA256
+ EC_RSA_PRIME256V1_SHA256(
+ KeyAlgorithm.EC,
"-----BEGIN CERTIFICATE-----\n" +
- "MIIBeDCCASCgAwIBAgIJAMxOXBpiJ5mDMAkGByqGSM49BAEwGjEYMBYGA1UEAwwP\n" +
- "d3d3LmV4YW1wbGUuY29tMB4XDTE3MTEwMjA1MTg0MVoXDTM3MTAyODA1MTg0MVow\n" +
- "GjEYMBYGA1UEAwwPd3d3LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D\n" +
- "AQcDQgAER9IyuwyrJ7X9DmIqGC3YNTlWBt4Fo/Y3RnlcxhTVxb/ZAYVNhqe4MbSM\n" +
- "2nsVnYMjjXXDav1plNKvmgGDf9s/saNQME4wHQYDVR0OBBYEFHNUTaIIEA89uNKH\n" +
- "OOUgJ981Qj5HMB8GA1UdIwQYMBaAFHNUTaIIEA89uNKHOOUgJ981Qj5HMAwGA1Ud\n" +
- "EwQFMAMBAf8wCQYHKoZIzj0EAQNHADBEAiBCW59S1nE15j8euO6/q9bM6J9Ci5xJ\n" +
- "WWAVznGGxnS/HgIgFaFKC31uxTXoBN7QN0yW/umQgJ0nsjwj7Pnxc0wNyw8=\n" +
+ "MIIB9TCB3gIUIpSnxoBfFOKeRdx52FvEKuk1uvYwDQYJKoZIhvcNAQELBQAwGjEY\n" +
+ "MBYGA1UEAwwPUlNBLTIwNDgtU0hBMjU2MB4XDTE5MDExNjA2MDg0NloXDTE5MDIx\n" +
+ "NTA2MDg0NlowIDEeMBwGA1UEAwwVRUMtUlNBLVNFQ1AyNTYtU0hBMjU2MFkwEwYH\n" +
+ "KoZIzj0CAQYIKoZIzj0DAQcDQgAETcLM10u7ehsxJQbX3ypbSRMz7ZDkFS/QsmPF\n" +
+ "04NSwiBncQPjtpaPSshVDJzigEDfACcwIdO0BH4Eh2oHcB6hDzANBgkqhkiG9w0B\n" +
+ "AQsFAAOCAQEAHg06hhIec3ctUh7pao53ZF3SVJ/Pty4rgQ3Hb5gNhZHrmYWldj6J\n" +
+ "UagMRtfX0fJwzIdY0kNTol38es+6XDTCdYsaDDw4Ix1yF/xoExu6PqJ49npMVxqB\n" +
+ "yeXwg8aDB9sbmeczZp0kWa1DiN3HgJGoA8HbPOUZbuetCVl2ME82ZPdKdLaHgjO/\n" +
+ "Af3/gjYGVR27YB5sVIXkq3wJ5wEF+EvePKQZqnHFLhjz0xIIyp7mU6NFr26TsNh0\n" +
+ "JYecs5S0ydhf41x9GS4p8KpqRcfAOX4z5DEBe+BjgSuprGZabflFCbZ/PQrtBmdp\n" +
+ "5+cg/cNcA3zEXnsAzLu2R/+73/h9v75g/Q==\n" +
"-----END CERTIFICATE-----",
"308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02" +
- "010104209aa3784cd0c1fe0553e59b3c7b8f08c8fdaffd94f34e2c1683243a79" +
- "7b64b673a1440342000447d232bb0cab27b5fd0e622a182dd835395606de05a3" +
- "f63746795cc614d5c5bfd901854d86a7b831b48cda7b159d83238d75c36afd69" +
- "94d2af9a01837fdb3fb1");
+ "010104200ab17f2b70ba744b08564635ebfc535c60d43139e1c722cfb9c7152e" +
+ "9faad5b3a144034200044dc2ccd74bbb7a1b312506d7df2a5b491333ed90e415" +
+ "2fd0b263c5d38352c220677103e3b6968f4ac8550c9ce28040df00273021d3b4" +
+ "047e04876a07701ea10f"),
- public final SignatureAlgorithm signatureAlgorithm;
+ // This certificate is generated by the below commands:
+ // openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 \
+ // -pkeyopt ec_param_enc:named_curve -out key.pem
+ // openssl req -new -key key.pem -subj "/CN=EXAMPLE" -sha256 -out csr.pem
+ // openssl x509 -req -CAcreateserial -in csr.pem -sha256 \
+ // -CA CA.cer -CAkey CA.key -out cer.pem
+ // Actually the CA is EXAMPLE_RSA_2048_SHA256
+ EXAMPLE_EC_RSA_PRIME256V1_SHA256(
+ KeyAlgorithm.EC,
+ "-----BEGIN CERTIFICATE-----\n" +
+ "MIIB3zCByAIUbogHun+2LFxbX9B5fImITzFQVfIwDQYJKoZIhvcNAQELBQAwEjEQ\n" +
+ "MA4GA1UEAwwHRVhBTVBMRTAeFw0xOTAxMTYwNjA4NDZaFw0xOTAyMTUwNjA4NDZa\n" +
+ "MBIxEDAOBgNVBAMMB0VYQU1QTEUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASA\n" +
+ "pPapPXO0qJO7mDm9dTuSKdsxWatAaloJZnwenBFIY8krulHd8VPSGbERmxRBY/z2\n" +
+ "+MH8dwaC1t9DAFb+1qdWMA0GCSqGSIb3DQEBCwUAA4IBAQA3SfXMUFj7xCl7nR8L\n" +
+ "/6mf0La/q4O1pGKmVpy55aP7dZmY3xzaPtDFevdnMqb7tBTiLl0Y8OehMQW/8usb\n" +
+ "qtcYPekZJV5g1ezMhyB/AHecotfsrBS7l9r+IWYf/GUoQ8izC1srNXVrqDCt0cbB\n" +
+ "o7bc0lQFhI+rcMt1AzQtrNkVhX0dcBbLyhNJzgyAXatSB5R0/R3kTddUZfrOtOoC\n" +
+ "IXUZJRQ7hZKx7qi/U4+q246IuKSSp2SjFTU1QpeO4/Q06eJ3sbtx5Nd1Rfzlo2Jq\n" +
+ "uYi8szOupFC8xKCB+odMndHvh1QO/8E4e4r0mShkrnK3M/lKiwi67yl3Jk9uY9ls\n" +
+ "X5Q6\n" +
+ "-----END CERTIFICATE-----",
+ "308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02" +
+ "01010420618ff6a884185b97322aaeab5f9fdf8a14ab18d0478565317b483db0" +
+ "0f3b5bf6a1440342000480a4f6a93d73b4a893bb9839bd753b9229db3159ab40" +
+ "6a5a09667c1e9c114863c92bba51ddf153d219b1119b144163fcf6f8c1fc7706" +
+ "82d6df430056fed6a756");
+
+ public final KeyAlgorithm keyAlgorithm;
public final String certMaterials;
public final String privKeyMaterials;
private Cert(
- SignatureAlgorithm signatureAlgorithm,
+ KeyAlgorithm keyAlgorithm,
String certMaterials,
String privKeyMaterials) {
- this.signatureAlgorithm = signatureAlgorithm;
+ this.keyAlgorithm = keyAlgorithm;
this.certMaterials = certMaterials;
this.privKeyMaterials = privKeyMaterials;
}
// Two certificates (mainCert and exampleCert) are selected to respect the
// specified cipher suite. SNI-associated cases specify exampleCert as desired.
- public static Cert[] getCerts(String cipherSuite) {
- Cert mainCert = Cert.DSA_SHA1_1024;
- Cert exampleCert = Cert.DSA_EXAMPLE_SHA1_1024;
- if (cipherSuite.contains("_ECDHE_RSA_")) {
- mainCert = Cert.RSA_SHA1_1024;
- exampleCert = Cert.RSA_EXAMPLE_SHA1_1024;
- } else if (cipherSuite.contains("_EC")) {
- mainCert = Cert.ECDSA_SHA1_PRIME256V1;
- exampleCert = Cert.ECDSA_EXAMPLE_SHA1_PRIME256V1;
- } else if (cipherSuite.contains("_RSA")) {
- mainCert = Cert.RSA_SHA1_1024;
- exampleCert = Cert.RSA_EXAMPLE_SHA1_1024;
+ public static Cert[] getCerts(CipherSuite cipherSuite) {
+ Cert mainCert = Cert.ECDSA_PRIME256V1_SHA256;
+ Cert exampleCert = Cert.EXAMPLE_ECDSA_PRIME256V1_SHA256;
+ if (cipherSuite.keyExAlgorithm == KeyExAlgorithm.ECDHE_RSA
+ || cipherSuite.keyExAlgorithm == KeyExAlgorithm.DHE_RSA
+ || cipherSuite.keyExAlgorithm == KeyExAlgorithm.RSA) {
+ mainCert = Cert.RSA_2048_SHA256;
+ exampleCert = Cert.EXAMPLE_RSA_2048_SHA256;
+ } else if (cipherSuite.keyExAlgorithm == KeyExAlgorithm.ECDH_RSA) {
+ mainCert = Cert.EC_RSA_PRIME256V1_SHA256;
+ exampleCert = Cert.EXAMPLE_EC_RSA_PRIME256V1_SHA256;
+ } else if (cipherSuite.keyExAlgorithm == KeyExAlgorithm.DHE_DSS) {
+ mainCert = Cert.DSA_2048_SHA256;
+ exampleCert = Cert.EXAMPLE_DSA_2048_SHA256;
}
System.out.printf("mainCert=%s, exampleCert=%s%n",
mainCert, exampleCert);
return new Cert[] { mainCert, exampleCert };
}
}
-
-enum SignatureAlgorithm {
-
- RSA, DSA, ECDSA;
-}
--- a/test/jdk/javax/net/ssl/compatibility/Client.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/compatibility/Client.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -137,7 +137,7 @@
Status status = Status.SUCCESS;
Client client = null;
try {
- client = new Client(Cert.getCerts(cipherSuite));
+ client = new Client(Cert.getCerts(CipherSuite.cipherSuite(cipherSuite)));
client.setEnabledProtocols(protocol);
client.setEnabledCipherSuites(cipherSuite);
--- a/test/jdk/javax/net/ssl/compatibility/Compatibility.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/compatibility/Compatibility.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -28,8 +28,8 @@
* Note that, this is a manual test. For more details about the test and
* its usages, please look through README.
*
- * @library /test/lib
- * @compile -source 1.7 -target 1.7 JdkUtils.java Parameter.java Server.java Client.java
+ * @library /test/lib ../TLSCommon
+ * @compile -source 1.7 -target 1.7 JdkUtils.java Server.java Client.java
* @run main/manual Compatibility
*/
@@ -81,20 +81,16 @@
for (UseCase useCase : UseCase.getAllUseCases()) {
for (JdkInfo serverJdk : jdkInfos) {
- if (useCase.ignoredByJdk(serverJdk)) {
- continue;
- }
-
Map<String, String> props = new LinkedHashMap<>();
if (debug) {
- props.put("javax.net.debug", "ssl");
+ props.put("javax.net.debug", "all");
}
props.put("java.security.properties", javaSecurityFile);
- props.put(Utils.PROP_PROTOCOL, useCase.protocol.version);
+ props.put(Utils.PROP_PROTOCOL, useCase.protocol.name);
props.put(Utils.PROP_CIPHER_SUITE, useCase.cipherSuite.name());
- props.put(Utils.PROP_CLIENT_AUTH, useCase.clientAuth.name());
- if (useCase.appProtocol != AppProtocol.NONE) {
+ props.put(Utils.PROP_CLIENT_AUTH, String.valueOf(useCase.clientAuth));
+ if (useCase.appProtocol != UseCase.AppProtocol.NONE) {
props.put(Utils.PROP_APP_PROTOCOLS,
Utils.join(Utils.VALUE_DELIMITER,
useCase.appProtocol.appProtocols));
@@ -109,14 +105,10 @@
serverJdk.supportsALPN + "");
for (JdkInfo clientJdk : jdkInfos) {
- if (useCase.ignoredByJdk(clientJdk)) {
- continue;
- }
-
TestCase testCase = new TestCase(serverJdk, clientJdk,
useCase);
System.out.println(Utils.anchorName(testCase.toString(),
- "----- Case start -----"));
+ "===== Case start ====="));
System.out.println(testCase.toString());
props.put(Utils.PROP_NEGATIVE_CASE_ON_SERVER,
@@ -138,7 +130,7 @@
clientJdk.supportsSNI + "");
props.put(Utils.PROP_SUPPORTS_ALPN_ON_CLIENT,
clientJdk.supportsALPN + "");
- if (useCase.serverName != ServerName.NONE) {
+ if (useCase.serverName != UseCase.ServerName.NONE) {
props.put(Utils.PROP_SERVER_NAME,
useCase.serverName.name);
}
@@ -158,7 +150,7 @@
"ServerStatus=%s, ClientStatus=%s, CaseStatus=%s%n",
serverStatus, clientStatus, testCase.getStatus());
- System.out.println("----- Case end -----");
+ System.out.println("===== Case end =====");
}
}
}
@@ -309,14 +301,14 @@
i + ""),
testCase.serverJdk.version,
testCase.clientJdk.version,
- testCase.useCase.protocol.version,
+ testCase.useCase.protocol.name,
testCase.useCase.cipherSuite,
Utils.boolToStr(
- testCase.useCase.clientAuth == ClientAuth.TRUE),
+ testCase.useCase.clientAuth),
Utils.boolToStr(
- testCase.useCase.serverName == ServerName.EXAMPLE),
+ testCase.useCase.serverName == UseCase.ServerName.EXAMPLE),
Utils.boolToStr(
- testCase.useCase.appProtocol == AppProtocol.EXAMPLE),
+ testCase.useCase.appProtocol == UseCase.AppProtocol.EXAMPLE),
testCase.getStatus()));
failed = failed
|| testCase.getStatus() == Status.FAIL
--- a/test/jdk/javax/net/ssl/compatibility/JdkInfo.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/compatibility/JdkInfo.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -31,7 +31,8 @@
public final String jdkPath;
public final String version;
- public final boolean supportsECKey;
+ public final String supportedProtocols;
+ public final String supportedCipherSuites;
public final boolean supportsSNI;
public final boolean supportsALPN;
@@ -46,9 +47,10 @@
String[] attributes = Utils.split(output, Utils.PARAM_DELIMITER);
version = attributes[0].replaceAll(".*=", "");
- supportsECKey = Boolean.valueOf(attributes[1].replaceAll(".*=", ""));
- supportsSNI = Boolean.valueOf(attributes[2].replaceAll(".*=", ""));
- supportsALPN = Boolean.valueOf(attributes[3].replaceAll(".*=", ""));
+ supportedProtocols = attributes[1].replaceAll(".*=", "");
+ supportedCipherSuites = attributes[2].replaceAll(".*=", "");
+ supportsSNI = Boolean.valueOf(attributes[3].replaceAll(".*=", ""));
+ supportsALPN = Boolean.valueOf(attributes[4].replaceAll(".*=", ""));
}
// Determines the specific attributes for the specified JDK.
@@ -83,10 +85,11 @@
return true;
}
+ public boolean supportsProtocol(Protocol protocol) {
+ return supportedProtocols.contains(protocol.name);
+ }
+
public boolean supportsCipherSuite(CipherSuite cipherSuite) {
- JdkRelease jdkRelease = JdkRelease.getRelease(version);
- return cipherSuite.startJdk.sequence <= jdkRelease.sequence
- && (cipherSuite.endJdk == null
- || cipherSuite.endJdk.sequence >= jdkRelease.sequence);
+ return supportedCipherSuites.contains(cipherSuite.name());
}
}
--- a/test/jdk/javax/net/ssl/compatibility/JdkUtils.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/compatibility/JdkUtils.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -21,10 +21,11 @@
* questions.
*/
-import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
+import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLParameters;
+import javax.net.ssl.SSLSocketFactory;
/*
* This class is used for returning some specific JDK information.
@@ -32,7 +33,8 @@
public class JdkUtils {
public static final String JAVA_RUNTIME_VERSION = "javaRuntimeVersion";
- public static final String SUPPORTS_EC_KEY = "supportsECKey";
+ public static final String SUPPORTED_PROTOCOLS = "supportedProtocols";
+ public static final String SUPPORTED_CIPHER_SUITES = "supportedCipherSuites";
public static final String SUPPORTS_SNI = "supportsSNI";
public static final String SUPPORTS_ALPN = "supportsALPN";
@@ -41,15 +43,39 @@
return System.getProperty("java.runtime.version");
}
- // Checks if EC key algorithm is supported by the JDK build.
- private static boolean supportsECKey() {
- boolean isSupported = true;
+ private static String supportedProtocols() {
+ StringBuilder protocols = new StringBuilder();
+ for (String protocol : new String[] {
+ "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" }) {
+ if (supportsProtocol(protocol)) {
+ protocols.append(protocol).append(Utils.VALUE_DELIMITER);
+ }
+ }
+ return protocols.toString().substring(
+ 0, protocols.toString().length() - 1);
+ }
+
+ private static boolean supportsProtocol(String protocol) {
+ boolean supported = true;
try {
- KeyFactory.getInstance("EC");
+ SSLContext.getInstance(protocol);
} catch (NoSuchAlgorithmException e) {
- isSupported = false;
+ supported = false;
}
- return isSupported;
+ return supported;
+ }
+
+ private static String supportedCipherSuites() {
+ StringBuilder cipherSuites = new StringBuilder();
+ String[] supportedCipherSuites = ((SSLSocketFactory) SSLSocketFactory
+ .getDefault()).getSupportedCipherSuites();
+ for (int i = 0; i < supportedCipherSuites.length - 1; i++) {
+ cipherSuites.append(supportedCipherSuites[i])
+ .append(Utils.VALUE_DELIMITER);
+ }
+ cipherSuites.append(
+ supportedCipherSuites[supportedCipherSuites.length - 1]);
+ return cipherSuites.toString();
}
// Checks if SNI is supported by the JDK build.
@@ -74,10 +100,11 @@
return isSupported;
}
- public static void main(String[] args) {
+ public static void main(String[] args) throws NoSuchAlgorithmException {
System.out.print(Utils.join(Utils.PARAM_DELIMITER,
attr(JAVA_RUNTIME_VERSION, javaRuntimeVersion()),
- attr(SUPPORTS_EC_KEY, supportsECKey()),
+ attr(SUPPORTED_PROTOCOLS, supportedProtocols()),
+ attr(SUPPORTED_CIPHER_SUITES, supportedCipherSuites()),
attr(SUPPORTS_SNI, supportsSNI()),
attr(SUPPORTS_ALPN, supportsALPN())));
}
--- a/test/jdk/javax/net/ssl/compatibility/Parameter.java Tue Jan 22 09:24:58 2019 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. 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.
- */
-
-/*
- * A tagging interface that all TLS communication parameters must implement.
- */
-public interface Parameter { }
-
-/* The followings are TLS communication parameters. */
-
-enum Protocol implements Parameter {
-
- SSLV3_0(3, "SSLv3"),
- TLSV1_0(4, "TLSv1"),
- TLSV1_1(5, "TLSv1.1"),
- TLSV1_2(6, "TLSv1.2");
-
- public final int sequence;
- public final String version;
-
- private Protocol(int sequence, String version) {
- this.sequence = sequence;
- this.version = version;
- }
-
- static Protocol getProtocol(String version) {
- for (Protocol protocol : values()) {
- if (protocol.version.equals(version)) {
- return protocol;
- }
- }
-
- return null;
- }
-
- static Protocol[] getMandatoryValues() {
- return new Protocol[] { TLSV1_0, TLSV1_1, TLSV1_2 };
- }
-}
-
-enum CipherSuite implements Parameter {
-
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_RSA_WITH_AES_256_CBC_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA(),
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA(),
- TLS_RSA_WITH_AES_256_CBC_SHA(),
- TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA(),
- TLS_ECDH_RSA_WITH_AES_256_CBC_SHA(),
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA(),
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA(),
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_RSA_WITH_AES_128_CBC_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK7),
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA(),
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(),
- TLS_RSA_WITH_AES_128_CBC_SHA(),
- TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA(),
- TLS_ECDH_RSA_WITH_AES_128_CBC_SHA(
- Protocol.SSLV3_0, JdkRelease.JDK7),
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA(),
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA(),
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_RSA_WITH_AES_256_GCM_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_DHE_DSS_WITH_AES_256_GCM_SHA384(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_RSA_WITH_AES_128_GCM_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_DHE_DSS_WITH_AES_128_GCM_SHA256(
- Protocol.TLSV1_2, JdkRelease.JDK8),
- TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA(),
- TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA(),
- TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA(),
- TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA(),
- TLS_ECDHE_ECDSA_WITH_RC4_128_SHA(),
- TLS_ECDHE_RSA_WITH_RC4_128_SHA(),
- TLS_ECDH_ECDSA_WITH_RC4_128_SHA(),
- TLS_ECDH_RSA_WITH_RC4_128_SHA(),
- SSL_RSA_WITH_RC4_128_SHA(),
- SSL_RSA_WITH_3DES_EDE_CBC_SHA(),
- SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA(
- Protocol.SSLV3_0, JdkRelease.JDK7),
- SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA(
- Protocol.SSLV3_0, JdkRelease.JDK7),
- SSL_RSA_WITH_RC4_128_MD5(
- Protocol.SSLV3_0, JdkRelease.JDK7);
-
- private static final boolean FULL_CIPHER_SUITES
- = Utils.getBoolProperty("fullCipherSuites");
-
- final Protocol startProtocol;
- final Protocol endProtocol;
-
- final JdkRelease startJdk;
- final JdkRelease endJdk;
-
- private CipherSuite(
- Protocol startProtocol, Protocol endProtocol,
- JdkRelease startJdk, JdkRelease endJdk) {
- this.startProtocol = startProtocol;
- this.endProtocol = endProtocol;
-
- this.startJdk = startJdk;
- this.endJdk = endJdk;
- }
-
- private CipherSuite(Protocol startProtocol, JdkRelease startJdk) {
- this(startProtocol, null, startJdk, null);
- }
-
- private CipherSuite() {
- this(Protocol.TLSV1_0, null, JdkRelease.JDK7, null);
- }
-
- boolean supportedByProtocol(Protocol protocol) {
- return startProtocol.sequence <= protocol.sequence
- && (endProtocol == null || endProtocol.sequence >= protocol.sequence);
- }
-
- static CipherSuite[] getMandatoryValues() {
- return FULL_CIPHER_SUITES
- ? values()
- : new CipherSuite[] {
- TLS_RSA_WITH_AES_128_CBC_SHA,
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
- TLS_RSA_WITH_AES_256_CBC_SHA256,
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 };
- }
-
- static CipherSuite getCipherSuite(String name) {
- for (CipherSuite cipherSuite : values()) {
- if (cipherSuite.name().equals(name)) {
- return cipherSuite;
- }
- }
-
- return null;
- }
-}
-
-enum ClientAuth implements Parameter {
-
- FALSE,
- TRUE;
-
- static ClientAuth[] getMandatoryValues() {
- return new ClientAuth[] { TRUE };
- }
-}
-
-enum ServerName implements Parameter {
-
- NONE(null),
- EXAMPLE("www.example.com");
-
- final String name;
-
- private ServerName(String name) {
- this.name = name;
- }
-
- static ServerName[] getMandatoryValues() {
- return new ServerName[] { EXAMPLE };
- }
-}
-
-enum AppProtocol implements Parameter {
-
- NONE(null, null),
- EXAMPLE(new String[] { Utils.HTTP_2, Utils.HTTP_1_1 }, Utils.HTTP_2);
-
- final String[] appProtocols;
-
- // Expected negotiated application protocol
- final String negoAppProtocol;
-
- private AppProtocol(String[] appProtocols, String negoAppProtocol) {
- this.appProtocols = appProtocols;
- this.negoAppProtocol = negoAppProtocol;
- }
-
- static AppProtocol[] getMandatoryValues() {
- return new AppProtocol[] { EXAMPLE };
- }
-}
--- a/test/jdk/javax/net/ssl/compatibility/README Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/compatibility/README Tue Jan 22 09:43:38 2019 -0500
@@ -1,4 +1,4 @@
-# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -21,10 +21,10 @@
##### Summary #####
This test is used to check the interop compatibility on JSSE among different
-JDK releases. The oldest version supported by the test is JDK 6. Some of Java
-source files, JdkUtils.java, Parameter.java, Server.java, and Client.java, use
-only JDK 6-compliant language features and APIs, in order to allowing different
-JDK releases can load and run associated classes.
+JDK releases. The oldest version supported by the test is JDK 7. Some of Java
+source files, JdkUtils.java, Server.java, and Client.java, use only JDK 7-compliant
+language features and APIs, in order to allowing different JDK releases can load
+and run associated classes.
##### Output #####
The test can generate a report at $JTREG_WORKDIR/scratch/report.html to display
@@ -78,7 +78,7 @@
Besides the common jtreg options, like -jdk, this test introduces some more
properties:
debug
- It indicates if the test enable -Djavax.net.ssl=debug. This is a boolean
+ It indicates if the test enable -Djavax.net.debug=all. This is a boolean
property, and the default value is false.
It is not mandatory.
--- a/test/jdk/javax/net/ssl/compatibility/Server.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/compatibility/Server.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -120,7 +120,7 @@
Status status = Status.SUCCESS;
Server server = null;
try {
- server = new Server(Cert.getCerts(cipherSuite));
+ server = new Server(Cert.getCerts(CipherSuite.cipherSuite(cipherSuite)));
System.out.println("port=" + server.getPort());
server.setNeedClientAuth(clientAuth);
server.setEnabledProtocols(protocol);
@@ -146,16 +146,20 @@
server.close();
}
- // Cleanups port log.
- if (!new File(Utils.PORT_LOG).delete()) {
- throw new RuntimeException("Cannot delete port log");
- }
+ deletePortFile();
}
System.out.println("STATUS: " + status);
System.out.println("----- Server end -----");
}
+ private static void deletePortFile() {
+ File portFile = new File(Utils.PORT_LOG);
+ if (portFile.exists() && !portFile.delete()) {
+ throw new RuntimeException("Cannot delete port log");
+ }
+ }
+
private static void savePort(int port) throws IOException {
FileWriter writer = null;
try {
--- a/test/jdk/javax/net/ssl/compatibility/UseCase.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/compatibility/UseCase.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -32,16 +32,119 @@
private static final boolean FULL_CASES
= Utils.getBoolProperty("fullCases");
- private static final Parameter[][] PARAMS = new Parameter[][] {
- FULL_CASES ? Protocol.values() : Protocol.getMandatoryValues(),
- FULL_CASES ? CipherSuite.values() : CipherSuite.getMandatoryValues(),
- FULL_CASES ? ClientAuth.values() : ClientAuth.getMandatoryValues(),
- FULL_CASES ? ServerName.values() : ServerName.getMandatoryValues(),
- FULL_CASES ? AppProtocol.values() : AppProtocol.getMandatoryValues() };
+ public static final boolean FULL_CIPHER_SUITES
+ = Utils.getBoolProperty("fullCipherSuites");
+
+ public static final Protocol[] PROTOCOLS = new Protocol[] {
+ Protocol.TLSV1,
+ Protocol.TLSV1_1,
+ Protocol.TLSV1_2,
+ Protocol.TLSV1_3 };
+
+ public static final CipherSuite[] CIPHER_SUITES = new CipherSuite[] {
+ CipherSuite.TLS_AES_128_GCM_SHA256,
+ CipherSuite.TLS_AES_256_GCM_SHA384,
+ CipherSuite.TLS_CHACHA20_POLY1305_SHA256,
+ CipherSuite.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
+ CipherSuite.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
+ CipherSuite.TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
+ CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
+ CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
+ CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA256,
+ CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
+ CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
+ CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
+ CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,
+ CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
+ CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
+ CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA,
+ CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
+ CipherSuite.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
+ CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
+ CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
+ CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
+ CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA256,
+ CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
+ CipherSuite.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
+ CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
+ CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,
+ CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
+ CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
+ CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA,
+ CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
+ CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
+ CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
+ CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
+ CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
+ CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384,
+ CipherSuite.TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
+ CipherSuite.TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
+ CipherSuite.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
+ CipherSuite.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,
+ CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
+ CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256,
+ CipherSuite.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
+ CipherSuite.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
+ CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
+ CipherSuite.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 };
+
+ public static final CipherSuite[] MANDATORY_CIPHER_SUITES = new CipherSuite[] {
+ CipherSuite.TLS_AES_128_GCM_SHA256,
+ CipherSuite.TLS_CHACHA20_POLY1305_SHA256,
+ CipherSuite.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
+ CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA,
+ CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
+ CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
+ CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA256,
+ CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,
+ CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
+ CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 };
+
+ enum ServerName {
+
+ NONE(null),
+ EXAMPLE("EXAMPLE");
+
+ final String name;
+
+ private ServerName(String name) {
+ this.name = name;
+ }
+ }
+
+ enum AppProtocol {
+
+ NONE(null, null),
+ EXAMPLE(new String[] { Utils.HTTP_2, Utils.HTTP_1_1 }, Utils.HTTP_2);
+
+ final String[] appProtocols;
+
+ // Expected negotiated application protocol
+ final String negoAppProtocol;
+
+ private AppProtocol(String[] appProtocols, String negoAppProtocol) {
+ this.appProtocols = appProtocols;
+ this.negoAppProtocol = negoAppProtocol;
+ }
+ }
+
+ private static final Object[][] PARAMS = new Object[][] {
+ FULL_CASES ? PROTOCOLS : PROTOCOLS,
+ FULL_CASES ? CIPHER_SUITES : MANDATORY_CIPHER_SUITES,
+ FULL_CASES ? new Boolean[] { false, true } : new Boolean[] { true },
+ FULL_CASES
+ ? new ServerName[] { ServerName.NONE, ServerName.EXAMPLE }
+ : new ServerName[] { ServerName.EXAMPLE },
+ FULL_CASES
+ ? new AppProtocol[] {
+ AppProtocol.NONE,
+ AppProtocol.EXAMPLE }
+ : new AppProtocol[] {
+ AppProtocol.EXAMPLE } };
public final Protocol protocol;
public final CipherSuite cipherSuite;
- public final ClientAuth clientAuth;
+ public final Boolean clientAuth;
public final ServerName serverName;
public final AppProtocol appProtocol;
@@ -50,7 +153,7 @@
public UseCase(
Protocol protocol,
CipherSuite cipherSuite,
- ClientAuth clientAuth,
+ boolean clientAuth,
ServerName serverName,
AppProtocol appProtocol) {
this.protocol = protocol;
@@ -62,15 +165,10 @@
negativeCase = !cipherSuite.supportedByProtocol(protocol);
}
- // JDK 6 doesn't support EC key algorithm.
- public boolean ignoredByJdk(JdkInfo jdkInfo) {
- return cipherSuite.name().contains("_EC") && !jdkInfo.supportsECKey;
- }
-
@Override
public String toString() {
return Utils.join(Utils.PARAM_DELIMITER,
- "Protocol=" + protocol.version,
+ "Protocol=" + protocol.name,
"CipherSuite=" + cipherSuite,
"ClientAuth=" + clientAuth,
"ServerName=" + serverName,
@@ -79,12 +177,12 @@
public static List<UseCase> getAllUseCases() {
List<UseCase> useCases = new ArrayList<>();
- getUseCases(PARAMS, 0, new Parameter[PARAMS.length], useCases);
+ getUseCases(PARAMS, 0, new Object[PARAMS.length], useCases);
return useCases;
}
- private static void getUseCases(Parameter[][] params, int index,
- Parameter[] currentValues, List<UseCase> useCases) {
+ private static void getUseCases(Object[][] params, int index,
+ Object[] currentValues, List<UseCase> useCases) {
if (index == params.length) {
Protocol protocol = (Protocol) currentValues[0];
CipherSuite cipherSuite = (CipherSuite) currentValues[1];
@@ -92,12 +190,12 @@
UseCase useCase = new UseCase(
protocol,
cipherSuite,
- (ClientAuth) currentValues[2],
+ (Boolean) currentValues[2],
(ServerName) currentValues[3],
(AppProtocol) currentValues[4]);
useCases.add(useCase);
} else {
- Parameter[] values = params[index];
+ Object[] values = params[index];
for (int i = 0; i < values.length; i++) {
currentValues[index] = values[i];
getUseCases(params, index + 1, currentValues, useCases);
--- a/test/jdk/javax/net/ssl/compatibility/Utils.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/javax/net/ssl/compatibility/Utils.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, Oracle and/or its affiliates. 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
@@ -124,19 +124,11 @@
PKCS8EncodedKeySpec privKeySpec = new PKCS8EncodedKeySpec(
hexToBytes(cert.privKeyMaterials));
KeyFactory keyFactory = KeyFactory.getInstance(
- getKeyAlgorithm(cert.signatureAlgorithm));
+ cert.keyAlgorithm.name);
PrivateKey privKey = keyFactory.generatePrivate(privKeySpec);
return privKey;
}
- private static String getKeyAlgorithm(
- SignatureAlgorithm signatureAlgorithm) {
- String signatureAlogrithmName = signatureAlgorithm.name();
- return signatureAlogrithmName.equals(SignatureAlgorithm.ECDSA.name())
- ? "EC"
- : signatureAlogrithmName;
- }
-
public static byte[] hexToBytes(String hex) {
if (hex == null) {
return null;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/jdk/internal/loader/URLClassPath/JarClassPathFileEntry.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+import java.io.File;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+import jdk.test.lib.util.JarUtils;
+import jdk.test.lib.compiler.InMemoryJavaCompiler;
+
+/*
+ * @test
+ * @bug 8216401
+ * @summary Test loading of JAR Class-Path entry with file: scheme
+ * @library /test/lib
+ *
+ * @run main/othervm JarClassPathFileEntry
+ * @run main/othervm -Djdk.net.URLClassPath.disableClassPathURLCheck=true JarClassPathFileEntry
+ * @run main/othervm -Djdk.net.URLClassPath.disableClassPathURLCheck=false JarClassPathFileEntry
+ */
+
+public class JarClassPathFileEntry {
+ private final static boolean IS_WINDOWS = System.getProperty("os.name").startsWith("Windows");
+
+ private final static String TEST_CLASSES = System.getProperty("test.classes");
+ private final static String OTHER_DIR = TEST_CLASSES + "/OTHER/";
+
+ private final static Path OTHER_JAR_PATH = Paths.get(OTHER_DIR, "Other.jar");
+ private final static Path CONTEXT_JAR_PATH = Paths.get(TEST_CLASSES, "Context.jar");
+
+ public static void main(String[] args) throws Throwable {
+ // Create Other.class in OTHER_DIR, off the default classpath
+ byte klassbuf[] = InMemoryJavaCompiler.compile("Other",
+ "public class Other {}");
+ ClassFileInstaller.writeClassToDisk("Other", klassbuf, OTHER_DIR);
+
+ // Create Other.jar in OTHER_DIR
+ JarUtils.createJarFile(OTHER_JAR_PATH,
+ Paths.get(OTHER_DIR),
+ Paths.get(OTHER_DIR, "Other.class"));
+
+ // Create Context.class
+ klassbuf = InMemoryJavaCompiler.compile("Context",
+ "public class Context {}");
+ ClassFileInstaller.writeClassToDisk("Context", klassbuf, TEST_CLASSES);
+
+ // Create Context.jar w/ "file:" entry for Other.jar
+ Manifest mf = new Manifest();
+ Attributes attrs = mf.getMainAttributes();
+ attrs.put(Attributes.Name.MANIFEST_VERSION, "1.0");
+
+ String classPathEntry = "file:" + (IS_WINDOWS ? toUnixPath(OTHER_JAR_PATH.toString())
+ : OTHER_JAR_PATH.toString());
+ attrs.put(Attributes.Name.CLASS_PATH, classPathEntry);
+
+ System.out.println("Creating Context.jar with Class-Path: " + classPathEntry);
+ JarUtils.createJarFile(CONTEXT_JAR_PATH, mf,
+ Paths.get(TEST_CLASSES),
+ Paths.get(TEST_CLASSES, "Context.class"));
+
+ // Use URLClassLoader w/ Context.jar to load Other.class, which will
+ // load via the Class-Path entry
+ URL url = CONTEXT_JAR_PATH.toUri().toURL();
+ URLClassLoader ucl = new URLClassLoader("TestURLClassLoader",
+ new URL[]{ url },
+ null); // don't delegate to App CL
+ Class<?> otherClass = Class.forName("Other", true, ucl); // ClassNotFoundException -> fail
+ System.out.println("Loaded: " + otherClass);
+ }
+
+ /* Convert a Windows path to a unix-style path, and remove any drive letter */
+ private static String toUnixPath(String orig) {
+ String retVal = new File(orig).toURI().getPath();
+ int colonAt = retVal.indexOf(':');
+
+ if (colonAt != -1 && colonAt < 3) {
+ retVal = retVal.substring(colonAt + 1); // Start after the drive letter
+ }
+ return retVal;
+ }
+}
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -35,7 +35,8 @@
* & vm.opt.ExplicitGCInvokesConcurrent != true
* @library /test/lib /test/jdk
* @run main/othervm -Xmx32m -Xms32m -Xmn12m -XX:+UseG1GC -XX:-UseStringDeduplication -XX:MaxTenuringThreshold=5 -XX:InitialTenuringThreshold=5 jdk.jfr.event.gc.detailed.TestPromotionEventWithG1
- * @run main/othervm -Xmx32m -Xms32m -Xmn12m -XX:+UseG1GC -XX:-UseStringDeduplication -XX:MaxTenuringThreshold=5 -XX:InitialTenuringThreshold=5 -XX:MinTLABSize=576 -XX:TLABSize=576 jdk.jfr.event.gc.detailed.TestPromotionEventWithG1
+ * @run main/othervm -Xmx32m -Xms32m -Xmn12m -XX:AllocatePrefetchLines=1 -XX:AllocateInstancePrefetchLines=1 -XX:AllocatePrefetchStepSize=16 -XX:AllocatePrefetchDistance=1 -XX:+UseG1GC
+ * -XX:-UseStringDeduplication -Xlog:os+cpu=info -XX:MaxTenuringThreshold=5 -XX:InitialTenuringThreshold=5 -XX:MinTLABSize=768 -XX:TLABSize=768 jdk.jfr.event.gc.detailed.TestPromotionEventWithG1
*/
public class TestPromotionEventWithG1 {
--- a/test/jdk/jdk/jfr/event/metadata/TestLookForUntestedEvents.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/jdk/jfr/event/metadata/TestLookForUntestedEvents.java Tue Jan 22 09:43:38 2019 -0500
@@ -77,8 +77,8 @@
// NOTE: if the event is not covered, a bug should be open, and bug number
// noted in the comments for this set.
private static final Set<String> knownNotCoveredEvents = new HashSet<>(
- // DumpReason: JDK-8213918, Shutdown: JDK-8213917
- Arrays.asList("DumpReason", "Shutdown")
+ // DumpReason: JDK-8213918
+ Arrays.asList("DumpReason")
);
--- a/test/jdk/jdk/jfr/event/runtime/TestNativeLibrariesEvent.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/jdk/jfr/event/runtime/TestNativeLibrariesEvent.java Tue Jan 22 09:43:38 2019 -0500
@@ -39,6 +39,7 @@
/**
* @test
+ * @bug 8216559
* @key jfr
* @requires vm.hasJFR
* @library /test/lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/jdk/jfr/event/runtime/TestShutdownEvent.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,248 @@
+/*
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+package jdk.jfr.event.runtime;
+
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.nio.file.Paths;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import jdk.jfr.consumer.RecordedEvent;
+import jdk.jfr.consumer.RecordedFrame;
+import jdk.jfr.consumer.RecordedStackTrace;
+import jdk.jfr.consumer.RecordingFile;
+import jdk.test.lib.Asserts;
+import jdk.test.lib.Platform;
+import jdk.test.lib.process.OutputAnalyzer;
+import jdk.test.lib.process.ProcessTools;
+import jdk.test.lib.jfr.EventNames;
+import jdk.test.lib.jfr.Events;
+import sun.misc.Unsafe;
+
+/**
+ * @test
+ * @summary Test Shutdown event
+ * @key jfr
+ * @requires vm.hasJFR
+ * @library /test/lib
+ * @modules jdk.jfr
+ * @run main jdk.jfr.event.runtime.TestShutdownEvent
+ */
+public class TestShutdownEvent {
+ private static ShutdownEventSubTest subTests[] = {
+ new TestLastNonDaemon(),
+ new TestSystemExit(),
+ new TestVMCrash(),
+ new TestUnhandledException(),
+ new TestRuntimeHalt(),
+ new TestSig("TERM"),
+ new TestSig("HUP"),
+ new TestSig("INT")};
+
+ public static void main(String[] args) throws Throwable {
+ for (int i = 0; i < subTests.length; ++i) {
+ if (subTests[i].isApplicable()) {
+ runSubtest(i);
+ } else {
+ System.out.println("Skipping non-applicable test: " + i);
+ }
+ }
+ }
+
+ private static void runSubtest(int subTestIndex) throws Exception {
+ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
+ "-Xlog:jfr=debug",
+ "-XX:-CreateCoredumpOnCrash",
+ "-XX:StartFlightRecording=filename=./dumped.jfr,dumponexit=true,settings=default",
+ "jdk.jfr.event.runtime.TestShutdownEvent$TestMain",
+ String.valueOf(subTestIndex));
+ OutputAnalyzer output = ProcessTools.executeProcess(pb);
+ System.out.println(output.getOutput());
+ System.out.println("Exit code: " + output.getExitValue());
+
+ String recordingName = output.firstMatch("emergency jfr file: (.*.jfr)", 1);
+ if (recordingName == null) {
+ recordingName = "./dumped.jfr";
+ }
+
+ List<RecordedEvent> events = RecordingFile.readAllEvents(Paths.get(recordingName));
+ List<RecordedEvent> filteredEvents = events.stream()
+ .filter(e -> e.getEventType().getName().equals(EventNames.Shutdown))
+ .sorted(Comparator.comparing(RecordedEvent::getStartTime))
+ .collect(Collectors.toList());
+
+ Asserts.assertEquals(filteredEvents.size(), 1);
+ RecordedEvent event = filteredEvents.get(0);
+ subTests[subTestIndex].verifyEvents(event);
+ }
+
+ @SuppressWarnings("unused")
+ private static class TestMain {
+ public static void main(String[] args) throws Exception {
+ ShutdownEventSubTest subTest = subTests[Integer.parseInt(args[0])];
+ System.out.println("Running subtest " + args[0] + " (" + subTest.getClass().getName() + ")");
+ subTest.runTest();
+ }
+ }
+
+ private interface ShutdownEventSubTest {
+ default boolean isApplicable() {
+ return true;
+ }
+ void runTest();
+ void verifyEvents(RecordedEvent event);
+ }
+
+ public static Unsafe getUnsafe() {
+ try {
+ Field f = Unsafe.class.getDeclaredField("theUnsafe");
+ f.setAccessible(true);
+ return (Unsafe)f.get(null);
+ } catch (Exception e) {
+ Asserts.fail("Could not access Unsafe");
+ }
+ return null;
+ }
+
+ // Basic stack trace validation, checking that the runTest method is part of the stack
+ static void validateStackTrace(RecordedStackTrace stackTrace) {
+ List<RecordedFrame> frames = stackTrace.getFrames();
+ Asserts.assertFalse(frames.isEmpty());
+ Asserts.assertTrue(frames.stream()
+ .anyMatch(t -> t.getMethod().getName().equals("runTest")));
+ }
+
+
+ // =========================================================================
+ private static class TestLastNonDaemon implements ShutdownEventSubTest {
+ @Override
+ public void runTest() {
+ // Do nothing - this is the default exit reason
+ }
+
+ @Override
+ public void verifyEvents(RecordedEvent event) {
+ Events.assertField(event, "reason").equal("No remaining non-daemon Java threads");
+ }
+ }
+
+ private static class TestSystemExit implements ShutdownEventSubTest {
+ @Override
+ public void runTest() {
+ System.out.println("Running System.exit");
+ System.exit(42);
+ }
+
+ @Override
+ public void verifyEvents(RecordedEvent event) {
+ Events.assertField(event, "reason").equal("Shutdown requested from Java");
+ validateStackTrace(event.getStackTrace());
+ }
+ }
+
+ private static class TestVMCrash implements ShutdownEventSubTest {
+
+ @Override
+ public void runTest() {
+ System.out.println("Attempting to crash");
+ getUnsafe().putInt(0L, 0);
+ }
+
+ @Override
+ public void verifyEvents(RecordedEvent event) {
+ Events.assertField(event, "reason").equal("VM Error");
+ validateStackTrace(event.getStackTrace());
+ }
+ }
+
+ private static class TestUnhandledException implements ShutdownEventSubTest {
+ @Override
+ public void runTest() {
+ throw new RuntimeException("Unhandled");
+ }
+
+ @Override
+ public void verifyEvents(RecordedEvent event) {
+ Events.assertField(event, "reason").equal("No remaining non-daemon Java threads");
+ }
+ }
+
+ private static class TestRuntimeHalt implements ShutdownEventSubTest {
+ @Override
+ public void runTest() {
+ System.out.println("Running Runtime.getRuntime.halt");
+ Runtime.getRuntime().halt(17);
+ }
+
+ @Override
+ public void verifyEvents(RecordedEvent event) {
+ Events.assertField(event, "reason").equal("Shutdown requested from Java");
+ validateStackTrace(event.getStackTrace());
+ }
+ }
+
+ private static class TestSig implements ShutdownEventSubTest {
+
+ private final String signalName;
+
+ @Override
+ public boolean isApplicable() {
+ if (Platform.isWindows()) {
+ return false;
+ }
+ if (signalName.equals("HUP") && Platform.isSolaris()) {
+ return false;
+ }
+ return true;
+ }
+
+ public TestSig(String signalName) {
+ this.signalName = signalName;
+ }
+
+ @Override
+ public void runTest() {
+ System.out.println("Sending SIG" + signalName + " to process " + ProcessHandle.current().pid());
+ try {
+ Runtime.getRuntime().exec("kill -" + signalName + " " + ProcessHandle.current().pid()).waitFor();
+ Thread.sleep(60_1000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ Asserts.fail("Process survived the SIG" + signalName + " signal!");
+ }
+
+ @Override
+ public void verifyEvents(RecordedEvent event) {
+ Events.assertField(event, "reason").equal("Shutdown requested from Java");
+ Events.assertEventThread(event);
+ Asserts.assertEquals(event.getThread().getJavaName(), "SIG" + signalName + " handler");
+ }
+ }
+}
--- a/test/jdk/jdk/nio/zipfs/Basic.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/jdk/nio/zipfs/Basic.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -23,7 +23,6 @@
import java.nio.file.AccessMode;
import java.nio.file.ClosedFileSystemException;
-import java.nio.file.DirectoryStream;
import java.nio.file.FileStore;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
@@ -43,7 +42,7 @@
import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
/**
* @test
- * @bug 8038500 8040059 8150366 8150496 8147539 8211385
+ * @bug 8038500 8040059 8150366 8150496 8147539
* @summary Basic test for zip provider
*
* @modules jdk.zipfs
@@ -87,32 +86,6 @@
// Test: exercise directory iterator and retrieval of basic attributes
Files.walkFileTree(fs.getPath("/"), new FileTreePrinter());
- // Test: DirectoryStream
- found = false;
-
- try (DirectoryStream<Path> stream = Files.newDirectoryStream(fs.getPath("/"))) {
- for (Path entry: stream) {
- found = entry.toString().equals("/META-INF");
- if (found) break;
- }
- }
- if (!found)
- throw new RuntimeException("Expected file not found");
-
- try (DirectoryStream<Path> stream = Files.newDirectoryStream(fs.getPath("META-INF"))) {
- for (Path entry: stream) {
- if (entry.toString().equals("/META-INF/services"))
- throw new RuntimeException("child path should be relative");
- }
- }
-
- try (DirectoryStream<Path> stream = Files.newDirectoryStream(fs.getPath("/META-INF"))) {
- for (Path entry: stream) {
- if (entry.toString().equals("META-INF/services"))
- throw new RuntimeException("child path should be absolute");
- }
- }
-
// Test: copy file from zip file to current (scratch) directory
Path source = fs.getPath("/META-INF/services/java.nio.file.spi.FileSystemProvider");
if (Files.exists(source)) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/jdk/nio/zipfs/DirectoryStreamTests.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,357 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import java.io.IOException;
+import java.nio.file.*;
+import java.nio.file.spi.FileSystemProvider;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.regex.PatternSyntaxException;
+import java.util.zip.ZipException;
+
+import static org.testng.Assert.*;
+
+/**
+ * @test
+ * @bug 8211385 8211919
+ * @summary ZIP File System tests that leverage DirectoryStream
+ * @modules jdk.zipfs
+ * @compile DirectoryStreamTests.java
+ * @run testng DirectoryStreamTests
+ * @run testng/othervm/java.security.policy=test.policy DirectoryStreamTests
+ */
+public class DirectoryStreamTests {
+
+ // Map to used for creating a ZIP archive
+ private static final Map<String, String> ZIPFS_MAP = Map.of("create", "true");
+
+ // Map to used for extracting a ZIP archive
+ private static final Map<String, String> UNZIPFS_MAP = Map.of();
+
+ // The ZIP file system provider
+ private static final FileSystemProvider ZIPFS_PROVIDER = getZipFSProvider();
+
+ // Primary jar file used for testing
+ private static Path jarFile;
+
+ // Jar file used to validate the behavior of the navigation of an empty directory
+ private static Path emptyJarFile;
+
+ /**
+ * Create the JAR files used by the tests
+ */
+ @BeforeClass
+ public void setUp() throws Exception {
+ emptyJarFile = Paths.get("emptyDir.jar");
+ try (FileSystem zipfs = ZIPFS_PROVIDER.newFileSystem(emptyJarFile, ZIPFS_MAP)) {
+
+ jarFile = Utils.createJarFile("basic.jar",
+ "META-INF/services/java.nio.file.spi.FileSystemProvider");
+
+ Files.createDirectory(zipfs.getPath("emptyDir"));
+ }
+ }
+
+ /**
+ * Remove JAR files used by test as part of clean-up
+ */
+ @AfterClass
+ public void tearDown() throws Exception {
+ Files.deleteIfExists(jarFile);
+ Files.deleteIfExists(emptyJarFile);
+ }
+
+ /**
+ * Validate that you can specify a DirectoryStream filter using the ZIP File
+ * System and that the returned Iterator correctly indicates whether the
+ * filter has been matched
+ */
+ @Test(dataProvider = "filterTestValues")
+ public void test0000(String glob, boolean expectedResult, String errMsg)
+ throws Exception {
+
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP);
+ DirectoryStream<Path> ds = Files.newDirectoryStream(zipfs.getPath("/"),
+ new DirectoryStream.Filter<Path>() {
+ private PathMatcher matcher =
+ zipfs.getPathMatcher("glob:" + glob);
+ public boolean accept(Path file) {
+ return matcher.matches(file.getFileName());
+ }
+ }))
+ {
+ assertEquals(ds.iterator().hasNext(), expectedResult, errMsg);
+ }
+ }
+
+ /**
+ * Validate that you can specify a glob using the ZIP File System and that the
+ * returned Iterator correctly indicates whether the glob pattern has been matched
+ */
+ @Test(dataProvider = "filterTestValues")
+ public void test0001(String glob, boolean expectedResult, String errMsg)
+ throws Exception {
+
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP);
+ DirectoryStream<Path> ds =
+ Files.newDirectoryStream(zipfs.getPath("/"), glob)) {
+ assertEquals(ds.iterator().hasNext(), expectedResult, errMsg);
+ }
+ }
+
+ /**
+ * Validate a PatternSyntaxException is thrown when specifying an invalid
+ * glob pattern with the ZIP File system
+ */
+ @Test
+ public void test0002() throws Exception {
+
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP)) {
+ assertThrows(PatternSyntaxException.class, () ->
+ Files.newDirectoryStream(zipfs.getPath("/"), "*[a-z"));
+ }
+ }
+
+ /**
+ * Validate that the correct type of paths are returned when creating a
+ * DirectoryStream
+ */
+ @Test(dataProvider = "startPaths")
+ public void test0003(String startPath, String expectedPath)
+ throws IOException {
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP);
+ DirectoryStream<Path> stream =
+ Files.newDirectoryStream(zipfs.getPath(startPath))) {
+
+ for (Path entry : stream) {
+ assertTrue(entry.toString().equals(expectedPath),
+ String.format("Error: Expected path %s not found when"
+ + " starting at %s%n", expectedPath, entry));
+ }
+ }
+ }
+
+ /**
+ * Validate a NotDirectoryException is thrown when specifying a file for the
+ * starting path for creating a DirectoryStream with the ZIP File System
+ */
+ @Test
+ public void test0004() throws Exception {
+
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP)) {
+ assertThrows(NotDirectoryException.class,
+ () -> Files.newDirectoryStream(
+ zipfs.getPath("META-INF/services/java.nio.file.spi."
+ + "FileSystemProvider")));
+ }
+ }
+
+ /**
+ * Validate an IllegalStateException is thrown when accessing the Iterator
+ * more than once with the ZIP File System
+ */
+ @Test
+ public void test0005() throws Exception {
+
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP);
+ DirectoryStream<Path> ds =
+ Files.newDirectoryStream(zipfs.getPath("/"))) {
+ ds.iterator();
+ assertThrows(IllegalStateException.class, () -> ds.iterator());
+
+ }
+ }
+
+ /**
+ * Validate an IllegalStateException is thrown when accessing the Iterator
+ * after the DirectoryStream has been closed with the ZIP File System
+ */
+ @Test
+ public void test0006() throws Exception {
+
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP);
+ DirectoryStream<Path> ds =
+ Files.newDirectoryStream(zipfs.getPath("/"))) {
+ ds.close();
+ assertThrows(IllegalStateException.class, () -> ds.iterator());
+
+ // ZipDirectoryStream.iterator() throws ClosedDirectoryStream when
+ // obtaining an Iterator when the DirectoryStream is closed
+ assertThrows(ClosedDirectoryStreamException.class, () -> ds.iterator());
+
+ }
+ }
+
+ /**
+ * Validate an UnsupportedOperationException is thrown when invoking an
+ * Iterator operation that is not supported with the ZIP File System
+ */
+ @Test
+ public void test0007() throws Exception {
+
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP);
+ DirectoryStream<Path> ds =
+ Files.newDirectoryStream(zipfs.getPath("/"))) {
+ Iterator<Path> i = ds.iterator();
+
+ assertThrows(UnsupportedOperationException.class, () -> i.remove());
+ }
+ }
+
+ /**
+ * Validate an NoSuchElementException is thrown when invoking an
+ * Iterator.next() on a closed DirectoryStream with the ZIP File System
+ */
+ @Test
+ public void test0008() throws Exception {
+
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP);
+ DirectoryStream<Path> ds =
+ Files.newDirectoryStream(zipfs.getPath("/"))) {
+ Iterator<Path> i = ds.iterator();
+ ds.close();
+ assertThrows(NoSuchElementException.class, () -> i.next());
+ }
+ }
+
+ /**
+ * Validate Iterator.hasNext() returns false when the directory is empty with
+ * the ZIP File System
+ */
+ @Test
+ public void test0009() throws Exception {
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(emptyJarFile, UNZIPFS_MAP);
+ DirectoryStream<Path> ds =
+ Files.newDirectoryStream(zipfs.getPath("emptyDir"))) {
+ assertFalse(ds.iterator().hasNext(), "Error: directory was not empty!");
+
+ }
+ }
+
+ /**
+ * Validate Iterator.hasNext() returns false when the DirectoryStream is closed
+ * with the ZIP File System
+ */
+ @Test
+ public void test0010() throws Exception {
+
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP);
+ DirectoryStream<Path> ds =
+ Files.newDirectoryStream(zipfs.getPath("/"))) {
+ Iterator<Path> i = ds.iterator();
+ ds.close();
+ assertFalse(i.hasNext(),
+ "Error: false should be returned as DirectoryStream is closed!");
+ }
+ }
+
+ /**
+ * Validate that an IOException thrown by a filter is returned as the cause
+ * via a DirectoryIteratorException
+ */
+ @Test
+ public void test0011() throws Exception {
+
+ try (FileSystem zipfs =
+ ZIPFS_PROVIDER.newFileSystem(Paths.get("basic.jar"), UNZIPFS_MAP);
+ DirectoryStream<Path> ds = Files.newDirectoryStream(zipfs.getPath("/"),
+ new DirectoryStream.Filter<Path>() {
+ public boolean accept(Path file) throws IOException {
+ throw new java.util.zip.ZipException();
+ }
+ }))
+ {
+ ds.iterator().hasNext();
+ throw new RuntimeException("Expected DirectoryIteratorException not thrown");
+
+ } catch (DirectoryIteratorException x) {
+ IOException cause = x.getCause();
+ if (!(cause instanceof ZipException))
+ throw new RuntimeException("Expected IOException not propagated");
+ }
+ }
+
+ /**
+ * Glob values to use to validate filtering
+ */
+ @DataProvider(name = "filterTestValues")
+ public static Object[][] filterValues() {
+
+ String expectedMsg = "Error: Matching entries were expected but not found!!!";
+ String notExpectedMsg = "Error: No matching entries expected but were found!!!";
+ return new Object[][]{
+
+ {"M*", true, expectedMsg},
+ {"I*", false, notExpectedMsg}
+ };
+ }
+
+ /**
+ * Starting Path for the DirectoryStream and the expected path to be returned
+ * when traversing the stream
+ */
+ @DataProvider(name = "startPaths")
+ public static Object[][] Name() {
+ return new Object[][]{
+
+ {"META-INF", "META-INF/services"},
+ {"/META-INF", "/META-INF/services"},
+ {"/META-INF/../META-INF","/META-INF/../META-INF/services" },
+ {"./META-INF", "./META-INF/services"},
+ {"", "META-INF"},
+ {"/", "/META-INF"},
+ {".", "./META-INF"},
+ {"./", "./META-INF"}
+ };
+ }
+
+ /**
+ * Returns the Zip FileSystem Provider
+ */
+ private static FileSystemProvider getZipFSProvider() {
+ for (FileSystemProvider fsProvider : FileSystemProvider.installedProviders()) {
+ if ("jar".equals(fsProvider.getScheme())) {
+ return fsProvider;
+ }
+ }
+ return null;
+ }
+
+}
--- a/test/jdk/sun/nio/cs/OLD/IBM1383_OLD.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/sun/nio/cs/OLD/IBM1383_OLD.java Tue Jan 22 09:43:38 2019 -0500
@@ -31,7 +31,7 @@
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CharacterCodingException;
-import sun.nio.cs.HistoricallyNamedCharset;
+import sun.nio.cs.*;
import sun.nio.cs.ext.*;
--- a/test/jdk/sun/nio/cs/OLD/IBM942_OLD.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/sun/nio/cs/OLD/IBM942_OLD.java Tue Jan 22 09:43:38 2019 -0500
@@ -31,7 +31,7 @@
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CharacterCodingException;
-import sun.nio.cs.HistoricallyNamedCharset;
+import sun.nio.cs.*;
import sun.nio.cs.ext.*;
--- a/test/jdk/sun/nio/cs/OLD/IBM943_OLD.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/sun/nio/cs/OLD/IBM943_OLD.java Tue Jan 22 09:43:38 2019 -0500
@@ -30,7 +30,7 @@
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CharacterCodingException;
-import sun.nio.cs.HistoricallyNamedCharset;
+import sun.nio.cs.*;
import sun.nio.cs.ext.*;
--- a/test/jdk/sun/nio/cs/OLD/IBM950_OLD.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/sun/nio/cs/OLD/IBM950_OLD.java Tue Jan 22 09:43:38 2019 -0500
@@ -30,7 +30,7 @@
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CharacterCodingException;
-import sun.nio.cs.HistoricallyNamedCharset;
+import sun.nio.cs.*;
import sun.nio.cs.ext.*;
--- a/test/jdk/sun/nio/cs/OLD/IBM970_OLD.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/sun/nio/cs/OLD/IBM970_OLD.java Tue Jan 22 09:43:38 2019 -0500
@@ -33,8 +33,7 @@
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CoderResult;
-import sun.nio.cs.HistoricallyNamedCharset;
-import sun.nio.cs.Surrogate;
+import sun.nio.cs.*;
import sun.nio.cs.ext.*;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/sun/nio/cs/TestUnicodeReversedBOM.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @bug 8216140
+ * @summary Test reversed BOM (U+FFFE) in the middle of a byte buffer
+ * passes through during decoding with UnicodeDecoder.
+ * @run testng TestUnicodeReversedBOM
+ */
+import java.nio.charset.*;
+import java.nio.*;
+import java.util.*;
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+@Test
+public class TestUnicodeReversedBOM {
+ private static byte[] A_REVERSED_BE =
+ {(byte)0x0, (byte)'A', (byte)0xff, (byte)0xfe};
+ private static byte[] A_REVERSED_LE =
+ {(byte)'A', (byte)0x0, (byte)0xfe, (byte)0xff};
+ private static byte[] BOM_REVERSED_BE =
+ {(byte)0xfe, (byte)0xff, (byte)0xff, (byte)0xfe};
+ private static byte[] BOM_REVERSED_LE =
+ {(byte)0xff, (byte)0xfe, (byte)0xfe, (byte)0xff};
+
+ @DataProvider
+ // [(byte[])byte array, (Charset)cs]
+ public static Object[][] ReversedBOM() {
+ return new Object[][] {
+ {A_REVERSED_BE, StandardCharsets.UTF_16},
+ {A_REVERSED_LE, StandardCharsets.UTF_16},
+ {A_REVERSED_BE, StandardCharsets.UTF_16BE},
+ {A_REVERSED_LE, StandardCharsets.UTF_16BE},
+ {A_REVERSED_BE, StandardCharsets.UTF_16LE},
+ {A_REVERSED_LE, StandardCharsets.UTF_16LE},
+ {BOM_REVERSED_BE, StandardCharsets.UTF_16},
+ {BOM_REVERSED_LE, StandardCharsets.UTF_16},
+ {BOM_REVERSED_BE, StandardCharsets.UTF_16BE},
+ {BOM_REVERSED_LE, StandardCharsets.UTF_16BE},
+ {BOM_REVERSED_BE, StandardCharsets.UTF_16LE},
+ {BOM_REVERSED_LE, StandardCharsets.UTF_16LE},
+ };
+ }
+
+ @Test(dataProvider = "ReversedBOM")
+ public void testReversedBOM(byte[] ba, Charset cs) throws CharacterCodingException {
+ cs.newDecoder()
+ .onMalformedInput(CodingErrorAction.REPORT)
+ .onUnmappableCharacter(CodingErrorAction.REPORT)
+ .decode(ByteBuffer.wrap(ba));
+ }
+}
--- a/test/jdk/sun/security/krb5/auto/BasicProc.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/sun/security/krb5/auto/BasicProc.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -307,8 +307,7 @@
.prop("sun.security.nativegss.debug", "true");
int pos = lib.lastIndexOf('/');
if (pos > 0) {
- p.env("LD_LIBRARY_PATH", lib.substring(0, pos));
- p.env("DYLD_LIBRARY_PATH", lib.substring(0, pos));
+ p.env(Platform.sharedLibraryPathVariableName(), lib.substring(0, pos));
}
} else {
p.perm(new java.util.PropertyPermission(
--- a/test/jdk/sun/security/krb5/auto/KDC.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/sun/security/krb5/auto/KDC.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. 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
@@ -21,6 +21,8 @@
* questions.
*/
+import jdk.test.lib.Platform;
+
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
@@ -1722,8 +1724,7 @@
this.env = Map.of(
"KRB5_CONFIG", base + "/krb5.conf",
"KRB5_TRACE", "/dev/stderr",
- "DYLD_LIBRARY_PATH", nativePath + "/lib",
- "LD_LIBRARY_PATH", nativePath + "/lib");
+ Platform.sharedLibraryPathVariableName(), nativePath + "/lib");
}
@Override
@@ -1815,8 +1816,7 @@
"KRB5_KDC_PROFILE", base + "/kdc.conf",
"KRB5_CONFIG", base + "/krb5.conf",
"KRB5_TRACE", "/dev/stderr",
- "DYLD_LIBRARY_PATH", nativePath + "/lib",
- "LD_LIBRARY_PATH", nativePath + "/lib");
+ Platform.sharedLibraryPathVariableName(), nativePath + "/lib");
}
@Override
--- a/test/jdk/sun/security/krb5/auto/NoAddresses.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/sun/security/krb5/auto/NoAddresses.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -24,6 +24,7 @@
/*
* @test
* @bug 7032354
+ * @library /test/lib
* @run main/othervm NoAddresses setup
* @run main/othervm -Djdk.net.hosts.file=TestHosts NoAddresses 1
* @run main/othervm -Djdk.net.hosts.file=TestHosts NoAddresses 2
--- a/test/jdk/sun/security/krb5/auto/ReplayCacheTestProc.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/sun/security/krb5/auto/ReplayCacheTestProc.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -399,8 +399,7 @@
if (lib != null) {
String libDir = lib.substring(0, lib.lastIndexOf('/'));
p.prop("sun.security.jgss.lib", lib)
- .env("DYLD_LIBRARY_PATH", libDir)
- .env("LD_LIBRARY_PATH", libDir);
+ .env(Platform.sharedLibraryPathVariableName(), libDir);
}
}
Proc.d(label+suffix+" started");
--- a/test/jdk/sun/security/krb5/auto/principalProperty/PrincipalSystemPropTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/sun/security/krb5/auto/principalProperty/PrincipalSystemPropTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. 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
@@ -21,10 +21,10 @@
* questions.
*/
-/*
+/**
* @test
* @bug 8075301
- * @library /sun/security/krb5/auto
+ * @library /sun/security/krb5/auto /test/lib
* @summary New test for sun.security.krb5.principal system property.
* The principal can set using the system property sun.security.krb5.principal.
* This property is checked during login. If this property is not set,
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/sun/security/pkcs12/SameDN.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+import static jdk.test.lib.SecurityTools.keytool;
+
+import java.io.File;
+import java.security.KeyStore;
+
+/*
+ * @test
+ * @bug 8215776
+ * @library /test/lib
+ * @summary Keytool importkeystore may mix up certificate chain entries when DNs conflict
+ */
+public class SameDN {
+
+ private static final String COMMON = "-keystore ks -storepass changeit ";
+
+ public static final void main(String[] args) throws Exception {
+ genkeypair("ca1", "CN=CA");
+ genkeypair("ca2", "CN=CA");
+ genkeypair("user1", "CN=user");
+ genkeypair("user2", "CN=user");
+ gencert("ca1", "user1");
+ gencert("ca2", "user2");
+
+ KeyStore ks = KeyStore.getInstance(
+ new File("ks"), "changeit".toCharArray());
+ if (!ks.getCertificate("ca1").equals(ks.getCertificateChain("user1")[1])) {
+ throw new Exception("user1 not signed by ca1");
+ }
+ if (!ks.getCertificate("ca2").equals(ks.getCertificateChain("user2")[1])) {
+ throw new Exception("user2 not signed by ca2");
+ }
+ }
+
+ static void genkeypair(String alias, String dn) throws Exception {
+ keytool(COMMON + "-genkeypair -alias " + alias + " -dname " + dn)
+ .shouldHaveExitValue(0);
+ }
+
+ static void gencert(String issuer, String subject) throws Exception {
+ keytool(COMMON + "-certreq -alias " + subject + " -file req")
+ .shouldHaveExitValue(0);
+ keytool(COMMON + "-gencert -alias " + issuer + " -infile req -outfile cert")
+ .shouldHaveExitValue(0);
+ keytool(COMMON + "-importcert -alias " + subject + " -file cert")
+ .shouldHaveExitValue(0);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/sun/security/tools/jarsigner/SignedAgain.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @bug 8215922
+ * @summary jar spec is not precise when describing jar file re-signing
+ * @library /test/lib
+ */
+
+import jdk.test.lib.Asserts;
+import jdk.test.lib.util.JarUtils;
+
+import java.io.InputStream;
+import java.security.MessageDigest;
+import java.util.Base64;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import java.util.jar.Manifest;
+
+import static jdk.test.lib.SecurityTools.*;
+
+public class SignedAgain {
+ public static void main(String[] args) throws Exception {
+
+ String opt = "-storepass changeit -keystore ks";
+
+ keytool(opt + " -genkeypair -alias a -dname CN=A -keyalg RSA");
+ keytool(opt + " -genkeypair -alias b -dname CN=B -keyalg RSA");
+
+ JarUtils.createJar("a.jar", "f1");
+
+ // as.jar: signed by a
+ jarsigner(opt + " -signedjar as.jar a.jar a");
+
+ JarUtils.updateJar("as.jar", "b.jar", "f2");
+
+ // bs.jar: signed again by b
+ jarsigner(opt + " -signedjar bs.jar b.jar b");
+
+ // verified
+ jarsigner(opt + " -verify -strict -verbose -certs bs.jar")
+ .shouldHaveExitValue(0);
+
+ try (JarFile ja = new JarFile("as.jar");
+ JarFile jb = new JarFile("bs.jar");
+ InputStream ma = ja.getInputStream(
+ new JarEntry("META-INF/MANIFEST.MF"));
+ InputStream sa = jb.getInputStream(new JarEntry("META-INF/A.SF"));
+ InputStream mb = jb.getInputStream(
+ new JarEntry("META-INF/MANIFEST.MF"));
+ InputStream sb = jb.getInputStream(new JarEntry("META-INF/B.SF"))) {
+
+ // Hash of manifest for 2 signed JAR files
+ String da = Base64.getEncoder().encodeToString(MessageDigest
+ .getInstance("SHA-256").digest(ma.readAllBytes()));
+ String db = Base64.getEncoder().encodeToString(MessageDigest
+ .getInstance("SHA-256").digest(mb.readAllBytes()));
+
+ // They are not the same
+ Asserts.assertNotEquals(da, db);
+
+ // Digest-Manifest in A.SF matches da
+ Asserts.assertEQ(new Manifest(sa).getMainAttributes()
+ .getValue("SHA-256-Digest-Manifest"), da);
+
+ // Digest-Manifest in B.SF matches db
+ Asserts.assertEQ(new Manifest(sb).getMainAttributes()
+ .getValue("SHA-256-Digest-Manifest"), db);
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/sun/security/tools/keytool/PSS.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @bug 8215694
+ * @summary keytool cannot generate RSASSA-PSS certificates
+ * @library /test/lib
+ * @modules java.base/sun.security.util
+ * java.base/sun.security.x509
+ * @run main PSS
+ */
+
+import jdk.test.lib.Asserts;
+import jdk.test.lib.SecurityTools;
+import jdk.test.lib.process.OutputAnalyzer;
+import jdk.test.lib.security.DerUtils;
+import sun.security.util.ObjectIdentifier;
+import sun.security.x509.AlgorithmId;
+
+import java.io.File;
+import java.security.KeyStore;
+import java.security.cert.X509Certificate;
+
+public class PSS {
+
+ public static void main(String[] args) throws Exception {
+
+ genkeypair("p", "-keyalg RSASSA-PSS -sigalg RSASSA-PSS")
+ .shouldHaveExitValue(0);
+
+ genkeypair("a", "-keyalg RSA -sigalg RSASSA-PSS -keysize 2048")
+ .shouldHaveExitValue(0);
+
+ genkeypair("b", "-keyalg RSA -sigalg RSASSA-PSS -keysize 4096")
+ .shouldHaveExitValue(0);
+
+ genkeypair("c", "-keyalg RSA -sigalg RSASSA-PSS -keysize 8192")
+ .shouldHaveExitValue(0);
+
+ KeyStore ks = KeyStore.getInstance(
+ new File("ks"), "changeit".toCharArray());
+
+ check((X509Certificate)ks.getCertificate("p"), "RSASSA-PSS",
+ AlgorithmId.SHA256_oid);
+
+ check((X509Certificate)ks.getCertificate("a"), "RSA",
+ AlgorithmId.SHA256_oid);
+
+ check((X509Certificate)ks.getCertificate("b"), "RSA",
+ AlgorithmId.SHA384_oid);
+
+ check((X509Certificate)ks.getCertificate("c"), "RSA",
+ AlgorithmId.SHA512_oid);
+
+ // More commands
+ kt("-certreq -alias p -sigalg RSASSA-PSS -file p.req")
+ .shouldHaveExitValue(0);
+
+ kt("-gencert -alias a -sigalg RSASSA-PSS -infile p.req -outfile p.cert")
+ .shouldHaveExitValue(0);
+
+ kt("-importcert -alias p -file p.cert")
+ .shouldHaveExitValue(0);
+
+ kt("-selfcert -alias p -sigalg RSASSA-PSS")
+ .shouldHaveExitValue(0);
+ }
+
+ static OutputAnalyzer genkeypair(String alias, String options)
+ throws Exception {
+ return kt("-genkeypair -alias " + alias
+ + " -dname CN=" + alias + " " + options);
+ }
+
+ static OutputAnalyzer kt(String cmd)
+ throws Exception {
+ return SecurityTools.keytool("-storepass changeit -keypass changeit "
+ + "-keystore ks " + cmd);
+ }
+
+ static void check(X509Certificate cert, String expectedKeyAlg,
+ ObjectIdentifier expectedMdAlg) throws Exception {
+ Asserts.assertEQ(cert.getPublicKey().getAlgorithm(), expectedKeyAlg);
+ Asserts.assertEQ(cert.getSigAlgName(), "RSASSA-PSS");
+ DerUtils.checkAlg(cert.getSigAlgParams(), "000", expectedMdAlg);
+ }
+}
--- a/test/jdk/sun/security/util/Resources/NewNamesFormat.java Tue Jan 22 09:24:58 2019 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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.
- */
-
-/*
- * @test
- * @bug 6987827
- * @modules java.base/sun.security.util
- * java.base/sun.security.tools.keytool
- * jdk.jartool/sun.security.tools.jarsigner
- * @summary security/util/Resources.java needs improvement
- */
-
-
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * This test makes sure that the keys in resources files are using the new
- * format and there is no duplication.
- */
-public class NewNamesFormat {
- public static void main(String[] args) throws Exception {
- checkRes("sun.security.util.Resources");
- checkRes("sun.security.util.AuthResources");
- checkRes("sun.security.tools.jarsigner.Resources");
- checkRes("sun.security.tools.keytool.Resources");
- }
-
- private static void checkRes(String resName) throws Exception {
- System.out.println("Checking " + resName + "...");
- Class clazz = Class.forName(resName);
- Method m = clazz.getMethod("getContents");
- Object[][] contents = (Object[][])m.invoke(clazz.newInstance());
- Set<String> keys = new HashSet<String>();
- for (Object[] pair: contents) {
- String key = (String)pair[0];
- if (keys.contains(key)) {
- System.out.println("Found dup: " + key);
- throw new Exception();
- }
- checkKey(key);
- keys.add(key);
- }
- }
-
- private static void checkKey(String key) throws Exception {
- for (char c: key.toCharArray()) {
- if (Character.isLetter(c) || Character.isDigit(c) ||
- c == '{' || c == '}' || c == '.') {
- // OK
- } else {
- System.out.println("Illegal char [" + c + "] in key: " + key);
- throw new Exception();
- }
- }
- }
-}
--- a/test/jdk/sun/security/util/Resources/NewResourcesNames.java Tue Jan 22 09:24:58 2019 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,441 +0,0 @@
-/*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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.
- */
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.ListResourceBundle;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Prepares new key names for Resources.java.
- * 6987827: security/util/Resources.java needs improvement
- *
- * Run inside jdk/src/share/classes:
- *
- * java NewResourcesNames $(
- * for a in $(find com/sun/security sun/security javax/security -type f); do
- * egrep -q '(ResourcesMgr.getString|rb.getString)' $a && echo $a
- * done)
- *
- * Before running this tool, run the following two commands to make sure there
- * are only these 2 types of calls into the resources:
- * for a in `find com/sun/security sun/security javax/security -type f`; do
- * cat $a | perl -ne 'print if /\bResourcesMgr\b/'; done |
- * grep -v ResourcesMgr.getString
- * for a in `find com/sun/security sun/security -type f`; do
- * cat $a | perl -ne 'print if /\brb\b/'; done |
- * grep -v rb.getString
- */
-class NewResourcesNames {
-
- // Max length of normalized names
- static int MAXLEN = 127;
-
- static String[] resources = {
- "sun/security/tools/jarsigner/Resources.java",
- "sun/security/tools/keytool/Resources.java",
- "sun/security/tools/policytool/Resources.java",
- "sun/security/util/Resources.java",
- "sun/security/util/AuthResources.java",
- };
-
- public static void main(String[] args) throws Exception {
-
- // Load all names inside resources files
- Map<String,String> allnames = loadResources();
-
- // Modify the callers. There are two patterns:
- // 1. ResourcesMgr.getString("
- // used by most JAAS codes
- // 2. rb.getString("
- // used by tools
- Set<String> allfound = new HashSet<String>();
- for (String arg: args) {
- allfound.addAll(rewriteFile(arg, "ResourcesMgr.getString(\""));
- allfound.addAll(rewriteFile(arg, "rb.getString(\""));
- }
-
- // Special case 1: KeyTool's enum definition of commands and options
- allfound.addAll(keyToolEnums());
-
- // Special case 2: PolicyFile called this 4 times
- allfound.addAll(rewriteFile("sun/security/provider/PolicyFile.java",
- "ResourcesMgr.getString(POLICY+\""));
-
- // During the calls above, you can read sth like:
- //
- // Working on com/sun/security/auth/PolicyParser.java
- // GOOD match is 17
- //
- // This means a " exists right after getString(. Sometimes you see
- //
- // Working on sun/security/tools/keytool/Main.java
- // BAD!! pmatch != match: 212 != 209
- // Working on sun/security/provider/PolicyFile.java
- // BAD!! pmatch != match: 14 != 10
- //
- // which is mismatch. There are only two such special cases list above.
- // For KeyTool, there are 3 calls for showing help. For PolicyTool, 3
- // for name prefixed with POLICY. They are covered in the two special
- // cases above.
-
- // Names used but not defined. This is mostly error, except for
- // special case 2 above. So it's OK to see 3 entries red here
- if (!allnames.keySet().containsAll(allfound)) {
- err("FATAL: Undefined names");
- for (String name: allfound) {
- if (!allnames.keySet().contains(name)) {
- err(" " + name);
- }
- }
- }
-
- // Names defined but not used. Mostly this is old entries not removed.
- // When soemone remove a line of code, he dares not remove the entry
- // in case it's also used somewhere else.
- if (!allfound.containsAll(allnames.keySet())) {
- System.err.println("WARNING: Unused names");
- for (String name: allnames.keySet()) {
- if (!allfound.contains(name)) {
- System.err.println(allnames.get(name));
- System.err.println(" " + normalize(name));
- System.err.println(" [" + name + "]");
- }
- }
- }
- }
-
-
- /**
- * Loads the three resources files. Saves names into a Map.
- */
- private static Map<String,String> loadResources() throws Exception {
-
- // Name vs Resource
- Map<String,String> allnames = new HashMap<String,String>();
-
- for (String f: resources) {
- String clazz =
- f.replace('/', '.').substring(0, f.length()-5);
-
- Set<String> expected = loadClass(clazz);
- Set<String> found = rewriteFile(f, "{\"");
-
- // This is to check that word parsing is identical to Java thinks
- if (!expected.equals(found)) {
- throw new Exception("Expected and found do not match");
- }
-
- for (String name: found) {
- allnames.put(name, f);
- }
- }
- return allnames;
- }
-
- /**
- * Special case treat for enums description in KeyTool
- */
- private static Set<String> keyToolEnums() throws Exception {
-
- Set<String> names = new HashSet<String>();
-
- String file = "sun/security/tools/keytool/Main.java";
- System.err.println("Working on " + file);
- File origFile = new File(file);
- File tmpFile = new File(file + ".tmp");
- origFile.renameTo(tmpFile);
- tmpFile.deleteOnExit();
-
- BufferedReader br = new BufferedReader(
- new InputStreamReader(new FileInputStream(tmpFile)));
- PrintWriter out = new PrintWriter(new FileOutputStream(origFile));
-
- int stage = 0; // 1. commands, 2. options, 3. finished
- int match = 0;
-
- while (true) {
- String s = br.readLine();
- if (s == null) {
- break;
- }
- if (s.indexOf("enum Command") >= 0) stage = 1;
- else if (s.indexOf("enum Option") >= 0) stage = 2;
- else if (s.indexOf("private static final String JKS") >= 0) stage = 3;
-
- if (stage == 1 || stage == 2) {
- if (s.indexOf("(\"") >= 0) {
- match++;
- int p1, p2;
- if (stage == 1) {
- p1 = s.indexOf("\"");
- p2 = s.indexOf("\"", p1+1);
- } else {
- p2 = s.lastIndexOf("\"");
- p1 = s.lastIndexOf("\"", p2-1);
- }
- String name = s.substring(p1+1, p2);
- names.add(name);
- out.println(s.substring(0, p1+1) +
- normalize(name) +
- s.substring(p2));
- } else {
- out.println(s);
- }
- } else {
- out.println(s);
- }
- }
- br.close();
- out.close();
- System.err.println(" GOOD match is " + match);
- return names;
- }
-
- /**
- * Loads a resources using JRE and returns the names
- */
- private static Set<String> loadClass(String clazz) throws Exception {
- ListResourceBundle lrb =
- (ListResourceBundle)Class.forName(clazz).newInstance();
- Set<String> keys = lrb.keySet();
- Map<String,String> newold = new HashMap<String,String>();
- boolean dup = false;
- // Check if normalize() creates dup entries. This is crucial.
- for (String k: keys) {
- String key = normalize(k);
- if (newold.containsKey(key)) {
- err("Dup found for " + key + ":");
- err("["+newold.get(key)+"]");
- err("["+k+"]");
- dup = true;
- }
- newold.put(key, k);
- }
- if (dup) throw new Exception();
- return keys;
- }
-
- /**
- * Rewrites a file using a pattern. The name string should be right after
- * the pattern. Note: pattern ignores whitespaces. Returns names found.
- */
- private static Set<String> rewriteFile(String file, String pattern)
- throws Exception {
-
- System.err.println("Working on " + file);
- Set<String> names = new HashSet<String>();
-
- int plen = pattern.length();
- int match = 0;
-
- // The bare XXX.getString is also matched. Sometimes getString is
- // called but does not use literal strings. This is harder to solve.
-
- int pmatch = 0;
- int pheadlen = plen - 2;
- String phead = pattern.substring(0, plen-2);
-
- // The non-whitespace chars read since, used to check for pattern
- StringBuilder history = new StringBuilder();
- int hlen = 0;
-
- File origFile = new File(file);
- File tmpFile = new File(file + ".tmp");
- origFile.renameTo(tmpFile);
- tmpFile.deleteOnExit();
-
- FileInputStream fis = new FileInputStream(tmpFile);
- FileOutputStream fos = new FileOutputStream(origFile);
-
- while (true) {
- int ch = fis.read();
- if (ch < 0) break;
- if (!Character.isWhitespace(ch)) {
- history.append((char)ch);
- hlen++;
- if (pheadlen > 0 && hlen >= pheadlen &&
- history.substring(hlen-pheadlen, hlen).equals(phead)) {
- pmatch++;
- }
- }
-
- if (hlen >= plen &&
- history.substring(hlen-plen, hlen).equals(pattern)) {
- match++;
- history = new StringBuilder();
- hlen = 0;
-
- fos.write(ch);
-
- // Save a name
- StringBuilder sb = new StringBuilder();
- // Save things after the second ". Maybe it's an end, maybe
- // it's just literal string concatenation.
- StringBuilder tail = new StringBuilder();
-
- boolean in = true; // inside name string
- while (true) {
- int n = fis.read();
- if (in) {
- if (n == '\\') {
- int second = fis.read();
- switch (second) {
- case 'n': sb.append('\n'); break;
- case 'r': sb.append('\r'); break;
- case 't': sb.append('\t'); break;
- case '"': sb.append('"'); break;
- default: throw new Exception(String.format(
- "I don't know this escape: %s%c",
- sb.toString(), second));
- }
- } else if (n == '"') {
- in = false;
- // Maybe string concat? say bytes until clear
- tail = new StringBuilder();
- tail.append('"');
- } else {
- sb.append((char)n);
- }
- } else {
- tail.append((char)n);
- if (n == '"') { // string concat, in again
- in = true;
- } else if (n == ',' || n == ')') { // real end
- break;
- } else if (Character.isWhitespace(n) || n == '+') {
- // string concat
- } else {
- throw new Exception("Not a correct concat");
- }
- }
- }
- String s = sb.toString();
- names.add(s);
- fos.write(normalize(s).getBytes());
- fos.write(tail.toString().getBytes());
- } else {
- fos.write(ch);
- }
- }
-
- // Check pheadlen > 0. Don't want to mess with rewrite for resources
- if (pheadlen > 0 && pmatch != match) {
- err(" BAD!! pmatch != match: " + pmatch + " != " + match);
- } else {
- System.err.println(" GOOD match is " + match);
- }
-
- fis.close();
- fos.close();
- return names;
- }
-
- /**
- * Normalize a string. Rules:
- *
- * 1. If all spacebar return "nSPACE", n is count
- * 2. If consisting at least one alphanumeric:
- * a. All alphanumeric remain
- * b. All others in a row goes to a single ".", even if at head or tail
- * 3. Otherwise:
- * a. "****\n\n" to "STARNN", special case
- * b. the English name if first char in *,.\n():'"
- *
- * Current observations show there's no dup, Hurray! Otherwise, add more
- * special cases.
- */
- private static String normalize(String s) throws Exception {
- boolean needDot = false;
-
- // All spacebar case
- int n = 0;
- for (char c: s.toCharArray()) {
- if (c == ' ') n++;
- else n = -10000;
- }
- if (n == 1) return "SPACE";
- else if (n > 1) return "" + n + "SPACE";
-
- StringBuilder sb = new StringBuilder();
- int dotpos = -1;
- for (int i=0; i<s.length(); i++) {
- char c = s.charAt(i);
- if (Character.isLetter(c) || Character.isDigit(c) ||
- c == '{' || c == '}') {
- if (needDot) {
- // Rememeber the last dot, we want shorter form nice
- if (sb.length() <= MAXLEN) dotpos = sb.length();
- // "." only added when an alphanumeric is seen. This makes
- // sure sb is empty when there's no alphanumerics at all
- sb.append(".");
- }
- sb.append(c);
- needDot = false;
- } else {
- needDot = true;
- }
- }
-
- // No alphanemeric?
- if (sb.length() == 0) {
- if (s.contains("*") && s.contains("\n")) {
- return "STARNN";
- }
- for (char c: s.toCharArray()) {
- switch (c) {
- case '*': return "STAR";
- case ',': return "COMMA";
- case '.': return "PERIOD";
- case '\n': return "NEWLINE";
- case '(': return "LPARAM";
- case ')': return "RPARAM";
- case ':': return "COLON";
- case '\'': case '"': return "QUOTE";
- }
- }
- throw new Exception("Unnamed char: [" + s + "]");
- }
-
- // tail "." only added when there are alphanumerics
- if (needDot) sb.append('.');
- String res = sb.toString();
- if (res.length() > MAXLEN) {
- if (dotpos < 0) throw new Exception("No dot all over? " + s);
- return res.substring(0, dotpos);
- } else {
- return res;
- }
- }
-
- private static void err(String string) {
- System.out.println("\u001b[1;37;41m" + string + "\u001b[m");
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/sun/security/util/Resources/Usages.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @bug 8215937
+ * @modules java.base/sun.security.util
+ * java.base/sun.security.tools.keytool
+ * jdk.jartool/sun.security.tools.jarsigner
+ * @summary Check usages of security-related Resources files
+ */
+
+import java.io.IOException;
+import java.io.UncheckedIOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.ListResourceBundle;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * This test checks if the strings in various Resources files are used
+ * properly. Each string must be used somewhere, and each getString() call
+ * must use an existing string.
+ * <p>
+ * For each Resources file, the test maintains a list of where the strings are
+ * used (a file or a directory) and how they are used (one or more patterns).
+ * <p>
+ * If this test fails, there can be several reasons:
+ * <p>
+ * 1. If a string is not found, it has not been added to a Resources file.
+ * <p>
+ * 2. If a string is not used, maybe the call was removed earlier but the
+ * Resources file was not updated. Or, the file is not listed or the
+ * pattern is not correct and the usage is not found.
+ * <p>
+ * Because of #2 above, this test might not be complete. If a getString()
+ * is called but either the file and calling pattern is not listed here,
+ * we cannot guarantee it exists in a Resources file.
+ */
+public class Usages {
+
+ // src folder
+ static Path SRC = Path.of(
+ System.getProperty("test.src"), "../../../../../../src/")
+ .normalize();
+
+ // rb.getString(). Used by keytool, jarsigner, and KeyStoreUtil.
+ static Pattern RB_GETSTRING = Pattern.compile(
+ "(?m)rb[ \\n]*\\.getString[ \\n]*\\([ \\n]*\"(.*?)\"\\)");
+
+ // Command and Option enums in keytool
+ static Pattern KT_ENUM = Pattern.compile("\\n +[A-Z]+\\(.*\"(.*)\"");
+
+ // ResourceMgr.getAuthResourceString
+ static Pattern GETAUTHSTRING = Pattern.compile(
+ "getAuthResourceString[ \\n]*\\([ \\n]*\"(.*?)\"\\)");
+
+ // ResourceMgr.getString
+ static Pattern MGR_GETSTRING = Pattern.compile(
+ "ResourcesMgr\\.getString[ \\n]*\\([ \\n]*\"(.*?)\"\\)");
+
+ // LocalizedMessage.getNonlocalized("...")
+ static Pattern LOC_GETNONLOC = Pattern.compile(
+ "LocalizedMessage\\.getNonlocalized[ \\n]*\\([ \\n]*\"(.*?)\"");
+
+ // LocalizedMessage.getNonlocalized(POLICY + "...")
+ static Pattern LOC_GETNONLOC_POLICY = Pattern.compile(
+ "LocalizedMessage\\.getNonlocalized[ \\n]*\\([ \\n]*(POLICY \\+ \".*?)\"");
+
+ // new LocalizedMessage("...")
+ static Pattern NEW_LOC = Pattern.compile(
+ "new LocalizedMessage[ \\n]*\\([ \\n]*\"(.*?)\"");
+
+ // ioException in ConfigFile.java
+ static Pattern IOEXCEPTION = Pattern.compile(
+ "ioException[ \\n]*\\([ \\n]*\"(.*?)\",");
+
+ // For each Resources file, where and how the strings are used.
+ static Map<ListResourceBundle, List<Pair>> MAP = Map.of(
+ new sun.security.tools.keytool.Resources(), List.of(
+ new Pair("java.base/share/classes/sun/security/tools/keytool/Main.java",
+ List.of(RB_GETSTRING, KT_ENUM)),
+ new Pair("java.base/share/classes/sun/security/tools/KeyStoreUtil.java",
+ List.of(RB_GETSTRING))),
+ new sun.security.util.AuthResources(), List.of(
+ new Pair("java.base/share/classes/sun/security/provider/ConfigFile.java",
+ List.of(GETAUTHSTRING, IOEXCEPTION)),
+ new Pair("jdk.security.auth/share/classes/com/sun/security/auth/",
+ List.of(GETAUTHSTRING))),
+ new sun.security.tools.jarsigner.Resources(), List.of(
+ new Pair("jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java",
+ List.of(RB_GETSTRING)),
+ new Pair("java.base/share/classes/sun/security/tools/KeyStoreUtil.java",
+ List.of(RB_GETSTRING))),
+ new sun.security.util.Resources(), List.of(
+ new Pair("jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java",
+ List.of(MGR_GETSTRING)),
+ new Pair("java.base/share/classes/sun/security/provider/PolicyParser.java",
+ List.of(LOC_GETNONLOC, NEW_LOC)),
+ new Pair("java.base/share/classes/sun/security/provider/PolicyFile.java",
+ List.of(MGR_GETSTRING, LOC_GETNONLOC, LOC_GETNONLOC_POLICY)),
+ new Pair("java.base/share/classes/javax/security/auth/",
+ List.of(MGR_GETSTRING)))
+ );
+
+ public static void main(String[] args) {
+ if (Files.exists(SRC)) {
+ MAP.forEach(Usages::check);
+ } else {
+ System.out.println("No src directory. Test skipped.");
+ }
+ }
+
+ private static void check(ListResourceBundle res, List<Pair> fnps) {
+ try {
+ System.out.println(">>>> Checking " + res.getClass().getName());
+
+ List<String> keys = Collections.list(res.getKeys());
+
+ // Initialize unused to be all keys. Each time a key is used it
+ // is removed. We cannot reuse keys because a key might be used
+ // multiple times. Make it a Set so we can check duplicates.
+ Set<String> unused = new HashSet<>(keys);
+
+ keys.forEach(Usages::checkKeyFormat);
+ if (keys.size() != unused.size()) {
+ throw new RuntimeException("Duplicates found");
+ }
+
+ for (Pair fnp : fnps) {
+ Files.find(SRC.resolve(fnp.path), Integer.MAX_VALUE,
+ (p, attr) -> p.toString().endsWith(".java"))
+ .forEach(pa -> {
+ try {
+ String content = Files.readString(pa);
+ for (Pattern p : fnp.patterns) {
+ Matcher m = p.matcher(content);
+ while (m.find()) {
+ String arg = m.group(1);
+ // Special case in PolicyFile.java:
+ if (arg.startsWith("POLICY + \"")) {
+ arg = "java.security.policy"
+ + arg.substring(10);
+ }
+ if (!keys.contains(arg)) {
+ throw new RuntimeException(
+ "Not found: " + arg);
+ }
+ unused.remove(arg);
+ }
+ }
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
+ }
+ });
+ }
+ if (!unused.isEmpty()) {
+ throw new RuntimeException("Unused keys: " + unused);
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static void checkKeyFormat(String key) {
+ for (char c : key.toCharArray()) {
+ if (Character.isLetter(c) || Character.isDigit(c) ||
+ c == '{' || c == '}' || c == '.') {
+ // OK
+ } else {
+ throw new RuntimeException(
+ "Illegal char [" + c + "] in key: " + key);
+ }
+ }
+ }
+
+ static class Pair {
+
+ public final String path;
+ public final List<Pattern> patterns;
+
+ public Pair(String path, List<Pattern> patterns) {
+ this.path = path;
+ this.patterns = patterns;
+ }
+ }
+}
--- a/test/jdk/tools/launcher/ExecutionEnvironment.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/tools/launcher/ExecutionEnvironment.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2019, Oracle and/or its affiliates. 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
@@ -25,6 +25,7 @@
* @test
* @bug 4780570 4731671 6354700 6367077 6670965 4882974
* @summary Checks for LD_LIBRARY_PATH and execution on *nixes
+ * @library /test/lib
* @modules jdk.compiler
* jdk.zipfs
* @compile -XDignore.symbol.file ExecutionEnvironment.java
@@ -54,6 +55,9 @@
* launcher may add as implementation details.
* b. add a pldd for solaris to ensure only one libjvm.so is linked
*/
+
+import jdk.test.lib.Platform;
+
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
@@ -62,11 +66,7 @@
import java.util.Map;
public class ExecutionEnvironment extends TestHelper {
- static final String LD_LIBRARY_PATH = TestHelper.isMacOSX
- ? "DYLD_LIBRARY_PATH"
- : TestHelper.isAIX
- ? "LIBPATH"
- : "LD_LIBRARY_PATH";
+ static final String LD_LIBRARY_PATH = Platform.sharedLibraryPathVariableName();
static final String LD_LIBRARY_PATH_32 = LD_LIBRARY_PATH + "_32";
static final String LD_LIBRARY_PATH_64 = LD_LIBRARY_PATH + "_64";
--- a/test/jdk/tools/launcher/JliLaunchTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/tools/launcher/JliLaunchTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -35,6 +35,7 @@
import jdk.test.lib.Platform;
import jdk.test.lib.process.OutputAnalyzer;
+import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -47,15 +48,11 @@
System.out.println("Launcher = " + launcher + (Files.exists(launcher) ? " (exists)" : " (not exists)"));
ProcessBuilder pb = new ProcessBuilder(launcher.toString(), "--version");
Map<String, String> env = pb.environment();
- if (Platform.isWindows()) {
- // The DLL should be in JDK/bin
- String libdir = Paths.get(Utils.TEST_JDK).resolve("bin").toAbsolutePath().toString();
- env.compute("PATH", (k, v) -> (v == null) ? libdir : libdir + ";" + v);
- } else {
- String libdir = Paths.get(Utils.TEST_JDK).resolve("lib").toAbsolutePath().toString();
- String LD_LIBRARY_PATH = Platform.isOSX() ? "DYLD_LIBRARY_PATH" : "LD_LIBRARY_PATH";
- env.compute(LD_LIBRARY_PATH, (k, v) -> (v == null) ? libdir : libdir + ":" + v);
- }
+ // On windows, the DLL should be in JDK/bin, else in JDK/lib.
+ String libdir = Paths.get(Utils.TEST_JDK).resolve(Platform.isWindows() ? "bin" : "lib")
+ .toAbsolutePath().toString();
+ String pathEnvVar = Platform.sharedLibraryPathVariableName();
+ env.compute(pathEnvVar, (k, v) -> (v == null) ? libdir : libdir + File.pathSeparator + v);
OutputAnalyzer outputf = new OutputAnalyzer(pb.start());
outputf.shouldHaveExitValue(0);
--- a/test/jdk/tools/launcher/Test7029048.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/tools/launcher/Test7029048.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -21,19 +21,16 @@
* questions.
*/
-/*
+/**
* @test
- * @bug 7029048
- * @summary Checks for LD_LIBRARY_PATH on *nixes
+ * @bug 7029048 8217340
+ * @summary Ensure that the launcher defends against user settings of the
+ * LD_LIBRARY_PATH environment variable on Unixes
+ * @library /test/lib
* @compile -XDignore.symbol.file ExecutionEnvironment.java Test7029048.java
* @run main Test7029048
*/
-/*
- * 7029048: test for LD_LIBRARY_PATH set to different paths which may or
- * may not contain a libjvm.so, but we test to ensure that the launcher
- * behaves correctly in all cases.
- */
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
@@ -67,7 +64,6 @@
private static final Map<String, String> env = new HashMap<>();
-
static String getValue(String name, List<String> in) {
for (String x : in) {
String[] s = x.split("=");
@@ -99,37 +95,34 @@
* print a "null" string.
*/
if (envValue == null) {
- System.out.println(tr);
throw new RuntimeException("NPE, likely a program crash ??");
}
- String values[] = envValue.split(File.pathSeparator);
- if (values.length == nLLPComponents) {
- System.out.println(caseID + " :OK");
+ int len = (envValue.equals("null")
+ ? 0 : envValue.split(File.pathSeparator).length);
+ if (len == nLLPComponents) {
+ System.out.println(caseID + ": OK");
passes++;
} else {
System.out.println("FAIL: test7029048, " + caseID);
System.out.println(" expected " + nLLPComponents
- + " but got " + values.length);
+ + " but got " + len);
System.out.println(envValue);
- System.out.println(tr);
errors++;
}
}
/*
- * A crucial piece, specifies what we should expect, given the conditions.
- * That is for a given enum type, the value indicates how many absolute
- * environment variables that can be expected. This value is used to base
- * the actual expected values by adding the set environment variable usually
- * it is 1, but it could be more if the test wishes to set more paths in
- * the future.
+ * Describe the cases that we test. Each case sets the environment
+ * variable LD_LIBRARY_PATH to a different value. The value associated
+ * with a case is the number of path elements that we expect the launcher
+ * to add to that variable.
*/
- private static enum LLP_VAR {
- LLP_SET_NON_EXISTENT_PATH(0), // env set, but the path does not exist
- LLP_SET_EMPTY_PATH(0), // env set, with a path but no libjvm.so
- LLP_SET_WITH_JVM(3); // env set, with a libjvm.so
+ private static enum TestCase {
+ NO_DIR(0), // Directory does not exist
+ NO_LIBJVM(0), // Directory exists, but no libjvm.so
+ LIBJVM(3); // Directory exists, with a libjvm.so
private final int value;
- LLP_VAR(int i) {
+ TestCase(int i) {
this.value = i;
}
}
@@ -139,16 +132,16 @@
*/
static void test7029048() throws IOException {
String desc = null;
- for (LLP_VAR v : LLP_VAR.values()) {
+ for (TestCase v : TestCase.values()) {
switch (v) {
- case LLP_SET_WITH_JVM:
+ case LIBJVM:
// copy the files into the directory structures
copyFile(srcLibjvmSo, dstServerLibjvm);
// does not matter if it is client or a server
copyFile(srcLibjvmSo, dstClientLibjvm);
desc = "LD_LIBRARY_PATH should be set";
break;
- case LLP_SET_EMPTY_PATH:
+ case NO_LIBJVM:
if (!dstClientDir.exists()) {
Files.createDirectories(dstClientDir.toPath());
} else {
@@ -161,13 +154,13 @@
Files.deleteIfExists(dstServerLibjvm.toPath());
}
- desc = "LD_LIBRARY_PATH should not be set";
+ desc = "LD_LIBRARY_PATH should not be set (no libjvm.so)";
break;
- case LLP_SET_NON_EXISTENT_PATH:
+ case NO_DIR:
if (dstLibDir.exists()) {
recursiveDelete(dstLibDir);
}
- desc = "LD_LIBRARY_PATH should not be set";
+ desc = "LD_LIBRARY_PATH should not be set (no directory)";
break;
default:
throw new RuntimeException("unknown case");
@@ -178,14 +171,18 @@
*/
env.clear();
env.put(LD_LIBRARY_PATH, dstServerDir.getAbsolutePath());
- run(env, v.value + 1, "Case 1: " + desc);
+ run(env,
+ v.value + 1, // Add one to account for our setting
+ "Case 1: " + desc);
/*
* Case 2: repeat with client path
*/
env.clear();
env.put(LD_LIBRARY_PATH, dstClientDir.getAbsolutePath());
- run(env, v.value + 1, "Case 2: " + desc);
+ run(env,
+ v.value + 1, // Add one to account for our setting
+ "Case 2: " + desc);
if (isSolaris) {
/*
@@ -194,7 +191,10 @@
*/
env.clear();
env.put(LD_LIBRARY_PATH_64, dstServerDir.getAbsolutePath());
- run(env, v.value + 1, "Case 3: " + desc);
+ run(env,
+ v.value, // Do not add one, since we didn't set
+ // LD_LIBRARY_PATH here
+ "Case 3: " + desc);
}
}
return;
--- a/test/jdk/vm/JniInvocationTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/jdk/vm/JniInvocationTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. 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
@@ -32,6 +32,7 @@
*/
import java.util.Map;
+import jdk.test.lib.Platform;
import jdk.test.lib.Utils;
import jdk.test.lib.process.OutputAnalyzer;
@@ -47,7 +48,7 @@
ProcessBuilder pb = new ProcessBuilder(launcher.toString());
Map<String, String> env = pb.environment();
String libdir = Paths.get(Utils.TEST_JDK).resolve("lib").toAbsolutePath().toString();
- env.compute("DYLD_LIBRARY_PATH", (k, v) -> (k == null) ? libdir : v + ":" + libdir);
+ env.compute(Platform.sharedLibraryPathVariableName(), (k, v) -> (k == null) ? libdir : v + ":" + libdir);
OutputAnalyzer outputf = new OutputAnalyzer(pb.start());
outputf.shouldHaveExitValue(0);
}
--- a/test/langtools/jdk/javadoc/doclet/testBreakIterator/TestBreakIterator.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testBreakIterator/TestBreakIterator.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -65,9 +65,8 @@
"<div class=\"block\">with a block tag</div>");
checkOutput("pkg/BreakIteratorTest.html", true,
- "<div class=\"block\">Return methods to the specified\n" +
- " <a href=\"../com/sun/javadoc/package-summary.html#included\">access\n" +
- " modifier option</a>.</div>");
+ "<div class=\"block\">with an anchor for the\n" +
+ " <a href=\"../index-all.html\">top level index</a>.</div>");
checkOutput("pkg/BreakIteratorTest.html", true,
"<div class=\"block\">A constant indicating that the keyLocation is indeterminate\n" +
--- a/test/langtools/jdk/javadoc/doclet/testBreakIterator/pkg/BreakIteratorTest.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testBreakIterator/pkg/BreakIteratorTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -43,9 +43,8 @@
public void baz(){}
/**
- * Return methods to the specified
- * <a href="{@docRoot}/com/sun/javadoc/package-summary.html#included">access
- * modifier option</a>. Second line.
+ * with an anchor for the
+ * <a href="{@docRoot}/index-all.html">top level index</a>. Second line.
*/
public void foobar(){}
--- a/test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootInlineTag.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootInlineTag.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -58,7 +58,7 @@
checkOutput("TestDocRootTag.html", true,
"<a href=\"" + uri + "/java/io/File.html?is-external=true\" "
+ "title=\"class or interface in java.io\" class=\"externalLink\"><code>File</code></a>",
- "<a href=\"./glossary.html\">glossary</a>",
+ "<a href=\"./index-all.html\">index</a>",
"<a href=\"" + uri + "/java/io/File.html?is-external=true\" "
+ "title=\"class or interface in java.io\" class=\"externalLink\"><code>Second File Link</code></a>",
"The value of @docRoot is \"./\"");
--- a/test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootTag.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootTag.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2019, Oracle and/or its affiliates. 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
@@ -23,7 +23,7 @@
/**
* Here is the use of link: {@link java.io.File File}
- * Here is the use of docRoot: <a href="{@docRoot}/glossary.html">glossary</a>.
+ * Here is the use of docRoot: <a href="{@docRoot}/index-all.html">index</a>.
* Here is the use of link: {@link java.io.File Second File Link}
*/
public class TestDocRootTag {}
--- a/test/langtools/jdk/javadoc/doclet/testDocRootLink/TestDocRootLink.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testDocRootLink/TestDocRootLink.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -37,6 +37,14 @@
public static void main(String... args) throws Exception {
TestDocRootLink tester = new TestDocRootLink();
+
+ // The test files intentionally contain examples of links that should
+ // or should not be affected by the -Xdocrootparent option, and the
+ // results are checked explicitly; so, disable the automatic link
+ // checker to prevent spurious "missing files" errors from some of
+ // these links.
+ tester.setAutomaticCheckLinks(false);
+
tester.runTests();
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,257 @@
+/*
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @bug 8210047 8199892
+ * @summary some pages contains content outside of landmark region
+ * @library /tools/lib ../../lib
+ * @modules
+ * jdk.javadoc/jdk.javadoc.internal.tool
+ * jdk.compiler/com.sun.tools.javac.api
+ * jdk.compiler/com.sun.tools.javac.main
+ * @build javadoc.tester.*
+ * @run main TestHtmlLandmarkRegions
+ */
+
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.List;
+
+import builder.ClassBuilder;
+import toolbox.ModuleBuilder;
+import toolbox.ToolBox;
+
+import javadoc.tester.JavadocTester;
+
+public class TestHtmlLandmarkRegions extends JavadocTester {
+
+ final ToolBox tb;
+
+ public static void main(String... args) throws Exception {
+ TestHtmlLandmarkRegions tester = new TestHtmlLandmarkRegions();
+ tester.runTests(m -> new Object[]{Paths.get(m.getName())});
+ }
+
+ TestHtmlLandmarkRegions() {
+ tb = new ToolBox();
+ setAutomaticCheckLinks(false); // @ignore 8217013
+ }
+
+ @Test
+ public void testModules(Path base) throws Exception {
+ Path srcDir = base.resolve("src");
+ createModules(srcDir);
+
+ Path outDir = base.resolve("out");
+ javadoc("-d", outDir.toString(),
+ "-doctitle", "Document Title",
+ "-header", "Test Header",
+ "--frames",
+ "--module-source-path", srcDir.toString(),
+ "--module", "m1,m2");
+
+ checkExit(Exit.OK);
+
+ checkOrder("module-overview-frame.html",
+ "<header role=\"banner\">\n"
+ + "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+ + "<nav role=\"navigation\" class=\"indexNav\">",
+ "<main role=\"main\">\n"
+ + "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"Modules\">Modules</h2>\n"
+ + "<ul title=\"Modules\">",
+ "<footer role=\"contentinfo\">");
+
+ checkOrder("m1/module-frame.html",
+ "<header role=\"banner\">\n"
+ + "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+ + "<nav role=\"navigation\" class=\"indexNav\">",
+ "<main role=\"main\">\n"
+ + "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"m1\"><a href=\"module-summary.html\" target=\"classFrame\">m1</a> Packages</h2>",
+ "<footer role=\"contentinfo\">");
+
+ checkOrder("overview-summary.html",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">\n"
+ + "<h1 class=\"title\">Document Title</h1>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">");
+ }
+
+ @Test
+ public void testModulesHtml4(Path base) throws Exception {
+ Path srcDir = base.resolve("src");
+ createModules(srcDir);
+
+ Path outDir = base.resolve("out2");
+ javadoc("-d", outDir.toString(),
+ "-doctitle", "Document Title",
+ "-header", "Test Header",
+ "--frames",
+ "--module-source-path", srcDir.toString(),
+ "--module", "m1,m2",
+ "-html4");
+
+ checkExit(Exit.OK);
+
+ checkOrder("module-overview-frame.html",
+ "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+ + "<div class=\"indexNav\">",
+ "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"Modules\">Modules</h2>\n"
+ + "<ul title=\"Modules\">");
+
+ checkOrder("m1/module-frame.html",
+ "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+ + "<div class=\"indexNav\">",
+ "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"m1\"><a href=\"module-summary.html\" target=\"classFrame\">m1</a> Packages</h2>");
+
+ checkOrder("overview-summary.html",
+ "<div class=\"fixedNav\">",
+ "<div class=\"header\">\n"
+ + "<h1 class=\"title\">Document Title</h1>",
+ "<div class=\"bottomNav\"><a name=\"navbar.bottom\">");
+ }
+
+ @Test
+ public void testPackages(Path base) throws Exception {
+ Path srcDir = base.resolve("src");
+ createPackages(srcDir);
+
+ Path outDir = base.resolve("out3");
+ javadoc("-d", outDir.toString(),
+ "-doctitle", "Document Title",
+ "-header", "Test Header",
+ "--frames",
+ "-sourcepath", srcDir.toString(),
+ "pkg1", "pkg2");
+
+ checkExit(Exit.OK);
+
+ checkOrder("overview-summary.html",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">\n"
+ + "<h1 class=\"title\">Document Title</h1>",
+ "<footer role=\"contentinfo\">\n" +
+ "<nav role=\"navigation\">");
+
+ checkOrder("overview-frame.html",
+ "<header role=\"banner\">\n"
+ + "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+ + "<nav role=\"navigation\" class=\"indexNav\">",
+ "<main role=\"main\">\n"
+ + "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"Packages\">Packages</h2>",
+ "<footer role=\"contentinfo\">");
+ }
+
+ @Test
+ public void testPackagesHtml4(Path base) throws Exception {
+ Path srcDir = base.resolve("src");
+ createPackages(srcDir);
+
+ Path outDir = base.resolve("out4");
+ javadoc("-d", outDir.toString(),
+ "-doctitle", "Document Title",
+ "-header", "Test Header",
+ "--frames",
+ "-sourcepath", srcDir.toString(),
+ "pkg1", "pkg2",
+ "-html4");
+
+ checkExit(Exit.OK);
+
+ checkOrder("overview-summary.html",
+ "<div class=\"fixedNav\">",
+ "<div class=\"header\">\n"
+ + "<h1 class=\"title\">Document Title</h1>",
+ "<div class=\"bottomNav\"><a name=\"navbar.bottom\">");
+
+ checkOrder("overview-frame.html",
+ "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
+ + "<div class=\"indexNav\">",
+ "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"Packages\">Packages</h2>"
+ );
+ }
+
+ @Test
+ public void testDocFiles(Path base) throws Exception {
+ Path srcDir = base.resolve("src");
+ createPackages(srcDir);
+ Path docFiles = Files.createDirectory(srcDir.resolve("pkg1").resolve("doc-files"));
+ Files.write(docFiles.resolve("s.html"), List.of(
+ "<html>\n"
+ + " <head>\n"
+ + " <title>\"Hello World\"</title>\n"
+ + " </head>\n"
+ + " <body>\n"
+ + " A sample doc file.\n"
+ + " </body>\n"
+ + "</html>"));
+
+ Path outDir = base.resolve("out5");
+ javadoc("-d", outDir.toString(),
+ "-sourcepath", srcDir.toString(),
+ "pkg1", "pkg2");
+
+ checkExit(Exit.OK);
+
+ checkOrder("pkg1/doc-files/s.html",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n",
+ "<main role=\"main\">A sample doc file",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">"
+ );
+ }
+
+ void createModules(Path srcDir) throws Exception {
+ new ModuleBuilder(tb, "m1")
+ .classes("package p1; public class a{}")
+ .classes("package p2; public class b{}")
+ .write(srcDir);
+ new ModuleBuilder(tb, "m2")
+ .classes("package p3; public class c{}")
+ .classes("package p4; public class d{}")
+ .write(srcDir);
+ }
+
+ void createPackages(Path srcDir) throws Exception {
+ new ClassBuilder(tb, "pkg1.A")
+ .setModifiers("public", "class")
+ .write(srcDir);
+ new ClassBuilder(tb, "pkg2.B")
+ .setModifiers("public", "class")
+ .write(srcDir);
+ }
+}
--- a/test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLankmarkRegions.java Tue Jan 22 09:24:58 2019 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*
- * Copyright (c) 2018, Oracle and/or its affiliates. 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.
- */
-
-/*
- * @test
- * @bug 8210047
- * @summary some pages contains content outside of landmark region
- * @library /tools/lib ../../lib
- * @modules
- * jdk.javadoc/jdk.javadoc.internal.tool
- * jdk.compiler/com.sun.tools.javac.api
- * jdk.compiler/com.sun.tools.javac.main
- * @build javadoc.tester.*
- * @run main TestHtmlLankmarkRegions
- */
-
-
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-import builder.ClassBuilder;
-import toolbox.ModuleBuilder;
-import toolbox.ToolBox;
-
-import javadoc.tester.JavadocTester;
-
-public class TestHtmlLankmarkRegions extends JavadocTester {
-
- final ToolBox tb;
-
- public static void main(String... args) throws Exception {
- TestHtmlLankmarkRegions tester = new TestHtmlLankmarkRegions();
- tester.runTests(m -> new Object[]{Paths.get(m.getName())});
- }
-
- TestHtmlLankmarkRegions() {
- tb = new ToolBox();
- }
-
- @Test
- public void testModules(Path base) throws Exception {
- Path srcDir = base.resolve("src");
- createModules(srcDir);
-
- Path outDir = base.resolve("out");
- javadoc("-d", outDir.toString(),
- "-doctitle", "Document Title",
- "-header", "Test Header",
- "--frames",
- "--module-source-path", srcDir.toString(),
- "--module", "m1,m2");
-
- checkExit(Exit.OK);
-
- checkOrder("module-overview-frame.html",
- "<header role=\"banner\">\n"
- + "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
- + "<nav role=\"navigation\" class=\"indexNav\">",
- "<main role=\"main\">\n"
- + "<div class=\"indexContainer\">\n"
- + "<h2 title=\"Modules\">Modules</h2>\n"
- + "<ul title=\"Modules\">",
- "<footer role=\"contentinfo\">");
-
- checkOrder("m1/module-frame.html",
- "<header role=\"banner\">\n"
- + "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
- + "<nav role=\"navigation\" class=\"indexNav\">",
- "<main role=\"main\">\n"
- + "<div class=\"indexContainer\">\n"
- + "<h2 title=\"m1\"><a href=\"module-summary.html\" target=\"classFrame\">m1</a> Packages</h2>",
- "<footer role=\"contentinfo\">");
-
- checkOrder("overview-summary.html",
- "<header role=\"banner\">\n"
- + "<nav role=\"navigation\">",
- "<main role=\"main\">\n"
- + "<div class=\"header\">\n"
- + "<h1 class=\"title\">Document Title</h1>",
- "<footer role=\"contentinfo\">\n"
- + "<nav role=\"navigation\">");
- }
-
- @Test
- public void testModulesHtml4(Path base) throws Exception {
- Path srcDir = base.resolve("src");
- createModules(srcDir);
-
- Path outDir = base.resolve("out2");
- javadoc("-d", outDir.toString(),
- "-doctitle", "Document Title",
- "-header", "Test Header",
- "--frames",
- "--module-source-path", srcDir.toString(),
- "--module", "m1,m2",
- "-html4");
-
- checkExit(Exit.OK);
-
- checkOrder("module-overview-frame.html",
- "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
- + "<div class=\"indexNav\">",
- "<div class=\"indexContainer\">\n"
- + "<h2 title=\"Modules\">Modules</h2>\n"
- + "<ul title=\"Modules\">");
-
- checkOrder("m1/module-frame.html",
- "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
- + "<div class=\"indexNav\">",
- "<div class=\"indexContainer\">\n"
- + "<h2 title=\"m1\"><a href=\"module-summary.html\" target=\"classFrame\">m1</a> Packages</h2>");
-
- checkOrder("overview-summary.html",
- "<div class=\"fixedNav\">",
- "<div class=\"header\">\n"
- + "<h1 class=\"title\">Document Title</h1>",
- "<div class=\"bottomNav\"><a name=\"navbar.bottom\">");
- }
-
- @Test
- public void testPackages(Path base) throws Exception {
- Path srcDir = base.resolve("src");
- createPackages(srcDir);
-
- Path outDir = base.resolve("out3");
- javadoc("-d", outDir.toString(),
- "-doctitle", "Document Title",
- "-header", "Test Header",
- "--frames",
- "-sourcepath", srcDir.toString(),
- "pkg1", "pkg2");
-
- checkExit(Exit.OK);
-
- checkOrder("overview-summary.html",
- "<header role=\"banner\">\n"
- + "<nav role=\"navigation\">",
- "<main role=\"main\">\n"
- + "<div class=\"header\">\n"
- + "<h1 class=\"title\">Document Title</h1>",
- "<footer role=\"contentinfo\">\n" +
- "<nav role=\"navigation\">");
-
- checkOrder("overview-frame.html",
- "<header role=\"banner\">\n"
- + "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
- + "<nav role=\"navigation\" class=\"indexNav\">",
- "<main role=\"main\">\n"
- + "<div class=\"indexContainer\">\n"
- + "<h2 title=\"Packages\">Packages</h2>",
- "<footer role=\"contentinfo\">");
- }
-
- @Test
- public void testPackagesHtml4(Path base) throws Exception {
- Path srcDir = base.resolve("src");
- createPackages(srcDir);
-
- Path outDir = base.resolve("out4");
- javadoc("-d", outDir.toString(),
- "-doctitle", "Document Title",
- "-header", "Test Header",
- "--frames",
- "-sourcepath", srcDir.toString(),
- "pkg1", "pkg2",
- "-html4");
-
- checkExit(Exit.OK);
-
- checkOrder("overview-summary.html",
- "<div class=\"fixedNav\">",
- "<div class=\"header\">\n"
- + "<h1 class=\"title\">Document Title</h1>",
- "<div class=\"bottomNav\"><a name=\"navbar.bottom\">");
-
- checkOrder("overview-frame.html",
- "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
- + "<div class=\"indexNav\">",
- "<div class=\"indexContainer\">\n"
- + "<h2 title=\"Packages\">Packages</h2>"
- );
- }
-
- void createModules(Path srcDir) throws Exception {
- new ModuleBuilder(tb, "m1")
- .classes("package p1; public class a{}")
- .classes("package p2; public class b{}")
- .write(srcDir);
- new ModuleBuilder(tb, "m2")
- .classes("package p3; public class c{}")
- .classes("package p4; public class d{}")
- .write(srcDir);
- }
-
- void createPackages(Path srcDir) throws Exception {
- new ClassBuilder(tb, "pkg1.A")
- .setModifiers("public", "class")
- .write(srcDir);
- new ClassBuilder(tb, "pkg2.B")
- .setModifiers("public", "class")
- .write(srcDir);
- }
-}
--- a/test/langtools/jdk/javadoc/doclet/testIndexWithModules/TestIndexWithModules.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testIndexWithModules/TestIndexWithModules.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. 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
@@ -83,6 +83,7 @@
//multiple modules with frames
@Test
public void testIndexWithMultipleModules1(Path base) throws Exception {
+ setAutomaticCheckLinks(false); // @ignore 8217013
Path out = base.resolve("out");
javadoc("-d", out.toString(),
"--module-source-path", src.toString(),
@@ -98,6 +99,7 @@
"<a href=\"m1/module-summary.html\">m1</a>",
"<a href=\"m3/module-summary.html\">m3</a>",
"<a href=\"m4/module-summary.html\">m4</a>");
+ setAutomaticCheckLinks(true); // @ignore 8217013
}
//multiple modules with out frames
--- a/test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -115,6 +115,7 @@
);
String out1_html4 = "out1-html4";
+ setAutomaticCheckLinks(false); // The example code has toy/bad links
javadoc("-d", out1_html4,
"-source", "8",
"-html4",
@@ -134,6 +135,8 @@
+ "<a href=\"#createTempFile-java.lang.String-java.lang.String-java.io.File-\">"
+ "<code>createTempFile(prefix, suffix, null)</code></a></code>.</div>");
+ setAutomaticCheckLinks(true); // re-enable checks
+
// Generate the documentation using -linkoffline and a relative path as the first parameter.
// We will try linking to the docs generated in test 1 with a relative path.
String out2 = "out2";
@@ -182,6 +185,7 @@
);
// check multiple linkoffline options
+ setAutomaticCheckLinks(false); // The example code has toy/bad links
javadoc("-d", "out6",
"-sourcepath", testSrc,
"-linkoffline", "../copy/out1", "out1",
@@ -200,6 +204,8 @@
+ "title=\"class or interface in mylib.lang\" class=\"externalLink\">"
+ "<code>link to mylib.lang.StringBuilderChild</code></a>.</div>\n"
);
+
+ setAutomaticCheckLinks(true); // re-enable checks
}
/*
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithAutomaticModule.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @bug 8212233
+ * @summary The code being documented uses modules but the packages defined in $URL are in the unnamed module.
+ * @library /tools/lib ../../lib
+ * @modules
+ * jdk.javadoc/jdk.javadoc.internal.tool
+ * jdk.compiler/com.sun.tools.javac.api
+ * jdk.compiler/com.sun.tools.javac.main
+ * @build javadoc.tester.* toolbox.JarTask toolbox.JavacTask toolbox.ModuleBuilder toolbox.ToolBox
+ * @run main TestLinkOptionWithAutomaticModule
+ */
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+
+import toolbox.JarTask;
+import toolbox.JavacTask;
+import toolbox.ModuleBuilder;
+import toolbox.ToolBox;
+
+import javadoc.tester.JavadocTester;
+
+public class TestLinkOptionWithAutomaticModule extends JavadocTester {
+
+ public static void main(String... args) throws Exception {
+ TestLinkOptionWithAutomaticModule tester = new TestLinkOptionWithAutomaticModule();
+ tester.runTests(m -> new Object[]{ Path.of(m.getName()) });
+ }
+
+ final ToolBox tb = new ToolBox();
+ private Path libJar;
+ private Path libAPI;
+
+ TestLinkOptionWithAutomaticModule() throws IOException {
+ initLib();
+ }
+
+ private void initLib() throws IOException {
+ // create library: write source, compile it, jar it
+ Path lib = Path.of("lib");
+ Path libSrc = lib.resolve("src");
+ tb.writeJavaFiles(libSrc, "package lib; public class LibClass { }");
+ Path libClasses = Files.createDirectories(lib.resolve("classes"));
+
+ new JavacTask(tb)
+ .outdir(libClasses)
+ .files(tb.findJavaFiles(libSrc))
+ .run()
+ .writeAll();
+
+ libJar = lib.resolve("MyLib.jar");
+ new JarTask(tb, libJar)
+ .baseDir(libClasses)
+ .files(".")
+ .run();
+
+ libAPI = lib.resolve("api");
+ javadoc("-d", libAPI.toString(),
+ "-sourcepath", libSrc.toString(),
+ "lib");
+ checkExit(Exit.OK);
+ }
+
+ @Test
+ public void testLinkUnnamedToAutomaticModule(Path base) throws IOException {
+
+ // create API referring to library
+ Path src = base.resolve("src");
+ tb.writeJavaFiles(src, "package p; public class MyClass extends lib.LibClass { }");
+
+ // run javadoc with library as automatic module
+ Path api = base.resolve("api");
+ javadoc("-d", api.toString(),
+ "-sourcepath", src.toString(),
+ "--add-modules", "MyLib",
+ "--module-path", libJar.toString(),
+ "-linkoffline", "http://myWebsite", libAPI.toAbsolutePath().toString(),
+ "p");
+ checkExit(Exit.OK);
+ checkOutput("p/MyClass.html", true,
+ "extends <a href=\"http://myWebsite/lib/LibClass.html?is-external=true\" "
+ + "title=\"class or interface in lib\" class=\"externalLink\">LibClass</a>");
+ }
+
+ @Test
+ public void testLinkNamedToAutomaticModule(Path base) throws IOException {
+
+ // create API referring to library
+ Path src = base.resolve("src");
+ new ModuleBuilder(tb, "my.module")
+ .exports("p")
+ .requires("MyLib")
+ .classes("package p; public class MyClass extends lib.LibClass { }")
+ .write(src);
+
+ // run javadoc with library as automatic module
+ Path api = base.resolve("api");
+ javadoc("-d", api.toString(),
+ "--module-source-path", src.toString(),
+ "--module-path", libJar.toString(),
+ "-linkoffline", "http://myWebsite", libAPI.toAbsolutePath().toString(),
+ "--module", "my.module");
+ checkExit(Exit.OK);
+ checkOutput("my.module/p/MyClass.html", true,
+ "extends <a href=\"http://myWebsite/lib/LibClass.html?is-external=true\" "
+ + "title=\"class or interface in lib\" class=\"externalLink\">LibClass</a>");
+ }
+
+ @Test
+ public void testLinkNamedToUnnamedModule(Path base) throws IOException {
+
+ // create API referring to library
+ Path src = base.resolve("src");
+ new ModuleBuilder(tb, "my.module")
+ .exports("p")
+ .classes("package p; public class MyClass extends lib.LibClass { }")
+ .write(src);
+
+ // run javadoc with library as unnamed module
+ Path api = base.resolve("api");
+ javadoc("-d", api.toString(),
+ "--module-source-path", src.toString(),
+ "--add-reads", "my.module=ALL-UNNAMED",
+ "--class-path", libJar.toString(),
+ "-linkoffline", "http://myWebsite", libAPI.toAbsolutePath().toString(),
+ "--module", "my.module");
+ checkExit(Exit.OK);
+ checkOutput("my.module/p/MyClass.html", true,
+ "extends <a href=\"http://myWebsite/lib/LibClass.html?is-external=true\" "
+ + "title=\"class or interface in lib\" class=\"externalLink\">LibClass</a>");
+ }
+}
--- a/test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 4749567 8071982 8175200 8186332 8185371 8182765
+ * @bug 4749567 8071982 8175200 8186332 8185371 8182765 8217034
* @summary Test the output for -header, -footer, -nooverview, -nodeprecatedlist, -nonavbar, -notree,
* -stylesheetfile, --main-stylesheet, --add-stylesheet options.
* @author Bhavesh Patel
--- a/test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 6492694 8026567 8048351 8162363 8183511 8169819 8074407 8196202
+ * @bug 6492694 8026567 8048351 8162363 8183511 8169819 8074407 8196202 8202626
* @summary Test package deprecation.
* @author bpatel
* @library ../../lib/
@@ -38,7 +38,6 @@
public static void main(String... args) throws Exception {
TestPackageDeprecation tester = new TestPackageDeprecation();
- tester.setAutomaticCheckLinks(false); // @ignore JDK-8202626
tester.runTests();
}
--- a/test/langtools/jdk/javadoc/doclet/testRelativeLinks/TestRelativeLinks.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testRelativeLinks/TestRelativeLinks.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -33,6 +33,10 @@
* @run main TestRelativeLinks
*/
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
import javadoc.tester.JavadocTester;
public class TestRelativeLinks extends JavadocTester {
@@ -106,5 +110,27 @@
"-sourcepath", testSrc,
"pkg", "pkg2");
checkExit(Exit.OK);
+ }
+
+ @Override
+ public void checkLinks() {
+ // since the test uses explicit links to non-existent files,
+ // we create those files to avoid false positive errors from checkLinks
+ touch("pkg/relative-class-link.html");
+ touch("pkg/relative-field-link.html");
+ touch("pkg/relative-method-link.html");
+ touch("pkg/relative-package-link.html");
+ touch("pkg/relative-multi-line-link.html");
+ super.checkLinks();
+ }
+
+ private void touch(String file) {
+ File f = new File(outputDir, file);
+ out.println("touch " + f);
+ try (FileOutputStream fos = new FileOutputStream(f)) {
+ } catch (IOException e) {
+ checking("Touch file");
+ failed("Error creating file: " + e);
+ }
+ }
}
-}
--- a/test/langtools/jdk/javadoc/doclet/testUseOption/TestUseOption.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/doclet/testUseOption/TestUseOption.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -24,7 +24,7 @@
/*
* @test
* @bug 4496290 4985072 7006178 7068595 8016328 8050031 8048351 8081854 8071982 8162363 8175200 8186332
- * 8182765 8196202
+ * 8182765 8196202 8202626
* @summary A simple test to ensure class-use files are correct.
* @author jamieh
* @library ../../lib
@@ -39,7 +39,6 @@
public static void main(String... args) throws Exception {
TestUseOption tester = new TestUseOption();
- tester.setAutomaticCheckLinks(false); // @ignore JDK-8202626
tester.runTests();
}
@@ -201,7 +200,7 @@
checkOutput("package-use.html", true,
"<th class=\"colFirst\" scope=\"row\">"
+ "<a href=\"class-use/UsedInC.html#unnamed.package\">UsedInC</a></th>",
- "<th class=\"colFirst\" scope=\"row\"><a href=\"#%3CUnnamed%3E\"><Unnamed></a></th>\n"
+ "<th class=\"colFirst\" scope=\"row\"><a href=\"#unnamed.package\"><Unnamed></a></th>\n"
+ "<td class=\"colLast\"> </td>"
);
}
@@ -219,7 +218,7 @@
"<li class=\"blockList\"><a name=\"unnamed.package\">"
);
checkOutput("package-use.html", true,
- "<th class=\"colFirst\" scope=\"row\"><a href=\"#-Unnamed-\"><Unnamed></a></th>\n"
+ "<th class=\"colFirst\" scope=\"row\"><a href=\"#unnamed.package\"><Unnamed></a></th>\n"
+ "<td class=\"colLast\"> </td>"
);
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/lib/javadoc/tester/A11yChecker.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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.
+ */
+
+package javadoc.tester;
+
+import java.io.PrintStream;
+import java.nio.file.Path;
+import java.util.Map;
+import java.util.Stack;
+import java.util.function.Function;
+
+/**
+ * A class to check various aspects of accessibility in a set of HTML files.
+ */
+public class A11yChecker extends HtmlChecker {
+
+ private boolean html5;
+
+ private int currLevel;
+ private int headingErrors;
+
+ private boolean inBody;
+ private boolean inNoScript;
+ private Stack<String> regions = new Stack<>();
+ private int regionErrors;
+
+ A11yChecker(PrintStream out, Function<Path,String> fileReader) {
+ super(out, fileReader);
+ }
+
+ int getErrorCount() {
+ return errors;
+ }
+
+ @Override
+ public void report() {
+ if (headingErrors == 0) {
+ out.println("All headings OK");
+ } else {
+ out.println(headingErrors + " bad headings");
+ }
+
+ if (regionErrors == 0) {
+ out.println("All regions OK");
+ } else {
+ out.println(regionErrors + " errors in regions");
+ }
+ }
+
+ @Override
+ public void startFile(Path path) {
+ html5 = false;
+ }
+
+ @Override
+ public void endFile() {
+ }
+
+ @Override
+ public void docType(String doctype) {
+ html5 = doctype.matches("(?i)<\\?doctype\\s+html>");
+ }
+
+ @Override
+ public void startElement(String name, Map<String,String> attrs, boolean selfClosing) {
+ switch (name) {
+ case "body":
+ inBody = true;
+ break;
+
+ case "h1": case "h2": case "h3": case "h4": case "h5": case "h6":
+ checkHeading(name);
+ break;
+
+ case "header": case "footer": case "main": case "nav": case "aside":
+ regions.push(name);
+ break;
+
+ case "noscript":
+ inNoScript = true;
+ break;
+ }
+ }
+
+ @Override
+ public void endElement(String name) {
+ switch (name) {
+ case "body":
+ inBody = false;
+ break;
+
+ case "header": case "footer": case "main": case "nav": case "aside":
+ if (regions.size() > 0 && regions.peek().equals(name)) {
+ regions.pop();
+ } else {
+ error(currFile, getLineNumber(), "unmatched tag: " + name);
+ regionErrors++;
+ }
+ break;
+
+ case "noscript":
+ inNoScript = false;
+ break;
+ }
+
+ }
+
+ private void checkHeading(String h) {
+ int level = Character.digit(h.charAt(1), 10);
+ if (level > currLevel + 1) {
+ headingErrors++;
+ StringBuilder sb = new StringBuilder();
+ String sep = "";
+ for (int i = currLevel + 1; i < level; i++) {
+ sb.append(sep).append("h").append(i);
+ sep = ", ";
+ }
+ error(currFile, getLineNumber(), "missing headings: " + sb);
+ }
+ currLevel = level;
+ }
+
+ @Override
+ public void content(String s) {
+ if (html5 && inBody && !inNoScript && !s.isBlank() && regions.isEmpty()) {
+ error(currFile, getLineNumber(), "content outside of any region");
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/lib/javadoc/tester/HtmlChecker.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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.
+ */
+
+package javadoc.tester;
+
+import java.io.IOException;
+import java.io.PrintStream;
+import java.nio.file.FileVisitResult;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+import java.util.function.Function;
+
+public abstract class HtmlChecker extends HtmlParser {
+ static final Path currDir = Paths.get(".").toAbsolutePath().normalize();
+
+ protected Path currFile;
+ protected int files;
+ protected int errors;
+
+ HtmlChecker(PrintStream out, Function<Path,String> fileReader) {
+ super(out, fileReader);
+ }
+
+ void checkDirectory(Path dir) throws IOException {
+ checkFiles(List.of(dir), false, Collections.emptySet());
+ }
+
+ void checkFiles(List<Path> files, boolean skipSubdirs, Set<Path> excludeFiles) throws IOException {
+ for (Path file : files) {
+ Files.walkFileTree(file, new SimpleFileVisitor<Path>() {
+ int depth = 0;
+
+ @Override
+ public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
+ if ((skipSubdirs && depth > 0) || excludeFiles.contains(dir)) {
+ return FileVisitResult.SKIP_SUBTREE;
+ }
+ depth++;
+ return FileVisitResult.CONTINUE;
+ }
+
+ @Override
+ public FileVisitResult visitFile(Path p, BasicFileAttributes attrs) {
+ if (excludeFiles.contains(p)) {
+ return FileVisitResult.CONTINUE;
+ }
+
+ if (Files.isRegularFile(p) && p.getFileName().toString().endsWith(".html")) {
+ checkFile(p);
+ }
+ return FileVisitResult.CONTINUE;
+ }
+
+ @Override
+ public FileVisitResult postVisitDirectory(Path dir, IOException e) throws IOException {
+ depth--;
+ return super.postVisitDirectory(dir, e);
+ }
+ });
+ }
+ }
+
+ void checkFile(Path file) {
+ try {
+ currFile = file.toAbsolutePath().normalize();
+ read(file);
+ files++;
+ } catch (IOException e) {
+ error(file, 0, e);
+ }
+ }
+
+ abstract void report();
+
+ int getErrorCount() {
+ return errors;
+ }
+
+ @Override
+ protected void error(Path file, int lineNumber, String message) {
+ super.error(relativePath(file), lineNumber, message);
+ errors++;
+ }
+
+ @Override
+ protected void error(Path file, int lineNumber, Throwable t) {
+ super.error(relativePath(file), lineNumber, t);
+ errors++;
+ }
+
+ protected Path relativePath(Path path) {
+ return path.startsWith(currDir) ? currDir.relativize(path) : path;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/lib/javadoc/tester/HtmlParser.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,411 @@
+/*
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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.
+ */
+
+package javadoc.tester;
+
+import java.io.IOException;
+import java.io.PrintStream;
+import java.io.StringReader;
+import java.nio.file.Path;
+import java.util.LinkedHashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.regex.Pattern;
+
+/**
+ * A basic HTML parser. Override the protected methods as needed to get notified
+ * of significant items in any file that is read.
+ */
+public abstract class HtmlParser {
+
+ protected final PrintStream out;
+ protected final Function<Path,String> fileReader;
+
+ private Path file;
+ private StringReader in;
+ private int ch;
+ private int lineNumber;
+ private boolean inScript;
+ private boolean xml;
+
+ HtmlParser(PrintStream out, Function<Path,String> fileReader) {
+ this.out = out;
+ this.fileReader = fileReader;
+ }
+
+ /**
+ * Read a file.
+ * @param file the file to be read
+ * @throws IOException if an error occurs while reading the file
+ */
+ void read(Path file) throws IOException {
+ try (StringReader r = new StringReader(fileReader.apply(file))) {
+ this.file = file;
+ this.in = r;
+ StringBuilder content = new StringBuilder();
+
+ startFile(file);
+ try {
+ lineNumber = 1;
+ xml = false;
+ nextChar();
+
+ while (ch != -1) {
+ switch (ch) {
+
+ case '<':
+ content(content.toString());
+ content.setLength(0);
+ html();
+ break;
+
+ default:
+ content.append((char) ch);
+ if (ch == '\n') {
+ content(content.toString());
+ content.setLength(0);
+ }
+ nextChar();
+ }
+ }
+ } finally {
+ endFile();
+ }
+ } catch (IOException e) {
+ error(file, lineNumber, e);
+ } catch (Throwable t) {
+ error(file, lineNumber, t);
+ t.printStackTrace(out);
+ }
+ }
+
+
+ int getLineNumber() {
+ return lineNumber;
+ }
+
+ /**
+ * Called when a file has been opened, before parsing begins.
+ * This is always the first notification when reading a file.
+ * This implementation does nothing.
+ *
+ * @param file the file
+ */
+ protected void startFile(Path file) { }
+
+ /**
+ * Called when the parser has finished reading a file.
+ * This is always the last notification when reading a file,
+ * unless any errors occur while closing the file.
+ * This implementation does nothing.
+ */
+ protected void endFile() { }
+
+ /**
+ * Called when a doctype declaration is found, at the beginning of the file.
+ * This implementation does nothing.
+ * @param s the doctype declaration
+ */
+ protected void docType(String s) { }
+
+ /**
+ * Called when the opening tag of an HTML element is encountered.
+ * This implementation does nothing.
+ * @param name the name of the tag
+ * @param attrs the attribute
+ * @param selfClosing whether or not this is a self-closing tag
+ */
+ protected void startElement(String name, Map<String,String> attrs, boolean selfClosing) { }
+
+ /**
+ * Called when the closing tag of an HTML tag is encountered.
+ * This implementation does nothing.
+ * @param name the name of the tag
+ */
+ protected void endElement(String name) { }
+
+ /**
+ * Called for sequences of character content.
+ * @param content the character content
+ */
+ protected void content(String content) { }
+
+ /**
+ * Called when an error has been encountered.
+ * @param file the file being read
+ * @param lineNumber the line number of line containing the error
+ * @param message a description of the error
+ */
+ protected void error(Path file, int lineNumber, String message) {
+ out.println(file + ":" + lineNumber + ": " + message);
+ }
+
+ /**
+ * Called when an exception has been encountered.
+ * @param file the file being read
+ * @param lineNumber the line number of the line being read when the exception was found
+ * @param t the exception
+ */
+ protected void error(Path file, int lineNumber, Throwable t) {
+ out.println(file + ":" + lineNumber + ": " + t);
+ }
+
+ private void nextChar() throws IOException {
+ ch = in.read();
+ if (ch == '\n')
+ lineNumber++;
+ }
+
+ /**
+ * Read the start or end of an HTML tag, or an HTML comment
+ * {@literal <identifier attrs> } or {@literal </identifier> }
+ * @throws java.io.IOException if there is a problem reading the file
+ */
+ private void html() throws IOException {
+ nextChar();
+ if (isIdentifierStart((char) ch)) {
+ String name = readIdentifier().toLowerCase(Locale.US);
+ Map<String,String> attrs = htmlAttrs();
+ if (attrs != null) {
+ boolean selfClosing = false;
+ if (ch == '/') {
+ nextChar();
+ selfClosing = true;
+ }
+ if (ch == '>') {
+ nextChar();
+ startElement(name, attrs, selfClosing);
+ if (name.equals("script")) {
+ inScript = true;
+ }
+ return;
+ }
+ }
+ } else if (ch == '/') {
+ nextChar();
+ if (isIdentifierStart((char) ch)) {
+ String name = readIdentifier().toLowerCase(Locale.US);
+ skipWhitespace();
+ if (ch == '>') {
+ nextChar();
+ endElement(name);
+ if (name.equals("script")) {
+ inScript = false;
+ }
+ return;
+ }
+ }
+ } else if (ch == '!') {
+ nextChar();
+ if (ch == '-') {
+ nextChar();
+ if (ch == '-') {
+ nextChar();
+ while (ch != -1) {
+ int dash = 0;
+ while (ch == '-') {
+ dash++;
+ nextChar();
+ }
+ // Strictly speaking, a comment should not contain "--"
+ // so dash > 2 is an error, dash == 2 implies ch == '>'
+ // See http://www.w3.org/TR/html-markup/syntax.html#syntax-comments
+ // for more details.
+ if (dash >= 2 && ch == '>') {
+ nextChar();
+ return;
+ }
+
+ nextChar();
+ }
+ }
+ } else if (ch == '[') {
+ nextChar();
+ if (ch == 'C') {
+ nextChar();
+ if (ch == 'D') {
+ nextChar();
+ if (ch == 'A') {
+ nextChar();
+ if (ch == 'T') {
+ nextChar();
+ if (ch == 'A') {
+ nextChar();
+ if (ch == '[') {
+ while (true) {
+ nextChar();
+ if (ch == ']') {
+ nextChar();
+ if (ch == ']') {
+ nextChar();
+ if (ch == '>') {
+ nextChar();
+ return;
+ }
+ }
+ }
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ StringBuilder sb = new StringBuilder();
+ while (ch != -1 && ch != '>') {
+ sb.append((char) ch);
+ nextChar();
+ }
+ Pattern p = Pattern.compile("(?is)doctype\\s+html\\s?.*");
+ String s = sb.toString();
+ if (p.matcher(s).matches()) {
+ docType(s);
+ return;
+ }
+ }
+ } else if (ch == '?') {
+ nextChar();
+ if (ch == 'x') {
+ nextChar();
+ if (ch == 'm') {
+ nextChar();
+ if (ch == 'l') {
+ Map<String,String> attrs = htmlAttrs();
+ if (ch == '?') {
+ nextChar();
+ if (ch == '>') {
+ nextChar();
+ xml = true;
+ return;
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ if (!inScript) {
+ error(file, lineNumber, "bad html");
+ }
+ }
+
+ /**
+ * Read a series of HTML attributes, terminated by {@literal > }.
+ * Each attribute is of the form {@literal identifier[=value] }.
+ * "value" may be unquoted, single-quoted, or double-quoted.
+ */
+ private Map<String,String> htmlAttrs() throws IOException {
+ Map<String, String> map = new LinkedHashMap<>();
+ skipWhitespace();
+
+ loop:
+ while (isIdentifierStart((char) ch)) {
+ String name = readAttributeName().toLowerCase(Locale.US);
+ skipWhitespace();
+ String value = null;
+ if (ch == '=') {
+ nextChar();
+ skipWhitespace();
+ if (ch == '\'' || ch == '"') {
+ char quote = (char) ch;
+ nextChar();
+ StringBuilder sb = new StringBuilder();
+ while (ch != -1 && ch != quote) {
+ sb.append((char) ch);
+ nextChar();
+ }
+ value = sb.toString() // hack to replace common entities
+ .replace("<", "<")
+ .replace(">", ">")
+ .replace("&", "&");
+ nextChar();
+ } else {
+ StringBuilder sb = new StringBuilder();
+ while (ch != -1 && !isUnquotedAttrValueTerminator((char) ch)) {
+ sb.append((char) ch);
+ nextChar();
+ }
+ value = sb.toString();
+ }
+ skipWhitespace();
+ }
+ map.put(name, value);
+ }
+
+ return map;
+ }
+
+ private boolean isIdentifierStart(char ch) {
+ return Character.isUnicodeIdentifierStart(ch);
+ }
+
+ private String readIdentifier() throws IOException {
+ StringBuilder sb = new StringBuilder();
+ sb.append((char) ch);
+ nextChar();
+ while (ch != -1 && Character.isUnicodeIdentifierPart(ch)) {
+ sb.append((char) ch);
+ nextChar();
+ }
+ return sb.toString();
+ }
+
+ private String readAttributeName() throws IOException {
+ StringBuilder sb = new StringBuilder();
+ sb.append((char) ch);
+ nextChar();
+ while (ch != -1 && Character.isUnicodeIdentifierPart(ch)
+ || ch == '-'
+ || xml && ch == ':') {
+ sb.append((char) ch);
+ nextChar();
+ }
+ return sb.toString();
+ }
+
+ private boolean isWhitespace(char ch) {
+ return Character.isWhitespace(ch);
+ }
+
+ private void skipWhitespace() throws IOException {
+ while (isWhitespace((char) ch)) {
+ nextChar();
+ }
+ }
+
+ private boolean isUnquotedAttrValueTerminator(char ch) {
+ switch (ch) {
+ case '\f': case '\n': case '\r': case '\t':
+ case ' ':
+ case '"': case '\'': case '`':
+ case '=': case '<': case '>':
+ return true;
+ default:
+ return false;
+ }
+ }
+}
--- a/test/langtools/jdk/javadoc/lib/javadoc/tester/JavadocTester.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/jdk/javadoc/lib/javadoc/tester/JavadocTester.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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
@@ -23,18 +23,15 @@
package javadoc.tester;
-import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.FilenameFilter;
-import java.io.InputStreamReader;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
-import java.io.StringReader;
import java.io.StringWriter;
import java.lang.annotation.Annotation;
import java.lang.annotation.Retention;
@@ -42,36 +39,21 @@
import java.lang.ref.SoftReference;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.net.URI;
-import java.net.URISyntaxException;
import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CodingErrorAction;
import java.nio.charset.UnsupportedCharsetException;
-import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.nio.file.SimpleFileVisitor;
-import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
-import java.util.Comparator;
import java.util.EnumMap;
import java.util.HashMap;
-import java.util.LinkedHashMap;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
import java.util.Objects;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
import java.util.function.Function;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
/**
@@ -250,6 +232,7 @@
private DirectoryCheck outputDirectoryCheck = DirectoryCheck.EMPTY;
+ private boolean automaticCheckAccessibility = false;
private boolean automaticCheckLinks = true;
/** The current subtest number. Incremented when checking(...) is called. */
@@ -397,8 +380,13 @@
}
});
- if (automaticCheckLinks && exitCode == Exit.OK.code && outputDir.exists()) {
- checkLinks();
+ if (exitCode == Exit.OK.code && outputDir.exists()) {
+ if (automaticCheckLinks) {
+ checkLinks();
+ }
+ if (automaticCheckAccessibility) {
+ checkAccessibility();
+ }
}
}
@@ -531,6 +519,23 @@
}
}
+ public void checkAccessibility() {
+ checking("Check accessibility");
+ A11yChecker c = new A11yChecker(out, this::readFile);
+ try {
+ c.checkDirectory(outputDir.toPath());
+ c.report();
+ int errors = c.getErrorCount();
+ if (errors == 0) {
+ passed("No accessibility errors found");
+ } else {
+ failed(errors + " errors found when checking accessibility");
+ }
+ } catch (IOException e) {
+ failed("exception thrown when reading files: " + e);
+ }
+ }
+
public void checkLinks() {
checking("Check links");
LinkChecker c = new LinkChecker(out, this::readFile);
@@ -861,7 +866,6 @@
* @param baseDir1 the directory in which to locate the first file
* @param baseDir2 the directory in which to locate the second file
* @param file the file to compare in the two base directories
- * @param throwErrorIFNoMatch flag to indicate whether or not to throw
* an error if the files do not match.
* @return true if the files are the same and false otherwise.
*/
@@ -981,820 +985,4 @@
// Support classes for checkLinks
- /**
- * A basic HTML parser. Override the protected methods as needed to get notified
- * of significant items in any file that is read.
- */
- static abstract class HtmlParser {
-
- protected final PrintStream out;
- protected final Function<Path,String> fileReader;
-
- private Path file;
- private StringReader in;
- private int ch;
- private int lineNumber;
- private boolean inScript;
- private boolean xml;
-
- HtmlParser(PrintStream out, Function<Path,String> fileReader) {
- this.out = out;
- this.fileReader = fileReader;
- }
-
- /**
- * Read a file.
- * @param file the file to be read
- * @throws IOException if an error occurs while reading the file
- */
- void read(Path file) throws IOException {
- try (StringReader r = new StringReader(fileReader.apply(file))) {
- this.file = file;
- this.in = r;
-
- startFile(file);
- try {
- lineNumber = 1;
- xml = false;
- nextChar();
-
- while (ch != -1) {
- switch (ch) {
-
- case '<':
- html();
- break;
-
- default:
- nextChar();
- }
- }
- } finally {
- endFile();
- }
- } catch (IOException e) {
- error(file, lineNumber, e);
- } catch (Throwable t) {
- error(file, lineNumber, t);
- t.printStackTrace(out);
- }
- }
-
-
- int getLineNumber() {
- return lineNumber;
- }
-
- /**
- * Called when a file has been opened, before parsing begins.
- * This is always the first notification when reading a file.
- * This implementation does nothing.
- *
- * @param file the file
- */
- protected void startFile(Path file) { }
-
- /**
- * Called when the parser has finished reading a file.
- * This is always the last notification when reading a file,
- * unless any errors occur while closing the file.
- * This implementation does nothing.
- */
- protected void endFile() { }
-
- /**
- * Called when a doctype declaration is found, at the beginning of the file.
- * This implementation does nothing.
- * @param s the doctype declaration
- */
- protected void docType(String s) { }
-
- /**
- * Called when the opening tag of an HTML element is encountered.
- * This implementation does nothing.
- * @param name the name of the tag
- * @param attrs the attribute
- * @param selfClosing whether or not this is a self-closing tag
- */
- protected void startElement(String name, Map<String,String> attrs, boolean selfClosing) { }
-
- /**
- * Called when the closing tag of an HTML tag is encountered.
- * This implementation does nothing.
- * @param name the name of the tag
- */
- protected void endElement(String name) { }
-
- /**
- * Called when an error has been encountered.
- * @param file the file being read
- * @param lineNumber the line number of line containing the error
- * @param message a description of the error
- */
- protected void error(Path file, int lineNumber, String message) {
- out.println(file + ":" + lineNumber + ": " + message);
- }
-
- /**
- * Called when an exception has been encountered.
- * @param file the file being read
- * @param lineNumber the line number of the line being read when the exception was found
- * @param t the exception
- */
- protected void error(Path file, int lineNumber, Throwable t) {
- out.println(file + ":" + lineNumber + ": " + t);
- }
-
- private void nextChar() throws IOException {
- ch = in.read();
- if (ch == '\n')
- lineNumber++;
- }
-
- /**
- * Read the start or end of an HTML tag, or an HTML comment
- * {@literal <identifier attrs> } or {@literal </identifier> }
- * @throws java.io.IOException if there is a problem reading the file
- */
- private void html() throws IOException {
- nextChar();
- if (isIdentifierStart((char) ch)) {
- String name = readIdentifier().toLowerCase(Locale.US);
- Map<String,String> attrs = htmlAttrs();
- if (attrs != null) {
- boolean selfClosing = false;
- if (ch == '/') {
- nextChar();
- selfClosing = true;
- }
- if (ch == '>') {
- nextChar();
- startElement(name, attrs, selfClosing);
- if (name.equals("script")) {
- inScript = true;
- }
- return;
- }
- }
- } else if (ch == '/') {
- nextChar();
- if (isIdentifierStart((char) ch)) {
- String name = readIdentifier().toLowerCase(Locale.US);
- skipWhitespace();
- if (ch == '>') {
- nextChar();
- endElement(name);
- if (name.equals("script")) {
- inScript = false;
- }
- return;
- }
- }
- } else if (ch == '!') {
- nextChar();
- if (ch == '-') {
- nextChar();
- if (ch == '-') {
- nextChar();
- while (ch != -1) {
- int dash = 0;
- while (ch == '-') {
- dash++;
- nextChar();
- }
- // Strictly speaking, a comment should not contain "--"
- // so dash > 2 is an error, dash == 2 implies ch == '>'
- // See http://www.w3.org/TR/html-markup/syntax.html#syntax-comments
- // for more details.
- if (dash >= 2 && ch == '>') {
- nextChar();
- return;
- }
-
- nextChar();
- }
- }
- } else if (ch == '[') {
- nextChar();
- if (ch == 'C') {
- nextChar();
- if (ch == 'D') {
- nextChar();
- if (ch == 'A') {
- nextChar();
- if (ch == 'T') {
- nextChar();
- if (ch == 'A') {
- nextChar();
- if (ch == '[') {
- while (true) {
- nextChar();
- if (ch == ']') {
- nextChar();
- if (ch == ']') {
- nextChar();
- if (ch == '>') {
- nextChar();
- return;
- }
- }
- }
- }
-
- }
- }
- }
- }
- }
- }
- } else {
- StringBuilder sb = new StringBuilder();
- while (ch != -1 && ch != '>') {
- sb.append((char) ch);
- nextChar();
- }
- Pattern p = Pattern.compile("(?is)doctype\\s+html\\s?.*");
- String s = sb.toString();
- if (p.matcher(s).matches()) {
- docType(s);
- return;
- }
- }
- } else if (ch == '?') {
- nextChar();
- if (ch == 'x') {
- nextChar();
- if (ch == 'm') {
- nextChar();
- if (ch == 'l') {
- Map<String,String> attrs = htmlAttrs();
- if (ch == '?') {
- nextChar();
- if (ch == '>') {
- nextChar();
- xml = true;
- return;
- }
- }
- }
- }
-
- }
- }
-
- if (!inScript) {
- error(file, lineNumber, "bad html");
- }
- }
-
- /**
- * Read a series of HTML attributes, terminated by {@literal > }.
- * Each attribute is of the form {@literal identifier[=value] }.
- * "value" may be unquoted, single-quoted, or double-quoted.
- */
- private Map<String,String> htmlAttrs() throws IOException {
- Map<String, String> map = new LinkedHashMap<>();
- skipWhitespace();
-
- loop:
- while (isIdentifierStart((char) ch)) {
- String name = readAttributeName().toLowerCase(Locale.US);
- skipWhitespace();
- String value = null;
- if (ch == '=') {
- nextChar();
- skipWhitespace();
- if (ch == '\'' || ch == '"') {
- char quote = (char) ch;
- nextChar();
- StringBuilder sb = new StringBuilder();
- while (ch != -1 && ch != quote) {
- sb.append((char) ch);
- nextChar();
- }
- value = sb.toString() // hack to replace common entities
- .replace("<", "<")
- .replace(">", ">")
- .replace("&", "&");
- nextChar();
- } else {
- StringBuilder sb = new StringBuilder();
- while (ch != -1 && !isUnquotedAttrValueTerminator((char) ch)) {
- sb.append((char) ch);
- nextChar();
- }
- value = sb.toString();
- }
- skipWhitespace();
- }
- map.put(name, value);
- }
-
- return map;
- }
-
- private boolean isIdentifierStart(char ch) {
- return Character.isUnicodeIdentifierStart(ch);
- }
-
- private String readIdentifier() throws IOException {
- StringBuilder sb = new StringBuilder();
- sb.append((char) ch);
- nextChar();
- while (ch != -1 && Character.isUnicodeIdentifierPart(ch)) {
- sb.append((char) ch);
- nextChar();
- }
- return sb.toString();
- }
-
- private String readAttributeName() throws IOException {
- StringBuilder sb = new StringBuilder();
- sb.append((char) ch);
- nextChar();
- while (ch != -1 && Character.isUnicodeIdentifierPart(ch)
- || ch == '-'
- || xml && ch == ':') {
- sb.append((char) ch);
- nextChar();
- }
- return sb.toString();
- }
-
- private boolean isWhitespace(char ch) {
- return Character.isWhitespace(ch);
- }
-
- private void skipWhitespace() throws IOException {
- while (isWhitespace((char) ch)) {
- nextChar();
- }
- }
-
- private boolean isUnquotedAttrValueTerminator(char ch) {
- switch (ch) {
- case '\f': case '\n': case '\r': case '\t':
- case ' ':
- case '"': case '\'': case '`':
- case '=': case '<': case '>':
- return true;
- default:
- return false;
- }
- }
- }
-
- /**
- * A class to check the links in a set of HTML files.
- */
- static class LinkChecker extends HtmlParser {
- private final Map<Path, IDTable> allFiles;
- private final Map<URI, IDTable> allURIs;
-
- private int files;
- private int links;
- private int badSchemes;
- private int duplicateIds;
- private int missingIds;
-
- private Path currFile;
- private IDTable currTable;
- private boolean html5;
- private boolean xml;
-
- private int errors;
-
- LinkChecker(PrintStream out, Function<Path,String> fileReader) {
- super(out, fileReader);
- allFiles = new HashMap<>();
- allURIs = new HashMap<>();
- }
-
- void checkDirectory(Path dir) throws IOException {
- checkFiles(List.of(dir), false, Collections.emptySet());
- }
-
- void checkFiles(List<Path> files, boolean skipSubdirs, Set<Path> excludeFiles) throws IOException {
- for (Path file : files) {
- Files.walkFileTree(file, new SimpleFileVisitor<Path>() {
- int depth = 0;
-
- @Override
- public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
- if ((skipSubdirs && depth > 0) || excludeFiles.contains(dir)) {
- return FileVisitResult.SKIP_SUBTREE;
- }
- depth++;
- return FileVisitResult.CONTINUE;
- }
-
- @Override
- public FileVisitResult visitFile(Path p, BasicFileAttributes attrs) {
- if (excludeFiles.contains(p)) {
- return FileVisitResult.CONTINUE;
- }
-
- if (Files.isRegularFile(p) && p.getFileName().toString().endsWith(".html")) {
- checkFile(p);
- }
- return FileVisitResult.CONTINUE;
- }
-
- @Override
- public FileVisitResult postVisitDirectory(Path dir, IOException e) throws IOException {
- depth--;
- return super.postVisitDirectory(dir, e);
- }
- });
- }
- }
-
- void checkFile(Path file) {
- try {
- read(file);
- } catch (IOException e) {
- error(file, 0, e);
- }
- }
-
- int getErrorCount() {
- return errors;
- }
-
- public void report() {
- List<Path> missingFiles = getMissingFiles();
- if (!missingFiles.isEmpty()) {
- report("Missing files: (" + missingFiles.size() + ")");
- missingFiles.stream()
- .sorted()
- .forEach(this::reportMissingFile);
-
- }
-
- if (!allURIs.isEmpty()) {
- report(false, "External URLs:");
- allURIs.keySet().stream()
- .sorted(new URIComparator())
- .forEach(uri -> report(false, " %s", uri.toString()));
- }
-
- int anchors = 0;
- for (IDTable t : allFiles.values()) {
- anchors += t.map.values().stream()
- .filter(e -> !e.getReferences().isEmpty())
- .count();
- }
- for (IDTable t : allURIs.values()) {
- anchors += t.map.values().stream()
- .filter(e -> !e.references.isEmpty())
- .count();
- }
-
- report(false, "Checked " + files + " files.");
- report(false, "Found " + links + " references to " + anchors + " anchors "
- + "in " + allFiles.size() + " files and " + allURIs.size() + " other URIs.");
- report(!missingFiles.isEmpty(), "%6d missing files", missingFiles.size());
- report(duplicateIds > 0, "%6d duplicate ids", duplicateIds);
- report(missingIds > 0, "%6d missing ids", missingIds);
-
- Map<String, Integer> schemeCounts = new TreeMap<>();
- Map<String, Integer> hostCounts = new TreeMap<>(new HostComparator());
- for (URI uri : allURIs.keySet()) {
- String scheme = uri.getScheme();
- if (scheme != null) {
- schemeCounts.put(scheme, schemeCounts.computeIfAbsent(scheme, s -> 0) + 1);
- }
- String host = uri.getHost();
- if (host != null) {
- hostCounts.put(host, hostCounts.computeIfAbsent(host, h -> 0) + 1);
- }
- }
-
- if (schemeCounts.size() > 0) {
- report(false, "Schemes");
- schemeCounts.forEach((s, n) -> report(!isSchemeOK(s), "%6d %s", n, s));
- }
-
- if (hostCounts.size() > 0) {
- report(false, "Hosts");
- hostCounts.forEach((h, n) -> report(false, "%6d %s", n, h));
- }
- }
-
- private void report(String message, Object... args) {
- out.println(String.format(message, args));
- }
-
- private void report(boolean highlight, String message, Object... args) {
- out.print(highlight ? "* " : " ");
- out.println(String.format(message, args));
- }
-
- private void reportMissingFile(Path file) {
- report("%s", relativePath(file));
- IDTable table = allFiles.get(file);
- Set<Path> refs = new TreeSet<>();
- for (ID id : table.map.values()) {
- if (id.references != null) {
- for (Position p : id.references) {
- refs.add(p.path);
- }
- }
- }
- int n = 0;
- int MAX_REFS = 10;
- for (Path ref : refs) {
- report(" in " + relativePath(ref));
- if (++n == MAX_REFS) {
- report(" ... and %d more", refs.size() - n);
- break;
- }
- }
- }
-
- @Override
- public void startFile(Path path) {
- currFile = path.toAbsolutePath().normalize();
- currTable = allFiles.computeIfAbsent(currFile, p -> new IDTable(p));
- html5 = false;
- files++;
- }
-
- @Override
- public void endFile() {
- currTable.check();
- }
-
- @Override
- public void docType(String doctype) {
- html5 = doctype.matches("(?i)<\\?doctype\\s+html>");
- }
-
- @Override @SuppressWarnings("fallthrough")
- public void startElement(String name, Map<String, String> attrs, boolean selfClosing) {
- int line = getLineNumber();
- switch (name) {
- case "a":
- String nameAttr = html5 ? null : attrs.get("name");
- if (nameAttr != null) {
- foundAnchor(line, nameAttr);
- }
- // fallthrough
- case "link":
- String href = attrs.get("href");
- if (href != null) {
- foundReference(line, href);
- }
- break;
- }
-
- String idAttr = attrs.get("id");
- if (idAttr != null) {
- foundAnchor(line, idAttr);
- }
- }
-
- @Override
- public void endElement(String name) { }
-
- private void foundAnchor(int line, String name) {
- currTable.addID(line, name);
- }
-
- private void foundReference(int line, String ref) {
- links++;
- try {
- URI uri = new URI(ref);
- if (uri.isAbsolute()) {
- foundReference(line, uri);
- } else {
- Path p;
- String uriPath = uri.getPath();
- if (uriPath == null || uriPath.isEmpty()) {
- p = currFile;
- } else {
- p = currFile.getParent().resolve(uriPath).normalize();
- }
- foundReference(line, p, uri.getFragment());
- }
- } catch (URISyntaxException e) {
- error(currFile, line, "invalid URI: " + e);
- }
- }
-
- private void foundReference(int line, Path p, String fragment) {
- IDTable t = allFiles.computeIfAbsent(p, key -> new IDTable(key));
- t.addReference(fragment, currFile, line);
- }
-
- private void foundReference(int line, URI uri) {
- if (!isSchemeOK(uri.getScheme())) {
- error(currFile, line, "bad scheme in URI");
- badSchemes++;
- }
-
- String fragment = uri.getFragment();
- try {
- URI noFrag = new URI(uri.toString().replaceAll("#\\Q" + fragment + "\\E$", ""));
- IDTable t = allURIs.computeIfAbsent(noFrag, key -> new IDTable(key.toString()));
- t.addReference(fragment, currFile, line);
- } catch (URISyntaxException e) {
- throw new Error(e);
- }
- }
-
- private boolean isSchemeOK(String uriScheme) {
- if (uriScheme == null) {
- return true;
- }
-
- switch (uriScheme) {
- case "file":
- case "ftp":
- case "http":
- case "https":
- case "javascript":
- case "mailto":
- return true;
-
- default:
- return false;
- }
- }
-
- private List<Path> getMissingFiles() {
- return allFiles.entrySet().stream()
- .filter(e -> !Files.exists(e.getKey()))
- .map(e -> e.getKey())
- .collect(Collectors.toList());
- }
-
- @Override
- protected void error(Path file, int lineNumber, String message) {
- super.error(relativePath(file), lineNumber, message);
- errors++;
- }
-
- @Override
- protected void error(Path file, int lineNumber, Throwable t) {
- super.error(relativePath(file), lineNumber, t);
- errors++;
- }
-
- private Path relativePath(Path path) {
- return path.startsWith(currDir) ? currDir.relativize(path) : path;
- }
-
- /**
- * A position in a file, as identified by a file name and line number.
- */
- static class Position implements Comparable<Position> {
- Path path;
- int line;
-
- Position(Path path, int line) {
- this.path = path;
- this.line = line;
- }
-
- @Override
- public int compareTo(Position o) {
- int v = path.compareTo(o.path);
- return v != 0 ? v : Integer.compare(line, o.line);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- } else if (obj == null || getClass() != obj.getClass()) {
- return false;
- } else {
- final Position other = (Position) obj;
- return Objects.equals(this.path, other.path)
- && this.line == other.line;
- }
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(path) * 37 + line;
- }
- }
-
- /**
- * Infor for an ID within an HTML file, and a set of positions that reference it.
- */
- static class ID {
- boolean declared;
- Set<Position> references;
-
- Set<Position> getReferences() {
- return (references) == null ? Collections.emptySet() : references;
- }
- }
-
- /**
- * A table for the set of IDs in an HTML file.
- */
- class IDTable {
- private String name;
- private boolean checked;
- private final Map<String, ID> map = new HashMap<>();
-
- IDTable(Path p) {
- this(relativePath(p).toString());
- }
-
- IDTable(String name) {
- this.name = name;
- }
-
- void addID(int line, String name) {
- if (checked) {
- throw new IllegalStateException("Adding ID after file has been read");
- }
- Objects.requireNonNull(name);
- ID id = map.computeIfAbsent(name, x -> new ID());
- if (id.declared) {
- error(currFile, line, "name already declared: " + name);
- duplicateIds++;
- } else {
- id.declared = true;
- }
- }
-
- void addReference(String name, Path from, int line) {
- if (checked) {
- if (name != null) {
- ID id = map.get(name);
- if (id == null || !id.declared) {
- error(from, line, "id not found: " + this.name + "#" + name);
- }
- }
- } else {
- ID id = map.computeIfAbsent(name, x -> new ID());
- if (id.references == null) {
- id.references = new TreeSet<>();
- }
- id.references.add(new Position(from, line));
- }
- }
-
- void check() {
- map.forEach((name, id) -> {
- if (name != null && !id.declared) {
- //log.error(currFile, 0, "id not declared: " + name);
- for (Position ref : id.references) {
- error(ref.path, ref.line, "id not found: " + this.name + "#" + name);
- }
- missingIds++;
- }
- });
- checked = true;
- }
- }
-
- static class URIComparator implements Comparator<URI> {
- final HostComparator hostComparator = new HostComparator();
-
- @Override
- public int compare(URI o1, URI o2) {
- if (o1.isOpaque() || o2.isOpaque()) {
- return o1.compareTo(o2);
- }
- String h1 = o1.getHost();
- String h2 = o2.getHost();
- String s1 = o1.getScheme();
- String s2 = o2.getScheme();
- if (h1 == null || h1.isEmpty() || s1 == null || s1.isEmpty()
- || h2 == null || h2.isEmpty() || s2 == null || s2.isEmpty()) {
- return o1.compareTo(o2);
- }
- int v = hostComparator.compare(h1, h2);
- if (v != 0) {
- return v;
- }
- v = s1.compareTo(s2);
- if (v != 0) {
- return v;
- }
- return o1.compareTo(o2);
- }
- }
-
- static class HostComparator implements Comparator<String> {
- @Override
- public int compare(String h1, String h2) {
- List<String> l1 = new ArrayList<>(Arrays.asList(h1.split("\\.")));
- Collections.reverse(l1);
- String r1 = String.join(".", l1);
- List<String> l2 = new ArrayList<>(Arrays.asList(h2.split("\\.")));
- Collections.reverse(l2);
- String r2 = String.join(".", l2);
- return r1.compareTo(r2);
- }
- }
-
- }
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/lib/javadoc/tester/LinkChecker.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,424 @@
+/*
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. 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.
+ */
+
+package javadoc.tester;
+
+import java.io.PrintStream;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+/**
+ * A class to check the links in a set of HTML files.
+ */
+public class LinkChecker extends HtmlChecker {
+
+ private final Map<Path, IDTable> allFiles;
+ private final Map<URI, IDTable> allURIs;
+
+ private int links;
+ private int duplicateIds;
+ private int missingIds;
+
+ private IDTable currTable;
+ private boolean html5;
+
+ LinkChecker(PrintStream out, Function<Path,String> fileReader) {
+ super(out, fileReader);
+ allFiles = new HashMap<>();
+ allURIs = new HashMap<>();
+ }
+
+ @Override
+ public void report() {
+ List<Path> missingFiles = getMissingFiles();
+ if (!missingFiles.isEmpty()) {
+ report("Missing files: (" + missingFiles.size() + ")");
+ missingFiles.stream()
+ .sorted()
+ .forEach(this::reportMissingFile);
+ errors += missingFiles.size();
+ }
+
+ if (!allURIs.isEmpty()) {
+ report(false, "External URLs:");
+ allURIs.keySet().stream()
+ .sorted(new URIComparator())
+ .forEach(uri -> report(false, " %s", uri.toString()));
+ }
+
+ int anchors = 0;
+ for (IDTable t : allFiles.values()) {
+ anchors += t.map.values().stream()
+ .filter(e -> !e.getReferences().isEmpty())
+ .count();
+ }
+ for (IDTable t : allURIs.values()) {
+ anchors += t.map.values().stream()
+ .filter(e -> !e.references.isEmpty())
+ .count();
+ }
+
+ report(false, "Checked " + files + " files.");
+ report(false, "Found " + links + " references to " + anchors + " anchors "
+ + "in " + allFiles.size() + " files and " + allURIs.size() + " other URIs.");
+ report(!missingFiles.isEmpty(), "%6d missing files", missingFiles.size());
+ report(duplicateIds > 0, "%6d duplicate ids", duplicateIds);
+ report(missingIds > 0, "%6d missing ids", missingIds);
+
+ Map<String, Integer> schemeCounts = new TreeMap<>();
+ Map<String, Integer> hostCounts = new TreeMap<>(new HostComparator());
+ for (URI uri : allURIs.keySet()) {
+ String scheme = uri.getScheme();
+ if (scheme != null) {
+ schemeCounts.put(scheme, schemeCounts.computeIfAbsent(scheme, s -> 0) + 1);
+ }
+ String host = uri.getHost();
+ if (host != null) {
+ hostCounts.put(host, hostCounts.computeIfAbsent(host, h -> 0) + 1);
+ }
+ }
+
+ if (schemeCounts.size() > 0) {
+ report(false, "Schemes");
+ schemeCounts.forEach((s, n) -> report(!isSchemeOK(s), "%6d %s", n, s));
+ }
+
+ if (hostCounts.size() > 0) {
+ report(false, "Hosts");
+ hostCounts.forEach((h, n) -> report(false, "%6d %s", n, h));
+ }
+ }
+
+ private void report(String message, Object... args) {
+ out.println(String.format(message, args));
+ }
+
+ private void report(boolean highlight, String message, Object... args) {
+ out.print(highlight ? "* " : " ");
+ out.println(String.format(message, args));
+ }
+
+ private void reportMissingFile(Path file) {
+ report("%s", relativePath(file));
+ IDTable table = allFiles.get(file);
+ Set<Path> refs = new TreeSet<>();
+ for (ID id : table.map.values()) {
+ if (id.references != null) {
+ for (Position p : id.references) {
+ refs.add(p.path);
+ }
+ }
+ }
+ int n = 0;
+ int MAX_REFS = 10;
+ for (Path ref : refs) {
+ report(" in " + relativePath(ref));
+ if (++n == MAX_REFS) {
+ report(" ... and %d more", refs.size() - n);
+ break;
+ }
+ }
+ }
+
+ @Override
+ public void startFile(Path path) {
+ currTable = allFiles.computeIfAbsent(currFile, p -> new IDTable(p));
+ html5 = false;
+ }
+
+ @Override
+ public void endFile() {
+ currTable.check();
+ }
+
+ @Override
+ public void docType(String doctype) {
+ html5 = doctype.matches("(?i)<\\?doctype\\s+html>");
+ }
+
+ @Override @SuppressWarnings("fallthrough")
+ public void startElement(String name, Map<String, String> attrs, boolean selfClosing) {
+ int line = getLineNumber();
+ switch (name) {
+ case "a":
+ String nameAttr = html5 ? null : attrs.get("name");
+ if (nameAttr != null) {
+ foundAnchor(line, nameAttr);
+ }
+ // fallthrough
+ case "link":
+ String href = attrs.get("href");
+ if (href != null) {
+ foundReference(line, href);
+ }
+ break;
+ }
+
+ String idAttr = attrs.get("id");
+ if (idAttr != null) {
+ foundAnchor(line, idAttr);
+ }
+ }
+
+ @Override
+ public void endElement(String name) { }
+
+ private void foundAnchor(int line, String name) {
+ currTable.addID(line, name);
+ }
+
+ private void foundReference(int line, String ref) {
+ links++;
+ try {
+ URI uri = new URI(ref);
+ if (uri.isAbsolute()) {
+ foundReference(line, uri);
+ } else {
+ Path p;
+ String uriPath = uri.getPath();
+ if (uriPath == null || uriPath.isEmpty()) {
+ p = currFile;
+ } else {
+ p = currFile.getParent().resolve(uriPath).normalize();
+ }
+ foundReference(line, p, uri.getFragment());
+ }
+ } catch (URISyntaxException e) {
+ error(currFile, line, "invalid URI: " + e);
+ }
+ }
+
+ private void foundReference(int line, Path p, String fragment) {
+ IDTable t = allFiles.computeIfAbsent(p, key -> new IDTable(key));
+ t.addReference(fragment, currFile, line);
+ }
+
+ private void foundReference(int line, URI uri) {
+ if (!isSchemeOK(uri.getScheme())) {
+ error(currFile, line, "bad scheme in URI");
+ }
+
+ String fragment = uri.getFragment();
+ try {
+ URI noFrag = new URI(uri.toString().replaceAll("#\\Q" + fragment + "\\E$", ""));
+ IDTable t = allURIs.computeIfAbsent(noFrag, key -> new IDTable(key.toString()));
+ t.addReference(fragment, currFile, line);
+ } catch (URISyntaxException e) {
+ throw new Error(e);
+ }
+ }
+
+ private boolean isSchemeOK(String uriScheme) {
+ if (uriScheme == null) {
+ return true;
+ }
+
+ switch (uriScheme) {
+ case "file":
+ case "ftp":
+ case "http":
+ case "https":
+ case "javascript":
+ case "mailto":
+ return true;
+
+ default:
+ return false;
+ }
+ }
+
+ private List<Path> getMissingFiles() {
+ return allFiles.entrySet().stream()
+ .filter(e -> !Files.exists(e.getKey()))
+ .map(e -> e.getKey())
+ .collect(Collectors.toList());
+ }
+
+ /**
+ * A position in a file, as identified by a file name and line number.
+ */
+ static class Position implements Comparable<Position> {
+ Path path;
+ int line;
+
+ Position(Path path, int line) {
+ this.path = path;
+ this.line = line;
+ }
+
+ @Override
+ public int compareTo(Position o) {
+ int v = path.compareTo(o.path);
+ return v != 0 ? v : Integer.compare(line, o.line);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ } else if (obj == null || getClass() != obj.getClass()) {
+ return false;
+ } else {
+ final Position other = (Position) obj;
+ return Objects.equals(this.path, other.path)
+ && this.line == other.line;
+ }
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(path) * 37 + line;
+ }
+ }
+
+ /**
+ * Infor for an ID within an HTML file, and a set of positions that reference it.
+ */
+ static class ID {
+ boolean declared;
+ Set<Position> references;
+
+ Set<Position> getReferences() {
+ return (references) == null ? Collections.emptySet() : references;
+ }
+ }
+
+ /**
+ * A table for the set of IDs in an HTML file.
+ */
+ class IDTable {
+ private String name;
+ private boolean checked;
+ private final Map<String, ID> map = new HashMap<>();
+
+ IDTable(Path p) {
+ this(relativePath(p).toString());
+ }
+
+ IDTable(String name) {
+ this.name = name;
+ }
+
+ void addID(int line, String name) {
+ if (checked) {
+ throw new IllegalStateException("Adding ID after file has been read");
+ }
+ Objects.requireNonNull(name);
+ ID id = map.computeIfAbsent(name, x -> new ID());
+ if (id.declared) {
+ error(currFile, line, "name already declared: " + name);
+ duplicateIds++;
+ } else {
+ id.declared = true;
+ }
+ }
+
+ void addReference(String name, Path from, int line) {
+ if (checked) {
+ if (name != null) {
+ ID id = map.get(name);
+ if (id == null || !id.declared) {
+ error(from, line, "id not found: " + this.name + "#" + name);
+ }
+ }
+ } else {
+ ID id = map.computeIfAbsent(name, x -> new ID());
+ if (id.references == null) {
+ id.references = new TreeSet<>();
+ }
+ id.references.add(new Position(from, line));
+ }
+ }
+
+ void check() {
+ map.forEach((name, id) -> {
+ if (name != null && !id.declared) {
+ //log.error(currFile, 0, "id not declared: " + name);
+ for (Position ref : id.references) {
+ error(ref.path, ref.line, "id not found: " + this.name + "#" + name);
+ }
+ missingIds++;
+ }
+ });
+ checked = true;
+ }
+ }
+
+ static class URIComparator implements Comparator<URI> {
+ final HostComparator hostComparator = new HostComparator();
+
+ @Override
+ public int compare(URI o1, URI o2) {
+ if (o1.isOpaque() || o2.isOpaque()) {
+ return o1.compareTo(o2);
+ }
+ String h1 = o1.getHost();
+ String h2 = o2.getHost();
+ String s1 = o1.getScheme();
+ String s2 = o2.getScheme();
+ if (h1 == null || h1.isEmpty() || s1 == null || s1.isEmpty()
+ || h2 == null || h2.isEmpty() || s2 == null || s2.isEmpty()) {
+ return o1.compareTo(o2);
+ }
+ int v = hostComparator.compare(h1, h2);
+ if (v != 0) {
+ return v;
+ }
+ v = s1.compareTo(s2);
+ if (v != 0) {
+ return v;
+ }
+ return o1.compareTo(o2);
+ }
+ }
+
+ static class HostComparator implements Comparator<String> {
+ @Override
+ public int compare(String h1, String h2) {
+ List<String> l1 = new ArrayList<>(Arrays.asList(h1.split("\\.")));
+ Collections.reverse(l1);
+ String r1 = String.join(".", l1);
+ List<String> l2 = new ArrayList<>(Arrays.asList(h2.split("\\.")));
+ Collections.reverse(l2);
+ String r2 = String.join(".", l2);
+ return r1.compareTo(r2);
+ }
+ }
+
+}
--- a/test/langtools/tools/javac/Paths/Util.sh Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/tools/javac/Paths/Util.sh Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2019, Oracle and/or its affiliates. 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
@@ -24,10 +24,10 @@
# Utilities for shell tests
: ${TESTSRC=.} ${TESTCLASSES=.}
- java="${TESTJAVA+${TESTJAVA}/bin/}java"
- javac="${TESTJAVA+${TESTJAVA}/bin/}javac"
- jar="${TESTJAVA+${TESTJAVA}/bin/}jar"
-jimage="${TESTJAVA+${TESTJAVA}/bin/}jimage"
+ java="${TESTJAVA+${TESTJAVA}/bin/}java${EXE_SUFFIX}"
+ javac="${TESTJAVA+${TESTJAVA}/bin/}javac${EXE_SUFFIX}"
+ jar="${TESTJAVA+${TESTJAVA}/bin/}jar${EXE_SUFFIX}"
+jimage="${TESTJAVA+${TESTJAVA}/bin/}jimage${EXE_SUFFIX}"
case `uname -s` in
Windows*|CYGWIN*)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/T8215482/NPETypeVarWithOuterBoundTest.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+
+/*
+ * @test
+ * @bug 8215482
+ * @summary check for cycles in type variables can provoke NPE
+ * @compile NPETypeVarWithOuterBoundTest.java
+ */
+
+class NPETypeVarWithOuterBoundTest <A extends NPETypeVarWithOuterBoundTest.Inner, B> {
+ class Inner<F extends B> {}
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/generics/ClassBoundCheckingOverflow.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,12 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8214345
+ * @summary infinite recursion while checking super class
+ *
+ * @compile/fail/ref=ClassBoundCheckingOverflow.out -XDrawDiagnostics ClassBoundCheckingOverflow.java
+ */
+
+public class ClassBoundCheckingOverflow {
+ abstract class InfiniteLoop1<E extends InfiniteLoop1<E>> extends E {}
+ abstract class InfiniteLoop2<E extends InfiniteLoop2<E>> implements E {}
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/generics/ClassBoundCheckingOverflow.out Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,3 @@
+ClassBoundCheckingOverflow.java:10:70: compiler.err.type.found.req: (compiler.misc.type.parameter: E), (compiler.misc.type.req.class)
+ClassBoundCheckingOverflow.java:11:73: compiler.err.type.found.req: (compiler.misc.type.parameter: E), (compiler.misc.type.req.class)
+2 errors
--- a/test/langtools/tools/javac/processing/model/element/TestModuleElementNames.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/langtools/tools/javac/processing/model/element/TestModuleElementNames.java Tue Jan 22 09:43:38 2019 -0500
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 8163989
+ * @bug 8163989 8208371
* @summary Test basic workings of naming methods on ModuleElement
* @library /tools/javac/lib
* @modules java.compiler
--- a/test/lib/jdk/test/lib/Platform.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/lib/jdk/test/lib/Platform.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. 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
@@ -325,6 +325,21 @@
}
}
+ /*
+ * Returns name of system variable containing paths to shared native libraries.
+ */
+ public static String sharedLibraryPathVariableName() {
+ if (isWindows()) {
+ return "PATH";
+ } else if (isOSX()) {
+ return "DYLD_LIBRARY_PATH";
+ } else if (isAix()) {
+ return "LIBPATH";
+ } else {
+ return "LD_LIBRARY_PATH";
+ }
+ }
+
public static boolean isDefaultCDSArchiveSupported() {
return (is64bit() &&
isServer() &&
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/lib/jdk/test/lib/SA/SATestUtils.java Tue Jan 22 09:43:38 2019 -0500
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. 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.
+ */
+package jdk.test.lib.SA;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.ArrayList;
+import jdk.test.lib.Asserts;
+import jdk.test.lib.Platform;
+import java.util.concurrent.TimeUnit;
+
+public class SATestUtils {
+
+ public static boolean canAddPrivileges()
+ throws IOException, InterruptedException {
+ List<String> echoList = new ArrayList<String>();
+ echoList.add("sudo");
+ echoList.add("-E");
+ echoList.add("/bin/echo");
+ echoList.add("'Checking for sudo'");
+ ProcessBuilder pb = new ProcessBuilder(echoList);
+ Process echoProcess = pb.start();
+ if (echoProcess.waitFor(60, TimeUnit.SECONDS) == false) {
+ // 'sudo' has been added but we don't have a no-password
+ // entry for the user in the /etc/sudoers list. Could
+ // have timed out waiting for the password. Skip the
+ // test if there is a timeout here.
+ System.out.println("Timed out waiting for the password to be entered.");
+ echoProcess.destroyForcibly();
+ return false;
+ }
+ if (echoProcess.exitValue() == 0) {
+ return true;
+ }
+ java.io.InputStream is = echoProcess.getErrorStream();
+ String err = new String(is.readAllBytes());
+ System.out.println(err);
+ // 'sudo' has been added but we don't have a no-password
+ // entry for the user in the /etc/sudoers list. Check for
+ // the sudo error message and skip the test.
+ if (err.contains("no tty present") ||
+ err.contains("a password is required")) {
+ return false;
+ } else {
+ throw new Error("Unknown Error from 'sudo'");
+ }
+ }
+
+ public static List<String> addPrivileges(List<String> cmdStringList)
+ throws IOException {
+ Asserts.assertTrue(Platform.isOSX());
+
+ System.out.println("Adding 'sudo -E' to the command.");
+ List<String> outStringList = new ArrayList<String>();
+ outStringList.add("sudo");
+ outStringList.add("-E");
+ outStringList.addAll(cmdStringList);
+ return outStringList;
+ }
+}
--- a/test/micro/org/openjdk/bench/vm/lang/LockUnlock.java Tue Jan 22 09:24:58 2019 -0500
+++ b/test/micro/org/openjdk/bench/vm/lang/LockUnlock.java Tue Jan 22 09:43:38 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. 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
@@ -30,6 +30,7 @@
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.Setup;
import org.openjdk.jmh.annotations.State;
+import org.openjdk.jmh.annotations.Threads;
import java.util.concurrent.TimeUnit;
@@ -116,4 +117,16 @@
return fact(n - 1) * n;
}
}
+
+ /**
+ * With two threads lockObject1 will be contended so should be
+ * inflated.
+ */
+ @Threads(2)
+ @Benchmark
+ public void testContendedLock() {
+ synchronized (lockObject1) {
+ dummyInt1++;
+ }
+ }
}
--- a/test/nashorn/script/nosecurity/treeapi/diagnostic.js.EXPECTED Tue Jan 22 09:24:58 2019 -0500
+++ b/test/nashorn/script/nosecurity/treeapi/diagnostic.js.EXPECTED Tue Jan 22 09:43:38 2019 -0500
@@ -80,7 +80,7 @@
"columnNumber": "15",
"kind": "ERROR",
"position": "15",
- "message": "test.js:1:15 Unclosed group near index 9\n([a-z])+(\n ^\n /([a-z])+(/;\n ^",
+ "message": "test.js:1:15 Unclosed group near index 9\n([a-z])+(\n /([a-z])+(/;\n ^",
"lineNumber": "1"
},
{