--- a/hotspot/src/share/vm/classfile/classLoader.cpp Fri Jan 27 09:50:15 2017 +0000
+++ b/hotspot/src/share/vm/classfile/classLoader.cpp Fri Jan 27 18:22:09 2017 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -364,7 +364,12 @@
if (verstr != NULL) {
version = atoi(verstr);
if (version < base_version || version > cur_ver) {
- is_multi_ver = false;
+ // If the specified version is lower than the base version, the base
+ // entry will be used; if the version is higher than the current
+ // jdk version, the highest versioned entry will be used.
+ if (version < base_version) {
+ is_multi_ver = false;
+ }
// print out warning, do not use assertion here since it will continue to look
// for proper version.
warning("JDK%d is not supported in multiple version jars", version);
--- a/hotspot/src/share/vm/gc/g1/heapRegionRemSet.cpp Fri Jan 27 09:50:15 2017 +0000
+++ b/hotspot/src/share/vm/gc/g1/heapRegionRemSet.cpp Fri Jan 27 18:22:09 2017 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -711,29 +711,6 @@
guarantee(G1RSetSparseRegionEntries > 0 && G1RSetRegionEntries > 0 , "Sanity");
}
-#ifndef PRODUCT
-void HeapRegionRemSet::print() {
- HeapRegionRemSetIterator iter(this);
- size_t card_index;
- while (iter.has_next(card_index)) {
- HeapWord* card_start = _bot->address_for_index(card_index);
- tty->print_cr(" Card " PTR_FORMAT, p2i(card_start));
- }
- if (iter.n_yielded() != occupied()) {
- tty->print_cr("Yielded disagrees with occupied:");
- tty->print_cr(" " SIZE_FORMAT_W(6) " yielded (" SIZE_FORMAT_W(6)
- " coarse, " SIZE_FORMAT_W(6) " fine).",
- iter.n_yielded(),
- iter.n_yielded_coarse(), iter.n_yielded_fine());
- tty->print_cr(" " SIZE_FORMAT_W(6) " occ (" SIZE_FORMAT_W(6)
- " coarse, " SIZE_FORMAT_W(6) " fine).",
- occupied(), occ_coarse(), occ_fine());
- }
- guarantee(iter.n_yielded() == occupied(),
- "We should have yielded all the represented cards.");
-}
-#endif
-
void HeapRegionRemSet::cleanup() {
SparsePRT::cleanup_all();
}
@@ -917,10 +894,6 @@
// Otherwise...
break;
}
- assert(ParallelGCThreads > 1 ||
- n_yielded() == _hrrs->occupied(),
- "Should have yielded all the cards in the rem set "
- "(in the non-par case).");
return false;
}
--- a/hotspot/src/share/vm/gc/g1/heapRegionRemSet.hpp Fri Jan 27 09:50:15 2017 +0000
+++ b/hotspot/src/share/vm/gc/g1/heapRegionRemSet.hpp Fri Jan 27 18:22:09 2017 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
* 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,8 +290,6 @@
// consumed by the strong code roots.
size_t strong_code_roots_mem_size();
- void print() PRODUCT_RETURN;
-
// Called during a stop-world phase to perform any deferred cleanups.
static void cleanup();
--- a/hotspot/src/share/vm/oops/methodData.hpp Fri Jan 27 09:50:15 2017 +0000
+++ b/hotspot/src/share/vm/oops/methodData.hpp Fri Jan 27 18:22:09 2017 +0000
@@ -2183,7 +2183,7 @@
uint _nof_overflow_traps; // trap count, excluding _trap_hist
union {
intptr_t _align;
- u1 _array[_trap_hist_limit];
+ u1 _array[JVMCI_ONLY(2 *) _trap_hist_limit];
} _trap_hist;
// Support for interprocedural escape analysis, from Thomas Kotzmann.