On Thu, 2 Mar 2023 02:41:12 GMT, Alex Menkov <amen...@openjdk.org> wrote:
> Unique vtables for classes in vmStruct data is a requirement for SA to > correctly detect hotspot classes. > The fix adds test to verify this requirement. > > The test fails as expected on Windows if VM is built without RTTI (see > JDK-8302817) Changes requested by cjplummer (Reviewer). test/hotspot/jtreg/serviceability/sa/UniqueVtableTest.java line 94: > 92: > 93: private void runTest() throws Throwable { > 94: Map<Address, List<Type>> types = new HashMap<>(); I think a better name than "types" is needed. Something like "vtableAddressToTypeMap". test/hotspot/jtreg/serviceability/sa/UniqueVtableTest.java line 96: > 94: Map<Address, List<Type>> types = new HashMap<>(); > 95: Iterator<Type> it = agent.getTypeDataBase().getTypes(); > 96: int dupFound = 0; Should be "dupsFound" test/hotspot/jtreg/serviceability/sa/UniqueVtableTest.java line 112: > 110: } > 111: > 112: if (vtable == null && t.getSuperclass() != null) { Why only log if there is no superclass? test/hotspot/jtreg/serviceability/sa/UniqueVtableTest.java line 118: > 116: + ", JPrimitive: " + t.isJavaPrimitiveType() > 117: + ", Oop: " + t.isOopType() > 118: + ", Ptr: " + t.isPointerType()); It appears that these always print "false". Are they worth having? ------------- PR: https://git.openjdk.org/jdk/pull/12820