1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 17:17:44 +00:00

LibWeb: Optimize CSS::StyleDeclaration for size

We can reduce the amount of padding the compiler adds in order to
ensure data alignment of member variables by ordering the types in
a struct by size in decending order.

Found By PVS-Studio: https://pvs-studio.com/en/docs/warnings/v802/
This commit is contained in:
Brian Gianforcaro 2021-10-10 00:06:13 -07:00 committed by Andreas Kling
parent 1b00ddf07e
commit 027cbe6b89
3 changed files with 4 additions and 4 deletions

View file

@ -87,9 +87,9 @@ bool PropertyOwningCSSStyleDeclaration::set_property(PropertyID property_id, Str
} }
m_properties.append(CSS::StyleProperty { m_properties.append(CSS::StyleProperty {
.important = false,
.property_id = property_id, .property_id = property_id,
.value = new_value.release_nonnull(), .value = new_value.release_nonnull(),
.important = false,
}); });
return true; return true;
} }

View file

@ -14,10 +14,10 @@
namespace Web::CSS { namespace Web::CSS {
struct StyleProperty { struct StyleProperty {
bool important { false };
CSS::PropertyID property_id; CSS::PropertyID property_id;
NonnullRefPtr<StyleValue> value; NonnullRefPtr<StyleValue> value;
String custom_name {}; String custom_name {};
bool important { false };
}; };
class CSSStyleDeclaration class CSSStyleDeclaration

View file

@ -1834,9 +1834,9 @@ Optional<StyleProperty> Parser::convert_to_style_property(StyleDeclarationRule c
} }
if (property_id == PropertyID::Custom) { if (property_id == PropertyID::Custom) {
return StyleProperty { property_id, value.release_value(), declaration.m_name, declaration.m_important }; return StyleProperty { declaration.m_important, property_id, value.release_value(), declaration.m_name };
} else { } else {
return StyleProperty { property_id, value.release_value(), {}, declaration.m_important }; return StyleProperty { declaration.m_important, property_id, value.release_value(), {} };
} }
} }