On Sun, 9 Feb 2025 17:45:30 GMT, Vladimir Kozlov <k...@openjdk.org> 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 methods are added in a > future. > > Fixed/cleaned SA code which process CodeBlob and its subclasses. Use > `CodeBlob::_kind` field value to determine the type of blob. > > Tested tier1-5, hs-tier6-rt (for JFR testing), stress, xcomp This pull request has now been integrated. Changeset: 46d4a601 Author: Vladimir Kozlov <k...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/46d4a601e04f90b11d4ccc97a49f4e7010b4fd83 Stats: 529 lines in 23 files changed: 262 ins; 152 del; 115 mod 8349088: De-virtualize Codeblob and nmethod Co-authored-by: Stefan Karlsson <stef...@openjdk.org> Co-authored-by: Chris Plummer <cjplum...@openjdk.org> Reviewed-by: cjplummer, aboldtch, dlong ------------- PR: https://git.openjdk.org/jdk/pull/23533