react-native-windows 0.84.0 → 0.85.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1347) hide show
  1. package/.flowconfig +1 -5
  2. package/Directory.Build.props +2 -17
  3. package/Directory.Build.targets +12 -4
  4. package/Folly/ThreadNameStub.cpp +4 -6
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  6. package/Libraries/Animated/Animated.d.ts +8 -1
  7. package/Libraries/Animated/AnimatedEvent.js +4 -4
  8. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  9. package/Libraries/Animated/animations/Animation.js +3 -3
  10. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  11. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  12. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  13. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  14. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  16. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  17. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  18. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  19. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  20. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  21. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  22. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  23. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  24. package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
  25. package/Libraries/Animated/useAnimatedColor.js +25 -0
  26. package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
  27. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  28. package/Libraries/AppState/AppState.js +1 -1
  29. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  30. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +34 -30
  33. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  34. package/Libraries/Components/Button.js +2 -2
  35. package/Libraries/Components/Button.windows.js +2 -2
  36. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  37. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  38. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  39. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  40. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  41. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  42. package/Libraries/Components/Pressable/Pressable.js +3 -3
  43. package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
  44. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  45. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  46. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  47. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  48. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +5 -5
  49. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
  50. package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
  51. package/Libraries/Components/ScrollView/ScrollView.js +19 -9
  52. package/Libraries/Components/ScrollView/ScrollView.windows.js +19 -9
  53. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
  54. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +8 -18
  55. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
  56. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  57. package/Libraries/Components/StaticRenderer.js +1 -1
  58. package/Libraries/Components/StatusBar/StatusBar.js +8 -8
  59. package/Libraries/Components/Switch/Switch.js +3 -3
  60. package/Libraries/Components/Switch/Switch.windows.js +3 -3
  61. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
  62. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  63. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  64. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  65. package/Libraries/Components/TextInput/TextInput.flow.windows.js +23 -22
  66. package/Libraries/Components/TextInput/TextInput.js +8 -4
  67. package/Libraries/Components/TextInput/TextInput.windows.js +3 -4
  68. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -48
  69. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  70. package/Libraries/Components/Touchable/Touchable.js +2 -2
  71. package/Libraries/Components/Touchable/Touchable.windows.js +2 -2
  72. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  73. package/Libraries/Components/Touchable/TouchableBounce.windows.js +4 -4
  74. package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
  75. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +9 -9
  76. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  77. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +7 -7
  78. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
  79. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -4
  80. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  81. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  82. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  83. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  84. package/Libraries/Components/View/View.windows.js +1 -1
  85. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  86. package/Libraries/Components/View/ViewAccessibility.windows.js +7 -7
  87. package/Libraries/Components/View/ViewPropTypes.js +14 -14
  88. package/Libraries/Components/View/ViewPropTypes.windows.js +18 -16
  89. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  90. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  91. package/Libraries/Core/ExceptionsManager.js +2 -2
  92. package/Libraries/Core/ExtendedError.js +3 -3
  93. package/Libraries/Core/RawEventEmitter.js +1 -1
  94. package/Libraries/Core/ReactNativeVersion.js +2 -2
  95. package/Libraries/Core/Timers/JSTimers.js +3 -2
  96. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  97. package/Libraries/Core/setUpErrorHandling.js +4 -2
  98. package/Libraries/Core/setUpReactDevTools.js +23 -6
  99. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  100. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  101. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  102. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  103. package/Libraries/Image/AssetSourceResolver.js +1 -1
  104. package/Libraries/Image/AssetSourceResolver.windows.js +1 -1
  105. package/Libraries/Image/Image.android.js +172 -306
  106. package/Libraries/Image/ImageProps.js +9 -11
  107. package/Libraries/Image/ImageSource.js +2 -2
  108. package/Libraries/Image/ImageSourceUtils.js +8 -4
  109. package/Libraries/Image/ImageTypes.flow.js +2 -2
  110. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  111. package/Libraries/Image/nativeImageSource.js +1 -1
  112. package/Libraries/Interaction/InteractionManager.js +5 -4
  113. package/Libraries/Interaction/PanResponder.js +1 -1
  114. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  115. package/Libraries/Linking/Linking.js +1 -1
  116. package/Libraries/Lists/FlatList.js +3 -3
  117. package/Libraries/Lists/SectionList.js +1 -1
  118. package/Libraries/Lists/SectionListModern.js +2 -2
  119. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  120. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  121. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  122. package/Libraries/LogBox/LogBox.js +42 -19
  123. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  124. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  125. package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
  126. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  127. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  128. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -9
  129. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  130. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  131. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  132. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  134. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  135. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  136. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +15 -16
  137. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  138. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  139. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  140. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +3 -5
  141. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  142. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  143. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  144. package/Libraries/Modal/Modal.d.ts +4 -0
  145. package/Libraries/Modal/Modal.js +3 -3
  146. package/Libraries/Modal/Modal.windows.js +7 -3
  147. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  148. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  149. package/Libraries/NativeComponent/BaseViewConfig.windows.js +26 -17
  150. package/Libraries/Network/RCTNetworking.android.js +1 -1
  151. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  152. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  153. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  154. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  155. package/Libraries/Network/XMLHttpRequest.js +1 -1
  156. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  157. package/Libraries/Pressability/Pressability.js +5 -5
  158. package/Libraries/Pressability/Pressability.windows.js +5 -5
  159. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  160. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  161. package/Libraries/Pressability/usePressability.js +3 -14
  162. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  163. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  164. package/Libraries/ReactNative/AppContainer.js +1 -1
  165. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  166. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  167. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  168. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  169. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  170. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  171. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  172. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  173. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  174. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  175. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  176. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  177. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +1 -3
  178. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  179. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  180. package/Libraries/StyleSheet/PointPropType.js +1 -1
  181. package/Libraries/StyleSheet/Rect.js +1 -1
  182. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  183. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  184. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  185. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  186. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  187. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
  188. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  189. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  190. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  191. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  192. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  193. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  194. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  195. package/Libraries/StyleSheet/processColorArray.js +2 -2
  196. package/Libraries/StyleSheet/processFilter.js +2 -2
  197. package/Libraries/Text/Text.js +295 -627
  198. package/Libraries/Text/Text.windows.js +342 -717
  199. package/Libraries/Text/TextNativeComponent.js +14 -7
  200. package/Libraries/Text/TextProps.js +4 -4
  201. package/Libraries/Text/TextProps.windows.js +4 -4
  202. package/Libraries/Types/CodegenTypes.js +1 -1
  203. package/Libraries/Types/CoreEventTypes.js +21 -21
  204. package/Libraries/Types/CoreEventTypes.windows.js +21 -21
  205. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  206. package/Libraries/Utilities/Appearance.js +6 -1
  207. package/Libraries/Utilities/Dimensions.js +1 -1
  208. package/Libraries/Utilities/HMRClient.js +32 -5
  209. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  210. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  211. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  212. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  213. package/Libraries/Utilities/logError.js +1 -1
  214. package/Libraries/Utilities/stringifySafe.js +3 -3
  215. package/Libraries/Utilities/useMergeRefs.js +2 -2
  216. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  217. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  218. package/Microsoft.ReactNative/CallInvoker.cpp +14 -4
  219. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +1 -1
  220. package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +2 -2
  221. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +1 -1
  222. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +73 -97
  223. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +4 -1
  224. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -1
  225. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +28 -46
  226. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +0 -3
  227. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +4 -4
  228. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +154 -31
  229. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -0
  230. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +7 -2
  231. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +2 -0
  232. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +170 -15
  233. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +3 -1
  234. package/Microsoft.ReactNative/Fabric/Composition/SelectionItemAutomationEvent.h +73 -0
  235. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
  236. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -1
  237. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +105 -32
  238. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +7 -2
  239. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -0
  240. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +1 -0
  241. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +3 -0
  242. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -3
  243. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +2 -7
  244. package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -0
  245. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -61
  246. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -26
  247. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -1
  248. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -17
  249. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -4
  250. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -2
  251. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +16 -15
  252. package/Microsoft.ReactNative/Modules/AppearanceModule.h +5 -1
  253. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +2 -7
  254. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +0 -1
  255. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +4 -4
  256. package/Microsoft.ReactNative/QuirkSettings.cpp +0 -133
  257. package/Microsoft.ReactNative/QuirkSettings.h +0 -43
  258. package/Microsoft.ReactNative/QuirkSettings.idl +0 -41
  259. package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +0 -4
  260. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -2
  261. package/Microsoft.ReactNative/ReactHost/React.h +0 -5
  262. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -1
  263. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +3 -26
  264. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -5
  265. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -2
  266. package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +3 -0
  267. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +7 -0
  268. package/Microsoft.ReactNative/ReactPackageBuilder.h +1 -0
  269. package/Microsoft.ReactNative/RedBox.cpp +0 -9
  270. package/Microsoft.ReactNative/RedBoxHandler.cpp +0 -4
  271. package/Microsoft.ReactNative/TurboModulesProvider.cpp +5 -10
  272. package/Microsoft.ReactNative/TurboModulesProvider.h +2 -0
  273. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
  274. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -7
  275. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +0 -22
  276. package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +8 -2
  277. package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +36 -20
  278. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -3
  279. package/Microsoft.ReactNative.Cxx/NativeModules.h +8 -2
  280. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -9
  281. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -9
  282. package/PropertySheets/Autolink.props +1 -1
  283. package/PropertySheets/Bundle.props +1 -1
  284. package/PropertySheets/CIBuildOptimizations.props +2 -2
  285. package/PropertySheets/Codegen.props +1 -1
  286. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  287. package/PropertySheets/JSEngine.props +1 -1
  288. package/PropertySheets/NuGet.LockFile.props +2 -1
  289. package/PropertySheets/React.Cpp.props +4 -4
  290. package/PropertySheets/ReactNativeArchitecture.props +6 -24
  291. package/ReactCommon/ReactCommon.vcxproj +5 -6
  292. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1 -1
  293. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
  294. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +13 -0
  295. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/defaults/DefaultTurboModules.cpp +69 -0
  296. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/animationbackend/AnimatedPropSerializer.cpp +717 -0
  297. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
  298. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
  299. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +151 -0
  300. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +50 -0
  301. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +178 -0
  302. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +69 -39
  303. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +54 -5
  304. package/Scripts/OfficeReact.Win32.nuspec +0 -1
  305. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -39
  306. package/Scripts/UpdateNightlyDependencies.ps1 +47 -0
  307. package/Scripts/creaternwapp.cmd +29 -17
  308. package/Scripts/creaternwlib.cmd +31 -35
  309. package/Shared/DevSettings.h +0 -3
  310. package/Shared/Networking/WinRTWebSocketResource.cpp +23 -408
  311. package/Shared/Networking/WinRTWebSocketResource.h +3 -119
  312. package/Shared/Shared.vcxitems +63 -38
  313. package/Shared/Shared.vcxitems.filters +54 -0
  314. package/Shared/Utils.cpp +0 -88
  315. package/Shared/Utils.h +0 -14
  316. package/Shared/WebSocketResourceFactory.cpp +28 -0
  317. package/Shared/tracing/fbsystrace.h +1 -0
  318. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +172 -160
  319. package/codegen/react/components/rnwcore/ModalHostView.g.h +8 -0
  320. package/codegen/react/components/rnwcore/Props.cpp +17 -7
  321. package/codegen/react/components/rnwcore/Props.h +3 -1
  322. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +4 -4
  323. package/codegen/rnwcoreJSI.h +93 -77
  324. package/{Folly → external}/.clang-format +0 -1
  325. package/external/External.vcxitems +10 -0
  326. package/external/fast-float/.syncignore +10 -0
  327. package/external/fast-float/LICENSE-APACHE +190 -0
  328. package/external/fast-float/LICENSE-BOOST +23 -0
  329. package/external/fast-float/LICENSE-MIT +27 -0
  330. package/external/fast-float/README.md +545 -0
  331. package/external/fast-float/cgmanifest.json +15 -0
  332. package/external/fast-float/fast-float.vcxitems +14 -0
  333. package/external/fast-float/include/fast_float/ascii_number.h +588 -0
  334. package/external/fast-float/include/fast_float/bigint.h +638 -0
  335. package/external/fast-float/include/fast_float/constexpr_feature_detect.h +46 -0
  336. package/external/fast-float/include/fast_float/decimal_to_binary.h +212 -0
  337. package/external/fast-float/include/fast_float/digit_comparison.h +457 -0
  338. package/external/fast-float/include/fast_float/fast_float.h +59 -0
  339. package/external/fast-float/include/fast_float/fast_table.h +708 -0
  340. package/external/fast-float/include/fast_float/float_common.h +1240 -0
  341. package/external/fast-float/include/fast_float/parse_number.h +399 -0
  342. package/external/fast-float/sync-config.json +8 -0
  343. package/external/fmt/.syncignore +10 -0
  344. package/external/fmt/CONTRIBUTING.md +20 -0
  345. package/external/fmt/LICENSE +27 -0
  346. package/external/fmt/README.md +484 -0
  347. package/external/fmt/doc/ChangeLog-old.md +3290 -0
  348. package/external/fmt/doc/api.md +650 -0
  349. package/external/fmt/doc/fmt.css +61 -0
  350. package/external/fmt/doc/fmt.js +4 -0
  351. package/external/fmt/doc/get-started.md +222 -0
  352. package/external/fmt/doc/index.md +151 -0
  353. package/external/fmt/doc/perf.svg +1 -0
  354. package/external/fmt/doc/python-license.txt +290 -0
  355. package/external/fmt/doc/syntax.md +887 -0
  356. package/external/fmt/fmt.vcxitems +28 -0
  357. package/external/fmt/include/fmt/args.h +228 -0
  358. package/external/fmt/include/fmt/base.h +3077 -0
  359. package/external/fmt/include/fmt/chrono.h +2432 -0
  360. package/external/fmt/include/fmt/color.h +612 -0
  361. package/external/fmt/include/fmt/compile.h +529 -0
  362. package/external/fmt/include/fmt/core.h +5 -0
  363. package/external/fmt/include/fmt/format-inl.h +1928 -0
  364. package/external/fmt/include/fmt/format.h +4427 -0
  365. package/external/fmt/include/fmt/os.h +439 -0
  366. package/external/fmt/include/fmt/ostream.h +211 -0
  367. package/external/fmt/include/fmt/printf.h +656 -0
  368. package/external/fmt/include/fmt/ranges.h +882 -0
  369. package/external/fmt/include/fmt/std.h +699 -0
  370. package/external/fmt/include/fmt/xchar.h +322 -0
  371. package/external/fmt/src/fmt.cc +135 -0
  372. package/external/fmt/src/format.cc +43 -0
  373. package/external/fmt/src/os.cc +403 -0
  374. package/external/fmt/sync-config.json +8 -0
  375. package/external/folly/.syncignore +60 -0
  376. package/external/folly/LICENSE +200 -0
  377. package/external/folly/README.md +263 -0
  378. package/{fmt → external/folly/folly}/.clang-format +0 -1
  379. package/external/folly/folly/AtomicHashArray-inl.h +546 -0
  380. package/external/folly/folly/AtomicHashArray.h +431 -0
  381. package/external/folly/folly/AtomicHashMap-inl.h +653 -0
  382. package/external/folly/folly/AtomicHashMap.h +484 -0
  383. package/external/folly/folly/AtomicIntrusiveLinkedList.h +206 -0
  384. package/external/folly/folly/AtomicLinkedList.h +110 -0
  385. package/external/folly/folly/AtomicUnorderedMap.h +522 -0
  386. package/external/folly/folly/BUCK +1631 -0
  387. package/external/folly/folly/BUILD_MODE.bzl +72 -0
  388. package/external/folly/folly/Benchmark.cpp +986 -0
  389. package/external/folly/folly/Benchmark.h +680 -0
  390. package/external/folly/folly/BenchmarkUtil.h +47 -0
  391. package/external/folly/folly/Bits.h +17 -0
  392. package/external/folly/folly/CMakeLists.txt +110 -0
  393. package/external/folly/folly/CPortability.h +338 -0
  394. package/external/folly/folly/CancellationToken-inl.h +449 -0
  395. package/external/folly/folly/CancellationToken.cpp +250 -0
  396. package/external/folly/folly/CancellationToken.h +365 -0
  397. package/external/folly/folly/Chrono.h +132 -0
  398. package/external/folly/folly/ClockGettimeWrappers.cpp +93 -0
  399. package/external/folly/folly/ClockGettimeWrappers.h +29 -0
  400. package/external/folly/folly/ConcurrentBitSet.h +157 -0
  401. package/external/folly/folly/ConcurrentLazy.h +74 -0
  402. package/external/folly/folly/ConcurrentSkipList-inl.h +341 -0
  403. package/external/folly/folly/ConcurrentSkipList.h +824 -0
  404. package/external/folly/folly/ConstructorCallbackList.h +158 -0
  405. package/external/folly/folly/Conv.h +2026 -0
  406. package/external/folly/folly/CppAttributes.h +170 -0
  407. package/external/folly/folly/CpuId.h +297 -0
  408. package/external/folly/folly/DefaultKeepAliveExecutor.h +172 -0
  409. package/external/folly/folly/Demangle.cpp +255 -0
  410. package/external/folly/folly/Demangle.h +73 -0
  411. package/external/folly/folly/DiscriminatedPtr.h +236 -0
  412. package/external/folly/folly/DynamicConverter.h +17 -0
  413. package/external/folly/folly/Exception.h +150 -0
  414. package/external/folly/folly/ExceptionString.cpp +51 -0
  415. package/external/folly/folly/ExceptionString.h +33 -0
  416. package/external/folly/folly/ExceptionWrapper-inl.h +264 -0
  417. package/external/folly/folly/ExceptionWrapper.cpp +37 -0
  418. package/external/folly/folly/ExceptionWrapper.h +377 -0
  419. package/external/folly/folly/Executor.cpp +111 -0
  420. package/external/folly/folly/Executor.h +351 -0
  421. package/external/folly/folly/Expected.h +1725 -0
  422. package/external/folly/folly/FBString.h +2888 -0
  423. package/external/folly/folly/FBVector.h +17 -0
  424. package/external/folly/folly/File.cpp +180 -0
  425. package/external/folly/folly/File.h +177 -0
  426. package/external/folly/folly/FileUtil.cpp +378 -0
  427. package/external/folly/folly/FileUtil.h +332 -0
  428. package/external/folly/folly/Fingerprint.cpp +135 -0
  429. package/external/folly/folly/Fingerprint.h +289 -0
  430. package/external/folly/folly/FixedString.h +2965 -0
  431. package/external/folly/folly/FollyMemcpy.cpp +30 -0
  432. package/external/folly/folly/FollyMemcpy.h +23 -0
  433. package/external/folly/folly/FollyMemset.cpp +29 -0
  434. package/external/folly/folly/FollyMemset.h +25 -0
  435. package/external/folly/folly/Format-inl.h +1152 -0
  436. package/external/folly/folly/Format.cpp +429 -0
  437. package/external/folly/folly/Format.h +463 -0
  438. package/external/folly/folly/FormatArg.h +285 -0
  439. package/external/folly/folly/FormatTraits.h +65 -0
  440. package/external/folly/folly/Function.h +1159 -0
  441. package/external/folly/folly/GLog.h +85 -0
  442. package/external/folly/folly/GroupVarint.cpp +153 -0
  443. package/external/folly/folly/GroupVarint.h +630 -0
  444. package/external/folly/folly/Hash.h +20 -0
  445. package/external/folly/folly/IPAddress.cpp +490 -0
  446. package/external/folly/folly/IPAddress.h +667 -0
  447. package/external/folly/folly/IPAddressException.h +82 -0
  448. package/external/folly/folly/IPAddressV4.cpp +305 -0
  449. package/external/folly/folly/IPAddressV4.h +495 -0
  450. package/external/folly/folly/IPAddressV6.cpp +541 -0
  451. package/external/folly/folly/IPAddressV6.h +627 -0
  452. package/external/folly/folly/Indestructible.h +164 -0
  453. package/external/folly/folly/IndexedMemPool.h +550 -0
  454. package/external/folly/folly/IntrusiveList.h +17 -0
  455. package/external/folly/folly/Lazy.h +142 -0
  456. package/external/folly/folly/Likely.h +76 -0
  457. package/external/folly/folly/MPMCPipeline.h +280 -0
  458. package/external/folly/folly/MPMCQueue.h +1556 -0
  459. package/external/folly/folly/MacAddress.cpp +188 -0
  460. package/external/folly/folly/MacAddress.h +260 -0
  461. package/external/folly/folly/MapUtil.h +17 -0
  462. package/external/folly/folly/Math.h +258 -0
  463. package/external/folly/folly/MaybeManagedPtr.h +120 -0
  464. package/external/folly/folly/Memory.h +900 -0
  465. package/external/folly/folly/MicroLock.cpp +76 -0
  466. package/external/folly/folly/MicroLock.h +354 -0
  467. package/external/folly/folly/MicroSpinLock.h +17 -0
  468. package/external/folly/folly/MoveWrapper.h +76 -0
  469. package/external/folly/folly/ObserverContainer.h +1026 -0
  470. package/external/folly/folly/Optional.h +743 -0
  471. package/external/folly/folly/Overload.h +325 -0
  472. package/external/folly/folly/PackedSyncPtr.h +147 -0
  473. package/external/folly/folly/Padded.h +464 -0
  474. package/external/folly/folly/Poly-inl.h +230 -0
  475. package/external/folly/folly/Poly.h +1095 -0
  476. package/external/folly/folly/PolyException.h +43 -0
  477. package/external/folly/folly/Portability.h +644 -0
  478. package/external/folly/folly/Preprocessor.h +236 -0
  479. package/external/folly/folly/ProducerConsumerQueue.h +182 -0
  480. package/external/folly/folly/RWSpinLock.h +17 -0
  481. package/external/folly/folly/Random-inl.h +86 -0
  482. package/external/folly/folly/Random.cpp +184 -0
  483. package/external/folly/folly/Random.h +434 -0
  484. package/external/folly/folly/Range.h +1772 -0
  485. package/external/folly/folly/Replaceable.h +636 -0
  486. package/external/folly/folly/ScopeGuard.cpp +29 -0
  487. package/external/folly/folly/ScopeGuard.h +420 -0
  488. package/external/folly/folly/SharedMutex.cpp +81 -0
  489. package/external/folly/folly/SharedMutex.h +1751 -0
  490. package/external/folly/folly/Singleton-inl.h +332 -0
  491. package/external/folly/folly/Singleton.cpp +512 -0
  492. package/external/folly/folly/Singleton.h +891 -0
  493. package/external/folly/folly/SingletonThreadLocal.cpp +53 -0
  494. package/external/folly/folly/SingletonThreadLocal.h +263 -0
  495. package/external/folly/folly/SocketAddress.cpp +786 -0
  496. package/external/folly/folly/SocketAddress.h +768 -0
  497. package/external/folly/folly/SpinLock.h +55 -0
  498. package/external/folly/folly/String-inl.h +668 -0
  499. package/external/folly/folly/String.cpp +777 -0
  500. package/external/folly/folly/String.h +767 -0
  501. package/external/folly/folly/Subprocess.cpp +1142 -0
  502. package/external/folly/folly/Subprocess.h +1055 -0
  503. package/external/folly/folly/Synchronized.h +1833 -0
  504. package/external/folly/folly/SynchronizedPtr.h +106 -0
  505. package/external/folly/folly/ThreadCachedInt.h +175 -0
  506. package/external/folly/folly/ThreadLocal.h +478 -0
  507. package/external/folly/folly/TimeoutQueue.cpp +78 -0
  508. package/external/folly/folly/TimeoutQueue.h +123 -0
  509. package/external/folly/folly/TokenBucket.h +673 -0
  510. package/external/folly/folly/Traits.h +1442 -0
  511. package/external/folly/folly/Try-inl.h +372 -0
  512. package/external/folly/folly/Try.cpp +23 -0
  513. package/external/folly/folly/Try.h +728 -0
  514. package/external/folly/folly/UTF8String.h +56 -0
  515. package/external/folly/folly/Unicode.cpp +201 -0
  516. package/external/folly/folly/Unicode.h +94 -0
  517. package/external/folly/folly/Unit.h +65 -0
  518. package/external/folly/folly/Uri-inl.h +101 -0
  519. package/external/folly/folly/Uri.cpp +190 -0
  520. package/external/folly/folly/Uri.h +142 -0
  521. package/external/folly/folly/Utility.h +932 -0
  522. package/external/folly/folly/VERSION +1 -0
  523. package/external/folly/folly/Varint.h +230 -0
  524. package/external/folly/folly/VirtualExecutor.h +17 -0
  525. package/external/folly/folly/algorithm/simd/BUCK +47 -0
  526. package/external/folly/folly/algorithm/simd/Contains.cpp +42 -0
  527. package/external/folly/folly/algorithm/simd/Contains.h +116 -0
  528. package/external/folly/folly/algorithm/simd/FindFixed.h +301 -0
  529. package/external/folly/folly/algorithm/simd/Ignore.h +52 -0
  530. package/external/folly/folly/algorithm/simd/Movemask.h +207 -0
  531. package/external/folly/folly/algorithm/simd/detail/BUCK +70 -0
  532. package/external/folly/folly/algorithm/simd/detail/ContainsImpl.h +91 -0
  533. package/external/folly/folly/algorithm/simd/detail/SimdAnyOf.h +83 -0
  534. package/external/folly/folly/algorithm/simd/detail/SimdForEach.h +209 -0
  535. package/external/folly/folly/algorithm/simd/detail/SimdPlatform.h +445 -0
  536. package/external/folly/folly/algorithm/simd/detail/Traits.h +125 -0
  537. package/external/folly/folly/algorithm/simd/detail/UnrollUtils.h +126 -0
  538. package/external/folly/folly/base64.h +264 -0
  539. package/external/folly/folly/chrono/BUCK +29 -0
  540. package/external/folly/folly/chrono/Clock.h +65 -0
  541. package/external/folly/folly/chrono/Conv.h +712 -0
  542. package/external/folly/folly/chrono/test/BUCK +26 -0
  543. package/external/folly/folly/chrono/test/ClockTest.cpp +68 -0
  544. package/external/folly/folly/chrono/test/ConvTest.cpp +652 -0
  545. package/external/folly/folly/concurrency/AtomicSharedPtr.h +387 -0
  546. package/external/folly/folly/concurrency/BUCK +170 -0
  547. package/external/folly/folly/concurrency/CacheLocality.h +460 -0
  548. package/external/folly/folly/concurrency/ConcurrentHashMap.h +822 -0
  549. package/external/folly/folly/concurrency/CoreCachedSharedPtr.h +232 -0
  550. package/external/folly/folly/concurrency/DeadlockDetector.cpp +27 -0
  551. package/external/folly/folly/concurrency/DeadlockDetector.h +44 -0
  552. package/external/folly/folly/concurrency/DynamicBoundedQueue.h +751 -0
  553. package/external/folly/folly/concurrency/PriorityUnboundedQueueSet.h +207 -0
  554. package/external/folly/folly/concurrency/ProcessLocalUniqueId.cpp +46 -0
  555. package/external/folly/folly/concurrency/ProcessLocalUniqueId.h +38 -0
  556. package/external/folly/folly/concurrency/SingletonRelaxedCounter.h +325 -0
  557. package/external/folly/folly/concurrency/ThreadCachedSynchronized.h +227 -0
  558. package/external/folly/folly/concurrency/UnboundedQueue.h +891 -0
  559. package/external/folly/folly/concurrency/container/BUCK +77 -0
  560. package/external/folly/folly/concurrency/container/FlatCombiningPriorityQueue.h +426 -0
  561. package/external/folly/folly/concurrency/container/LockFreeRingBuffer.h +306 -0
  562. package/external/folly/folly/concurrency/container/RelaxedConcurrentPriorityQueue.h +1212 -0
  563. package/external/folly/folly/concurrency/container/SingleWriterFixedHashMap.h +322 -0
  564. package/external/folly/folly/concurrency/container/atomic_grow_array.h +564 -0
  565. package/external/folly/folly/concurrency/container/test/BUCK +75 -0
  566. package/external/folly/folly/concurrency/container/test/FlatCombiningPriorityQueueTest.cpp +570 -0
  567. package/external/folly/folly/concurrency/container/test/LockFreeRingBufferTest.cpp +276 -0
  568. package/external/folly/folly/concurrency/container/test/RelaxedConcurrentPriorityQueueTest.cpp +1570 -0
  569. package/external/folly/folly/concurrency/container/test/SingleWriterFixedHashMapTest.cpp +401 -0
  570. package/external/folly/folly/concurrency/container/test/atomic_grow_array_test.cpp +187 -0
  571. package/external/folly/folly/concurrency/detail/AtomicSharedPtr-detail.h +212 -0
  572. package/external/folly/folly/concurrency/detail/ConcurrentHashMap-detail.h +1911 -0
  573. package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.cpp +43 -0
  574. package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.h +190 -0
  575. package/external/folly/folly/concurrency/memory/BUCK +53 -0
  576. package/external/folly/folly/concurrency/memory/PrimaryPtr.h +338 -0
  577. package/external/folly/folly/concurrency/memory/ReadMostlySharedPtr.h +511 -0
  578. package/external/folly/folly/concurrency/memory/TLRefCount.h +228 -0
  579. package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrBenchmark.cpp +56 -0
  580. package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrTest.cpp +454 -0
  581. package/external/folly/folly/concurrency/memory/test/BUCK +95 -0
  582. package/external/folly/folly/concurrency/memory/test/PrimaryPtrTest.cpp +303 -0
  583. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrBenchmark.cpp +138 -0
  584. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrStressTest.cpp +75 -0
  585. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrTest.cpp +378 -0
  586. package/external/folly/folly/concurrency/memory/test/RefCountBenchmark.cpp +90 -0
  587. package/external/folly/folly/concurrency/memory/test/RefCountTest.cpp +168 -0
  588. package/external/folly/folly/concurrency/test/AtomicSharedPtrCounted.h +156 -0
  589. package/external/folly/folly/concurrency/test/AtomicSharedPtrPerformance.cpp +255 -0
  590. package/external/folly/folly/concurrency/test/AtomicSharedPtrTest.cpp +257 -0
  591. package/external/folly/folly/concurrency/test/BUCK +229 -0
  592. package/external/folly/folly/concurrency/test/CacheLocalityBenchmark.cpp +392 -0
  593. package/external/folly/folly/concurrency/test/CacheLocalityTest.cpp +1229 -0
  594. package/external/folly/folly/concurrency/test/ConcurrentHashMapBench.cpp +260 -0
  595. package/external/folly/folly/concurrency/test/ConcurrentHashMapTest.cpp +1242 -0
  596. package/external/folly/folly/concurrency/test/CoreCachedSharedPtrTest.cpp +408 -0
  597. package/external/folly/folly/concurrency/test/DynamicBoundedQueueTest.cpp +984 -0
  598. package/external/folly/folly/concurrency/test/PriorityUnboundedQueueSetTest.cpp +73 -0
  599. package/external/folly/folly/concurrency/test/ProcessLocalUniqueIdTest.cpp +66 -0
  600. package/external/folly/folly/concurrency/test/SingletonRelaxedCounterBench.cpp +101 -0
  601. package/external/folly/folly/concurrency/test/SingletonRelaxedCounterTest.cpp +185 -0
  602. package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedBench.cpp +76 -0
  603. package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedTest.cpp +93 -0
  604. package/external/folly/folly/concurrency/test/UnboundedQueueTest.cpp +1302 -0
  605. package/external/folly/folly/container/Access.h +57 -0
  606. package/external/folly/folly/container/Array.h +87 -0
  607. package/external/folly/folly/container/BUCK +353 -0
  608. package/external/folly/folly/container/BitIterator.h +203 -0
  609. package/external/folly/folly/container/Enumerate.h +162 -0
  610. package/external/folly/folly/container/EvictingCacheMap.h +730 -0
  611. package/external/folly/folly/container/F14.md +300 -0
  612. package/external/folly/folly/container/F14Map-fwd.h +113 -0
  613. package/external/folly/folly/container/F14Map.h +2108 -0
  614. package/external/folly/folly/container/F14Set-fwd.h +95 -0
  615. package/external/folly/folly/container/F14Set.h +1603 -0
  616. package/external/folly/folly/container/FBVector.h +1711 -0
  617. package/external/folly/folly/container/Foreach-inl.h +316 -0
  618. package/external/folly/folly/container/Foreach.h +209 -0
  619. package/external/folly/folly/container/HeterogeneousAccess-fwd.h +33 -0
  620. package/external/folly/folly/container/HeterogeneousAccess.h +171 -0
  621. package/external/folly/folly/container/IntrusiveHeap.h +268 -0
  622. package/external/folly/folly/container/IntrusiveList.h +131 -0
  623. package/external/folly/folly/container/Iterator.h +843 -0
  624. package/external/folly/folly/container/MapUtil.h +376 -0
  625. package/external/folly/folly/container/Merge.h +90 -0
  626. package/external/folly/folly/container/RegexMatchCache.cpp +521 -0
  627. package/external/folly/folly/container/RegexMatchCache.h +699 -0
  628. package/external/folly/folly/container/Reserve.h +109 -0
  629. package/external/folly/folly/container/SparseByteSet.h +123 -0
  630. package/external/folly/folly/container/View.h +81 -0
  631. package/external/folly/folly/container/WeightedEvictingCacheMap.h +651 -0
  632. package/external/folly/folly/container/detail/BUCK +115 -0
  633. package/external/folly/folly/container/detail/BitIteratorDetail.h +87 -0
  634. package/external/folly/folly/container/detail/F14Defaults.h +34 -0
  635. package/external/folly/folly/container/detail/F14IntrinsicsAvailability.h +67 -0
  636. package/external/folly/folly/container/detail/F14MapFallback.h +717 -0
  637. package/external/folly/folly/container/detail/F14Mask.h +235 -0
  638. package/external/folly/folly/container/detail/F14Policy.h +1523 -0
  639. package/external/folly/folly/container/detail/F14SetFallback.h +528 -0
  640. package/external/folly/folly/container/detail/F14Table.cpp +71 -0
  641. package/external/folly/folly/container/detail/F14Table.h +2680 -0
  642. package/external/folly/folly/container/detail/Util.h +303 -0
  643. package/external/folly/folly/container/detail/tape_detail.h +135 -0
  644. package/external/folly/folly/container/detail/test/BUCK +14 -0
  645. package/external/folly/folly/container/detail/test/F14DetailTest.cpp +47 -0
  646. package/external/folly/folly/container/heap_vector_types.h +1683 -0
  647. package/external/folly/folly/container/range_traits.h +81 -0
  648. package/external/folly/folly/container/small_vector.h +1476 -0
  649. package/external/folly/folly/container/sorted_vector_types.h +1652 -0
  650. package/external/folly/folly/container/span.h +408 -0
  651. package/external/folly/folly/container/tape.h +608 -0
  652. package/external/folly/folly/container/test/.clang-tidy +12 -0
  653. package/external/folly/folly/container/test/AccessTest.cpp +138 -0
  654. package/external/folly/folly/container/test/ArrayTest.cpp +84 -0
  655. package/external/folly/folly/container/test/BUCK +568 -0
  656. package/external/folly/folly/container/test/BitIteratorBench.cpp +112 -0
  657. package/external/folly/folly/container/test/BitIteratorTest.cpp +109 -0
  658. package/external/folly/folly/container/test/EnumerateTest.cpp +294 -0
  659. package/external/folly/folly/container/test/EvictingCacheMapBench.cpp +80 -0
  660. package/external/folly/folly/container/test/EvictingCacheMapTest.cpp +842 -0
  661. package/external/folly/folly/container/test/F14AsanSupportTest.cpp +143 -0
  662. package/external/folly/folly/container/test/F14FwdTest.cpp +37 -0
  663. package/external/folly/folly/container/test/F14InterprocessTest.cpp +404 -0
  664. package/external/folly/folly/container/test/F14MapTest.cpp +2543 -0
  665. package/external/folly/folly/container/test/F14PolicyTest.cpp +49 -0
  666. package/external/folly/folly/container/test/F14SetTest.cpp +1738 -0
  667. package/external/folly/folly/container/test/F14SmallOverheads.cpp +215 -0
  668. package/external/folly/folly/container/test/F14TestUtil.h +117 -0
  669. package/external/folly/folly/container/test/FBVectorBenchmark.cpp +380 -0
  670. package/external/folly/folly/container/test/FBVectorBenchmarks.cpp.h +100 -0
  671. package/external/folly/folly/container/test/FBVectorTest.cpp +326 -0
  672. package/external/folly/folly/container/test/FBVectorTests.cpp.h +304 -0
  673. package/external/folly/folly/container/test/ForeachBenchmark.cpp +388 -0
  674. package/external/folly/folly/container/test/ForeachTest.cpp +338 -0
  675. package/external/folly/folly/container/test/HashMapsBench.cpp +458 -0
  676. package/external/folly/folly/container/test/HeterogeneousAccessTest.cpp +242 -0
  677. package/external/folly/folly/container/test/IntrusiveHeapTest.cpp +262 -0
  678. package/external/folly/folly/container/test/IteratorTest.cpp +989 -0
  679. package/external/folly/folly/container/test/MapUtilTest.cpp +365 -0
  680. package/external/folly/folly/container/test/MergeTest.cpp +66 -0
  681. package/external/folly/folly/container/test/RegexMatchCacheTest.cpp +634 -0
  682. package/external/folly/folly/container/test/ReserveTest.cpp +173 -0
  683. package/external/folly/folly/container/test/SparseByteSetBenchmark.cpp +153 -0
  684. package/external/folly/folly/container/test/SparseByteSetTest.cpp +117 -0
  685. package/external/folly/folly/container/test/TrackingTypes.h +584 -0
  686. package/external/folly/folly/container/test/UtilTest.cpp +609 -0
  687. package/external/folly/folly/container/test/WeightedEvictingCacheMapTest.cpp +800 -0
  688. package/external/folly/folly/container/test/heap_vector_types_test.cpp +1774 -0
  689. package/external/folly/folly/container/test/range_traits_test.cpp +59 -0
  690. package/external/folly/folly/container/test/small_vector_test.cpp +1571 -0
  691. package/external/folly/folly/container/test/sorted_vector_test.cpp +1589 -0
  692. package/external/folly/folly/container/test/span_test.cpp +520 -0
  693. package/external/folly/folly/container/test/tape_bench.cpp +200 -0
  694. package/external/folly/folly/container/test/tape_test.cpp +590 -0
  695. package/external/folly/folly/defs.bzl +238 -0
  696. package/external/folly/folly/detail/AsyncTrace.cpp +36 -0
  697. package/external/folly/folly/detail/AsyncTrace.h +44 -0
  698. package/external/folly/folly/detail/AtomicHashUtils.h +42 -0
  699. package/external/folly/folly/detail/AtomicUnorderedMapUtils.h +80 -0
  700. package/external/folly/folly/detail/BUCK +406 -0
  701. package/external/folly/folly/detail/DiscriminatedPtrDetail.h +172 -0
  702. package/external/folly/folly/detail/FileUtilDetail.cpp +63 -0
  703. package/external/folly/folly/detail/FileUtilDetail.h +85 -0
  704. package/external/folly/folly/detail/FileUtilVectorDetail.h +81 -0
  705. package/external/folly/folly/detail/FingerprintPolynomial.h +132 -0
  706. package/external/folly/folly/detail/Futex-inl.h +123 -0
  707. package/external/folly/folly/detail/Futex.cpp +273 -0
  708. package/external/folly/folly/detail/Futex.h +109 -0
  709. package/external/folly/folly/detail/GroupVarintDetail.h +101 -0
  710. package/external/folly/folly/detail/IPAddress.cpp +37 -0
  711. package/external/folly/folly/detail/IPAddress.h +57 -0
  712. package/external/folly/folly/detail/IPAddressSource.h +278 -0
  713. package/external/folly/folly/detail/Iterators.h +156 -0
  714. package/external/folly/folly/detail/MPMCPipelineDetail.h +122 -0
  715. package/external/folly/folly/detail/MemoryIdler.cpp +233 -0
  716. package/external/folly/folly/detail/MemoryIdler.h +216 -0
  717. package/external/folly/folly/detail/PerfScoped.cpp +112 -0
  718. package/external/folly/folly/detail/PerfScoped.h +70 -0
  719. package/external/folly/folly/detail/PolyDetail.h +921 -0
  720. package/external/folly/folly/detail/RangeCommon.cpp +55 -0
  721. package/external/folly/folly/detail/RangeCommon.h +93 -0
  722. package/external/folly/folly/detail/RangeSse42.cpp +198 -0
  723. package/external/folly/folly/detail/RangeSse42.h +30 -0
  724. package/external/folly/folly/detail/SimpleSimdStringUtils.cpp +31 -0
  725. package/external/folly/folly/detail/SimpleSimdStringUtils.h +27 -0
  726. package/external/folly/folly/detail/SimpleSimdStringUtilsImpl.h +63 -0
  727. package/external/folly/folly/detail/Singleton.h +34 -0
  728. package/external/folly/folly/detail/SlowFingerprint.h +90 -0
  729. package/external/folly/folly/detail/SocketFastOpen.cpp +175 -0
  730. package/external/folly/folly/detail/SocketFastOpen.h +89 -0
  731. package/external/folly/folly/detail/SplitStringSimd.cpp +84 -0
  732. package/external/folly/folly/detail/SplitStringSimd.h +151 -0
  733. package/external/folly/folly/detail/SplitStringSimdImpl.h +149 -0
  734. package/external/folly/folly/detail/Sse.cpp +35 -0
  735. package/external/folly/folly/detail/Sse.h +45 -0
  736. package/external/folly/folly/detail/StaticSingletonManager.cpp +119 -0
  737. package/external/folly/folly/detail/StaticSingletonManager.h +298 -0
  738. package/external/folly/folly/detail/ThreadLocalDetail.cpp +492 -0
  739. package/external/folly/folly/detail/ThreadLocalDetail.h +800 -0
  740. package/external/folly/folly/detail/TrapOnAvx512.cpp +41 -0
  741. package/external/folly/folly/detail/TrapOnAvx512.h +21 -0
  742. package/external/folly/folly/detail/TurnSequencer.h +295 -0
  743. package/external/folly/folly/detail/TypeList.h +551 -0
  744. package/external/folly/folly/detail/UniqueInstance.cpp +136 -0
  745. package/external/folly/folly/detail/UniqueInstance.h +68 -0
  746. package/external/folly/folly/detail/base64_detail/BUCK +102 -0
  747. package/external/folly/folly/detail/base64_detail/Base64Api.cpp +40 -0
  748. package/external/folly/folly/detail/base64_detail/Base64Api.h +101 -0
  749. package/external/folly/folly/detail/base64_detail/Base64Common.h +80 -0
  750. package/external/folly/folly/detail/base64_detail/Base64Constants.h +79 -0
  751. package/external/folly/folly/detail/base64_detail/Base64HiddenConstants.h +129 -0
  752. package/external/folly/folly/detail/base64_detail/Base64SWAR.cpp +161 -0
  753. package/external/folly/folly/detail/base64_detail/Base64SWAR.h +32 -0
  754. package/external/folly/folly/detail/base64_detail/Base64Scalar.h +262 -0
  755. package/external/folly/folly/detail/base64_detail/Base64Simd.h +102 -0
  756. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.cpp +42 -0
  757. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.h +33 -0
  758. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2_Platform.h +167 -0
  759. package/external/folly/folly/detail/base64_detail/README.md +392 -0
  760. package/external/folly/folly/detail/base64_detail/tests/BUCK +36 -0
  761. package/external/folly/folly/detail/base64_detail/tests/Base64AgainstScalarTest.cpp +141 -0
  762. package/external/folly/folly/detail/base64_detail/tests/Base64PlatformTest.cpp +273 -0
  763. package/external/folly/folly/detail/base64_detail/tests/Base64SpecialCasesTest.cpp +555 -0
  764. package/external/folly/folly/detail/test/AsyncTraceTest.cpp +43 -0
  765. package/external/folly/folly/detail/test/BUCK +118 -0
  766. package/external/folly/folly/detail/test/FileUtilDetailTest.cpp +56 -0
  767. package/external/folly/folly/detail/test/PerfScopedTest.cpp +107 -0
  768. package/external/folly/folly/detail/test/SimpleSimdStringUtilsTest.cpp +92 -0
  769. package/external/folly/folly/detail/test/SplitStringSimdTest.cpp +242 -0
  770. package/external/folly/folly/detail/test/StaticSingletonManagerTest.cpp +121 -0
  771. package/external/folly/folly/detail/test/ThreadLocalBenchmark.cpp +116 -0
  772. package/external/folly/folly/detail/test/ThreadLocalDetailTest.cpp +194 -0
  773. package/external/folly/folly/detail/test/TrapOnAvx512TestNegative.cpp +29 -0
  774. package/external/folly/folly/detail/test/UniqueInstanceTest.cpp +60 -0
  775. package/external/folly/folly/detail/thread_local_globals.cpp +69 -0
  776. package/external/folly/folly/detail/thread_local_globals.h +36 -0
  777. package/external/folly/folly/docs/AtomicHashMap.md +134 -0
  778. package/external/folly/folly/docs/Benchmark.md +310 -0
  779. package/external/folly/folly/docs/Conv.md +291 -0
  780. package/external/folly/folly/docs/Dynamic.md +220 -0
  781. package/external/folly/folly/docs/DynamicConverter.md +71 -0
  782. package/external/folly/folly/docs/Executors.md +63 -0
  783. package/external/folly/folly/docs/FBString.md +46 -0
  784. package/external/folly/folly/docs/FBVector.md +200 -0
  785. package/external/folly/folly/docs/Fbvector--graphical_solutions.png +0 -0
  786. package/external/folly/folly/docs/Format.md +177 -0
  787. package/external/folly/folly/docs/Function.md +92 -0
  788. package/external/folly/folly/docs/Futures.md +263 -0
  789. package/external/folly/folly/docs/GroupVarint.md +46 -0
  790. package/external/folly/folly/docs/Histogram.md +104 -0
  791. package/external/folly/folly/docs/MapUtils.md +80 -0
  792. package/external/folly/folly/docs/Overview.md +263 -0
  793. package/external/folly/folly/docs/PackedSyncPtr.md +77 -0
  794. package/external/folly/folly/docs/Poly.md +500 -0
  795. package/external/folly/folly/docs/ProducerConsumerQueue.md +82 -0
  796. package/external/folly/folly/docs/Rcu.md +218 -0
  797. package/external/folly/folly/docs/SmallLocks.md +24 -0
  798. package/external/folly/folly/docs/Synchronized.md +793 -0
  799. package/external/folly/folly/docs/ThreadCachedInt.md +98 -0
  800. package/external/folly/folly/docs/ThreadLocal.md +105 -0
  801. package/external/folly/folly/docs/Traits.md +161 -0
  802. package/external/folly/folly/docs/small_vector.md +64 -0
  803. package/external/folly/folly/docs/style.css +23 -0
  804. package/external/folly/folly/dynamic-inl.h +17 -0
  805. package/external/folly/folly/dynamic.h +17 -0
  806. package/external/folly/folly/folly_extended_library.bzl +28 -0
  807. package/external/folly/folly/functional/ApplyTuple.h +204 -0
  808. package/external/folly/folly/functional/BUCK +57 -0
  809. package/external/folly/folly/functional/Invoke.h +880 -0
  810. package/external/folly/folly/functional/Partial.h +130 -0
  811. package/external/folly/folly/functional/protocol.h +203 -0
  812. package/external/folly/folly/functional/test/ApplyTupleTest.cpp +549 -0
  813. package/external/folly/folly/functional/test/BUCK +57 -0
  814. package/external/folly/folly/functional/test/InvokeTest.cpp +483 -0
  815. package/external/folly/folly/functional/test/PartialTest.cpp +141 -0
  816. package/external/folly/folly/functional/test/protocol_test.cpp +177 -0
  817. package/external/folly/folly/functional/test/traits_test.cpp +551 -0
  818. package/external/folly/folly/functional/traits.h +675 -0
  819. package/external/folly/folly/hash/BUCK +86 -0
  820. package/external/folly/folly/hash/Checksum.cpp +275 -0
  821. package/external/folly/folly/hash/Checksum.h +94 -0
  822. package/external/folly/folly/hash/FarmHash.h +46 -0
  823. package/external/folly/folly/hash/Hash.h +1045 -0
  824. package/external/folly/folly/hash/MurmurHash.h +86 -0
  825. package/external/folly/folly/hash/SpookyHashV1.cpp +391 -0
  826. package/external/folly/folly/hash/SpookyHashV1.h +307 -0
  827. package/external/folly/folly/hash/SpookyHashV2.cpp +392 -0
  828. package/external/folly/folly/hash/SpookyHashV2.h +339 -0
  829. package/external/folly/folly/hash/detail/BUCK +26 -0
  830. package/external/folly/folly/hash/detail/ChecksumDetail.cpp +296 -0
  831. package/external/folly/folly/hash/detail/ChecksumDetail.h +137 -0
  832. package/external/folly/folly/hash/detail/Crc32CombineDetail.cpp +191 -0
  833. package/external/folly/folly/hash/detail/Crc32cDetail.cpp +303 -0
  834. package/external/folly/folly/hash/test/BUCK +132 -0
  835. package/external/folly/folly/hash/test/ChecksumBenchmark.cpp +91 -0
  836. package/external/folly/folly/hash/test/ChecksumTest.cpp +587 -0
  837. package/external/folly/folly/hash/test/FarmHashTest.cpp +41 -0
  838. package/external/folly/folly/hash/test/HashBenchmark.cpp +238 -0
  839. package/external/folly/folly/hash/test/HashTest.cpp +997 -0
  840. package/external/folly/folly/hash/test/MurmurHashTest.cpp +76 -0
  841. package/external/folly/folly/hash/test/SpookyHashV1Test.cpp +559 -0
  842. package/external/folly/folly/hash/test/SpookyHashV2Test.cpp +549 -0
  843. package/external/folly/folly/hash/test/traits_test.cpp +69 -0
  844. package/external/folly/folly/hash/traits.h +115 -0
  845. package/external/folly/folly/json/BUCK +155 -0
  846. package/external/folly/folly/json/DynamicConverter.h +464 -0
  847. package/external/folly/folly/json/DynamicParser-inl.h +316 -0
  848. package/external/folly/folly/json/DynamicParser.cpp +198 -0
  849. package/external/folly/folly/json/DynamicParser.h +394 -0
  850. package/external/folly/folly/json/JSONSchema.cpp +1030 -0
  851. package/external/folly/folly/json/JSONSchema.h +73 -0
  852. package/external/folly/folly/json/JsonMockUtil.h +73 -0
  853. package/external/folly/folly/json/JsonTestUtil.cpp +167 -0
  854. package/external/folly/folly/json/JsonTestUtil.h +88 -0
  855. package/external/folly/folly/json/bser/BUCK +24 -0
  856. package/external/folly/folly/json/bser/Bser.h +107 -0
  857. package/external/folly/folly/json/bser/Dump.cpp +253 -0
  858. package/external/folly/folly/json/bser/Load.cpp +246 -0
  859. package/external/folly/folly/json/bser/test/BUCK +14 -0
  860. package/external/folly/folly/json/bser/test/BserTest.cpp +149 -0
  861. package/external/folly/folly/json/dynamic.cpp +552 -0
  862. package/external/folly/folly/json/dynamic.h +1346 -0
  863. package/external/folly/folly/json/json.h +238 -0
  864. package/external/folly/folly/json/json_patch.cpp +325 -0
  865. package/external/folly/folly/json/json_patch.h +126 -0
  866. package/external/folly/folly/json/json_pointer.cpp +114 -0
  867. package/external/folly/folly/json/json_pointer.h +87 -0
  868. package/external/folly/folly/json/test/BUCK +147 -0
  869. package/external/folly/folly/json/test/DynamicBenchmark.cpp +146 -0
  870. package/external/folly/folly/json/test/DynamicConverterTest.cpp +518 -0
  871. package/external/folly/folly/json/test/DynamicOtherTest.cpp +344 -0
  872. package/external/folly/folly/json/test/DynamicParserTest.cpp +443 -0
  873. package/external/folly/folly/json/test/DynamicTest.cpp +1647 -0
  874. package/external/folly/folly/json/test/JSONSchemaTest.cpp +450 -0
  875. package/external/folly/folly/json/test/JsonBenchmark.cpp +264 -0
  876. package/external/folly/folly/json/test/JsonOtherTest.cpp +51 -0
  877. package/external/folly/folly/json/test/JsonTest.cpp +1153 -0
  878. package/external/folly/folly/json/test/JsonTestUtilTest.cpp +97 -0
  879. package/external/folly/folly/json/test/json_patch_test.cpp +361 -0
  880. package/external/folly/folly/json/test/json_pointer_test.cpp +58 -0
  881. package/external/folly/folly/json/tool/BUCK +13 -0
  882. package/external/folly/folly/json/tool/JSONSchemaTester.cpp +58 -0
  883. package/external/folly/folly/json.h +17 -0
  884. package/external/folly/folly/json_patch.h +17 -0
  885. package/external/folly/folly/json_pointer.h +17 -0
  886. package/external/folly/folly/lang/Access.h +29 -0
  887. package/external/folly/folly/lang/Align.h +240 -0
  888. package/external/folly/folly/lang/Aligned.h +92 -0
  889. package/external/folly/folly/lang/Assume.h +82 -0
  890. package/external/folly/folly/lang/BUCK +287 -0
  891. package/external/folly/folly/lang/Badge.h +108 -0
  892. package/external/folly/folly/lang/Bits.h +570 -0
  893. package/external/folly/folly/lang/BitsClass.h +312 -0
  894. package/external/folly/folly/lang/Builtin.h +74 -0
  895. package/external/folly/folly/lang/CArray.h +34 -0
  896. package/external/folly/folly/lang/CString.cpp +86 -0
  897. package/external/folly/folly/lang/CString.h +55 -0
  898. package/external/folly/folly/lang/Cast.h +51 -0
  899. package/external/folly/folly/lang/CheckedMath.h +253 -0
  900. package/external/folly/folly/lang/CustomizationPoint.h +58 -0
  901. package/external/folly/folly/lang/Exception.cpp +822 -0
  902. package/external/folly/folly/lang/Exception.h +716 -0
  903. package/external/folly/folly/lang/Extern.h +55 -0
  904. package/external/folly/folly/lang/Hint-inl.h +144 -0
  905. package/external/folly/folly/lang/Hint.h +238 -0
  906. package/external/folly/folly/lang/Keep.h +98 -0
  907. package/external/folly/folly/lang/New.h +124 -0
  908. package/external/folly/folly/lang/Ordering.h +140 -0
  909. package/external/folly/folly/lang/Pretty.h +159 -0
  910. package/external/folly/folly/lang/PropagateConst.h +413 -0
  911. package/external/folly/folly/lang/RValueReferenceWrapper.h +152 -0
  912. package/external/folly/folly/lang/SafeAssert.cpp +589 -0
  913. package/external/folly/folly/lang/StaticConst.h +33 -0
  914. package/external/folly/folly/lang/Thunk.h +100 -0
  915. package/external/folly/folly/lang/TypeInfo.h +58 -0
  916. package/external/folly/folly/lang/UncaughtExceptions.cpp +17 -0
  917. package/external/folly/folly/lang/UncaughtExceptions.h +19 -0
  918. package/external/folly/folly/lang/test/AlignTest.cpp +87 -0
  919. package/external/folly/folly/lang/test/AlignedTest.cpp +130 -0
  920. package/external/folly/folly/lang/test/BUCK +258 -0
  921. package/external/folly/folly/lang/test/BadgeTest.cpp +89 -0
  922. package/external/folly/folly/lang/test/BitsBenchmark.cpp +164 -0
  923. package/external/folly/folly/lang/test/BitsClassBenchmark.cpp +122 -0
  924. package/external/folly/folly/lang/test/BitsClassTest.cpp +379 -0
  925. package/external/folly/folly/lang/test/BitsTest.cpp +577 -0
  926. package/external/folly/folly/lang/test/CStringTest.cpp +60 -0
  927. package/external/folly/folly/lang/test/CastTest.cpp +47 -0
  928. package/external/folly/folly/lang/test/CheckedMathTest.cpp +394 -0
  929. package/external/folly/folly/lang/test/ExceptionBench.cpp +427 -0
  930. package/external/folly/folly/lang/test/ExceptionTest.cpp +413 -0
  931. package/external/folly/folly/lang/test/ExternTest.cpp +39 -0
  932. package/external/folly/folly/lang/test/HintTest.cpp +100 -0
  933. package/external/folly/folly/lang/test/NewTest.cpp +38 -0
  934. package/external/folly/folly/lang/test/OrderingTest.cpp +105 -0
  935. package/external/folly/folly/lang/test/PrettyTest.cpp +44 -0
  936. package/external/folly/folly/lang/test/PropagateConstTest.cpp +356 -0
  937. package/external/folly/folly/lang/test/RValueReferenceWrapperTest.cpp +85 -0
  938. package/external/folly/folly/lang/test/SafeAssertTest.cpp +75 -0
  939. package/external/folly/folly/lang/test/ThunkTest.cpp +105 -0
  940. package/external/folly/folly/lang/test/ToAsciiBench.cpp +466 -0
  941. package/external/folly/folly/lang/test/ToAsciiTest.cpp +266 -0
  942. package/external/folly/folly/lang/test/TypeInfoTest.cpp +56 -0
  943. package/external/folly/folly/memcpy.S +292 -0
  944. package/external/folly/folly/memcpy_select_aarch64.cpp +145 -0
  945. package/external/folly/folly/memory/Arena-inl.h +83 -0
  946. package/external/folly/folly/memory/Arena.h +325 -0
  947. package/external/folly/folly/memory/BUCK +191 -0
  948. package/external/folly/folly/memory/JemallocHugePageAllocator.cpp +449 -0
  949. package/external/folly/folly/memory/JemallocHugePageAllocator.h +105 -0
  950. package/external/folly/folly/memory/JemallocHugePageAllocatorTest.cpp +341 -0
  951. package/external/folly/folly/memory/JemallocNodumpAllocator.cpp +176 -0
  952. package/external/folly/folly/memory/JemallocNodumpAllocator.h +119 -0
  953. package/external/folly/folly/memory/JemallocNodumpAllocatorTest.cpp +61 -0
  954. package/external/folly/folly/memory/MallctlHelper.cpp +37 -0
  955. package/external/folly/folly/memory/MallctlHelper.h +167 -0
  956. package/external/folly/folly/memory/Malloc.h +551 -0
  957. package/external/folly/folly/memory/MemoryResource.h +57 -0
  958. package/external/folly/folly/memory/ReentrantAllocator.cpp +162 -0
  959. package/external/folly/folly/memory/ReentrantAllocator.h +261 -0
  960. package/external/folly/folly/memory/SanitizeAddress.cpp +75 -0
  961. package/external/folly/folly/memory/SanitizeAddress.h +117 -0
  962. package/external/folly/folly/memory/SanitizeLeak.cpp +119 -0
  963. package/external/folly/folly/memory/SanitizeLeak.h +108 -0
  964. package/external/folly/folly/memory/ThreadCachedArena.cpp +53 -0
  965. package/external/folly/folly/memory/ThreadCachedArena.h +90 -0
  966. package/external/folly/folly/memory/UninitializedMemoryHacks.h +426 -0
  967. package/external/folly/folly/memory/detail/BUCK +10 -0
  968. package/external/folly/folly/memory/detail/MallocImpl.cpp +52 -0
  969. package/external/folly/folly/memory/detail/MallocImpl.h +97 -0
  970. package/external/folly/folly/memory/not_null-inl.h +522 -0
  971. package/external/folly/folly/memory/not_null.h +449 -0
  972. package/external/folly/folly/memory/test/ArenaTest.cpp +354 -0
  973. package/external/folly/folly/memory/test/BUCK +146 -0
  974. package/external/folly/folly/memory/test/MallctlHelperTest.cpp +169 -0
  975. package/external/folly/folly/memory/test/MallocBenchmark.cpp +91 -0
  976. package/external/folly/folly/memory/test/MallocTest.cpp +78 -0
  977. package/external/folly/folly/memory/test/MemoryResourceTest.cpp +31 -0
  978. package/external/folly/folly/memory/test/ReentrantAllocatorTest.cpp +144 -0
  979. package/external/folly/folly/memory/test/SanitizeAddressTest.cpp +67 -0
  980. package/external/folly/folly/memory/test/SanitizeLeakTest.cpp +139 -0
  981. package/external/folly/folly/memory/test/ThreadCachedArenaTest.cpp +276 -0
  982. package/external/folly/folly/memory/test/UninitializedMemoryHacksODR.cpp +21 -0
  983. package/external/folly/folly/memory/test/UninitializedMemoryHacksTest.cpp +327 -0
  984. package/external/folly/folly/memory/test/not_null_test.cpp +608 -0
  985. package/external/folly/folly/memset.S +245 -0
  986. package/external/folly/folly/memset_select_aarch64.cpp +72 -0
  987. package/external/folly/folly/portability/Asm.h +50 -0
  988. package/external/folly/folly/portability/Atomic.h +31 -0
  989. package/external/folly/folly/portability/BUCK +456 -0
  990. package/external/folly/folly/portability/Builtins.cpp +31 -0
  991. package/external/folly/folly/portability/Builtins.h +161 -0
  992. package/external/folly/folly/portability/Config.h +43 -0
  993. package/external/folly/folly/portability/Constexpr.h +145 -0
  994. package/external/folly/folly/portability/Dirent.cpp +140 -0
  995. package/external/folly/folly/portability/Dirent.h +41 -0
  996. package/external/folly/folly/portability/Event.h +44 -0
  997. package/external/folly/folly/portability/Fcntl.cpp +120 -0
  998. package/external/folly/folly/portability/Fcntl.h +67 -0
  999. package/external/folly/folly/portability/Filesystem.cpp +67 -0
  1000. package/external/folly/folly/portability/Filesystem.h +114 -0
  1001. package/external/folly/folly/portability/FmtCompile.h +40 -0
  1002. package/external/folly/folly/portability/GFlags.h +139 -0
  1003. package/external/folly/folly/portability/GMock.h +35 -0
  1004. package/external/folly/folly/portability/GTest.h +35 -0
  1005. package/external/folly/folly/portability/IOVec.h +34 -0
  1006. package/external/folly/folly/portability/Libgen.cpp +59 -0
  1007. package/external/folly/folly/portability/Libgen.h +29 -0
  1008. package/external/folly/folly/portability/Libunwind.h +21 -0
  1009. package/external/folly/folly/portability/Malloc.cpp +31 -0
  1010. package/external/folly/folly/portability/Malloc.h +53 -0
  1011. package/external/folly/folly/portability/Math.h +90 -0
  1012. package/external/folly/folly/portability/Memory.h +26 -0
  1013. package/external/folly/folly/portability/OpenSSL.cpp +17 -0
  1014. package/external/folly/folly/portability/OpenSSL.h +102 -0
  1015. package/external/folly/folly/portability/PThread.cpp +697 -0
  1016. package/external/folly/folly/portability/PThread.h +148 -0
  1017. package/external/folly/folly/portability/README.md +21 -0
  1018. package/external/folly/folly/portability/Sched.cpp +41 -0
  1019. package/external/folly/folly/portability/Sched.h +45 -0
  1020. package/external/folly/folly/portability/Sockets.cpp +245 -0
  1021. package/external/folly/folly/portability/Sockets.h +155 -0
  1022. package/external/folly/folly/portability/SourceLocation.h +49 -0
  1023. package/external/folly/folly/portability/Stdio.cpp +77 -0
  1024. package/external/folly/folly/portability/Stdio.h +32 -0
  1025. package/external/folly/folly/portability/Stdlib.cpp +172 -0
  1026. package/external/folly/folly/portability/Stdlib.h +64 -0
  1027. package/external/folly/folly/portability/String.cpp +53 -0
  1028. package/external/folly/folly/portability/String.h +39 -0
  1029. package/external/folly/folly/portability/SysFile.cpp +46 -0
  1030. package/external/folly/folly/portability/SysFile.h +27 -0
  1031. package/external/folly/folly/portability/SysMembarrier.cpp +104 -0
  1032. package/external/folly/folly/portability/SysMembarrier.h +26 -0
  1033. package/external/folly/folly/portability/SysMman.cpp +242 -0
  1034. package/external/folly/folly/portability/SysMman.h +68 -0
  1035. package/external/folly/folly/portability/SysResource.cpp +108 -0
  1036. package/external/folly/folly/portability/SysResource.h +71 -0
  1037. package/external/folly/folly/portability/SysStat.cpp +66 -0
  1038. package/external/folly/folly/portability/SysStat.h +52 -0
  1039. package/external/folly/folly/portability/SysSyscall.h +73 -0
  1040. package/external/folly/folly/portability/SysTime.cpp +62 -0
  1041. package/external/folly/folly/portability/SysTime.h +50 -0
  1042. package/external/folly/folly/portability/SysTypes.h +44 -0
  1043. package/external/folly/folly/portability/SysUio.cpp +179 -0
  1044. package/external/folly/folly/portability/SysUio.h +51 -0
  1045. package/external/folly/folly/portability/Syslog.h +39 -0
  1046. package/external/folly/folly/portability/Time.cpp +357 -0
  1047. package/external/folly/folly/portability/Time.h +74 -0
  1048. package/external/folly/folly/portability/Unistd.h +111 -0
  1049. package/external/folly/folly/portability/Windows.h +108 -0
  1050. package/external/folly/folly/portability/openat2.c +30 -0
  1051. package/external/folly/folly/portability/openat2.h +39 -0
  1052. package/external/folly/folly/portability/test/BUCK +59 -0
  1053. package/external/folly/folly/portability/test/ConstexprTest.cpp +102 -0
  1054. package/external/folly/folly/portability/test/FilesystemTest.cpp +35 -0
  1055. package/external/folly/folly/portability/test/LibgenTest.cpp +35 -0
  1056. package/external/folly/folly/portability/test/OpenSSLPortabilityTest.cpp +108 -0
  1057. package/external/folly/folly/portability/test/PThreadTest.cpp +80 -0
  1058. package/external/folly/folly/portability/test/TimeTest.cpp +90 -0
  1059. package/external/folly/folly/small_vector.h +17 -0
  1060. package/external/folly/folly/somerge_defs.bzl +399 -0
  1061. package/external/folly/folly/sorted_vector_types.h +17 -0
  1062. package/external/folly/folly/stop_watch.h +317 -0
  1063. package/external/folly/folly/synchronization/AsymmetricThreadFence.cpp +91 -0
  1064. package/external/folly/folly/synchronization/AsymmetricThreadFence.h +60 -0
  1065. package/external/folly/folly/synchronization/AtomicNotification-inl.h +146 -0
  1066. package/external/folly/folly/synchronization/AtomicNotification.cpp +34 -0
  1067. package/external/folly/folly/synchronization/AtomicNotification.h +117 -0
  1068. package/external/folly/folly/synchronization/AtomicRef.h +181 -0
  1069. package/external/folly/folly/synchronization/AtomicStruct.h +150 -0
  1070. package/external/folly/folly/synchronization/AtomicUtil-inl.h +482 -0
  1071. package/external/folly/folly/synchronization/AtomicUtil.h +179 -0
  1072. package/external/folly/folly/synchronization/BUCK +418 -0
  1073. package/external/folly/folly/synchronization/Baton.h +419 -0
  1074. package/external/folly/folly/synchronization/CallOnce.h +263 -0
  1075. package/external/folly/folly/synchronization/DelayedInit.h +179 -0
  1076. package/external/folly/folly/synchronization/DistributedMutex-inl.h +1744 -0
  1077. package/external/folly/folly/synchronization/DistributedMutex.cpp +27 -0
  1078. package/external/folly/folly/synchronization/DistributedMutex.h +342 -0
  1079. package/external/folly/folly/synchronization/EventCount.h +200 -0
  1080. package/external/folly/folly/synchronization/FlatCombining.h +629 -0
  1081. package/external/folly/folly/synchronization/Hazptr-fwd.h +217 -0
  1082. package/external/folly/folly/synchronization/Hazptr.cpp +36 -0
  1083. package/external/folly/folly/synchronization/Hazptr.h +209 -0
  1084. package/external/folly/folly/synchronization/HazptrDomain.cpp +68 -0
  1085. package/external/folly/folly/synchronization/HazptrDomain.h +832 -0
  1086. package/external/folly/folly/synchronization/HazptrHolder.h +431 -0
  1087. package/external/folly/folly/synchronization/HazptrObj.h +533 -0
  1088. package/external/folly/folly/synchronization/HazptrObjLinked.h +315 -0
  1089. package/external/folly/folly/synchronization/HazptrRec.h +68 -0
  1090. package/external/folly/folly/synchronization/HazptrThrLocal.h +180 -0
  1091. package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.cpp +46 -0
  1092. package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.h +25 -0
  1093. package/external/folly/folly/synchronization/Latch.h +160 -0
  1094. package/external/folly/folly/synchronization/LifoSem.h +767 -0
  1095. package/external/folly/folly/synchronization/Lock.h +887 -0
  1096. package/external/folly/folly/synchronization/MicroSpinLock.h +154 -0
  1097. package/external/folly/folly/synchronization/NativeSemaphore.h +187 -0
  1098. package/external/folly/folly/synchronization/ParkingLot.cpp +37 -0
  1099. package/external/folly/folly/synchronization/ParkingLot.h +330 -0
  1100. package/external/folly/folly/synchronization/PicoSpinLock.h +167 -0
  1101. package/external/folly/folly/synchronization/RWSpinLock.h +549 -0
  1102. package/external/folly/folly/synchronization/Rcu.cpp +26 -0
  1103. package/external/folly/folly/synchronization/Rcu.h +553 -0
  1104. package/external/folly/folly/synchronization/RelaxedAtomic.h +336 -0
  1105. package/external/folly/folly/synchronization/SanitizeThread.cpp +141 -0
  1106. package/external/folly/folly/synchronization/SanitizeThread.h +166 -0
  1107. package/external/folly/folly/synchronization/SaturatingSemaphore.h +324 -0
  1108. package/external/folly/folly/synchronization/SmallLocks.h +36 -0
  1109. package/external/folly/folly/synchronization/ThrottledLifoSem.h +362 -0
  1110. package/external/folly/folly/synchronization/WaitOptions.cpp +25 -0
  1111. package/external/folly/folly/synchronization/WaitOptions.h +75 -0
  1112. package/external/folly/folly/synchronization/detail/AtomicUtils.h +59 -0
  1113. package/external/folly/folly/synchronization/detail/BUCK +104 -0
  1114. package/external/folly/folly/synchronization/detail/Hardware.cpp +192 -0
  1115. package/external/folly/folly/synchronization/detail/Hardware.h +75 -0
  1116. package/external/folly/folly/synchronization/detail/HazptrUtils.h +339 -0
  1117. package/external/folly/folly/synchronization/detail/InlineFunctionRef.h +229 -0
  1118. package/external/folly/folly/synchronization/detail/Sleeper.cpp +27 -0
  1119. package/external/folly/folly/synchronization/detail/Sleeper.h +62 -0
  1120. package/external/folly/folly/synchronization/detail/Spin.h +96 -0
  1121. package/external/folly/folly/synchronization/detail/ThreadCachedLists.h +174 -0
  1122. package/external/folly/folly/synchronization/detail/ThreadCachedReaders.h +189 -0
  1123. package/external/folly/folly/synchronization/detail/ThreadCachedTag.h +26 -0
  1124. package/external/folly/folly/synchronization/detail/test/BUCK +28 -0
  1125. package/external/folly/folly/synchronization/detail/test/HardwareTest.cpp +74 -0
  1126. package/external/folly/folly/synchronization/detail/test/InlineFunctionRefTest.cpp +286 -0
  1127. package/external/folly/folly/synchronization/example/BUCK +27 -0
  1128. package/external/folly/folly/synchronization/example/HazptrLockFreeLIFO.h +88 -0
  1129. package/external/folly/folly/synchronization/example/HazptrSWMRSet.h +133 -0
  1130. package/external/folly/folly/synchronization/example/HazptrWideCAS.h +62 -0
  1131. package/external/folly/folly/synchronization/test/AtomicNotificationTest.cpp +236 -0
  1132. package/external/folly/folly/synchronization/test/AtomicRefTest.cpp +170 -0
  1133. package/external/folly/folly/synchronization/test/AtomicStructTest.cpp +65 -0
  1134. package/external/folly/folly/synchronization/test/AtomicUtilBench.cpp +457 -0
  1135. package/external/folly/folly/synchronization/test/AtomicUtilTest.cpp +650 -0
  1136. package/external/folly/folly/synchronization/test/BUCK +495 -0
  1137. package/external/folly/folly/synchronization/test/Barrier.h +52 -0
  1138. package/external/folly/folly/synchronization/test/BarrierTest.cpp +56 -0
  1139. package/external/folly/folly/synchronization/test/BatonBenchmark.cpp +77 -0
  1140. package/external/folly/folly/synchronization/test/BatonTest.cpp +164 -0
  1141. package/external/folly/folly/synchronization/test/BatonTestHelpers.h +118 -0
  1142. package/external/folly/folly/synchronization/test/CallOnceBenchmark.cpp +72 -0
  1143. package/external/folly/folly/synchronization/test/CallOnceTest.cpp +153 -0
  1144. package/external/folly/folly/synchronization/test/DelayedInitTest.cpp +281 -0
  1145. package/external/folly/folly/synchronization/test/DistributedMutexTest.cpp +2074 -0
  1146. package/external/folly/folly/synchronization/test/EventCountTest.cpp +124 -0
  1147. package/external/folly/folly/synchronization/test/FlatCombiningBenchmark.cpp +1789 -0
  1148. package/external/folly/folly/synchronization/test/FlatCombiningExamples.h +222 -0
  1149. package/external/folly/folly/synchronization/test/FlatCombiningTest.cpp +121 -0
  1150. package/external/folly/folly/synchronization/test/FlatCombiningTestHelpers.h +227 -0
  1151. package/external/folly/folly/synchronization/test/HazptrTest.cpp +1689 -0
  1152. package/external/folly/folly/synchronization/test/LatchTest.cpp +224 -0
  1153. package/external/folly/folly/synchronization/test/LifoSemBench.cpp +185 -0
  1154. package/external/folly/folly/synchronization/test/LifoSemTests.cpp +353 -0
  1155. package/external/folly/folly/synchronization/test/LockTest.cpp +1239 -0
  1156. package/external/folly/folly/synchronization/test/NativeSemaphoreTest.cpp +37 -0
  1157. package/external/folly/folly/synchronization/test/ParkingLotBenchmark.cpp +239 -0
  1158. package/external/folly/folly/synchronization/test/ParkingLotTest.cpp +170 -0
  1159. package/external/folly/folly/synchronization/test/RWSpinLockTest.cpp +235 -0
  1160. package/external/folly/folly/synchronization/test/RcuBench.cpp +66 -0
  1161. package/external/folly/folly/synchronization/test/RcuTest.cpp +330 -0
  1162. package/external/folly/folly/synchronization/test/RelaxedAtomicTest.cpp +389 -0
  1163. package/external/folly/folly/synchronization/test/SaturatingSemaphoreTest.cpp +166 -0
  1164. package/external/folly/folly/synchronization/test/Semaphore.h +242 -0
  1165. package/external/folly/folly/synchronization/test/SemaphoreTest.cpp +271 -0
  1166. package/external/folly/folly/synchronization/test/SmallLocksBenchmark.cpp +1296 -0
  1167. package/external/folly/folly/synchronization/test/SmallLocksTest.cpp +510 -0
  1168. package/external/folly/folly/synchronization/test/ThreadCachedEpochBench.h +67 -0
  1169. package/external/folly/folly/synchronization/test/ThreadCachedReadersBench.cpp +42 -0
  1170. package/external/folly/folly/synchronization/test/ThreadCachedReadersTest.cpp +52 -0
  1171. package/external/folly/folly/synchronization/test/ThrottledLifoSemTest.cpp +243 -0
  1172. package/external/folly/folly/system/AtFork.cpp +205 -0
  1173. package/external/folly/folly/system/AtFork.h +116 -0
  1174. package/external/folly/folly/system/AuxVector.h +198 -0
  1175. package/external/folly/folly/system/BUCK +144 -0
  1176. package/external/folly/folly/system/EnvUtil.cpp +93 -0
  1177. package/external/folly/folly/system/EnvUtil.h +113 -0
  1178. package/external/folly/folly/system/HardwareConcurrency.cpp +39 -0
  1179. package/external/folly/folly/system/HardwareConcurrency.h +23 -0
  1180. package/external/folly/folly/system/MemoryMapping.cpp +477 -0
  1181. package/external/folly/folly/system/MemoryMapping.h +287 -0
  1182. package/external/folly/folly/system/Pid.cpp +87 -0
  1183. package/external/folly/folly/system/Pid.h +34 -0
  1184. package/external/folly/folly/system/Shell.cpp +33 -0
  1185. package/external/folly/folly/system/Shell.h +93 -0
  1186. package/external/folly/folly/system/ThreadId.cpp +89 -0
  1187. package/external/folly/folly/system/ThreadId.h +62 -0
  1188. package/external/folly/folly/system/ThreadName.cpp +330 -0
  1189. package/external/folly/folly/system/ThreadName.h +72 -0
  1190. package/external/folly/folly/system/test/AtForkTest.cpp +309 -0
  1191. package/external/folly/folly/system/test/AuxVectorTest.cpp +55 -0
  1192. package/external/folly/folly/system/test/BUCK +120 -0
  1193. package/external/folly/folly/system/test/EnvUtilSubprocess.cpp +26 -0
  1194. package/external/folly/folly/system/test/EnvUtilTest.cpp +197 -0
  1195. package/external/folly/folly/system/test/MemoryMappingTest.cpp +179 -0
  1196. package/external/folly/folly/system/test/PidTest.cpp +46 -0
  1197. package/external/folly/folly/system/test/ShellTest.cpp +66 -0
  1198. package/external/folly/folly/system/test/ThreadIdTest.cpp +114 -0
  1199. package/external/folly/folly/system/test/ThreadNameTest.cpp +85 -0
  1200. package/external/folly/folly.vcxitems +164 -0
  1201. package/external/folly/static/logo.svg +1 -0
  1202. package/external/folly/sync-config.json +8 -0
  1203. package/index.js +9 -0
  1204. package/index.windows.js +9 -0
  1205. package/jest/RefreshControlMock.js +2 -2
  1206. package/jest/assetFileTransformer.js +8 -3
  1207. package/jest/mockComponent.js +3 -4
  1208. package/jest/mockNativeComponent.js +1 -1
  1209. package/jest/mocks/ActivityIndicator.js +2 -2
  1210. package/jest/mocks/Image.js +2 -2
  1211. package/jest/mocks/Modal.js +2 -2
  1212. package/jest/mocks/RefreshControl.js +3 -3
  1213. package/jest/mocks/RendererProxy.js +2 -2
  1214. package/jest/mocks/ScrollView.js +5 -5
  1215. package/jest/mocks/Text.js +2 -2
  1216. package/jest/mocks/TextInput.js +2 -2
  1217. package/jest/mocks/View.js +2 -2
  1218. package/jest/mocks/ViewNativeComponent.js +1 -1
  1219. package/jest/mocks/requireNativeComponent.js +1 -1
  1220. package/jest/mocks/useColorScheme.js +1 -1
  1221. package/jest/setup.js +68 -31
  1222. package/package.json +28 -23
  1223. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  1224. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  1225. package/src/private/components/virtualview/VirtualView.js +14 -21
  1226. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  1227. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  1228. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  1229. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  1230. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  1231. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  1232. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  1233. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  1234. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  1235. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  1236. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  1237. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  1238. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  1239. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  1240. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  1241. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  1242. package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
  1243. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  1244. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
  1245. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  1246. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  1247. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  1248. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  1249. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  1250. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  1251. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  1252. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  1253. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  1254. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  1255. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +7 -3
  1256. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  1257. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  1258. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  1259. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  1260. package/src/private/styles/composeStyles.js +1 -1
  1261. package/src/private/utilities/toError.js +27 -0
  1262. package/src/private/utilities/toExtendedError.js +30 -0
  1263. package/src/private/webapis/dom/events/Event.js +1 -1
  1264. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  1265. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  1266. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  1267. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  1268. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  1269. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  1270. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  1271. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  1272. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  1273. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  1274. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  1275. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  1276. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  1277. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  1278. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  1279. package/src/private/webapis/performance/LongTasks.js +3 -3
  1280. package/src/private/webapis/performance/Performance.js +4 -4
  1281. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  1282. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  1283. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  1284. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  1285. package/src/types/globals.d.ts +4 -4
  1286. package/template/cpp-lib/proj/MyLib.sln +0 -33
  1287. package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
  1288. package/template/cs-lib/proj/MyLib.sln +0 -33
  1289. package/template/metro.config.js +12 -2
  1290. package/templates/cpp-app/metro.config.js +12 -2
  1291. package/templates/cpp-app/windows/MyApp/MyApp.cpp +9 -6
  1292. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +1 -1
  1293. package/templates/cpp-app/windows/MyApp.sln +0 -33
  1294. package/templates/cpp-lib/example/metro.config.js +30 -4
  1295. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
  1296. package/templates/cpp-lib/windows/MyLib.sln +0 -33
  1297. package/types/index.d.ts +2 -0
  1298. package/Folly/Folly.vcxproj +0 -378
  1299. package/Folly/Folly.vcxproj.filters +0 -558
  1300. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  1301. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +0 -64
  1302. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
  1303. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -75
  1304. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +0 -27
  1305. package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +0 -81
  1306. package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -24
  1307. package/Microsoft.ReactNative/ReactSupport.cpp +0 -221
  1308. package/Microsoft.ReactNative/ReactSupport.h +0 -13
  1309. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +0 -107
  1310. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -62
  1311. package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +0 -56
  1312. package/Microsoft.ReactNative/Utils/UwpScriptStore.h +0 -23
  1313. package/Microsoft.ReactNative/XamlUIService.cpp +0 -68
  1314. package/Microsoft.ReactNative/XamlUIService.h +0 -37
  1315. package/Microsoft.ReactNative/XamlUIService.idl +0 -53
  1316. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +0 -259
  1317. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +0 -381
  1318. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +0 -145
  1319. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +0 -100
  1320. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +0 -256
  1321. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -363
  1322. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +0 -93
  1323. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -148
  1324. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +0 -190
  1325. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +0 -123
  1326. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +0 -27
  1327. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +0 -414
  1328. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +0 -91
  1329. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -80
  1330. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +0 -138
  1331. package/fmt/fmt.vcxproj +0 -153
  1332. package/fmt/fmt.vcxproj.filters +0 -59
  1333. package/fmt/pch.cpp +0 -4
  1334. package/fmt/pch.h +0 -2
  1335. /package/{fmt → external/fmt}/cgmanifest.json +0 -0
  1336. /package/{Folly → external/folly}/Folly.natvis +0 -0
  1337. /package/{Folly → external/folly}/cgmanifest.json +0 -0
  1338. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/ConstexprMath.h +0 -0
  1339. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/Conv.cpp +0 -0
  1340. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/chrono/Hardware.h +0 -0
  1341. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/concurrency/CacheLocality.cpp +0 -0
  1342. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/json/dynamic-inl.h +0 -0
  1343. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/json/json.cpp +0 -0
  1344. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/SafeAssert.h +0 -0
  1345. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/ToAscii.cpp +0 -0
  1346. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/ToAscii.h +0 -0
  1347. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/portability/Unistd.cpp +0 -0
