[RFR] [8u] JDK-8055283: Expand ResourceHashtable with C_HEAP allocation, removal and some unit tests

Andrew John Hughes gnu.andrew at redhat.com
Fri Sep 27 16:53:17 UTC 2019


Webrev: https://cr.openjdk.java.net/~andrew/openjdk8/8055283/webrev.01/
Bug: https://bugs.openjdk.java.net/browse/JDK-8055283

This is largely a clean backport, bar some context differences. It fixes
a typo in the hash function, as well as adding tests for ResourceHashtable.

I also included the change of return value for ResourceHashtable::put
from void to bool from JDK-8035946 for the benefit of the unit tests. I
didn't bring in the main body of that fix because it fixes issues with
changes to dependency checks introduced by JDK-8035946, JDK-8034839 &
JDK-7194669 [0] [1] [2], none of which are present in 8u. Given the
number of revisions of those fixes, it seems better to steer clear of
backporting these.

New tests run fine:

$ /mnt/builder/8u-dev/images/j2sdk-image/bin/java
-XX:+ExecuteInternalVMTests -version
Running internal VM tests
Running test: TestOS_test()
Running test: TestReservedSpace_test()
Running test: TestReserveMemorySpecial_test()
Running test: TestVirtualSpace_test()
Running test: TestMetaspaceAux_test()
Running test: TestMetachunk_test()
Running test: TestVirtualSpaceNode_test()
Running test: GlobalDefinitions::test_globals()
Running test: GlobalDefinitions::test_proper_unit()
Running test: GCTimerAllTest::all()
Running test: arrayOopDesc::test_max_array_length()
Running test: CollectedHeap::test_is_in()
Running test: QuickSort::test_quick_sort()
Running test: GuardedMemory::test_guarded_memory()
Running test: AltHashing::test_alt_hash()
Running test: test_loggc_filename()
Running test: test_snprintf()
Running test: TestNewSize_test()
Running test: TestKlass_test()
Running test: TestResourcehash_test()
Running test: Test_linked_list()
Running test: TestChunkedList_test()
Running test: ObjectMonitor::sanity_checks()
WARNING: the _header and _owner fields are closer than a cache line
which permits false sharing.
WARNING: ObjectMonitor size is not a multiple of a cache line which
permits false sharing.
INFO: error_cnt=0
INFO: warning_cnt=2
Running test: VMStructs::test()
Running test: TestOldFreeSpaceCalculation_test()
Running test: TestG1BiasedArray_test()
Running test: HeapRegionRemSet::test_prt()
Running test: SpaceManager_test_adjust_initial_chunk_size()
Running test: ChunkManager_test_list_index()
Running test: TestBufferingOopClosure_test()
Running test: TestCodeCacheRemSet_test()
All internal VM tests passed
openjdk version "1.8.0-internal-debug"
OpenJDK Runtime Environment (build
1.8.0-internal-debug-andre_2019_09_27_17_02-b00)
OpenJDK 64-Bit Server VM (build 25.71-b00-debug, mixed mode)

[1] https://bugs.openjdk.java.net/browse/JDK-8035946
[2] https://bugs.openjdk.java.net/browse/JDK-8034839
[3] https://bugs.openjdk.java.net/browse/JDK-7194669
--
Andrew :)

Senior Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net)
Fingerprint = 5132 579D D154 0ED2 3E04  C5A0 CFDA 0F9B 3596 4222
https://keybase.io/gnu_andrew



More information about the jdk8u-dev mailing list