RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]
Stefan Karlsson
stefank at openjdk.org
Wed Apr 3 17:53:01 UTC 2024
On Wed, 3 Apr 2024 16:29:03 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> src/hotspot/share/code/codeBlob.hpp line 409:
>>
>>> 407:
>>> 408: // GC/Verification support
>>> 409: virtual void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) override { /* nothing to do */ }
>>
>> In the GC code we usually have either virtual OR override, but not both. Could we skip `virtual` here? Or does the compiler code usually use both?
>
> No special rules here. I simply want to see all `virtual` methods explicitly and `override` is required by C++.
> I would like to keep it this way in these changes. I am investigating possibility to convert all these virtual methods to normal one to remove virtual table and virtual pointer (8 bytes) from CodeBlob class.
`override` is not required by C++. You do however mark all virtual methods with `override` if any of the functions are marked with `override`. I think it would be good to have a HotSpot code style discussion about this (but not in this RFE).
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18554#discussion_r1550206804
More information about the serviceability-dev
mailing list