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)

test/hotspot/jtreg/serviceability/sa/UniqueVtableTest.java line 84:

> 82:         MethodHandles.Lookup classLookup = 
> MethodHandles.privateLookupIn(BasicTypeDataBase.class, lookup);
> 83:         vtblForType = classLookup.findVirtual(BasicTypeDataBase.class, 
> "vtblForType",
> 84:                  MethodType.methodType(Address.class, Type.class));

I think it would be ok to just make vtblForType() public so you won't need to 
use reflection. The public SA APIs are not a spec. We are free to do things in 
the future that are not backwards compatible.

-------------

PR: https://git.openjdk.org/jdk/pull/12820

Reply via email to