From 60a58f63a1589e4fb45d558e58b9be149c6cb6f6 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Mon, 4 Aug 2025 20:42:35 +0200 Subject: [PATCH] src: mark realm leaf classes final MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since these classes use virtual methods extensively, adding `final` should allow compilers to optimize accesses better. PR-URL: https://github.com/nodejs/node/pull/59355 Reviewed-By: James M Snell Reviewed-By: Chengzhong Wu Reviewed-By: Juan José Arboleda Reviewed-By: Matteo Collina Reviewed-By: Darshan Sen --- src/node_realm.h | 2 +- src/node_shadow_realm.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/node_realm.h b/src/node_realm.h index 9ad38be761d..63a23013cb1 100644 --- a/src/node_realm.h +++ b/src/node_realm.h @@ -209,7 +209,7 @@ class Realm : public MemoryRetainer { CppgcWrapperList cppgc_wrapper_list_; }; -class PrincipalRealm : public Realm { +class PrincipalRealm final : public Realm { public: PrincipalRealm(Environment* env, v8::Local context, diff --git a/src/node_shadow_realm.h b/src/node_shadow_realm.h index c2a6f2c8cb8..65844349f7a 100644 --- a/src/node_shadow_realm.h +++ b/src/node_shadow_realm.h @@ -9,7 +9,7 @@ namespace node { namespace shadow_realm { -class ShadowRealm : public Realm { +class ShadowRealm final : public Realm { public: static ShadowRealm* New(Environment* env);