On Wed, 19 Nov 2025 02:29:31 GMT, Chris Plummer <[email protected]> wrote:

> I reproduced the SA issues locally. Not surprisingly almost every SA test 
> failed (I'm not sure why only 3 were listed above). They seemed to all fail 
> trying to get a vtable for a hotspot type. The tests that didn't failed were 
> doing mundane things like testing attaching, hotspot flags, and clhsdb 
> history, but not doing anything with hotspot objects, or at least not with 
> hotspot metadata.
> 
> I was able to confirm the problem is with the Metadata vtable missing. I 
> fixed it by allocating a Metadata instance and assigning it to a global. 
> However, in order to get this to compile I had make Metadata no longer be 
> abstract. All tests passed after I did this. I'm not sure how viable a 
> solution this is. The hotspot team will probably object to the Metadata 
> changes. Maybe there is some other way to cause a reference to the Metadata 
> vtable so it is not dead stripped.

There seem to be attributes for this kind of use case in clang, e.g. retain 
https://reviews.llvm.org/D97447
https://clang.llvm.org/docs/AttributeReference.html#retain
Should we add this to 'class Metadata'  ?
If we can do it with attributes or something similar (and without changing lots 
of code locations) it sounds better to me than adjusting the coding.
'Pseudo dead' stuff that is used from external tools (so it is not really 
'dead' in practise) should be somehow marked to assist the tools.

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

PR Comment: https://git.openjdk.org/jdk/pull/28319#issuecomment-3553303689

Reply via email to