Use bitfields for YGLayout
and YGNode
Summary: @public Further heap size reductions by using bitfields in `YGLayout` and `YGNode`. Reviewed By: SidharthGuglani Differential Revision: D13466325 fbshipit-source-id: ddcef0a1b3822e7449fe485d99c920d54139c893
This commit is contained in:
committed by
Facebook Github Bot
parent
885b4cbdfb
commit
f6415889ca
@@ -15,9 +15,10 @@ struct YGNode {
|
||||
private:
|
||||
void* context_ = nullptr;
|
||||
YGPrintFunc print_ = nullptr;
|
||||
bool hasNewLayout_ = true;
|
||||
bool isReferenceBaseline_ = false;
|
||||
YGNodeType nodeType_ = YGNodeTypeDefault;
|
||||
bool hasNewLayout_ : 1;
|
||||
bool isReferenceBaseline_ : 1;
|
||||
bool isDirty_ : 1;
|
||||
YGNodeType nodeType_ : 1;
|
||||
YGMeasureFunc measure_ = nullptr;
|
||||
YGBaselineFunc baseline_ = nullptr;
|
||||
YGDirtiedFunc dirtied_ = nullptr;
|
||||
@@ -27,7 +28,6 @@ struct YGNode {
|
||||
YGNodeRef owner_ = nullptr;
|
||||
YGVector children_ = {};
|
||||
YGConfigRef config_ = nullptr;
|
||||
bool isDirty_ = false;
|
||||
std::array<YGValue, 2> resolvedDimensions_ = {
|
||||
{YGValueUndefined, YGValueUndefined}};
|
||||
|
||||
@@ -36,7 +36,11 @@ struct YGNode {
|
||||
const float axisSize) const;
|
||||
|
||||
public:
|
||||
YGNode() = default;
|
||||
YGNode()
|
||||
: hasNewLayout_(true),
|
||||
isReferenceBaseline_(false),
|
||||
isDirty_(false),
|
||||
nodeType_(YGNodeTypeDefault) {}
|
||||
~YGNode() = default; // cleanup of owner/children relationships in YGNodeFree
|
||||
explicit YGNode(const YGConfigRef newConfig) : config_(newConfig){};
|
||||
YGNode(const YGNode& node) = default;
|
||||
|
Reference in New Issue
Block a user