RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]

Vladimir Kozlov kvn at openjdk.org
Wed Apr 3 16:32:12 UTC 2024


On Wed, 3 Apr 2024 14:44:03 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:

>> Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Removed not_used state of nmethod
>
> 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.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18554#discussion_r1550071713


More information about the serviceability-dev mailing list