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

2025-02-14 Thread Vladimir Kozlov
On Thu, 13 Feb 2025 08:15:16 GMT, Axel Boldt-Christmas wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Fix Zero VM build > > src/hotspot/share/code/codeBlob.hpp line 140: > >> 138: instance->print_value_

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

2025-02-13 Thread Vladimir Kozlov
On Thu, 13 Feb 2025 05:19:48 GMT, Chris Plummer wrote: >> `cbPc` with comment explaining that it could be inside code blob. > > That sounds fine. done - PR Review Comment: https://git.openjdk.org/jdk/pull/23533#discussion_r1954906986

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

2025-02-13 Thread Vladimir Kozlov
On Thu, 13 Feb 2025 05:14:59 GMT, Chris Plummer wrote: >> Example please. > > static Class wrapperClasses = new Class[Number_Of_Kinds]; > wrapperClasses[NMethodKind] = NMethodBlob.class; > wrapperClasses[BufferKind] = BufferBopb.class; > ...; > wrapperClasses[SafepointKind] = Safe

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

2025-02-13 Thread Axel Boldt-Christmas
On Wed, 12 Feb 2025 16:28:32 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 [v6]

2025-02-12 Thread John R Rose
On Wed, 12 Feb 2025 16:28:32 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 [v6]

2025-02-12 Thread Chris Plummer
On Thu, 13 Feb 2025 03:26:19 GMT, Vladimir Kozlov wrote: >> src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeBlob.java line >> 118: >> >>> 116: } >>> 117: >>> 118: public static Class getClassFor(Address addr) { >> >> Did you consider using a lookup table here that is indexed

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

2025-02-12 Thread Vladimir Kozlov
On Thu, 13 Feb 2025 02:06:57 GMT, Chris Plummer wrote: >> Vladimir Kozlov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Fix Zero VM build > > src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeBlob.java line > 118: > >> 116

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

2025-02-12 Thread Chris Plummer
On Wed, 12 Feb 2025 16:28:32 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 [v6]

2025-02-12 Thread Vladimir Kozlov
On Wed, 12 Feb 2025 16:28:32 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 [v6]

2025-02-12 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