RFR: 8338526: Don't store abstract and interface Klasses in class metaspace

Andrew Haley aph at openjdk.org
Wed Oct 9 16:17:12 UTC 2024


On Tue, 3 Sep 2024 15:50:13 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

>>> > I don't think the costs for two address comparisons matter, not with the comparatively few deallocations that happen (few hundreds or few thousand). If deallocate is hot, we are using metaspace wrong.
>>> 
>>> MethodData does a lot of deallocations from metaspace because it's allocated racily. It might be using Metaspace wrong.
>> 
>> I think that should be okay. This should still be an exception. I have never seen that many deallocations happening in customer cases.
>
>> @tstuefe Do you have more comments on this PR?
> 
> Sorry, I was swamped the past days. I'll take a look tomorrow.

> AFAIK, @tstuefe (currently on vacation) has a working prototype of a Klass-lookup-table with good performance and reasonable ‘management cost’. This would make make many things much simpler and also help solve this problem because it makes irrelevant where a Klass lives.

Yeah, I get that, and I'm sure @tstuefe has done a great job. But it goes to the fundamental theorem of software engineering (FTSE), Wheeler's statement that "We can solve any problem by introducing an extra level of indirection," often followed by "…except for the problem of too many levels of indirection."

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

PR Comment: https://git.openjdk.org/jdk/pull/19157#issuecomment-2402757801


More information about the hotspot-dev mailing list