Skip to content

Commit 8830698

Browse files
use array for passing measure callback reasons count
Summary: Use an array for counting measure callbacks due to each reason. and this is now added as qpl metadata in Layout Calculation qpl event Reviewed By: davidaurelio Differential Revision: D16666786 fbshipit-source-id: ff85fba835148f06b9c5d90c4604e552a813777a
1 parent d2e18a1 commit 8830698

2 files changed

Lines changed: 5 additions & 10 deletions

File tree

ReactCommon/yoga/yoga/Yoga.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1644,13 +1644,8 @@ static void YGNodeWithMeasureFuncSetMeasuredDimensions(
16441644
layoutContext);
16451645

16461646
layoutMarkerData.measureCallbacks += 1;
1647-
if (reason == LayoutPassReason::kMeasureChild) {
1648-
layoutMarkerData.measureChildMeasureCallbacks += 1;
1649-
} else if (reason == LayoutPassReason::kFlexMeasure) {
1650-
layoutMarkerData.flexMeasureMeasureCallbacks += 1;
1651-
} else if (reason == LayoutPassReason::kAbsMeasureChild) {
1652-
layoutMarkerData.absMeasureChildMeasureCallbacks += 1;
1653-
}
1647+
layoutMarkerData.measureCallbackReasonsCount[static_cast<size_t>(reason)] +=
1648+
1;
16541649

16551650
Event::publish<Event::MeasureCallbackEnd>(
16561651
node,

ReactCommon/yoga/yoga/event/event.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#include <functional>
1010
#include <vector>
11+
#include <array>
1112
#include <yoga/YGEnums.h>
1213

1314
struct YGConfig;
@@ -42,9 +43,8 @@ struct LayoutData {
4243
int cachedLayouts;
4344
int cachedMeasures;
4445
int measureCallbacks;
45-
int measureChildMeasureCallbacks;
46-
int absMeasureChildMeasureCallbacks;
47-
int flexMeasureMeasureCallbacks;
46+
std::array<int, static_cast<uint8_t>(LayoutPassReason::COUNT)>
47+
measureCallbackReasonsCount;
4848
};
4949

5050
const char* LayoutPassReasonToString(const LayoutPassReason value);

0 commit comments

Comments
 (0)