From 7d44113bee33f62bf11d55e27ea9c3d68276b0c3 Mon Sep 17 00:00:00 2001 From: David Aurelio Date: Thu, 9 May 2019 04:14:08 -0700 Subject: [PATCH] **breaking:** remove `YGNodeGetInstanceCount` Summary: @public `YGNodeGetInstanceCount` was only ever meant for tests, and caused data races in multi-threaded environments. It was completely replaced with event-based counting for tests. Here we remove public API around the counter, and the counter itself. Reviewed By: SidharthGuglani Differential Revision: D15174857 fbshipit-source-id: 228e85da565bac9e8485121e956a2e41910b11c8 --- .../src/main/java/com/facebook/yoga/YogaNative.java | 1 - .../src/main/jni/first-party/yogajni/jni/YGJNI.cpp | 5 ----- ReactCommon/yoga/yoga/Yoga.cpp | 8 -------- ReactCommon/yoga/yoga/Yoga.h | 1 - 4 files changed, 15 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java b/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java index 8b81e9295..fbda3ca6b 100644 --- a/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +++ b/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java @@ -28,7 +28,6 @@ public class YogaNative { // YGNode related - static native int jni_YGNodeGetInstanceCount(); static native long jni_YGNodeNew(boolean useBatchingForLayoutOutputs); static native long jni_YGNodeNewWithConfig(long configPointer, boolean useBatchingForLayoutOutputs); static native void jni_YGNodeFree(long nativePointer); diff --git a/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNI.cpp b/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNI.cpp index 066f832fc..280116614 100644 --- a/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNI.cpp +++ b/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNI.cpp @@ -938,10 +938,6 @@ void jni_YGNodeSetStyleInputs( YGNodeSetStyleInputs(_jlong2YGNodeRef(nativePointer), result, size); } -jint jni_YGNodeGetInstanceCount() { - return YGNodeGetInstanceCount(); -} - jlong jni_YGNodeStyleGetMargin(jlong nativePointer, jint edge) { YGNodeRef yogaNodeRef = _jlong2YGNodeRef(nativePointer); if (!YGNodeEdges{yogaNodeRef}.has(YGNodeEdges::MARGIN)) { @@ -1105,7 +1101,6 @@ jint JNI_OnLoad(JavaVM* vm, void*) { YGMakeCriticalNativeMethod(jni_YGNodeStyleSetMaxHeightPercent), YGMakeCriticalNativeMethod(jni_YGNodeStyleGetAspectRatio), YGMakeCriticalNativeMethod(jni_YGNodeStyleSetAspectRatio), - YGMakeCriticalNativeMethod(jni_YGNodeGetInstanceCount), YGMakeCriticalNativeMethod(jni_YGNodePrint), YGMakeNativeMethod(jni_YGNodeClone), YGMakeNativeMethod(jni_YGNodeSetStyleInputs), diff --git a/ReactCommon/yoga/yoga/Yoga.cpp b/ReactCommon/yoga/yoga/Yoga.cpp index 727723665..05fb10d27 100644 --- a/ReactCommon/yoga/yoga/Yoga.cpp +++ b/ReactCommon/yoga/yoga/Yoga.cpp @@ -206,14 +206,12 @@ void YGNodeMarkDirtyAndPropogateToDescendants(const YGNodeRef node) { return node->markDirtyAndPropogateDownwards(); } -int32_t gNodeInstanceCount = 0; int32_t gConfigInstanceCount = 0; WIN_EXPORT YGNodeRef YGNodeNewWithConfig(const YGConfigRef config) { const YGNodeRef node = new YGNode(); YGAssertWithConfig( config, node != nullptr, "Could not allocate memory for node"); - gNodeInstanceCount++; #ifdef YG_ENABLE_EVENTS Event::publish(node, {config}); #endif @@ -241,7 +239,6 @@ YGNodeRef YGNodeClone(YGNodeRef oldNode) { oldNode->getConfig(), node != nullptr, "Could not allocate memory for node"); - gNodeInstanceCount++; #ifdef YG_ENABLE_EVENTS Event::publish(node, {node->getConfig()}); #endif @@ -295,7 +292,6 @@ void YGNodeFree(const YGNodeRef node) { Event::publish(node, {node->getConfig()}); #endif delete node; - gNodeInstanceCount--; } static void YGConfigFreeRecursive(const YGNodeRef root) { @@ -337,10 +333,6 @@ void YGNodeReset(YGNodeRef node) { node->reset(); } -int32_t YGNodeGetInstanceCount(void) { - return gNodeInstanceCount; -} - int32_t YGConfigGetInstanceCount(void) { return gConfigInstanceCount; } diff --git a/ReactCommon/yoga/yoga/Yoga.h b/ReactCommon/yoga/yoga/Yoga.h index c616d965a..a9dc01dca 100644 --- a/ReactCommon/yoga/yoga/Yoga.h +++ b/ReactCommon/yoga/yoga/Yoga.h @@ -62,7 +62,6 @@ WIN_EXPORT void YGNodeFreeRecursiveWithCleanupFunc( YGNodeCleanupFunc cleanup); WIN_EXPORT void YGNodeFreeRecursive(YGNodeRef node); WIN_EXPORT void YGNodeReset(YGNodeRef node); -WIN_EXPORT int32_t YGNodeGetInstanceCount(void); WIN_EXPORT void YGNodeInsertChild( YGNodeRef node,