Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-14 Thread Vladimir Kozlov
On Thu, 13 Feb 2025 23:01:24 GMT, Dean Long wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> rename SA argument > > src/hotspot/share/runtime/vframe.inline.hpp line 178: > >> 176: INTPTR_FORMAT

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-14 Thread Vladimir Kozlov
On Thu, 13 Feb 2025 17:14:59 GMT, Vladimir Kozlov wrote: >> Remove virtual methods from CodeBlob and nmethod to simplify >> saving/restoring in Leyden AOT cache. It avoids the need to patch hidden >> VPTR pointer to class's virtual table. >> >> Added C++ static asserts to make sure no virtual

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-14 Thread Vladimir Kozlov
On Thu, 13 Feb 2025 19:27:19 GMT, Chris Plummer wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> rename SA argument > > src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeCache.java line > 97: > >> 95

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-14 Thread Vladimir Kozlov
On Fri, 14 Feb 2025 00:08:35 GMT, Dean Long wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> rename SA argument > > src/hotspot/share/code/codeBlob.hpp line 669: > >> 667: >> 668: jobject receiver()

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread Dean Long
On Thu, 13 Feb 2025 17:14:59 GMT, Vladimir Kozlov wrote: >> Remove virtual methods from CodeBlob and nmethod to simplify >> saving/restoring in Leyden AOT cache. It avoids the need to patch hidden >> VPTR pointer to class's virtual table. >> >> Added C++ static asserts to make sure no virtual

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread Dean Long
On Thu, 13 Feb 2025 17:14:59 GMT, Vladimir Kozlov wrote: >> Remove virtual methods from CodeBlob and nmethod to simplify >> saving/restoring in Leyden AOT cache. It avoids the need to patch hidden >> VPTR pointer to class's virtual table. >> >> Added C++ static asserts to make sure no virtual

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread Dean Long
On Thu, 13 Feb 2025 17:14:59 GMT, Vladimir Kozlov wrote: >> Remove virtual methods from CodeBlob and nmethod to simplify >> saving/restoring in Leyden AOT cache. It avoids the need to patch hidden >> VPTR pointer to class's virtual table. >> >> Added C++ static asserts to make sure no virtual

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread Dean Long
On Thu, 13 Feb 2025 17:14:59 GMT, Vladimir Kozlov wrote: >> Remove virtual methods from CodeBlob and nmethod to simplify >> saving/restoring in Leyden AOT cache. It avoids the need to patch hidden >> VPTR pointer to class's virtual table. >> >> Added C++ static asserts to make sure no virtual

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread Chris Plummer
On Thu, 13 Feb 2025 17:14:59 GMT, Vladimir Kozlov wrote: >> Remove virtual methods from CodeBlob and nmethod to simplify >> saving/restoring in Leyden AOT cache. It avoids the need to patch hidden >> VPTR pointer to class's virtual table. >> >> Added C++ static asserts to make sure no virtual

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread Vladimir Kozlov
On Thu, 13 Feb 2025 17:14:59 GMT, Vladimir Kozlov wrote: >> Remove virtual methods from CodeBlob and nmethod to simplify >> saving/restoring in Leyden AOT cache. It avoids the need to patch hidden >> VPTR pointer to class's virtual table. >> >> Added C++ static asserts to make sure no virtual

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread Vladimir Kozlov
On Thu, 13 Feb 2025 17:14:59 GMT, Vladimir Kozlov wrote: >> Remove virtual methods from CodeBlob and nmethod to simplify >> saving/restoring in Leyden AOT cache. It avoids the need to patch hidden >> VPTR pointer to class's virtual table. >> >> Added C++ static asserts to make sure no virtual

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread Vladimir Kozlov
On Thu, 13 Feb 2025 17:22:18 GMT, John R Rose wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> rename SA argument > > One related idea: The Vptr classes seem to be regular enough to be > templated. That is, on

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread Chris Plummer
On Mon, 10 Feb 2025 16:57:18 GMT, Vladimir Kozlov wrote: >>> What is the reason for switching from the virtualConstructor/hashMap >>> approach to using getClassFor()? The hashmap is the model for JavaThread, >>> MetaData, and CollectedHeap subtypes. >> >> I don't need any more mapping from Cod

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread John R Rose
On Thu, 13 Feb 2025 17:14:59 GMT, Vladimir Kozlov wrote: >> Remove virtual methods from CodeBlob and nmethod to simplify >> saving/restoring in Leyden AOT cache. It avoids the need to patch hidden >> VPTR pointer to class's virtual table. >> >> Added C++ static asserts to make sure no virtual

Re: RFR: 8349088: De-virtualize Codeblob and nmethod [v8]

2025-02-13 Thread Vladimir Kozlov
> Remove virtual methods from CodeBlob and nmethod to simplify saving/restoring > in Leyden AOT cache. It avoids the need to patch hidden VPTR pointer to > class's virtual table. > > Added C++ static asserts to make sure no virtual methods are added in a > future. > > Fixed/cleaned SA code whi