From 1f909d24b6b8bb457bacb7cbbe70007157fddac7 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 26 Nov 2022 19:04:15 +0100 Subject: [PATCH] LibJS: Shrink MemberExpression by rearranging members slightly By putting m_computed in the padding hole after our base class, we shrink MemberExpression by 8 bytes. :^) --- Userland/Libraries/LibJS/AST.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibJS/AST.h b/Userland/Libraries/LibJS/AST.h index d757eba77a..85a4ee1603 100644 --- a/Userland/Libraries/LibJS/AST.h +++ b/Userland/Libraries/LibJS/AST.h @@ -1782,9 +1782,9 @@ class MemberExpression final : public Expression { public: MemberExpression(SourceRange source_range, NonnullRefPtr object, NonnullRefPtr property, bool computed = false) : Expression(source_range) + , m_computed(computed) , m_object(move(object)) , m_property(move(property)) - , m_computed(computed) { } @@ -1804,9 +1804,9 @@ public: private: virtual bool is_member_expression() const override { return true; } + bool m_computed { false }; NonnullRefPtr m_object; NonnullRefPtr m_property; - bool m_computed { false }; }; class OptionalChain final : public Expression {