@@ -0,0 +1,800 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #pragma once
18
+
19
+ #include <limits.h>
20
+
21
+ #include <atomic>
22
+ #include <functional>
23
+ #include <memory>
24
+ #include <mutex>
25
+ #include <string>
26
+ #include <thread>
27
+ #include <unordered_map>
28
+ #include <unordered_set>
29
+ #include <vector>
30
+
31
+ #include <glog/logging.h>
32
+
33
+ #include <folly/Exception.h>
34
+ #include <folly/Function.h>
35
+ #include <folly/MapUtil.h>
36
+ #include <folly/Portability.h>
37
+ #include <folly/ScopeGuard.h>
38
+ #include <folly/SharedMutex.h>
39
+ #include <folly/Synchronized.h>
40
+ #include <folly/concurrency/container/atomic_grow_array.h>
41
+ #include <folly/container/Foreach.h>
42
+ #include <folly/detail/StaticSingletonManager.h>
43
+ #include <folly/detail/UniqueInstance.h>
44
+ #include <folly/lang/Exception.h>
45
+ #include <folly/memory/Malloc.h>
46
+ #include <folly/portability/PThread.h>
47
+ #include <folly/synchronization/MicroSpinLock.h>
48
+ #include <folly/synchronization/RelaxedAtomic.h>
49
+ #include <folly/system/AtFork.h>
50
+ #include <folly/system/ThreadId.h>
51
+
52
+ namespace folly {
53
+
54
+ enum class TLPDestructionMode { THIS_THREAD, ALL_THREADS };
55
+ struct AccessModeStrict {};
56
+
57
+ namespace threadlocal_detail {
58
+
59
+ constexpr uint32_t kEntryIDInvalid = std::numeric_limits<uint32_t>::max();
60
+
61
+ // as a memory-usage optimization, try to make this deleter fit in-situ in
62
+ // the deleter function storage rather than being heap-allocated separately
63
+ //
64
+ // for libstdc++, specialization below of std::__is_location_invariant
65
+ //
66
+ // TODO: ensure in-situ storage for other standard-library implementations
67
+ struct SharedPtrDeleter {
68
+ mutable std::shared_ptr<void> ts_;
69
+ explicit SharedPtrDeleter(std::shared_ptr<void> const& ts) noexcept;
70
+ SharedPtrDeleter(SharedPtrDeleter const& that) noexcept;
71
+ void operator=(SharedPtrDeleter const& that) = delete;
72
+ ~SharedPtrDeleter();
73
+ void operator()(void* ptr, folly::TLPDestructionMode) const;
74
+ };
75
+
76
+ } // namespace threadlocal_detail
77
+
78
+ } // namespace folly
79
+
80
+ #if defined(__GLIBCXX__)
81
+
82
+ namespace std {
83
+
84
+ template <>
85
+ struct __is_location_invariant<::folly::threadlocal_detail::SharedPtrDeleter>
86
+ : std::true_type {};
87
+
88
+ } // namespace std
89
+
90
+ #endif
91
+
92
+ namespace folly {
93
+
94
+ namespace threadlocal_detail {
95
+
96
+ /**
97
+ * POD wrapper around an element (a void*) and an associated deleter.
98
+ * This must be POD, as we memset() it to 0 and memcpy() it around.
99
+ */
100
+ struct ElementWrapper {
101
+ using DeleterFunType = void(void*, TLPDestructionMode);
102
+ using DeleterObjType = std::function<DeleterFunType>;
103
+
104
+ static inline constexpr auto deleter_obj_mask = uintptr_t(0b01);
105
+ static inline constexpr auto deleter_all_mask = uintptr_t(0) //
106
+ | deleter_obj_mask //
107
+ ;
108
+
109
+ static_assert(alignof(DeleterObjType) > deleter_all_mask);
110
+
111
+ // must be noinline and must launder: https://godbolt.org/z/bo6f7f6v6
112
+ FOLLY_NOINLINE static uintptr_t castForgetAlign(DeleterFunType*) noexcept;
113
+
114
+ bool dispose(TLPDestructionMode mode) noexcept {
115
+ if (ptr == nullptr) {
116
+ return false;
117
+ }
118
+
119
+ DCHECK_NE(0, deleter);
120
+ auto const deleter_masked = deleter & ~deleter_all_mask;
121
+ if (deleter & deleter_obj_mask) {
122
+ auto& obj = *reinterpret_cast<DeleterObjType*>(deleter_masked);
123
+ obj(ptr, mode);
124
+ } else {
125
+ auto& fun = *reinterpret_cast<DeleterFunType*>(deleter_masked);
126
+ fun(ptr, mode);
127
+ }
128
+ return true;
129
+ }
130
+
131
+ void* release() {
132
+ auto retPtr = ptr;
133
+
134
+ if (ptr != nullptr) {
135
+ cleanup();
136
+ }
137
+
138
+ return retPtr;
139
+ }
140
+
141
+ template <class Ptr>
142
+ void set(Ptr p) {
143
+ DCHECK_EQ(static_cast<void*>(nullptr), ptr);
144
+ DCHECK_EQ(0, deleter);
145
+
146
+ if (!p) {
147
+ return;
148
+ }
149
+ auto const fun =
150
+ +[](void* pt, TLPDestructionMode) { delete static_cast<Ptr>(pt); };
151
+ auto const raw = castForgetAlign(fun);
152
+ if (raw & deleter_all_mask) {
153
+ return set(p, std::ref(*fun));
154
+ }
155
+ DCHECK_EQ(0, raw & deleter_all_mask);
156
+ deleter = raw;
157
+ ptr = p;
158
+ }
159
+
160
+ template <typename Ptr, typename Deleter>
161
+ static auto makeDeleter(const Deleter& d) {
162
+ return [d](void* pt, TLPDestructionMode mode) {
163
+ d(static_cast<Ptr>(pt), mode);
164
+ };
165
+ }
166
+
167
+ template <typename Ptr>
168
+ static decltype(auto) makeDeleter(const SharedPtrDeleter& d) {
169
+ return d;
170
+ }
171
+
172
+ template <class Ptr, class Deleter>
173
+ void set(Ptr p, const Deleter& d) {
174
+ DCHECK_EQ(static_cast<void*>(nullptr), ptr);
175
+ DCHECK_EQ(0, deleter);
176
+
177
+ if (!p) {
178
+ return;
179
+ }
180
+
181
+ auto guard = makeGuard([&] { d(p, TLPDestructionMode::THIS_THREAD); });
182
+ auto const obj = new DeleterObjType(makeDeleter<Ptr>(d));
183
+ guard.dismiss();
184
+ auto const raw = reinterpret_cast<uintptr_t>(obj);
185
+ DCHECK_EQ(0, raw & deleter_all_mask);
186
+ deleter = raw | deleter_obj_mask;
187
+ ptr = p;
188
+ }
189
+
190
+ void cleanup() noexcept {
191
+ if (deleter & deleter_obj_mask) {
192
+ auto const deleter_masked = deleter & ~deleter_all_mask;
193
+ auto const obj = reinterpret_cast<DeleterObjType*>(deleter_masked);
194
+ delete obj;
195
+ }
196
+ ptr = nullptr;
197
+ deleter = 0;
198
+ }
199
+
200
+ void* ptr;
201
+ uintptr_t deleter;
202
+ };
203
+
204
+ struct StaticMetaBase;
205
+ struct ThreadEntryList;
206
+
207
+ /**
208
+ * Per-thread entry. Each thread using a StaticMeta object has one.
209
+ * This is written from the owning thread only (under the lock), read
210
+ * from the owning thread (no lock necessary), and read from other threads
211
+ * (under the lock).
212
+ */
213
+ struct ThreadEntry {
214
+ ElementWrapper* elements{nullptr};
215
+ std::atomic<size_t> elementsCapacity{0};
216
+ ThreadEntryList* list{nullptr};
217
+ ThreadEntry* listNext{nullptr};
218
+ StaticMetaBase* meta{nullptr};
219
+ bool removed_{false};
220
+ uint64_t tid_os{};
221
+ aligned_storage_for_t<std::thread::id> tid_data{};
222
+
223
+ size_t getElementsCapacity() const noexcept {
224
+ return elementsCapacity.load(std::memory_order_relaxed);
225
+ }
226
+
227
+ void setElementsCapacity(size_t capacity) noexcept {
228
+ elementsCapacity.store(capacity, std::memory_order_relaxed);
229
+ }
230
+
231
+ std::thread::id& tid() {
232
+ return *reinterpret_cast<std::thread::id*>(&tid_data);
233
+ }
234
+
235
+ /*
236
+ * Releases element from ThreadEntry::elements at index @id.
237
+ */
238
+ void* releaseElement(uint32_t id);
239
+
240
+ /*
241
+ * Clean up element from ThreadEntry::elements at index @id.
242
+ */
243
+ void cleanupElement(uint32_t id);
244
+
245
+ /*
246
+ * Templated methods to deal with reset with and without a deleter
247
+ * for the element @id
248
+ */
249
+ template <class Ptr>
250
+ void resetElement(Ptr p, uint32_t id);
251
+
252
+ template <class Ptr, class Deleter>
253
+ void resetElement(Ptr p, Deleter& d, uint32_t id);
254
+ };
255
+
256
+ struct ThreadEntryList {
257
+ ThreadEntry* head{nullptr};
258
+ size_t count{0};
259
+ };
260
+
261
+ /**
262
+ * We want to disable onThreadExit call at the end of shutdown, we don't care
263
+ * about leaking memory at that point.
264
+ *
265
+ * Otherwise if ThreadLocal is used in a shared library, onThreadExit may be
266
+ * called after dlclose().
267
+ *
268
+ * This class has one single static instance; however since it's so widely used,
269
+ * directly or indirectly, by so many classes, we need to take care to avoid
270
+ * problems stemming from the Static Initialization/Destruction Order Fiascos.
271
+ * Therefore this class needs to be constexpr-constructible, so as to avoid
272
+ * the need for this to participate in init/destruction order.
273
+ */
274
+ class PthreadKeyUnregister {
275
+ public:
276
+ static constexpr size_t kMaxKeys = size_t(1) << 16;
277
+
278
+ ~PthreadKeyUnregister() {
279
+ // If static constructor priorities are not supported then
280
+ // ~PthreadKeyUnregister logic is not safe.
281
+ #if !defined(__APPLE__) && !defined(_MSC_VER)
282
+ MSLGuard lg(lock_);
283
+ while (size_) {
284
+ pthread_key_delete(keys_[--size_]);
285
+ }
286
+ #endif
287
+ }
288
+
289
+ static void registerKey(pthread_key_t key) { instance_.registerKeyImpl(key); }
290
+
291
+ private:
292
+ /**
293
+ * Only one global instance should exist, hence this is private.
294
+ * See also the important note at the top of this class about `constexpr`
295
+ * usage.
296
+ */
297
+ constexpr PthreadKeyUnregister() : lock_(), size_(0), keys_() {}
298
+
299
+ void registerKeyImpl(pthread_key_t key) {
300
+ MSLGuard lg(lock_);
301
+ if (size_ == kMaxKeys) {
302
+ throw_exception<std::logic_error>(
303
+ "pthread_key limit has already been reached");
304
+ }
305
+ keys_[size_++] = key;
306
+ }
307
+
308
+ MicroSpinLock lock_;
309
+ size_t size_;
310
+ pthread_key_t keys_[kMaxKeys];
311
+
312
+ static PthreadKeyUnregister instance_;
313
+ };
314
+
315
+ // ThreadEntrySet is used to track all ThreadEntry that have a valid
316
+ // ElementWrapper for a particular TL id. The class provides no internal locking
317
+ // and caller must ensure safety of any access.
318
+ struct ThreadEntrySet {
319
+ // Vector of ThreadEntry for fast iteration during accessAllThreads.
320
+ using EntryVector = std::vector<ThreadEntry*>;
321
+ EntryVector threadEntries;
322
+ // Map from ThreadEntry* to its slot in the threadEntries vector to be able
323
+ // to remove an entry quickly.
324
+ using EntryIndex = std::unordered_map<ThreadEntry*, EntryVector::size_type>;
325
+ EntryIndex entryToVectorSlot;
326
+
327
+ bool basicSanity() const;
328
+
329
+ void clear() {
330
+ DCHECK(basicSanity());
331
+ entryToVectorSlot.clear();
332
+ threadEntries.clear();
333
+ }
334
+
335
+ bool contains(ThreadEntry* entry) const {
336
+ DCHECK(basicSanity());
337
+ return entryToVectorSlot.find(entry) != entryToVectorSlot.end();
338
+ }
339
+
340
+ bool insert(ThreadEntry* entry) {
341
+ DCHECK(basicSanity());
342
+ auto iter = entryToVectorSlot.find(entry);
343
+ if (iter != entryToVectorSlot.end()) {
344
+ // Entry already present. Sanity check and exit.
345
+ DCHECK_EQ(entry, threadEntries[iter->second]);
346
+ return false;
347
+ }
348
+ threadEntries.push_back(entry);
349
+ auto idx = threadEntries.size() - 1;
350
+ entryToVectorSlot[entry] = idx;
351
+ return true;
352
+ }
353
+
354
+ bool erase(ThreadEntry* entry) {
355
+ DCHECK(basicSanity());
356
+ auto iter = entryToVectorSlot.find(entry);
357
+ if (iter == entryToVectorSlot.end()) {
358
+ // Entry not present.
359
+ return false;
360
+ }
361
+ auto idx = iter->second;
362
+ DCHECK_LT(idx, threadEntries.size());
363
+ entryToVectorSlot.erase(iter);
364
+ if (idx != threadEntries.size() - 1) {
365
+ ThreadEntry* last = threadEntries.back();
366
+ threadEntries[idx] = last;
367
+ entryToVectorSlot[last] = idx;
368
+ }
369
+ threadEntries.pop_back();
370
+ DCHECK(basicSanity());
371
+ if (compressible()) {
372
+ compress();
373
+ }
374
+ DCHECK(basicSanity());
375
+ return true;
376
+ }
377
+
378
+ /// compressible
379
+ ///
380
+ /// If many elements have been removed, then size might be much less than
381
+ /// capacity and it becomes possible to reduce memory usage.
382
+ bool compressible() const {
383
+ // We choose a sufficiently-large multiplier so that there is no risk of a
384
+ // following insert growing the vector and then a following erase shrinking
385
+ // the vector, since that way lies non-amortized-O(N)-complexity costs for
386
+ // both insert and erase ops.
387
+ constexpr size_t const mult = 4;
388
+ auto& vec = threadEntries;
389
+ return std::max(size_t(1), vec.size()) * mult <= vec.capacity();
390
+ }
391
+ /// compress
392
+ ///
393
+ /// Attempt to reduce the memory usage of the data structure.
394
+ void compress();
395
+ };
396
+
397
+ struct StaticMetaBase {
398
+ // In general, emutls cleanup is not guaranteed to play nice with the way
399
+ // StaticMeta mixes direct pthread calls and the use of __thread. This has
400
+ // caused problems on multiple platforms so don't use __thread there.
401
+ //
402
+ // XXX: Ideally we would instead determine if emutls is in use at runtime as
403
+ // it is possible to configure glibc on Linux to use emutls regardless.
404
+ static constexpr bool kUseThreadLocal = !kIsMobile && !kIsApple && !kMscVer;
405
+
406
+ // Represents an ID of a thread local object. Initially set to the maximum
407
+ // uint. This representation allows us to avoid a branch in accessing TLS data
408
+ // (because if you test capacity > id if id = maxint then the test will always
409
+ // fail). It allows us to keep a constexpr constructor and avoid SIOF.
410
+ class EntryID {
411
+ public:
412
+ std::atomic<uint32_t> value;
413
+
414
+ constexpr EntryID() : value(kEntryIDInvalid) {}
415
+
416
+ EntryID(EntryID&& other) noexcept : value(other.value.load()) {
417
+ other.value = kEntryIDInvalid;
418
+ }
419
+
420
+ EntryID& operator=(EntryID&& other) noexcept {
421
+ assert(this != &other);
422
+ DCHECK(value.load() == kEntryIDInvalid);
423
+ value = other.value.load();
424
+ other.value = kEntryIDInvalid;
425
+ return *this;
426
+ }
427
+
428
+ EntryID(const EntryID& other) = delete;
429
+ EntryID& operator=(const EntryID& other) = delete;
430
+
431
+ uint32_t getOrInvalid() { return value.load(std::memory_order_acquire); }
432
+
433
+ uint32_t getOrAllocate(StaticMetaBase& meta) {
434
+ uint32_t id = getOrInvalid();
435
+ if (id != kEntryIDInvalid) {
436
+ return id;
437
+ }
438
+ // The lock inside allocate ensures that a single value is allocated
439
+ return meta.allocate(this);
440
+ }
441
+ };
442
+
443
+ StaticMetaBase(ThreadEntry* (*threadEntry)(), bool strict);
444
+
445
+ FOLLY_EXPORT static ThreadEntryList* getThreadEntryList();
446
+
447
+ static bool dying();
448
+
449
+ static void onThreadExit(void* ptr);
450
+
451
+ // Helper to do final free and delete of ThreadEntry and ThreadEntryList
452
+ // structures.
453
+ static void cleanupThreadEntriesAndList(ThreadEntryList* list);
454
+
455
+ // returns the elementsCapacity for the
456
+ // current thread ThreadEntry struct
457
+ uint32_t elementsCapacity() const;
458
+
459
+ uint32_t allocate(EntryID* ent);
460
+
461
+ void destroy(EntryID* ent);
462
+
463
+ /**
464
+ * Reserve enough space in the ThreadEntry::elements for the item
465
+ * @id to fit in.
466
+ */
467
+ void reserve(EntryID* id);
468
+
469
+ ElementWrapper& getElement(EntryID* ent);
470
+
471
+ using SynchronizedThreadEntrySet = folly::Synchronized<ThreadEntrySet>;
472
+
473
+ /*
474
+ * Helper inline methods to add/remove/clear ThreadEntry* from
475
+ * allId2ThreadEntrySets_
476
+ */
477
+
478
+ /*
479
+ * Return true if given ThreadEntry is already present in the ThreadEntrySet
480
+ * for the given id.
481
+ */
482
+ FOLLY_ALWAYS_INLINE bool isThreadEntryInSet(ThreadEntry* te, uint32_t id) {
483
+ return allId2ThreadEntrySets_[id].rlock()->contains(te);
484
+ }
485
+
486
+ /*
487
+ * Ensure the given ThreadEntry* is present in the tracking set for the
488
+ * given id. Once added, we do not remove it until the thread exits or the
489
+ * whole set is reaped when the TL id itself is destroyed.
490
+ *
491
+ * Note: Call may drop and reacquire the read lock.
492
+ * If the provided entry is not already in the set, the given RLockedPtr will
493
+ * be released, entry added under a WLockedPtr, and RLockedPtr reacquired
494
+ * before returning.
495
+ */
496
+ FOLLY_NOINLINE void ensureThreadEntryIsInSet(
497
+ ThreadEntry* te,
498
+ SynchronizedThreadEntrySet& set,
499
+ SynchronizedThreadEntrySet::RLockedPtr& rlock);
500
+
501
+ /*
502
+ * Remove a ThreadEntry* from the map of allId2ThreadEntrySets_
503
+ * for all slot @id's in ThreadEntry::elements that are
504
+ * used. This is essentially clearing out a ThreadEntry entirely
505
+ * from the allId2ThreadEntrySets_.
506
+ */
507
+ FOLLY_ALWAYS_INLINE void removeThreadEntryFromAllInMap(ThreadEntry* te) {
508
+ uint32_t maxId = nextId_.load();
509
+ for (uint32_t i = 0; i < maxId; ++i) {
510
+ allId2ThreadEntrySets_[i].wlock()->erase(te);
511
+ }
512
+ }
513
+
514
+ /*
515
+ * Check if ThreadEntry* is present in the map for all slots of @ids.
516
+ */
517
+ FOLLY_ALWAYS_INLINE bool isThreadEntryRemovedFromAllInMap(
518
+ ThreadEntry* te, bool needForkLock) {
519
+ std::shared_lock rlocked(forkHandlerLock_, std::defer_lock);
520
+ if (needForkLock) {
521
+ rlocked.lock();
522
+ }
523
+ uint32_t maxId = nextId_.load();
524
+ for (uint32_t i = 0; i < maxId; ++i) {
525
+ if (allId2ThreadEntrySets_[i].rlock()->contains(te)) {
526
+ return false;
527
+ }
528
+ }
529
+ return true;
530
+ }
531
+
532
+ // static helper method to reallocate the ThreadEntry::elements
533
+ // returns != nullptr if the ThreadEntry::elements was reallocated
534
+ // nullptr if the ThreadEntry::elements was just extended
535
+ // and throws stdd:bad_alloc if memory cannot be allocated
536
+ static ElementWrapper* reallocate(
537
+ ThreadEntry* threadEntry, uint32_t idval, size_t& newCapacity);
538
+
539
+ relaxed_atomic_uint32_t nextId_;
540
+ std::vector<uint32_t> freeIds_;
541
+ std::mutex lock_;
542
+ mutable SharedMutex accessAllThreadsLock_;
543
+ // As part of handling fork, we need to ensure no locks used by ThreadLocal
544
+ // implementation are held by threads other than the one forking. The total
545
+ // number of locks involved is large due to the per ThreadEntrySet lock. TSAN
546
+ // builds have to track each lock acquire and release. TSAN also has its own
547
+ // fork handler. Using a lot of locks in fork handler can end up deadlocking
548
+ // TSAN. To avoid that behavior, we the forkHandlerLock_. All code paths that
549
+ // acquire a lock on any ThreadEntrySet (accessAllThreads() or reset() calls)
550
+ // must also acquire a shared lock on forkHandlerLock_.
551
+ // Fork handler will acquire an exclusive lock on forkHandlerLock_,
552
+ // along with exclusive locks on accessAllThreadsLock_ and lock_.
553
+ mutable SharedMutex forkHandlerLock_;
554
+ pthread_key_t pthreadKey_;
555
+ ThreadEntry* (*threadEntry_)();
556
+ bool strict_;
557
+ // Total size of ElementWrapper arrays across all threads. This is meant
558
+ // to surface the overhead of thread local tracking machinery since the array
559
+ // can be sparse when there are lots of thread local variables under the same
560
+ // tag.
561
+ relaxed_atomic_int64_t totalElementWrappers_{0};
562
+ // This is a map of all thread entries mapped to index i with active
563
+ // elements[i];
564
+ folly::atomic_grow_array<SynchronizedThreadEntrySet> allId2ThreadEntrySets_;
565
+
566
+ // Note on locking rules. There are 4 locks involved in managing StaticMeta:
567
+ // fork handler lock (getStaticMetaGlobalForkMutex(),
568
+ // access all threads lock (accessAllThreadsLock_),
569
+ // per thread entry set lock implicit in SynchronizedThreadEntrySet and
570
+ // meta lock (lock_)
571
+ //
572
+ // If multiple locks need to be acquired in a call path, the above is also
573
+ // the order in which they should be acquired. Additionally, if per
574
+ // ThreadEntrySet locks are the only ones that are acquired in a path, it
575
+ // must also acquire shared lock on the fork handler lock.
576
+ };
577
+
578
+ struct FakeUniqueInstance {
579
+ template <template <typename...> class Z, typename... Key, typename... Mapped>
580
+ FOLLY_ERASE constexpr explicit FakeUniqueInstance(
581
+ tag_t<Z<Key..., Mapped...>>, tag_t<Key...>, tag_t<Mapped...>) noexcept {}
582
+ };
583
+
584
+ /*
585
+ * Resets element from ThreadEntry::elements at index @id.
586
+ * call set() on the element to reset it.
587
+ * This is a templated method for when a deleter is not provided.
588
+ */
589
+ template <class Ptr>
590
+ void ThreadEntry::resetElement(Ptr p, uint32_t id) {
591
+ auto& set = meta->allId2ThreadEntrySets_[id];
592
+ auto rlock = set.rlock();
593
+ if (p != nullptr && !removed_ && !rlock->contains(this)) {
594
+ meta->ensureThreadEntryIsInSet(this, set, rlock);
595
+ }
596
+ cleanupElement(id);
597
+ elements[id].set(p);
598
+ }
599
+
600
+ /*
601
+ * Resets element from ThreadEntry::elements at index @id.
602
+ * call set() on the element to reset it.
603
+ * This is a templated method for when a deleter is not provided.
604
+ */
605
+ template <class Ptr, class Deleter>
606
+ void ThreadEntry::resetElement(Ptr p, Deleter& d, uint32_t id) {
607
+ auto& set = meta->allId2ThreadEntrySets_[id];
608
+ auto rlock = set.rlock();
609
+ if (p != nullptr && !removed_ && !rlock->contains(this)) {
610
+ meta->ensureThreadEntryIsInSet(this, set, rlock);
611
+ }
612
+ cleanupElement(id);
613
+ elements[id].set(p, d);
614
+ }
615
+
616
+ // Held in a singleton to track our global instances.
617
+ // We have one of these per "Tag", by default one for the whole system
618
+ // (Tag=void).
619
+ //
620
+ // Creating and destroying ThreadLocalPtr objects, as well as thread exit
621
+ // for threads that use ThreadLocalPtr objects collide on a lock inside
622
+ // StaticMeta; you can specify multiple Tag types to break that lock.
623
+ template <class Tag, class AccessMode>
624
+ struct FOLLY_EXPORT StaticMeta final : StaticMetaBase {
625
+ private:
626
+ static constexpr bool IsTagVoid = std::is_void_v<Tag>;
627
+ static constexpr bool IsAccessModeStrict =
628
+ std::is_same_v<AccessMode, AccessModeStrict>;
629
+ static_assert(!IsTagVoid || !IsAccessModeStrict);
630
+
631
+ using UniqueInstance =
632
+ conditional_t<IsTagVoid, FakeUniqueInstance, detail::UniqueInstance>;
633
+ static UniqueInstance unique;
634
+
635
+ public:
636
+ StaticMeta()
637
+ : StaticMetaBase(&StaticMeta::getThreadEntrySlow, IsAccessModeStrict) {
638
+ AtFork::registerHandler(
639
+ this,
640
+ /*prepare*/ &StaticMeta::preFork,
641
+ /*parent*/ &StaticMeta::onForkParent,
642
+ /*child*/ &StaticMeta::onForkChild);
643
+ }
644
+
645
+ static StaticMeta<Tag, AccessMode>& instance() {
646
+ (void)unique; // force the object not to be thrown out as unused
647
+ // Leak it on exit, there's only one per process and we don't have to
648
+ // worry about synchronization with exiting threads.
649
+ return detail::createGlobal<StaticMeta<Tag, AccessMode>, void>();
650
+ }
651
+
652
+ struct LocalCache {
653
+ ThreadEntry* threadEntry;
654
+ size_t capacity;
655
+ };
656
+ static_assert(std::is_standard_layout_v<LocalCache>);
657
+ static_assert(std::is_trivial_v<LocalCache>);
658
+
659
+ FOLLY_EXPORT FOLLY_ALWAYS_INLINE static LocalCache& getLocalCache() {
660
+ static thread_local LocalCache instance;
661
+ return instance;
662
+ }
663
+
664
+ FOLLY_ALWAYS_INLINE static ElementWrapper& get(EntryID* ent) {
665
+ // Eliminate as many branches and as much extra code as possible in the
666
+ // cached fast path, leaving only one branch here and one indirection
667
+ // below.
668
+
669
+ ThreadEntry* te = getThreadEntry(ent);
670
+ uint32_t id = ent->getOrInvalid();
671
+ // Only valid index into the the elements array
672
+ DCHECK_NE(id, kEntryIDInvalid);
673
+ return te->elements[id];
674
+ }
675
+
676
+ /*
677
+ * In order to facilitate adding/clearing ThreadEntry* to
678
+ * StaticMetaBase::allId2ThreadEntrySets_ during ThreadLocalPtr
679
+ * reset()/release() we need access to the ThreadEntry* directly. This allows
680
+ * for direct interaction with StaticMetaBase::allId2ThreadEntrySets_. We keep
681
+ * StaticMetaBase::allId2ThreadEntrySets_ updated with ThreadEntry* whenever a
682
+ * ThreadLocal is set/released.
683
+ */
684
+ FOLLY_ALWAYS_INLINE static ThreadEntry* getThreadEntry(EntryID* ent) {
685
+ if (!kUseThreadLocal) {
686
+ return getThreadEntrySlowReserve(ent);
687
+ }
688
+
689
+ // Eliminate as many branches and as much extra code as possible in the
690
+ // cached fast path, leaving only one branch here and one indirection below.
691
+ uint32_t id = ent->getOrInvalid();
692
+ auto& cache = getLocalCache();
693
+ if (FOLLY_UNLIKELY(cache.capacity <= id)) {
694
+ getSlowReserveAndCache(ent, cache);
695
+ }
696
+ return cache.threadEntry;
697
+ }
698
+
699
+ FOLLY_NOINLINE static void getSlowReserveAndCache(
700
+ EntryID* ent, LocalCache& cache) {
701
+ auto threadEntry = getThreadEntrySlowReserve(ent);
702
+ cache.capacity = threadEntry->getElementsCapacity();
703
+ cache.threadEntry = threadEntry;
704
+ }
705
+
706
+ FOLLY_NOINLINE static ThreadEntry* getThreadEntrySlowReserve(EntryID* ent) {
707
+ uint32_t id = ent->getOrInvalid();
708
+
709
+ auto& inst = instance();
710
+ auto threadEntry = inst.threadEntry_();
711
+ if (FOLLY_UNLIKELY(threadEntry->getElementsCapacity() <= id)) {
712
+ inst.reserve(ent);
713
+ id = ent->getOrInvalid();
714
+ }
715
+ assert(threadEntry->getElementsCapacity() > id);
716
+ return threadEntry;
717
+ }
718
+
719
+ FOLLY_EXPORT FOLLY_NOINLINE static ThreadEntry* getThreadEntrySlow() {
720
+ auto& meta = instance();
721
+ auto key = meta.pthreadKey_;
722
+ ThreadEntry* threadEntry =
723
+ static_cast<ThreadEntry*>(pthread_getspecific(key));
724
+ if (!threadEntry) {
725
+ ThreadEntryList* threadEntryList = StaticMeta::getThreadEntryList();
726
+ threadEntry = new ThreadEntry();
727
+
728
+ threadEntry->list = threadEntryList;
729
+ threadEntry->listNext = threadEntryList->head;
730
+ threadEntryList->head = threadEntry;
731
+
732
+ threadEntry->tid() = std::this_thread::get_id();
733
+ threadEntry->tid_os = folly::getOSThreadID();
734
+
735
+ // if we're adding a thread entry
736
+ // we need to increment the list count
737
+ // even if the entry is reused
738
+ threadEntryList->count++;
739
+
740
+ threadEntry->meta = &meta;
741
+ int ret = pthread_setspecific(key, threadEntry);
742
+ checkPosixError(ret, "pthread_setspecific failed");
743
+ }
744
+ return threadEntry;
745
+ }
746
+
747
+ static bool preFork() {
748
+ auto& meta = instance();
749
+ bool gotLock = meta.forkHandlerLock_.try_lock(); // Make sure it's created
750
+ if (!gotLock) {
751
+ return false;
752
+ }
753
+ meta.accessAllThreadsLock_.lock();
754
+ meta.lock_.lock();
755
+ // Okay to not lock each set in meta.allId2ThreadEntrySets
756
+ // as accessAllThreadsLock_ in held by calls to reset() and
757
+ // accessAllThreads.
758
+ return true;
759
+ }
760
+
761
+ static void onForkParent() {
762
+ auto& meta = instance();
763
+ meta.lock_.unlock();
764
+ meta.accessAllThreadsLock_.unlock();
765
+ meta.forkHandlerLock_.unlock();
766
+ }
767
+
768
+ static void onForkChild() {
769
+ auto& meta = instance();
770
+ // only the current thread survives
771
+ meta.lock_.unlock();
772
+ meta.accessAllThreadsLock_.unlock();
773
+ auto threadEntry = meta.threadEntry_();
774
+ // Loop through allId2ThreadEntrySets_; Only keep ThreadEntry* in the map
775
+ // for ThreadEntry::elements that are still in use by the current thread.
776
+ // Evict all of the ThreadEntry* from other threads.
777
+ uint32_t maxId = meta.nextId_.load();
778
+ for (uint32_t id = 0; id < maxId; ++id) {
779
+ auto wlockedSet = meta.allId2ThreadEntrySets_[id].wlock();
780
+ if (wlockedSet->contains(threadEntry)) {
781
+ wlockedSet->clear();
782
+ wlockedSet->insert(threadEntry);
783
+ } else {
784
+ wlockedSet->clear();
785
+ }
786
+ }
787
+ meta.forkHandlerLock_.unlock();
788
+ }
789
+ };
790
+
791
+ FOLLY_PUSH_WARNING
792
+ FOLLY_CLANG_DISABLE_WARNING("-Wglobal-constructors")
793
+ template <typename Tag, typename AccessMode>
794
+ typename StaticMeta<Tag, AccessMode>::UniqueInstance
795
+ StaticMeta<Tag, AccessMode>::unique{
796
+ tag<StaticMeta>, tag<Tag>, tag<AccessMode>};
797
+ FOLLY_POP_WARNING
798
+
799
+ } // namespace threadlocal_detail
800
+ } // namespace folly