LibJS: Shrink ObjectProperty AST nodes by rearranging members

By putting smaller members in the padding hole after the ASTNode base
class, we shrink ObjectProperty by 8 bytes.
This commit is contained in:
Andreas Kling 2022-11-26 19:55:46 +01:00 committed by Linus Groh
parent b894acd6b2
commit dd1720f2cb

View file

@ -1713,7 +1713,7 @@ private:
class ObjectProperty final : public ASTNode {
public:
enum class Type {
enum class Type : u8 {
KeyValue,
Getter,
Setter,
@ -1723,10 +1723,10 @@ public:
ObjectProperty(SourceRange source_range, NonnullRefPtr<Expression> key, RefPtr<Expression> value, Type property_type, bool is_method)
: ASTNode(source_range)
, m_key(move(key))
, m_value(move(value))
, m_property_type(property_type)
, m_is_method(is_method)
, m_key(move(key))
, m_value(move(value))
{
}
@ -1744,10 +1744,10 @@ public:
virtual Completion execute(Interpreter&) const override;
private:
NonnullRefPtr<Expression> m_key;
RefPtr<Expression> m_value;
Type m_property_type;
bool m_is_method { false };
NonnullRefPtr<Expression> m_key;
RefPtr<Expression> m_value;
};
class ObjectExpression final : public Expression {