diff --git a/hotspot/src/share/vm/classfile/classLoader.cpp b/hotspot/src/share/vm/classfile/classLoader.cpp index e0b7c84e45b..0b036181d31 100644 --- a/hotspot/src/share/vm/classfile/classLoader.cpp +++ b/hotspot/src/share/vm/classfile/classLoader.cpp @@ -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 @@ u1* ClassPathZipEntry::open_versioned_entry(const char* name, jint* filesize, TR 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); diff --git a/hotspot/src/share/vm/gc/g1/heapRegionRemSet.cpp b/hotspot/src/share/vm/gc/g1/heapRegionRemSet.cpp index 7967d6cf001..6015b16c3e2 100644 --- a/hotspot/src/share/vm/gc/g1/heapRegionRemSet.cpp +++ b/hotspot/src/share/vm/gc/g1/heapRegionRemSet.cpp @@ -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 @@ void HeapRegionRemSet::setup_remset_size() { 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 @@ bool HeapRegionRemSetIterator::has_next(size_t& card_index) { // 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; } diff --git a/hotspot/src/share/vm/gc/g1/heapRegionRemSet.hpp b/hotspot/src/share/vm/gc/g1/heapRegionRemSet.hpp index 7f740b692c8..97c7e0643ea 100644 --- a/hotspot/src/share/vm/gc/g1/heapRegionRemSet.hpp +++ b/hotspot/src/share/vm/gc/g1/heapRegionRemSet.hpp @@ -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 @@ public: // 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(); diff --git a/hotspot/src/share/vm/oops/methodData.hpp b/hotspot/src/share/vm/oops/methodData.hpp index a85b64e8801..627fba527e2 100644 --- a/hotspot/src/share/vm/oops/methodData.hpp +++ b/hotspot/src/share/vm/oops/methodData.hpp @@ -2183,7 +2183,7 @@ private: 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.